libp2p 0.42.2-593deefe → 0.42.2-5e63ee2d

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 (228) hide show
  1. package/dist/index.min.js +30 -30
  2. package/dist/src/address-manager/index.d.ts +1 -10
  3. package/dist/src/address-manager/index.d.ts.map +1 -1
  4. package/dist/src/address-manager/index.js +46 -29
  5. package/dist/src/address-manager/index.js.map +1 -1
  6. package/dist/src/autonat/constants.d.ts +4 -0
  7. package/dist/src/autonat/constants.d.ts.map +1 -0
  8. package/dist/src/autonat/constants.js +4 -0
  9. package/dist/src/autonat/constants.js.map +1 -0
  10. package/dist/src/autonat/index.d.ts +64 -0
  11. package/dist/src/autonat/index.d.ts.map +1 -0
  12. package/dist/src/autonat/index.js +417 -0
  13. package/dist/src/autonat/index.js.map +1 -0
  14. package/dist/src/autonat/pb/index.d.ts +57 -0
  15. package/dist/src/autonat/pb/index.d.ts.map +1 -0
  16. package/dist/src/autonat/pb/index.js +250 -0
  17. package/dist/src/autonat/pb/index.js.map +1 -0
  18. package/dist/src/circuit/constants.d.ts +29 -3
  19. package/dist/src/circuit/constants.d.ts.map +1 -1
  20. package/dist/src/circuit/constants.js +32 -5
  21. package/dist/src/circuit/constants.js.map +1 -1
  22. package/dist/src/circuit/index.d.ts +16 -61
  23. package/dist/src/circuit/index.d.ts.map +1 -1
  24. package/dist/src/circuit/index.js +2 -1
  25. package/dist/src/circuit/index.js.map +1 -1
  26. package/dist/src/circuit/server/advert-service.d.ts +43 -0
  27. package/dist/src/circuit/server/advert-service.d.ts.map +1 -0
  28. package/dist/src/circuit/server/advert-service.js +69 -0
  29. package/dist/src/circuit/server/advert-service.js.map +1 -0
  30. package/dist/src/circuit/server/index.d.ts +60 -0
  31. package/dist/src/circuit/server/index.d.ts.map +1 -0
  32. package/dist/src/circuit/server/index.js +287 -0
  33. package/dist/src/circuit/server/index.js.map +1 -0
  34. package/dist/src/circuit/{reservation-store.d.ts → server/reservation-store.d.ts} +17 -10
  35. package/dist/src/circuit/server/reservation-store.d.ts.map +1 -0
  36. package/dist/src/circuit/server/reservation-store.js +57 -0
  37. package/dist/src/circuit/server/reservation-store.js.map +1 -0
  38. package/dist/src/circuit/server/reservation-voucher.d.ts.map +1 -0
  39. package/dist/src/circuit/{reservation-voucher.js → server/reservation-voucher.js} +1 -1
  40. package/dist/src/circuit/server/reservation-voucher.js.map +1 -0
  41. package/dist/src/circuit/transport/discovery.d.ts +45 -0
  42. package/dist/src/circuit/transport/discovery.d.ts.map +1 -0
  43. package/dist/src/circuit/transport/discovery.js +82 -0
  44. package/dist/src/circuit/transport/discovery.js.map +1 -0
  45. package/dist/src/circuit/transport/index.d.ts +33 -0
  46. package/dist/src/circuit/transport/index.d.ts.map +1 -0
  47. package/dist/src/circuit/transport/index.js +225 -0
  48. package/dist/src/circuit/transport/index.js.map +1 -0
  49. package/dist/src/circuit/transport/listener.d.ts +9 -0
  50. package/dist/src/circuit/transport/listener.d.ts.map +1 -0
  51. package/dist/src/circuit/transport/listener.js +76 -0
  52. package/dist/src/circuit/transport/listener.js.map +1 -0
  53. package/dist/src/circuit/transport/reservation-store.d.ts +60 -0
  54. package/dist/src/circuit/transport/reservation-store.d.ts.map +1 -0
  55. package/dist/src/circuit/transport/reservation-store.js +165 -0
  56. package/dist/src/circuit/transport/reservation-store.js.map +1 -0
  57. package/dist/src/circuit/utils.d.ts +4 -2
  58. package/dist/src/circuit/utils.d.ts.map +1 -1
  59. package/dist/src/circuit/utils.js +75 -102
  60. package/dist/src/circuit/utils.js.map +1 -1
  61. package/dist/src/components.d.ts +2 -1
  62. package/dist/src/components.d.ts.map +1 -1
  63. package/dist/src/components.js.map +1 -1
  64. package/dist/src/config.d.ts.map +1 -1
  65. package/dist/src/config.js +17 -20
  66. package/dist/src/config.js.map +1 -1
  67. package/dist/src/connection/index.d.ts +2 -2
  68. package/dist/src/connection/index.d.ts.map +1 -1
  69. package/dist/src/connection/index.js +1 -1
  70. package/dist/src/connection/index.js.map +1 -1
  71. package/dist/src/connection-manager/auto-dialler.d.ts +0 -4
  72. package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
  73. package/dist/src/connection-manager/auto-dialler.js +0 -9
  74. package/dist/src/connection-manager/auto-dialler.js.map +1 -1
  75. package/dist/src/connection-manager/dialer/dial-request.js +1 -1
  76. package/dist/src/connection-manager/dialer/dial-request.js.map +1 -1
  77. package/dist/src/connection-manager/dialer/index.d.ts +2 -1
  78. package/dist/src/connection-manager/dialer/index.d.ts.map +1 -1
  79. package/dist/src/connection-manager/dialer/index.js +3 -3
  80. package/dist/src/connection-manager/dialer/index.js.map +1 -1
  81. package/dist/src/connection-manager/index.d.ts +0 -4
  82. package/dist/src/connection-manager/index.d.ts.map +1 -1
  83. package/dist/src/connection-manager/index.js +1 -1
  84. package/dist/src/connection-manager/index.js.map +1 -1
  85. package/dist/src/connection-manager/latency-monitor.d.ts.map +1 -1
  86. package/dist/src/connection-manager/latency-monitor.js +1 -1
  87. package/dist/src/connection-manager/latency-monitor.js.map +1 -1
  88. package/dist/src/connection-manager/visibility-change-emitter.d.ts.map +1 -1
  89. package/dist/src/content-routing/index.d.ts +6 -4
  90. package/dist/src/content-routing/index.d.ts.map +1 -1
  91. package/dist/src/content-routing/index.js +1 -1
  92. package/dist/src/content-routing/index.js.map +1 -1
  93. package/dist/src/content-routing/utils.d.ts +3 -3
  94. package/dist/src/content-routing/utils.d.ts.map +1 -1
  95. package/dist/src/dht/dht-content-routing.d.ts +2 -1
  96. package/dist/src/dht/dht-content-routing.d.ts.map +1 -1
  97. package/dist/src/dht/dht-content-routing.js.map +1 -1
  98. package/dist/src/dht/dht-peer-routing.d.ts +3 -2
  99. package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
  100. package/dist/src/dht/dht-peer-routing.js.map +1 -1
  101. package/dist/src/dht/dummy-dht.d.ts +1 -1
  102. package/dist/src/dht/dummy-dht.d.ts.map +1 -1
  103. package/dist/src/fetch/index.d.ts.map +1 -1
  104. package/dist/src/identify/index.d.ts +3 -1
  105. package/dist/src/identify/index.d.ts.map +1 -1
  106. package/dist/src/identify/index.js +12 -7
  107. package/dist/src/identify/index.js.map +1 -1
  108. package/dist/src/index.d.ts +13 -7
  109. package/dist/src/index.d.ts.map +1 -1
  110. package/dist/src/index.js.map +1 -1
  111. package/dist/src/insecure/index.d.ts.map +1 -1
  112. package/dist/src/insecure/index.js.map +1 -1
  113. package/dist/src/libp2p.d.ts +6 -4
  114. package/dist/src/libp2p.d.ts.map +1 -1
  115. package/dist/src/libp2p.js +19 -28
  116. package/dist/src/libp2p.js.map +1 -1
  117. package/dist/src/nat-manager.d.ts.map +1 -1
  118. package/dist/src/nat-manager.js +3 -1
  119. package/dist/src/nat-manager.js.map +1 -1
  120. package/dist/src/peer-record-updater.d.ts.map +1 -1
  121. package/dist/src/peer-routing.d.ts.map +1 -1
  122. package/dist/src/ping/index.d.ts.map +1 -1
  123. package/dist/src/pnet/crypto.d.ts +1 -1
  124. package/dist/src/pnet/crypto.d.ts.map +1 -1
  125. package/dist/src/pnet/crypto.js +1 -1
  126. package/dist/src/pnet/crypto.js.map +1 -1
  127. package/dist/src/pnet/key-generator.d.ts.map +1 -1
  128. package/dist/src/registrar.d.ts.map +1 -1
  129. package/dist/src/transport-manager.d.ts.map +1 -1
  130. package/dist/src/transport-manager.js +1 -1
  131. package/dist/src/transport-manager.js.map +1 -1
  132. package/dist/src/upgrader.d.ts +2 -1
  133. package/dist/src/upgrader.d.ts.map +1 -1
  134. package/dist/src/upgrader.js +19 -14
  135. package/dist/src/upgrader.js.map +1 -1
  136. package/package.json +23 -18
  137. package/src/address-manager/index.ts +62 -35
  138. package/src/autonat/constants.ts +4 -0
  139. package/src/autonat/index.ts +567 -0
  140. package/src/autonat/pb/index.proto +35 -0
  141. package/src/autonat/pb/index.ts +320 -0
  142. package/src/circuit/constants.ts +40 -5
  143. package/src/circuit/index.ts +17 -67
  144. package/src/circuit/server/advert-service.ts +108 -0
  145. package/src/circuit/server/index.ts +421 -0
  146. package/src/circuit/server/reservation-store.ts +111 -0
  147. package/src/circuit/{reservation-voucher.ts → server/reservation-voucher.ts} +3 -3
  148. package/src/circuit/transport/discovery.ts +127 -0
  149. package/src/circuit/transport/index.ts +325 -0
  150. package/src/circuit/transport/listener.ts +99 -0
  151. package/src/circuit/transport/reservation-store.ts +249 -0
  152. package/src/circuit/utils.ts +78 -115
  153. package/src/components.ts +9 -8
  154. package/src/config.ts +17 -20
  155. package/src/connection/index.ts +7 -7
  156. package/src/connection-manager/auto-dialler.ts +4 -20
  157. package/src/connection-manager/dialer/dial-request.ts +1 -1
  158. package/src/connection-manager/dialer/index.ts +10 -9
  159. package/src/connection-manager/index.ts +14 -19
  160. package/src/connection-manager/latency-monitor.ts +9 -9
  161. package/src/connection-manager/visibility-change-emitter.ts +4 -4
  162. package/src/content-routing/index.ts +10 -8
  163. package/src/content-routing/utils.ts +3 -3
  164. package/src/dht/dht-content-routing.ts +3 -2
  165. package/src/dht/dht-peer-routing.ts +3 -2
  166. package/src/dht/dummy-dht.ts +1 -1
  167. package/src/fetch/index.ts +7 -7
  168. package/src/identify/index.ts +22 -17
  169. package/src/index.ts +14 -7
  170. package/src/insecure/index.ts +2 -1
  171. package/src/libp2p.ts +33 -41
  172. package/src/nat-manager.ts +9 -7
  173. package/src/peer-record-updater.ts +4 -4
  174. package/src/peer-routing.ts +4 -4
  175. package/src/ping/index.ts +4 -4
  176. package/src/pnet/crypto.ts +3 -3
  177. package/src/pnet/key-generator.ts +1 -1
  178. package/src/registrar.ts +8 -8
  179. package/src/transport-manager.ts +10 -10
  180. package/src/upgrader.ts +20 -19
  181. package/src/version.ts +1 -1
  182. package/dist/src/circuit/client.d.ts +0 -81
  183. package/dist/src/circuit/client.d.ts.map +0 -1
  184. package/dist/src/circuit/client.js +0 -285
  185. package/dist/src/circuit/client.js.map +0 -1
  186. package/dist/src/circuit/hop.d.ts +0 -23
  187. package/dist/src/circuit/hop.d.ts.map +0 -1
  188. package/dist/src/circuit/hop.js +0 -167
  189. package/dist/src/circuit/hop.js.map +0 -1
  190. package/dist/src/circuit/interfaces.d.ts +0 -27
  191. package/dist/src/circuit/interfaces.d.ts.map +0 -1
  192. package/dist/src/circuit/interfaces.js +0 -2
  193. package/dist/src/circuit/interfaces.js.map +0 -1
  194. package/dist/src/circuit/listener.d.ts +0 -9
  195. package/dist/src/circuit/listener.d.ts.map +0 -1
  196. package/dist/src/circuit/listener.js +0 -62
  197. package/dist/src/circuit/listener.js.map +0 -1
  198. package/dist/src/circuit/multicodec.d.ts +0 -3
  199. package/dist/src/circuit/multicodec.d.ts.map +0 -1
  200. package/dist/src/circuit/multicodec.js +0 -3
  201. package/dist/src/circuit/multicodec.js.map +0 -1
  202. package/dist/src/circuit/relay.d.ts +0 -34
  203. package/dist/src/circuit/relay.d.ts.map +0 -1
  204. package/dist/src/circuit/relay.js +0 -61
  205. package/dist/src/circuit/relay.js.map +0 -1
  206. package/dist/src/circuit/reservation-store.d.ts.map +0 -1
  207. package/dist/src/circuit/reservation-store.js +0 -59
  208. package/dist/src/circuit/reservation-store.js.map +0 -1
  209. package/dist/src/circuit/reservation-voucher.d.ts.map +0 -1
  210. package/dist/src/circuit/reservation-voucher.js.map +0 -1
  211. package/dist/src/circuit/stop.d.ts +0 -19
  212. package/dist/src/circuit/stop.d.ts.map +0 -1
  213. package/dist/src/circuit/stop.js +0 -67
  214. package/dist/src/circuit/stop.js.map +0 -1
  215. package/dist/src/circuit/transport.d.ts +0 -66
  216. package/dist/src/circuit/transport.d.ts.map +0 -1
  217. package/dist/src/circuit/transport.js +0 -238
  218. package/dist/src/circuit/transport.js.map +0 -1
  219. package/src/circuit/client.ts +0 -381
  220. package/src/circuit/hop.ts +0 -210
  221. package/src/circuit/interfaces.ts +0 -28
  222. package/src/circuit/listener.ts +0 -83
  223. package/src/circuit/multicodec.ts +0 -3
  224. package/src/circuit/relay.ts +0 -87
  225. package/src/circuit/reservation-store.ts +0 -106
  226. package/src/circuit/stop.ts +0 -92
  227. package/src/circuit/transport.ts +0 -313
  228. /package/dist/src/circuit/{reservation-voucher.d.ts → server/reservation-voucher.d.ts} +0 -0
package/dist/index.min.js CHANGED
@@ -1,28 +1,15 @@
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 Db=Object.create;var Ka=Object.defineProperty;var Nb=Object.getOwnPropertyDescriptor;var Pb=Object.getOwnPropertyNames;var kb=Object.getPrototypeOf,Ob=Object.prototype.hasOwnProperty;var S=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ve=(e,t)=>{for(var r in t)Ka(e,r,{get:t[r],enumerable:!0})},Y0=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Pb(t))!Ob.call(e,i)&&i!==r&&Ka(e,i,{get:()=>t[i],enumerable:!(n=Nb(t,i))||n.enumerable});return e};var R=(e,t,r)=>(r=e!=null?Db(kb(e)):{},Y0(t||!e||!e.__esModule?Ka(r,"default",{value:e,enumerable:!0}):r,e)),Mb=e=>Y0(Ka({},"__esModule",{value:!0}),e);var Al=S((VC,Q0)=>{var ao=1e3,co=ao*60,uo=co*60,li=uo*24,Ub=li*7,Fb=li*365.25;Q0.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return Kb(e);if(r==="number"&&isFinite(e))return t.long?qb(e):Vb(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Kb(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Fb;case"weeks":case"week":case"w":return r*Ub;case"days":case"day":case"d":return r*li;case"hours":case"hour":case"hrs":case"hr":case"h":return r*uo;case"minutes":case"minute":case"mins":case"min":case"m":return r*co;case"seconds":case"second":case"secs":case"sec":case"s":return r*ao;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Vb(e){var t=Math.abs(e);return t>=li?Math.round(e/li)+"d":t>=uo?Math.round(e/uo)+"h":t>=co?Math.round(e/co)+"m":t>=ao?Math.round(e/ao)+"s":e+"ms"}function qb(e){var t=Math.abs(e);return t>=li?Va(e,t,li,"day"):t>=uo?Va(e,t,uo,"hour"):t>=co?Va(e,t,co,"minute"):t>=ao?Va(e,t,ao,"second"):e+" ms"}function Va(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var Z0=S((qC,X0)=>{function zb(e){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Al(),r.destroy=u,Object.keys(e).forEach(l=>{r[l]=e[l]}),r.names=[],r.skips=[],r.formatters={};function t(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(l){let f,d=null,h,p;function m(...y){if(!m.enabled)return;let g=m,E=Number(new Date),_=E-(f||E);g.diff=_,g.prev=f,g.curr=E,f=E,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let O=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(B,et)=>{if(B==="%%")return"%";O++;let it=r.formatters[et];if(typeof it=="function"){let le=y[O];B=it.call(g,le),y.splice(O,1),O--}return B}),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:(h!==r.namespaces&&(h=r.namespaces,p=r.enabled(l)),p),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,]+/),h=d.length;for(f=0;f<h;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}X0.exports=zb});var Rl=S((ke,qa)=>{ke.formatArgs=Hb;ke.save=Gb;ke.load=Wb;ke.useColors=$b;ke.storage=Yb();ke.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();ke.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 $b(){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 Hb(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+qa.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}ke.log=console.debug||console.log||(()=>{});function Gb(e){try{e?ke.storage.setItem("debug",e):ke.storage.removeItem("debug")}catch{}}function Wb(){let e;try{e=ke.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Yb(){try{return localStorage}catch{}}qa.exports=Z0()(ke);var{formatters:Qb}=qa.exports;Qb.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var vp=S(hs=>{(function(){var e,t,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&255<<8)>>>8,d=c&255,[u,l,f,d].join(".")},s=function(c){var u,l,f,d,h,p;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],l=p[1],c=c.substring(l),u.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),t=function(c){var u,l,f,d,h;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),h=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(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===h)throw new Error("empty octet");return[d,f]},e=function(){function c(u,l){var f,d,h,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(p=u.split("/",2),u=p[0],l=p[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=s(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=h=32;h>=0;d=--h)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(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}(),hs.ip2long=s,hs.long2ip=a,hs.Netmask=e}).call(hs)});var Dp=S((Lp,Qa)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),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(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function c(h,p){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let m=0,y=-1,g=(h.match(a.zoneIndex)||[])[0],E,_;for(g&&(g=g.substring(1),h=h.replace(/%.+$/,""));(y=h.indexOf(":",y+1))>=0;)m++;if(h.substr(0,2)==="::"&&m--,h.substr(-2,2)==="::"&&m--,m>p)return null;for(_=p-m,E=":";_--;)E+="0:";return h=h.replace("::",E),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),p=function(){let O=h.split(":"),C=[];for(let B=0;B<O.length;B++)C.push(parseInt(O[B],16));return C}(),{parts:p,zoneId:g}}function u(h,p,m,y){if(h.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,E;for(;y>0;){if(E=m-y,E<0&&(E=0),h[g]>>E!==p[g]>>E)return!1;y-=m,g+=1}return!0}function l(h){if(i.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(n.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function f(h,p){for(;h.length<p;)h=`0${h}`;return h}let d={};d.IPv4=function(){function h(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,p.octets,8,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,E,_;for(g=3;g>=0;g-=1)if(E=this.octets[g],E in y){if(_=y[E],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),d.IPv4.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<4;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(h){return this.parser(h)!==null},d.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(h){return!!(d.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(h){let p=this.parser(h);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},d.IPv4.parseCIDR=function(h){let p;if(p=h.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(h){let p,m,y;if(p=h.match(r.fourOctet))return function(){let g=p.slice(1,6),E=[];for(let _=0;_<g.length;_++)m=g[_],E.push(l(m));return E}();if(p=h.match(r.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],E;for(E=0;E<=24;E+=8)g.push(y>>E&255);return g}().reverse()}else return(p=h.match(r.twoOctet))?function(){let g=p.slice(1,4),E=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return E.push(l(g[0])),E.push(y>>16&255),E.push(y>>8&255),E.push(y&255),E}():(p=h.match(r.threeOctet))?function(){let g=p.slice(1,5),E=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return E.push(l(g[0])),E.push(l(g[1])),E.push(y>>8&255),E.push(y&255),E}():null},d.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.IPv6=function(){function h(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],reserved:[[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,p.parts,16,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,E;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(E=y[g],m&&E!==0)return null;E!==16&&(m=!0),p+=E}else return null;return 128-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},h.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},h.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,E;for(;E=p.exec(m);)E[0].length>g&&(y=E.index,g=E[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},h.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},h}(),d.IPv6.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<16;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},d.IPv6.isIPv6=function(h){return this.parser(h)!==null},d.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{let p=this.parser(h);return new this(p.parts,p.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},d.IPv6.parse=function(h){let p=this.parser(h);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},d.IPv6.parseCIDR=function(h){let p,m,y;if((m=h.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(h){let p,m,y,g,E,_;if(y=h.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(h))return c(h,8);if((y=h.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(E=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<E.length;m++)if(g=E[m],!(0<=g&&g<=255))return null;return p.parts.push(E[0]<<8|E[1]),p.parts.push(E[2]<<8|E[3]),{parts:p.parts,zoneId:p.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.fromByteArray=function(h){let p=h.length;if(p===4)return new d.IPv4(h);if(p===16)return new d.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(h){return d.IPv6.isValid(h)||d.IPv4.isValid(h)},d.parse=function(h){if(d.IPv6.isValid(h))return d.IPv6.parse(h);if(d.IPv4.isValid(h))return d.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(h){try{return d.IPv6.parseCIDR(h)}catch{try{return d.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(h){let p=this.parse(h);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},d.subnetMatch=function(h,p,m){let y,g,E,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(E=p[g],E[0]&&!(E[0]instanceof Array)&&(E=[E]),y=0;y<E.length;y++)if(_=E[y],h.kind()===_[0].kind()&&h.match.apply(h,_))return g}return m},typeof Qa<"u"&&Qa.exports?Qa.exports=d:e.ipaddr=d})(Lp)});var gt=S((qB,Up)=>{"use strict";function Mp(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function jv(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return Mp(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),Mp(new i,r)}}Up.exports=jv});var ds=S((g8,$p)=>{"use strict";$p.exports=g_;function g_(e,t){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{e.apply(t||null,r)}catch(u){o&&(o=!1,c(u))}})}});var ps=S(Wp=>{"use strict";var ja=Wp;ja.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&t.charAt(r)==="=";)++n;return Math.ceil(t.length*3)/4-n};var Eo=new Array(64),Gp=new Array(123);for(fr=0;fr<64;)Gp[Eo[fr]=fr<26?fr+65:fr<52?fr+71:fr<62?fr-4:fr-59|43]=fr++;var fr;ja.encode=function(t,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=t[r++];switch(a){case 0:o[s++]=Eo[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=Eo[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=Eo[c|u>>6],o[s++]=Eo[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=Eo[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 Hp="invalid encoding";ja.decode=function(t,r,n){for(var i=n,o=0,s,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&o>1)break;if((c=Gp[c])===void 0)throw Error(Hp);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(Hp);return n-i};ja.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var ms=S((E8,Yp)=>{"use strict";Yp.exports=Ja;function Ja(){this._listeners={}}Ja.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};Ja.prototype.off=function(t,r){if(t===void 0)this._listeners={};else if(r===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Ja.prototype.emit=function(t){var r=this._listeners[t];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 ys=S((x8,tm)=>{"use strict";tm.exports=Qp(Qp);function Qp(e){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=r[3]===128;function i(c,u,l){t[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){t[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}e.writeFloatLE=n?i:o,e.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],t[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],t[0]}e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(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)}}e.writeFloatLE=t.bind(null,Xp),e.writeFloatBE=t.bind(null,Zp);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)}e.readFloatLE=r.bind(null,jp),e.readFloatBE=r.bind(null,Jp)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=r[7]===128;function i(c,u,l){t[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){t[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]}e.writeDoubleLE=n?i:o,e.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],t[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],t[0]}e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(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)}}}e.writeDoubleLE=t.bind(null,Xp,0,4),e.writeDoubleBE=t.bind(null,Zp,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)}e.readDoubleLE=r.bind(null,jp,0,4),e.readDoubleBE=r.bind(null,Jp,4,0)}(),e}function Xp(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Zp(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=e&255}function jp(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function Jp(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var gs=S((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(e){}return null}});var ws=S(em=>{"use strict";var jl=em;jl.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};jl.read=function(t,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=t[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|t[r++]&63:c>239&&c<365?(c=((c&7)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(t[r++]&63)<<6|t[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))};jl.write=function(t,r,n){for(var i=n,o,s,a=0;a<t.length;++a)o=t.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=t.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 Es=S((v8,rm)=>{"use strict";rm.exports=w_;function w_(e,t,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return e(c);s+c>n&&(o=e(n),s=0);var u=t.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var im=S((_8,nm)=>{"use strict";nm.exports=pe;var xs=wi();function pe(e,t){this.lo=e>>>0,this.hi=t>>>0}var gi=pe.zero=new pe(0,0);gi.toNumber=function(){return 0};gi.zzEncode=gi.zzDecode=function(){return this};gi.length=function(){return 1};var E_=pe.zeroHash="\0\0\0\0\0\0\0\0";pe.fromNumber=function(t){if(t===0)return gi;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new pe(n,i)};pe.from=function(t){if(typeof t=="number")return pe.fromNumber(t);if(xs.isString(t))if(xs.Long)t=xs.Long.fromString(t);else return pe.fromNumber(parseInt(t,10));return t.low||t.high?new pe(t.low>>>0,t.high>>>0):gi};pe.prototype.toNumber=function(t){if(!t&&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};pe.prototype.toLong=function(t){return xs.Long?new xs.Long(this.lo|0,this.hi|0,Boolean(t)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(t)}};var Cn=String.prototype.charCodeAt;pe.fromHash=function(t){return t===E_?gi:new pe((Cn.call(t,0)|Cn.call(t,1)<<8|Cn.call(t,2)<<16|Cn.call(t,3)<<24)>>>0,(Cn.call(t,4)|Cn.call(t,5)<<8|Cn.call(t,6)<<16|Cn.call(t,7)<<24)>>>0)};pe.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)};pe.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};pe.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};pe.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var wi=S(Jl=>{"use strict";var M=Jl;M.asPromise=ds();M.base64=ps();M.EventEmitter=ms();M.float=ys();M.inquire=gs();M.utf8=ws();M.pool=Es();M.LongBits=im();M.isNode=Boolean(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||Jl;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};M.isString=function(t){return typeof t=="string"||t instanceof String};M.isObject=function(t){return t&&typeof t=="object"};M.isset=M.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};M.Buffer=function(){try{var e=M.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(t){return typeof t=="number"?M.Buffer?M._Buffer_allocUnsafe(t):new M.Array(t):M.Buffer?M._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};M.Array=typeof Uint8Array<"u"?Uint8Array:Array;M.Long=M.global.dcodeIO&&M.global.dcodeIO.Long||M.global.Long||M.inquire("long");M.key2Re=/^true|false|0|1$/;M.key32Re=/^-?(?:0|[1-9][0-9]*)$/;M.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;M.longToHash=function(t){return t?M.LongBits.from(t).toHash():M.LongBits.zeroHash};M.longFromHash=function(t,r){var n=M.LongBits.fromHash(t);return M.Long?M.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function om(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}M.merge=om;M.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function sm(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&om(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}M.newError=sm;M.ProtocolError=sm("ProtocolError");M.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[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(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var e=M.Buffer;if(!e){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},M._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var rf=S((A8,fm)=>{"use strict";fm.exports=Ht;var Cr=wi(),ef,um=Cr.LongBits,x_=Cr.utf8;function hr(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function Ht(e){this.buf=e,this.pos=0,this.len=e.length}var am=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Ht(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Ht(t);throw Error("illegal buffer")},lm=function(){return Cr.Buffer?function(r){return(Ht.create=function(i){return Cr.Buffer.isBuffer(i)?new ef(i):am(i)})(r)}:am};Ht.create=lm();Ht.prototype._slice=Cr.Array.prototype.subarray||Cr.Array.prototype.slice;Ht.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,hr(this,10);return t}}();Ht.prototype.int32=function(){return this.uint32()|0};Ht.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function tf(){var e=new um(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw hr(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw hr(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}Ht.prototype.bool=function(){return this.uint32()!==0};function tc(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}Ht.prototype.fixed32=function(){if(this.pos+4>this.len)throw hr(this,4);return tc(this.buf,this.pos+=4)};Ht.prototype.sfixed32=function(){if(this.pos+4>this.len)throw hr(this,4);return tc(this.buf,this.pos+=4)|0};function cm(){if(this.pos+8>this.len)throw hr(this,8);return new um(tc(this.buf,this.pos+=4),tc(this.buf,this.pos+=4))}Ht.prototype.float=function(){if(this.pos+4>this.len)throw hr(this,4);var t=Cr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Ht.prototype.double=function(){if(this.pos+8>this.len)throw hr(this,4);var t=Cr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Ht.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw hr(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Ht.prototype.string=function(){var t=this.bytes();return x_.read(t,0,t.length)};Ht.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw hr(this,t);this.pos+=t}else do if(this.pos>=this.len)throw hr(this);while(this.buf[this.pos++]&128);return this};Ht.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};Ht._configure=function(e){ef=e,Ht.create=lm(),ef._configure();var t=Cr.Long?"toLong":"toNumber";Cr.merge(Ht.prototype,{int64:function(){return tf.call(this)[t](!1)},uint64:function(){return tf.call(this)[t](!0)},sint64:function(){return tf.call(this).zzDecode()[t](!1)},fixed64:function(){return cm.call(this)[t](!0)},sfixed64:function(){return cm.call(this)[t](!1)}})}});var mm=S((R8,pm)=>{"use strict";pm.exports=Ei;var dm=rf();(Ei.prototype=Object.create(dm.prototype)).constructor=Ei;var hm=wi();function Ei(e){dm.call(this,e)}Ei._configure=function(){hm.Buffer&&(Ei.prototype._slice=hm.Buffer.prototype.slice)};Ei.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Ei._configure()});var lf=S((I8,Em)=>{"use strict";Em.exports=ut;var Ye=wi(),nf,ec=Ye.LongBits,ym=Ye.base64,gm=Ye.utf8;function bs(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function sf(){}function b_(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function ut(){this.len=0,this.head=new bs(sf,0,0),this.tail=this.head,this.states=null}var wm=function(){return Ye.Buffer?function(){return(ut.create=function(){return new nf})()}:function(){return new ut}};ut.create=wm();ut.alloc=function(t){return new Ye.Array(t)};Ye.Array!==Array&&(ut.alloc=Ye.pool(ut.alloc,Ye.Array.prototype.subarray));ut.prototype._push=function(t,r,n){return this.tail=this.tail.next=new bs(t,r,n),this.len+=r,this};function af(e,t,r){t[r]=e&255}function v_(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function cf(e,t){this.len=e,this.next=void 0,this.val=t}cf.prototype=Object.create(bs.prototype);cf.prototype.fn=v_;ut.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new cf((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};ut.prototype.int32=function(t){return t<0?this._push(uf,10,ec.fromNumber(t)):this.uint32(t)};ut.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function uf(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}ut.prototype.uint64=function(t){var r=ec.from(t);return this._push(uf,r.length(),r)};ut.prototype.int64=ut.prototype.uint64;ut.prototype.sint64=function(t){var r=ec.from(t).zzEncode();return this._push(uf,r.length(),r)};ut.prototype.bool=function(t){return this._push(af,1,t?1:0)};function of(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}ut.prototype.fixed32=function(t){return this._push(of,4,t>>>0)};ut.prototype.sfixed32=ut.prototype.fixed32;ut.prototype.fixed64=function(t){var r=ec.from(t);return this._push(of,4,r.lo)._push(of,4,r.hi)};ut.prototype.sfixed64=ut.prototype.fixed64;ut.prototype.float=function(t){return this._push(Ye.float.writeFloatLE,4,t)};ut.prototype.double=function(t){return this._push(Ye.float.writeDoubleLE,8,t)};var __=Ye.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};ut.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(af,1,0);if(Ye.isString(t)){var n=ut.alloc(r=ym.length(t));ym.decode(t,n,0),t=n}return this.uint32(r)._push(__,r,t)};ut.prototype.string=function(t){var r=gm.length(t);return r?this.uint32(r)._push(gm.write,r,t):this._push(af,1,0)};ut.prototype.fork=function(){return this.states=new b_(this),this.head=this.tail=new bs(sf,0,0),this.len=0,this};ut.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 bs(sf,0,0),this.len=0),this};ut.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};ut.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};ut._configure=function(e){nf=e,ut.create=wm(),nf._configure()}});var vm=S((T8,bm)=>{"use strict";bm.exports=Br;var xm=lf();(Br.prototype=Object.create(xm.prototype)).constructor=Br;var Bn=wi();function Br(){xm.call(this)}Br._configure=function(){Br.alloc=Bn._Buffer_allocUnsafe,Br.writeBytesBuffer=Bn.Buffer&&Bn.Buffer.prototype instanceof Uint8Array&&Bn.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};Br.prototype.bytes=function(t){Bn.isString(t)&&(t=Bn._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Br.writeBytesBuffer,r,t),this};function S_(e,t,r){e.length<40?Bn.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Br.prototype.string=function(t){var r=Bn.Buffer.byteLength(t);return this.uint32(r),r&&this._push(S_,r,t),this};Br._configure()});var bt=S((G8,Im)=>{Im.exports={options:{usePureJavaScript:!1}}});var Bm=S((W8,Cm)=>{var gf={};Cm.exports=gf;var Tm={};gf.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=T_(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[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;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
3
- `)}return n};gf.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=Tm[t];if(!r){r=Tm[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var l=0;e[l]===o&&l<e.length-1;++l)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function T_(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var Gt=S((Y8,Pm)=>{var Lm=bt(),Dm=Bm(),w=Pm.exports=Lm.util=Lm.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(l){l()})}};var s=a,e="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};w.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};w.isArrayBufferView=function(e){return e&&w.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function vs(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}w.ByteBuffer=wf;function wf(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(w.isArrayBuffer(e)||w.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof wf||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}w.ByteStringBuffer=wf;var C_=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>C_&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};w.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};w.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};w.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(w.encodeUtf8(e))};w.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};w.ByteStringBuffer.prototype.putInt=function(e,t){vs(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};w.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};w.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};w.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};w.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};w.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};w.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};w.ByteStringBuffer.prototype.getInt=function(e){vs(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};w.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var e=w.createBuffer(this.data);return e.read=this.read,e};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function B_(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=w.isArrayBuffer(e),n=w.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}w.DataBuffer=B_;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};w.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};w.DataBuffer.prototype.putBytes=function(e,t){if(w.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof w.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&w.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof w.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=w.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};w.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};w.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};w.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(e,t){vs(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(e,t){return vs(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};w.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};w.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};w.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};w.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};w.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};w.DataBuffer.prototype.getInt=function(e){vs(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};w.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};w.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};w.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return w.binary.raw.encode(t);if(e==="hex")return w.binary.hex.encode(t);if(e==="base64")return w.binary.base64.encode(t);if(e==="utf8")return w.text.utf8.decode(t);if(e==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};w.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=w.encodeUtf8(e)),new w.ByteBuffer(e)};w.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};w.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};w.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};w.bytesToHex=function(e){return w.createBuffer(e).toHex()};w.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Ln="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Dn=[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],Nm="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=Ln.charAt(i>>2),r+=Ln.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ln.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ln.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
- `,r=r.substr(t));return n+=r,n};w.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=Dn[e.charCodeAt(s++)-43],n=Dn[e.charCodeAt(s++)-43],i=Dn[e.charCodeAt(s++)-43],o=Dn[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};w.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};w.decodeUtf8=function(e){return decodeURIComponent(escape(e))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Dm.encode,decode:Dm.decode}};w.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};w.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,o=r;for(e.length&1&&(i=1,n[o++]=parseInt(e[0],16));i<e.length;i+=2)n[o++]=parseInt(e.substr(i,2),16);return t?o-r:n};w.binary.base64.encode=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.byteLength;)i=e[a++],o=e[a++],s=e[a++],r+=Ln.charAt(i>>2),r+=Ln.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ln.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ln.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
- `,r=r.substr(t));return n+=r,n};w.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<e.length;)i=Dn[e.charCodeAt(c++)-43],o=Dn[e.charCodeAt(c++)-43],s=Dn[e.charCodeAt(c++)-43],a=Dn[e.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 t?u-r:n.subarray(0,u)};w.binary.base58.encode=function(e,t){return w.binary.baseN.encode(e,Nm,t)};w.binary.base58.decode=function(e,t){return w.binary.baseN.decode(e,Nm,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(e,t,r){e=w.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};w.text.utf8.decode=function(e){return w.decodeUtf8(String.fromCharCode.apply(null,e))};w.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};w.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};w.deflate=function(e,t,r){if(t=w.decode64(e.deflate(w.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(e,t,r){var n=e.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var Ef=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=w.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},xf=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},L_=function(e,t,r,n){var i=xf(e,t);i===null&&(i={}),i[r]=n,Ef(e,t,i)},D_=function(e,t,r){var n=xf(e,t);return n!==null&&(n=r in n?n[r]:null),n},N_=function(e,t,r){var n=xf(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Ef(e,t,n)}},P_=function(e,t){Ef(e,t,null)},ac=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};w.setItem=function(e,t,r,n,i){ac(L_,arguments,i)};w.getItem=function(e,t,r,n){return ac(D_,arguments,n)};w.removeItem=function(e,t,r,n){ac(N_,arguments,n)};w.clearItems=function(e,t,r){ac(P_,arguments,r)};w.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};w.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.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(e.substring(s)),o.join("")};w.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,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(e){return e>=1073741824?e=w.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=w.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=w.formatNumber(e/1024,0)+" KiB":e=w.formatNumber(e,0)+" bytes",e};w.bytesFromIP=function(e){return e.indexOf(".")!==-1?w.bytesFromIPv4(e):e.indexOf(":")!==-1?w.bytesFromIPv6(e):null};w.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=w.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=w.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(e){return e.length===4?w.bytesToIPv4(e):e.length===16?w.bytesToIPv6(e):null};w.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};w.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=w.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};w.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in w&&!e.update)return t(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,t(null,w.cores);if(typeof Worker>"u")return w.cores=1,t(null,w.cores);if(typeof Blob>"u")return w.cores=2,t(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(l,f){return l+f},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),t(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 h=0;h<s;++h)c[h].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 h=a[d];(l.st>h.st&&l.st<h.et||h.st>l.st&&h.st<l.et)&&f.push(d)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var cc=S((Q8,km)=>{var _s=bt();_s.pki=_s.pki||{};var bf=km.exports=_s.pki.oids=_s.oids=_s.oids||{};function T(e,t){bf[e]=t,bf[t]=e}function Et(e,t){bf[e]=t}T("1.2.840.113549.1.1.1","rsaEncryption");T("1.2.840.113549.1.1.4","md5WithRSAEncryption");T("1.2.840.113549.1.1.5","sha1WithRSAEncryption");T("1.2.840.113549.1.1.7","RSAES-OAEP");T("1.2.840.113549.1.1.8","mgf1");T("1.2.840.113549.1.1.9","pSpecified");T("1.2.840.113549.1.1.10","RSASSA-PSS");T("1.2.840.113549.1.1.11","sha256WithRSAEncryption");T("1.2.840.113549.1.1.12","sha384WithRSAEncryption");T("1.2.840.113549.1.1.13","sha512WithRSAEncryption");T("1.3.101.112","EdDSA25519");T("1.2.840.10040.4.3","dsa-with-sha1");T("1.3.14.3.2.7","desCBC");T("1.3.14.3.2.26","sha1");T("1.3.14.3.2.29","sha1WithRSASignature");T("2.16.840.1.101.3.4.2.1","sha256");T("2.16.840.1.101.3.4.2.2","sha384");T("2.16.840.1.101.3.4.2.3","sha512");T("2.16.840.1.101.3.4.2.4","sha224");T("2.16.840.1.101.3.4.2.5","sha512-224");T("2.16.840.1.101.3.4.2.6","sha512-256");T("1.2.840.113549.2.2","md2");T("1.2.840.113549.2.5","md5");T("1.2.840.113549.1.7.1","data");T("1.2.840.113549.1.7.2","signedData");T("1.2.840.113549.1.7.3","envelopedData");T("1.2.840.113549.1.7.4","signedAndEnvelopedData");T("1.2.840.113549.1.7.5","digestedData");T("1.2.840.113549.1.7.6","encryptedData");T("1.2.840.113549.1.9.1","emailAddress");T("1.2.840.113549.1.9.2","unstructuredName");T("1.2.840.113549.1.9.3","contentType");T("1.2.840.113549.1.9.4","messageDigest");T("1.2.840.113549.1.9.5","signingTime");T("1.2.840.113549.1.9.6","counterSignature");T("1.2.840.113549.1.9.7","challengePassword");T("1.2.840.113549.1.9.8","unstructuredAddress");T("1.2.840.113549.1.9.14","extensionRequest");T("1.2.840.113549.1.9.20","friendlyName");T("1.2.840.113549.1.9.21","localKeyId");T("1.2.840.113549.1.9.22.1","x509Certificate");T("1.2.840.113549.1.12.10.1.1","keyBag");T("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");T("1.2.840.113549.1.12.10.1.3","certBag");T("1.2.840.113549.1.12.10.1.4","crlBag");T("1.2.840.113549.1.12.10.1.5","secretBag");T("1.2.840.113549.1.12.10.1.6","safeContentsBag");T("1.2.840.113549.1.5.13","pkcs5PBES2");T("1.2.840.113549.1.5.12","pkcs5PBKDF2");T("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");T("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");T("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");T("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");T("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");T("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");T("1.2.840.113549.2.7","hmacWithSHA1");T("1.2.840.113549.2.8","hmacWithSHA224");T("1.2.840.113549.2.9","hmacWithSHA256");T("1.2.840.113549.2.10","hmacWithSHA384");T("1.2.840.113549.2.11","hmacWithSHA512");T("1.2.840.113549.3.7","des-EDE3-CBC");T("2.16.840.1.101.3.4.1.2","aes128-CBC");T("2.16.840.1.101.3.4.1.22","aes192-CBC");T("2.16.840.1.101.3.4.1.42","aes256-CBC");T("2.5.4.3","commonName");T("2.5.4.4","surname");T("2.5.4.5","serialNumber");T("2.5.4.6","countryName");T("2.5.4.7","localityName");T("2.5.4.8","stateOrProvinceName");T("2.5.4.9","streetAddress");T("2.5.4.10","organizationName");T("2.5.4.11","organizationalUnitName");T("2.5.4.12","title");T("2.5.4.13","description");T("2.5.4.15","businessCategory");T("2.5.4.17","postalCode");T("2.5.4.42","givenName");T("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");T("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");T("2.16.840.1.113730.1.1","nsCertType");T("2.16.840.1.113730.1.13","nsComment");Et("2.5.29.1","authorityKeyIdentifier");Et("2.5.29.2","keyAttributes");Et("2.5.29.3","certificatePolicies");Et("2.5.29.4","keyUsageRestriction");Et("2.5.29.5","policyMapping");Et("2.5.29.6","subtreesConstraint");Et("2.5.29.7","subjectAltName");Et("2.5.29.8","issuerAltName");Et("2.5.29.9","subjectDirectoryAttributes");Et("2.5.29.10","basicConstraints");Et("2.5.29.11","nameConstraints");Et("2.5.29.12","policyConstraints");Et("2.5.29.13","basicConstraints");T("2.5.29.14","subjectKeyIdentifier");T("2.5.29.15","keyUsage");Et("2.5.29.16","privateKeyUsagePeriod");T("2.5.29.17","subjectAltName");T("2.5.29.18","issuerAltName");T("2.5.29.19","basicConstraints");Et("2.5.29.20","cRLNumber");Et("2.5.29.21","cRLReason");Et("2.5.29.22","expirationDate");Et("2.5.29.23","instructionCode");Et("2.5.29.24","invalidityDate");Et("2.5.29.25","cRLDistributionPoints");Et("2.5.29.26","issuingDistributionPoint");Et("2.5.29.27","deltaCRLIndicator");Et("2.5.29.28","issuingDistributionPoint");Et("2.5.29.29","certificateIssuer");Et("2.5.29.30","nameConstraints");T("2.5.29.31","cRLDistributionPoints");T("2.5.29.32","certificatePolicies");Et("2.5.29.33","policyMappings");Et("2.5.29.34","policyConstraints");T("2.5.29.35","authorityKeyIdentifier");Et("2.5.29.36","policyConstraints");T("2.5.29.37","extKeyUsage");Et("2.5.29.46","freshestCRL");Et("2.5.29.54","inhibitAnyPolicy");T("1.3.6.1.4.1.11129.2.4.2","timestampList");T("1.3.6.1.5.5.7.1.1","authorityInfoAccess");T("1.3.6.1.5.5.7.3.1","serverAuth");T("1.3.6.1.5.5.7.3.2","clientAuth");T("1.3.6.1.5.5.7.3.3","codeSigning");T("1.3.6.1.5.5.7.3.4","emailProtection");T("1.3.6.1.5.5.7.3.8","timeStamping")});var As=S((X8,Mm)=>{var Dt=bt();Gt();cc();var L=Mm.exports=Dt.asn1=Dt.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(e,t,r,n,i){if(Dt.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:e,type:t,constructed:r,composed:r||Dt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=L.copy(a)),a};L.copy=function(e,t){var r;if(Dt.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(L.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:L.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};L.equals=function(e,t,r){if(Dt.util.isArray(e)){if(!Dt.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!L.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&L.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};L.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Ss(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var k_=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Ss(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};L.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=Dt.util.createBuffer(e));var r=e.length(),n=uc(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function uc(e,t,r,n){var i;Ss(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=k_(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var l,f,d=(o&32)===32;if(d)if(l=[],c===void 0)for(;;){if(Ss(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),l.push(uc(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),l.push(uc(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(l===void 0&&s===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&(f=e.bytes(c)),l===void 0&&n.decodeBitStrings&&s===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&c>1){var h=e.read,p=t,m=0;if(a===L.Type.BITSTRING&&(Ss(e,t,1),m=e.getByte(),t--),m===0)try{i=e.length();var y={strict:!0,decodeBitStrings:!0},g=uc(e,t,r+1,y),E=i-e.length();t-=E,a==L.Type.BITSTRING&&E++;var _=g.tagClass;E===c&&(_===L.Class.UNIVERSAL||_===L.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(e.read=h,t=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===L.Type.BMPSTRING)for(l="";c>0;c-=2)Ss(e,t,2),l+=String.fromCharCode(e.getInt16()),t-=2;else l=e.getBytes(c),t-=c}var O=f===void 0?null:{bitStringContents:f};return L.create(s,a,d,l,O)}L.toDer=function(e){var t=Dt.util.createBuffer(),r=e.tagClass|e.type,n=Dt.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=L.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(L.toDer(e.value[o]))}else if(e.type===L.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===L.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};L.oidToDer=function(e){var t=e.split("."),r=Dt.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[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(e){var t;typeof e=="string"&&(e=Dt.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};L.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var l=parseInt(e.substr(u+1,2),10),f=parseInt(e.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};L.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,l=!1;e.charAt(e.length-1)==="Z"&&(l=!0);var f=e.length-5,d=e.charAt(f);if(d==="+"||d==="-"){var h=parseInt(e.substr(f+1,2),10),p=parseInt(e.substr(f+4,2),10);u=h*60+p,u*=6e4,d==="+"&&(u*=-1),l=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),l?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};L.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};L.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};L.integerToDer=function(e){var t=Dt.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};L.derToInteger=function(e){typeof e=="string"&&(e=Dt.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};L.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&Dt.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=L.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Om=/[^\\u0000-\\u00ff]/;L.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
6
- `);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.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(e.tagClass===L.Class.UNIVERSAL)switch(n+=e.type,e.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+=e.type;if(n+=`
7
- `,n+=i+"Constructed: "+e.constructed+`
8
- `,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=L.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===L.Type.OID){var c=L.derToOid(e.value);n+=c,Dt.pki&&Dt.pki.oids&&c in Dt.pki.oids&&(n+=" ("+Dt.pki.oids[c]+") ")}if(e.type===L.Type.INTEGER)try{n+=L.derToInteger(e.value)}catch{n+="0x"+Dt.util.bytesToHex(e.value)}else if(e.type===L.Type.BITSTRING){if(e.value.length>1?n+="0x"+Dt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===L.Type.OCTETSTRING)Om.test(e.value)||(n+="("+e.value+") "),n+="0x"+Dt.util.bytesToHex(e.value);else if(e.type===L.Type.UTF8)try{n+=Dt.util.decodeUtf8(e.value)}catch(l){if(l.message==="URI malformed")n+="0x"+Dt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw l}else e.type===L.Type.PRINTABLESTRING||e.type===L.Type.IA5String?n+=e.value:Om.test(e.value)?n+="0x"+Dt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var _f=S((Z8,Um)=>{var me=bt();Gt();Um.exports=me.cipher=me.cipher||{};me.cipher.algorithms=me.cipher.algorithms||{};me.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=me.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new me.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};me.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=me.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new me.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};me.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),me.cipher.algorithms[e]=t};me.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in me.cipher.algorithms?me.cipher.algorithms[e]:null};var vf=me.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};vf.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=me.util.createBuffer(),this.output=e.output||me.util.createBuffer(),this.mode.start(t)};vf.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};vf.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Af=S((j8,Fm)=>{var ye=bt();Gt();ye.cipher=ye.cipher||{};var j=Fm.exports=ye.cipher.modes=ye.cipher.modes||{};j.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};j.ecb.prototype.start=function(e){};j.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};j.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};j.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};j.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};j.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};j.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=lc(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};j.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};j.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};j.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};j.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};j.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=ye.util.createBuffer(),this._partialBytes=0};j.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=lc(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ye.util.createBuffer(),this._partialBytes=0};j.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=lc(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.ofb.prototype.decrypt=j.ofb.prototype.encrypt;j.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ye.util.createBuffer(),this._partialBytes=0};j.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=lc(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}fc(this._inBlock)};j.ctr.prototype.decrypt=j.ctr.prototype.encrypt;j.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=ye.util.createBuffer(),this._partialBytes=0,this._R=3774873600};j.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=ye.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=ye.util.createBuffer(e.additionalData):r=ye.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=ye.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Sf(n*8)))}this._inBlock=this._j0.slice(0),fc(this._inBlock),this._partialBytes=0,r=ye.util.createBuffer(r),this._aDataLength=Sf(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()])};j.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=e.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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),fc(this._inBlock)};j.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),fc(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};j.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=ye.util.createBuffer();var n=this._aDataLength.concat(Sf(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};j.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[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};j.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};j.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};j.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};j.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};j.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function lc(e,t){if(typeof e=="string"&&(e=ye.util.createBuffer(e)),ye.util.isArray(e)&&e.length>4){var r=e;e=ye.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!ye.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function fc(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Sf(e){return[e/4294967296|0,e&4294967295]}});var dc=S((J8,zm)=>{var Ct=bt();_f();Af();Gt();zm.exports=Ct.aes=Ct.aes||{};Ct.aes.startEncrypting=function(e,t,r,n){var i=hc({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};Ct.aes.createEncryptionCipher=function(e,t){return hc({key:e,output:null,decrypt:!1,mode:t})};Ct.aes.startDecrypting=function(e,t,r,n){var i=hc({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};Ct.aes.createDecryptionCipher=function(e,t){return hc({key:e,output:null,decrypt:!0,mode:t})};Ct.aes.Algorithm=function(e,t){Tf||Vm();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return If(r._w,n,i,!1)},decrypt:function(n,i){return If(r._w,n,i,!0)}}}),r._init=!1};Ct.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=Ct.util.createBuffer(t);else if(Ct.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=Ct.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!Ct.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!Ct.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=qm(t,e.decrypt&&!s),this._init=!0}};Ct.aes._expandKey=function(e,t){return Tf||Vm(),qm(e,t)};Ct.aes._updateBlock=If;vo("AES-ECB",Ct.cipher.modes.ecb);vo("AES-CBC",Ct.cipher.modes.cbc);vo("AES-CFB",Ct.cipher.modes.cfb);vo("AES-OFB",Ct.cipher.modes.ofb);vo("AES-CTR",Ct.cipher.modes.ctr);vo("AES-GCM",Ct.cipher.modes.gcm);function vo(e,t){var r=function(){return new Ct.aes.Algorithm(e,t)};Ct.cipher.registerAlgorithm(e,r)}var Tf=!1,bo=4,Ie,Rf,Km,xi,dr;function Vm(){Tf=!0,Km=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;Ie=new Array(256),Rf=new Array(256),xi=new Array(4),dr=new Array(4);for(var t=0;t<4;++t)xi[t]=new Array(256),dr[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,l,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Ie[r]=a,Rf[a]=r,c=e[a],i=e[r],o=e[i],s=e[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)xi[f][r]=u,dr[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function qm(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=bo*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=Ie[n>>>16&255]<<24^Ie[n>>>8&255]<<16^Ie[n&255]<<8^Ie[n>>>24]^Km[i]<<24,i++):o>6&&c%o===4&&(n=Ie[n>>>24]<<24^Ie[n>>>16&255]<<16^Ie[n>>>8&255]<<8^Ie[n&255]),r[c]=r[c-o]^n;if(t){var u,l=dr[0],f=dr[1],d=dr[2],h=dr[3],p=r.slice(0);a=r.length;for(var c=0,m=a-bo;c<a;c+=bo,m-=bo)if(c===0||c===a-bo)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<bo;++y)u=r[m+y],p[c+(3&-y)]=l[Ie[u>>>24]]^f[Ie[u>>>16&255]]^d[Ie[u>>>8&255]]^h[Ie[u&255]];r=p}return r}function If(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=dr[0],s=dr[1],a=dr[2],c=dr[3],u=Rf):(o=xi[0],s=xi[1],a=xi[2],c=xi[3],u=Ie);var l,f,d,h,p,m,y;l=t[0]^e[0],f=t[n?3:1]^e[1],d=t[2]^e[2],h=t[n?1:3]^e[3];for(var g=3,E=1;E<i;++E)p=o[l>>>24]^s[f>>>16&255]^a[d>>>8&255]^c[h&255]^e[++g],m=o[f>>>24]^s[d>>>16&255]^a[h>>>8&255]^c[l&255]^e[++g],y=o[d>>>24]^s[h>>>16&255]^a[l>>>8&255]^c[f&255]^e[++g],h=o[h>>>24]^s[l>>>16&255]^a[f>>>8&255]^c[d&255]^e[++g],l=p,f=m,d=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[h&255]^e[++g],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[h>>>8&255]<<8^u[l&255]^e[++g],r[2]=u[d>>>24]<<24^u[h>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^e[++g],r[n?1:3]=u[h>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^e[++g]}function hc(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=Ct.cipher.createDecipher(r,e.key):n=Ct.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ct.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Gm=S((t3,Hm)=>{var Mt=bt();_f();Af();Gt();Hm.exports=Mt.des=Mt.des||{};Mt.des.startEncrypting=function(e,t,r,n){var i=pc({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Mt.des.createEncryptionCipher=function(e,t){return pc({key:e,output:null,decrypt:!1,mode:t})};Mt.des.startDecrypting=function(e,t,r,n){var i=pc({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Mt.des.createDecryptionCipher=function(e,t){return pc({key:e,output:null,decrypt:!0,mode:t})};Mt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return $m(r._keys,n,i,!1)},decrypt:function(n,i){return $m(r._keys,n,i,!0)}}}),r._init=!1};Mt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Mt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=$_(t),this._init=!0}};Nr("DES-ECB",Mt.cipher.modes.ecb);Nr("DES-CBC",Mt.cipher.modes.cbc);Nr("DES-CFB",Mt.cipher.modes.cfb);Nr("DES-OFB",Mt.cipher.modes.ofb);Nr("DES-CTR",Mt.cipher.modes.ctr);Nr("3DES-ECB",Mt.cipher.modes.ecb);Nr("3DES-CBC",Mt.cipher.modes.cbc);Nr("3DES-CFB",Mt.cipher.modes.cfb);Nr("3DES-OFB",Mt.cipher.modes.ofb);Nr("3DES-CTR",Mt.cipher.modes.ctr);function Nr(e,t){var r=function(){return new Mt.des.Algorithm(e,t)};Mt.cipher.registerAlgorithm(e,r)}var O_=[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],M_=[-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],U_=[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],F_=[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],K_=[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],V_=[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],q_=[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],z_=[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 $_(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],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],h=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=e.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],E=0,_,O=0;O<m;O++){var C=e.getInt32(),B=e.getInt32();_=(C>>>4^B)&252645135,B^=_,C^=_<<4,_=(B>>>-16^C)&65535,C^=_,B^=_<<-16,_=(C>>>2^B)&858993459,B^=_,C^=_<<2,_=(B>>>-16^C)&65535,C^=_,B^=_<<-16,_=(C>>>1^B)&1431655765,B^=_,C^=_<<1,_=(B>>>8^C)&16711935,C^=_,B^=_<<8,_=(C>>>1^B)&1431655765,B^=_,C^=_<<1,_=C<<8|B>>>20&240,C=B<<24|B<<8&16711680|B>>>8&65280|B>>>24&240,B=_;for(var et=0;et<g.length;++et){g[et]?(C=C<<2|C>>>26,B=B<<2|B>>>26):(C=C<<1|C>>>27,B=B<<1|B>>>27),C&=-15,B&=-15;var it=t[C>>>28]|r[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|o[C>>>12&15]|s[C>>>8&15]|a[C>>>4&15],le=c[B>>>28]|u[B>>>24&15]|l[B>>>20&15]|f[B>>>16&15]|d[B>>>12&15]|h[B>>>8&15]|p[B>>>4&15];_=(le>>>16^it)&65535,y[E++]=it^_,y[E++]=le^_<<16}}return y}function $m(e,t,r,n){var i=e.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=t[0],c=t[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=o[u+1],f=o[u+2],d=o[u];d!=l;d+=f){var h=c^e[d],p=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(M_[h>>>24&63]|F_[h>>>16&63]|V_[h>>>8&63]|z_[h&63]|O_[p>>>24&63]|U_[p>>>16&63]|K_[p>>>8&63]|q_[p&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 pc(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Mt.cipher.createDecipher(r,e.key):n=Mt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Mt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var bi=S((e3,Wm)=>{var mc=bt();Wm.exports=mc.md=mc.md||{};mc.md.algorithms=mc.md.algorithms||{}});var Qm=S((r3,Ym)=>{var on=bt();bi();Gt();var H_=Ym.exports=on.hmac=on.hmac||{};H_.create=function(){var e=null,t=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 on.md.algorithms)t=on.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=on.util.createBuffer(s);else if(on.util.isArray(s)){var a=s;s=on.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=on.util.createBuffer(),n=on.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var vi=S(()=>{});var Cf=S((o3,Xm)=>{var Te=bt();Qm();bi();Gt();var G_=Te.pkcs5=Te.pkcs5||{},sn;Te.util.isNodejs&&!Te.options.usePureJavaScript&&(sn=vi());Xm.exports=Te.pbkdf2=G_.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Te.util.isNodejs&&!Te.options.usePureJavaScript&&sn.pbkdf2&&(i===null||typeof i!="object")&&(sn.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?sn.pbkdf2Sync.length===4?sn.pbkdf2(e,t,r,n,function(_,O){if(_)return o(_);o(null,O.toString("binary"))}):sn.pbkdf2(e,t,r,n,i,function(_,O){if(_)return o(_);o(null,O.toString("binary"))}):sn.pbkdf2Sync.length===4?sn.pbkdf2Sync(e,t,r,n).toString("binary"):sn.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Te.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Te.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=Te.hmac.create();l.start(i,e);var f="",d,h,p;if(!o){for(var m=1;m<=c;++m){l.start(null,null),l.update(t),l.update(Te.util.int32ToBytes(m)),d=p=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(p),h=l.digest().getBytes(),d=Te.util.xorBytes(d,h,s),p=h;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(t),l.update(Te.util.int32ToBytes(m)),d=p=l.digest().getBytes(),y=2,E()}function E(){if(y<=r)return l.start(null,null),l.update(p),h=l.digest().getBytes(),d=Te.util.xorBytes(d,h,s),p=h,++y,Te.util.setImmediate(E);f+=m<c?d:d.substr(0,u),++m,g()}g()}});var Jm=S((s3,jm)=>{var gc=bt();Gt();var Zm=jm.exports=gc.pem=gc.pem||{};Zm.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
9
- `,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=yc(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=yc(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=yc(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=yc(e.headers[i]);return e.procType&&(r+=`\r
10
- `),r+=gc.util.encode64(e.body,t.maxline||64)+`\r
11
- `,r+="-----END "+e.type+`-----\r
12
- `,r};Zm.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:gc.util.decode64(o[3])};if(t.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 h={name:o[1],values:[]},p=o[2].split(","),m=0;m<p.length;++m)h.values.push(W_(p[m]));if(a.procType)if(!a.contentDomain&&h.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&h.name==="DEK-Info"){if(h.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(h);else{if(h.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(h.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:p[0],type:p[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function yc(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
13
- `;for(var o=0,s=-1,i=0;i<t.length;++i,++o)if(o>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
14
- `+t.substr(s)):t=t.substr(0,s)+`\r
15
- `+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function W_(e){return e.replace(/^\s+/,"")}});var oy=S((a3,iy)=>{var Pr=bt();bi();Gt();var ey=iy.exports=Pr.sha256=Pr.sha256||{};Pr.md.sha256=Pr.md.algorithms.sha256=ey;ey.create=function(){ry||Y_();var e=null,t=Pr.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 t=Pr.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Pr.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 t.putBytes(i),ty(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Pr.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Bf.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:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};ty(f,r,i);var d=Pr.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 Bf=null,ry=!1,ny=null;function Y_(){Bf=String.fromCharCode(128),Bf+=Pr.util.fillString(String.fromCharCode(0),64),ny=[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],ry=!0}function ty(e,t,r){for(var n,i,o,s,a,c,u,l,f,d,h,p,m,y,g,E=r.length();E>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(l=e.h0,f=e.h1,d=e.h2,h=e.h3,p=e.h4,m=e.h5,y=e.h6,g=e.h7,u=0;u<64;++u)s=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(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+ny[u]+t[u],i=o+c,g=y,y=m,m=p,p=h+n>>>0,h=d,d=f,f=l,l=n+i>>>0;e.h0=e.h0+l|0,e.h1=e.h1+f|0,e.h2=e.h2+d|0,e.h3=e.h3+h|0,e.h4=e.h4+p|0,e.h5=e.h5+m|0,e.h6=e.h6+y|0,e.h7=e.h7+g|0,E-=64}}});var ay=S((c3,sy)=>{var kr=bt();Gt();var wc=null;kr.util.isNodejs&&!kr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(wc=vi());var Q_=sy.exports=kr.prng=kr.prng||{};Q_.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,l){if(!l)return t.generateSync(u);var f=t.plugin.cipher,d=t.plugin.increment,h=t.plugin.formatKey,p=t.plugin.formatSeed,m=kr.util.createBuffer();t.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return kr.util.nextTick(function(){o(y)});var E=f(t.key,t.seed);t.generated+=E.length,m.putBytes(E),t.key=h(f(t.key,d(t.seed))),t.seed=p(f(t.key,t.seed)),kr.util.setImmediate(y)}},t.generateSync=function(u){var l=t.plugin.cipher,f=t.plugin.increment,d=t.plugin.formatKey,h=t.plugin.formatSeed;t.key=null;for(var p=kr.util.createBuffer();p.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var m=l(t.key,t.seed);t.generated+=m.length,p.putBytes(m),t.key=d(l(t.key,f(t.seed))),t.seed=h(l(t.key,t.seed))}return p.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var l=32-t.pools[0].messageLength<<5;t.seedFile(l,function(f,d){if(f)return u(f);t.collect(d),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var l=1,f=0;f<32;++f)t.reseeds%l===0&&(u.update(t.pools[f].digest().getBytes()),t.pools[f].start()),l=l<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var l=null,f=kr.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(C){return d.getRandomValues(C)});var h=kr.util.createBuffer();if(l)for(;h.length()<u;){var p=Math.max(1,Math.min(u-h.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)h.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(h.length()<u)for(var g,E,_,O=Math.floor(Math.random()*65536);h.length()<u;){E=16807*(O&65535),g=16807*(O>>16),E+=(g&32767)<<16,E+=g>>15,E=(E&2147483647)+(E>>31),O=E&4294967295;for(var y=0;y<3;++y)_=O>>>(y<<3),_^=Math.floor(Math.random()*256),h.putByte(_&255)}return h.getBytes(u)}return wc?(t.seedFile=function(u,l){wc.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},t.seedFileSync=function(u){return wc.randomBytes(u).toString()}):(t.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},t.seedFileSync=c),t.collect=function(u){for(var l=u.length,f=0;f<l;++f)t.pools[t.pool].update(u.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);t.collect(f)},t.registerWorker=function(u){if(u===self)t.seedFile=function(f,d){function h(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",h),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",h),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(h,p){u.postMessage({forge:{prng:{err:h,bytes:p}}})})};u.addEventListener("message",l)}},t}});var Rs=S((u3,Lf)=>{var ge=bt();dc();oy();ay();Gt();(function(){if(ge.random&&ge.random.getBytes){Lf.exports=ge.random;return}(function(e){var t={},r=new Array(4),n=ge.util.createBuffer();t.formatKey=function(f){var d=ge.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),ge.aes._expandKey(f,!1)},t.formatSeed=function(f){var d=ge.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},t.cipher=function(f,d){return ge.aes._updateBlock(f,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=ge.md.sha256;function i(){var f=ge.prng.create(t);return f.getBytes=function(d,h){return f.generate(d,h)},f.getBytesSync=function(d){return f.generate(d)},f}var o=i(),s=null,a=ge.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),ge.options.usePureJavaScript||!ge.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}e&&(e().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),e().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!ge.random)ge.random=o;else for(var l in o)ge.random[l]=o[l];ge.random.createInstance=i,Lf.exports=ge.random})(typeof jQuery<"u"?jQuery:null)})()});var fy=S((l3,ly)=>{var Le=bt();Gt();var Df=[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],cy=[1,2,3,5],X_=function(e,t){return e<<t&65535|(e&65535)>>16-t},Z_=function(e,t){return(e&65535)>>t|e<<16-t&65535};ly.exports=Le.rc2=Le.rc2||{};Le.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Le.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Df[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Df[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Df[r.at(a+1)^r.at(a+o)]);return r};var uy=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(e=Le.rc2.expandKey(e,t),u=0;u<64;u++)f.push(e.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]=X_(p[u],cy[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]=Z_(p[u],cy[u]),p[u]-=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),l--},c=function(p){for(u=3;u>=0;u--)p[u]-=f[p[(u+3)%4]&63]});var d=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<p.length;g++)for(var E=0;E<p[g][0];E++)p[g][1](m);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},h=null;return h={start:function(p,m){p&&typeof p=="string"&&(p=Le.util.createBuffer(p)),n=!1,i=Le.util.createBuffer(),o=m||new Le.util.createBuffer,s=p,h.output=o},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(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,h.update()),!r&&(m=i.length()===0,m))if(p)m=p(8,o,!r);else{var g=o.length(),E=o.at(g-1);E>g?m=!1:o.truncate(E)}return m}},h};Le.rc2.startEncrypting=function(e,t,r){var n=Le.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Le.rc2.createEncryptionCipher=function(e,t){return uy(e,t,!0)};Le.rc2.startDecrypting=function(e,t,r){var n=Le.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Le.rc2.createDecryptionCipher=function(e,t){return uy(e,t,!1)}});var bc=S((f3,Ey)=>{var Nf=bt();Ey.exports=Nf.jsbn=Nf.jsbn||{};var an,j_=0xdeadbeefcafe,hy=(j_&16777215)==15715070;function A(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Nf.jsbn.BigInteger=A;function lt(){return new A(null)}function J_(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function tS(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>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 dy(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>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"?(A.prototype.am=dy,an=28):hy&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=tS,an=30):hy&&navigator.appName!="Netscape"?(A.prototype.am=J_,an=26):(A.prototype.am=dy,an=28);A.prototype.DB=an;A.prototype.DM=(1<<an)-1;A.prototype.DV=1<<an;var Pf=52;A.prototype.FV=Math.pow(2,Pf);A.prototype.F1=Pf-an;A.prototype.F2=2*an-Pf;var eS="0123456789abcdefghijklmnopqrstuvwxyz",Ec=new Array,_o,Qe;_o="0".charCodeAt(0);for(Qe=0;Qe<=9;++Qe)Ec[_o++]=Qe;_o="a".charCodeAt(0);for(Qe=10;Qe<36;++Qe)Ec[_o++]=Qe;_o="A".charCodeAt(0);for(Qe=10;Qe<36;++Qe)Ec[_o++]=Qe;function py(e){return eS.charAt(e)}function my(e,t){var r=Ec[e.charCodeAt(t)];return r??-1}function rS(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function nS(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Nn(e){var t=lt();return t.fromInt(e),t}function iS(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:my(e,n);if(s<0){e.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&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function oS(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function sS(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=py(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=py(n));return i?o:"0"}function aS(){var e=lt();return A.ZERO.subTo(this,e),e}function cS(){return this.s<0?this.negate():this}function uS(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function xc(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function lS(){return this.t<=0?0:this.DB*(this.t-1)+xc(this.data[this.t-1]^this.s&this.DM)}function fS(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function hS(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function dS(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function pS(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function mS(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function yS(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&A.ZERO.subTo(t,t)}function gS(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function wS(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=lt());var o=lt(),s=this.s,a=e.s,c=this.DB-xc(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,h=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-u,g=t??lt();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),A.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var E=r.data[--m]==l?this.DM:Math.floor(r.data[m]*d+(r.data[m-1]+p)*h);if((r.data[m]+=o.am(0,E,r,y,0,u))<E)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--E;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&A.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&A.ZERO.subTo(r,r)}}}function ES(e){var t=lt();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&e.subTo(t,t),t}function _i(e){this.m=e}function xS(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function bS(e){return e}function vS(e){e.divRemTo(this.m,null,e)}function _S(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function SS(e,t){e.squareTo(t),this.reduce(t)}_i.prototype.convert=xS;_i.prototype.revert=bS;_i.prototype.reduce=vS;_i.prototype.mulTo=_S;_i.prototype.sqrTo=SS;function AS(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Si(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function RS(e){var t=lt();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function IS(e){var t=lt();return e.copyTo(t),this.reduce(t),t}function TS(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function CS(e,t){e.squareTo(t),this.reduce(t)}function BS(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Si.prototype.convert=RS;Si.prototype.revert=IS;Si.prototype.reduce=TS;Si.prototype.mulTo=BS;Si.prototype.sqrTo=CS;function LS(){return(this.t>0?this.data[0]&1:this.s)==0}function DS(e,t){if(e>4294967295||e<1)return A.ONE;var r=lt(),n=lt(),i=t.convert(this),o=xc(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function NS(e,t){var r;return e<256||t.isEven()?r=new _i(t):r=new Si(t),this.exp(e,r)}A.prototype.copyTo=rS;A.prototype.fromInt=nS;A.prototype.fromString=iS;A.prototype.clamp=oS;A.prototype.dlShiftTo=fS;A.prototype.drShiftTo=hS;A.prototype.lShiftTo=dS;A.prototype.rShiftTo=pS;A.prototype.subTo=mS;A.prototype.multiplyTo=yS;A.prototype.squareTo=gS;A.prototype.divRemTo=wS;A.prototype.invDigit=AS;A.prototype.isEven=LS;A.prototype.exp=DS;A.prototype.toString=sS;A.prototype.negate=aS;A.prototype.abs=cS;A.prototype.compareTo=uS;A.prototype.bitLength=lS;A.prototype.mod=ES;A.prototype.modPowInt=NS;A.ZERO=Nn(0);A.ONE=Nn(1);function PS(){var e=lt();return this.copyTo(e),e}function kS(){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 OS(){return this.t==0?this.s:this.data[0]<<24>>24}function MS(){return this.t==0?this.s:this.data[0]<<16>>16}function US(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function FS(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function KS(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Nn(r),i=lt(),o=lt(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function VS(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=my(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function qS(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(A.ONE.shiftLeft(e-1),kf,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(A.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function zS(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function $S(e){return this.compareTo(e)==0}function HS(e){return this.compareTo(e)<0?this:e}function GS(e){return this.compareTo(e)>0?this:e}function WS(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function YS(e,t){return e&t}function QS(e){var t=lt();return this.bitwiseTo(e,YS,t),t}function kf(e,t){return e|t}function XS(e){var t=lt();return this.bitwiseTo(e,kf,t),t}function yy(e,t){return e^t}function ZS(e){var t=lt();return this.bitwiseTo(e,yy,t),t}function gy(e,t){return e&~t}function jS(e){var t=lt();return this.bitwiseTo(e,gy,t),t}function JS(){for(var e=lt(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function tA(e){var t=lt();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function eA(e){var t=lt();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function rA(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function nA(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+rA(this.data[e]);return this.s<0?this.t*this.DB:-1}function iA(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function oA(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=iA(this.data[r]^t);return e}function sA(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function aA(e,t){var r=A.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function cA(e){return this.changeBit(e,kf)}function uA(e){return this.changeBit(e,gy)}function lA(e){return this.changeBit(e,yy)}function fA(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function hA(e){var t=lt();return this.addTo(e,t),t}function dA(e){var t=lt();return this.subTo(e,t),t}function pA(e){var t=lt();return this.multiplyTo(e,t),t}function mA(e){var t=lt();return this.divRemTo(e,t,null),t}function yA(e){var t=lt();return this.divRemTo(e,null,t),t}function gA(e){var t=lt(),r=lt();return this.divRemTo(e,t,r),new Array(t,r)}function wA(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function EA(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Is(){}function wy(e){return e}function xA(e,t,r){e.multiplyTo(t,r)}function bA(e,t){e.squareTo(t)}Is.prototype.convert=wy;Is.prototype.revert=wy;Is.prototype.mulTo=xA;Is.prototype.sqrTo=bA;function vA(e){return this.exp(e,new Is)}function _A(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function SA(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function So(e){this.r2=lt(),this.q3=lt(),A.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function AA(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=lt();return e.copyTo(t),this.reduce(t),t}function RA(e){return e}function IA(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function TA(e,t){e.squareTo(t),this.reduce(t)}function CA(e,t,r){e.multiplyTo(t,r),this.reduce(r)}So.prototype.convert=AA;So.prototype.revert=RA;So.prototype.reduce=IA;So.prototype.mulTo=CA;So.prototype.sqrTo=TA;function BA(e,t){var r=e.bitLength(),n,i=Nn(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 _i(t):t.isEven()?o=new So(t):o=new Si(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=lt();for(o.sqrTo(s[1],l);a<=u;)s[a]=lt(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=e.t-1,d,h=!0,p=lt(),m;for(r=xc(e.data[f])-1;f>=0;){for(r>=c?d=e.data[f]>>r-c&u:(d=(e.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=e.data[f-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),h)s[d].copyTo(i),h=!1;else{for(;a>1;)o.sqrTo(i,p),o.sqrTo(p,i),a-=2;a>0?o.sqrTo(i,p):(m=i,i=p,p=m),o.mulTo(p,s[d],i)}for(;f>=0&&!(e.data[f]&1<<r);)o.sqrTo(i,p),m=i,i=p,p=m,--r<0&&(r=this.DB-1,--f)}return o.revert(i)}function LA(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function DA(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function NA(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return A.ZERO;for(var r=e.clone(),n=this.clone(),i=Nn(1),o=Nn(0),s=Nn(0),a=Nn(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var pr=[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],PA=(1<<26)/pr[pr.length-1];function kA(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=pr[pr.length-1]){for(t=0;t<pr.length;++t)if(r.data[0]==pr[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<pr.length;){for(var n=pr[t],i=t+1;i<pr.length&&n<PA;)n*=pr[i++];for(n=r.modInt(n);t<i;)if(n%pr[t++]==0)return!1}return r.millerRabin(e)}function OA(e){var t=this.subtract(A.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=MA(),o,s=0;s<e;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function MA(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=US;A.prototype.toRadix=KS;A.prototype.fromRadix=VS;A.prototype.fromNumber=qS;A.prototype.bitwiseTo=WS;A.prototype.changeBit=aA;A.prototype.addTo=fA;A.prototype.dMultiply=wA;A.prototype.dAddOffset=EA;A.prototype.multiplyLowerTo=_A;A.prototype.multiplyUpperTo=SA;A.prototype.modInt=DA;A.prototype.millerRabin=OA;A.prototype.clone=PS;A.prototype.intValue=kS;A.prototype.byteValue=OS;A.prototype.shortValue=MS;A.prototype.signum=FS;A.prototype.toByteArray=zS;A.prototype.equals=$S;A.prototype.min=HS;A.prototype.max=GS;A.prototype.and=QS;A.prototype.or=XS;A.prototype.xor=ZS;A.prototype.andNot=jS;A.prototype.not=JS;A.prototype.shiftLeft=tA;A.prototype.shiftRight=eA;A.prototype.getLowestSetBit=nA;A.prototype.bitCount=oA;A.prototype.testBit=sA;A.prototype.setBit=cA;A.prototype.clearBit=uA;A.prototype.flipBit=lA;A.prototype.add=hA;A.prototype.subtract=dA;A.prototype.multiply=pA;A.prototype.divide=mA;A.prototype.remainder=yA;A.prototype.divideAndRemainder=gA;A.prototype.modPow=BA;A.prototype.modInverse=NA;A.prototype.pow=vA;A.prototype.gcd=LA;A.prototype.isProbablePrime=kA});var Sy=S((h3,_y)=>{var Or=bt();bi();Gt();var by=_y.exports=Or.sha1=Or.sha1||{};Or.md.sha1=Or.md.algorithms.sha1=by;by.create=function(){vy||UA();var e=null,t=Or.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 t=Or.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Or.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 t.putBytes(i),xy(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Or.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Of.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:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};xy(f,r,i);var d=Or.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var Of=null,vy=!1;function UA(){Of=String.fromCharCode(128),Of+=Or.util.fillString(String.fromCharCode(0),64),vy=!0}function xy(e,t,r){for(var n,i,o,s,a,c,u,l,f=r.length();f>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,l=0;l<16;++l)n=r.getInt32(),t[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=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[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=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[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=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[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=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[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=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[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;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,f-=64}}});var Iy=S((d3,Ry)=>{var Mr=bt();Gt();Rs();Sy();var Ay=Ry.exports=Mr.pkcs1=Mr.pkcs1||{};Ay.encode_rsa_oaep=function(e,t,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=Mr.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var l=o.digest(),f="",d=c-t.length,h=0;h<d;h++)f+="\0";var p=l.getBytes()+f+""+t;if(!i)i=Mr.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=vc(i,a-o.digestLength-1,s),y=Mr.util.xorBytes(p,m,p.length),g=vc(y,o.digestLength,s),E=Mr.util.xorBytes(i,g,i.length);return"\0"+E+y};Ay.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=s,y}if(i===void 0?i=Mr.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=t.charAt(0),u=t.substring(1,i.digestLength+1),l=t.substring(1+i.digestLength),f=vc(l,i.digestLength,o),d=Mr.util.xorBytes(u,f,u.length),h=vc(d,s-i.digestLength-1,o),p=Mr.util.xorBytes(l,h,l.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var E=1,_=i.digestLength,O=i.digestLength;O<p.length;O++){var C=p.charCodeAt(O),B=C&1^1,et=E?65534:0;y|=C&et,E=E&B,_+=E}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function vc(e,t,r){r||(r=Mr.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var Ty=S((p3,Mf)=>{var Pn=bt();Gt();bc();Rs();(function(){if(Pn.prime){Mf.exports=Pn.prime;return}var e=Mf.exports=Pn.prime=Pn.prime||{},t=Pn.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,d){return f|d};e.generateProbablePrime=function(f,d,h){typeof d=="function"&&(h=d,d={}),d=d||{};var p=d.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=d.prng||Pn.random,y={nextBytes:function(g){for(var E=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=E.charCodeAt(_)}};if(p.name==="PRIMEINC")return o(f,y,p.options,h);throw new Error("Invalid prime generation algorithm: "+p.name)};function o(f,d,h,p){return"workers"in h?c(f,d,h,p):s(f,d,h,p)}function s(f,d,h,p){var m=u(f,d),y=0,g=l(m.bitLength());"millerRabinTests"in h&&(g=h.millerRabinTests);var E=10;"maxBlockTime"in h&&(E=h.maxBlockTime),a(m,f,d,y,g,E,p)}function a(f,d,h,p,m,y,g){var E=+new Date;do{if(f.bitLength()>d&&(f=u(d,h)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-E<y);Pn.util.setImmediate(function(){a(f,d,h,p,m,y,g)})}function c(f,d,h,p){if(typeof Worker>"u")return s(f,d,h,p);var m=u(f,d),y=h.workers,g=h.workLoad||100,E=g*30/8,_=h.workerScript||"forge/prime.worker.js";if(y===-1)return Pn.util.estimateCores(function(C,B){C&&(B=2),y=B-1,O()});O();function O(){y=Math.max(1,y);for(var C=[],B=0;B<y;++B)C[B]=new Worker(_);for(var et=y,B=0;B<y;++B)C[B].addEventListener("message",le);var it=!1;function le(ur){if(!it){--et;var Pe=ur.data;if(Pe.found){for(var Re=0;Re<C.length;++Re)C[Re].terminate();return it=!0,p(null,new t(Pe.prime,16))}m.bitLength()>f&&(m=u(f,d));var so=m.toString(16);ur.target.postMessage({hex:so,workLoad:g}),m.dAddOffset(E,0)}}}}function u(f,d){var h=new t(f,d),p=f-1;return h.testBit(p)||h.bitwiseTo(t.ONE.shiftLeft(p),i,h),h.dAddOffset(31-h.mod(n).byteValue(),0),h}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var Sc=S((m3,ky)=>{var z=bt();As();bc();cc();Iy();Ty();Rs();Gt();typeof ot>"u"&&(ot=z.jsbn.BigInteger);var ot,Uf=z.util.isNodejs?vi():null,x=z.asn1,Xe=z.util;z.pki=z.pki||{};ky.exports=z.pki.rsa=z.rsa=z.rsa||{};var W=z.pki,FA=[6,4,2,4,2,4,6,2],KA={name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},VA={name:"RSAPrivateKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},qA={name:"RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},zA=z.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},$A={name:"DigestInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:x.Class.UNIVERSAL,type:x.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},HA=function(e){var t;if(e.algorithm in W.oids)t=W.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=x.oidToDer(t).getBytes(),i=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]),o=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]);o.value.push(x.create(x.Class.UNIVERSAL,x.Type.OID,!1,n)),o.value.push(x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,""));var s=x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),x.toDer(i).getBytes()},Ny=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(ot.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(ot.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new ot(z.util.bytesToHex(z.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(ot.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};W.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Py(e,t,r)):(i=z.util.createBuffer(),i.putBytes(e));for(var s=new ot(i.toHex(),16),a=Ny(s,t,n),c=a.toString(16),u=z.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(z.util.hexToBytes(c)),u.getBytes()};W.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new ot(z.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Ny(s,t,r),c=a.toString(16),u=z.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(z.util.hexToBytes(c)),n!==!1?_c(u.getBytes(),t,r):u.getBytes()};W.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||z.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:e,rng:i,eInt:t||65537,e:new ot(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};W.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new ot(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new ot(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(ot.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(WA(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(FA[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(ot.ONE).gcd(e.e).compareTo(ot.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(ot.ONE),e.q1=e.q.subtract(ot.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(ot.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var l=e.e.modInverse(e.phi);e.keys={privateKey:W.rsa.setPrivateKey(e.n,e.e,l,e.p,e.q,l.mod(e.p1),l.mod(e.q1),e.q.modInverse(e.p)),publicKey:W.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};W.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!z.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Cy("generateKeyPair"))return Uf.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:W.privateKeyFromPem(u),publicKey:W.publicKeyFromPem(c)})});if(By("generateKey")&&By("exportKey"))return Xe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Dy(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Xe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=W.privateKeyFromAsn1(x.fromDer(z.util.createBuffer(a)));n(null,{privateKey:c,publicKey:W.setRsaPublicKey(c.n,c.e)})}});if(Ly("generateKey")&&Ly("exportKey")){var i=Xe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Dy(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Xe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=W.privateKeyFromAsn1(x.fromDer(z.util.createBuffer(f)));n(null,{privateKey:d,publicKey:W.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(Cy("generateKeyPairSync")){var o=Uf.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:W.privateKeyFromPem(o.privateKey),publicKey:W.publicKeyFromPem(o.publicKey)}}}var s=W.rsa.createKeyPairGenerationState(e,t,r);if(!n)return W.rsa.stepKeyPairGenerationState(s,0),s.keys;GA(s,r,n)};W.setRsaPublicKey=W.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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 Py(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return z.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 W.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=_c(u,r,!0);var l=x.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},d=[];if(!x.validate(l,$A,f,d)){var h=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw h.errors=d,h}var p=x.derToOid(f.algorithmIdentifier);if(!(p===z.oids.md2||p===z.oids.md5||p===z.oids.sha1||p===z.oids.sha224||p===z.oids.sha256||p===z.oids.sha384||p===z.oids.sha512||p===z.oids["sha512-224"]||p===z.oids["sha512-256"])){var h=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw h.oid=p,h}if((p===z.oids.md2||p===z.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=_c(u,r,!0),c===u}});var a=W.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};W.setRsaPrivateKey=W.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,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=W.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:_c};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(h,p){return z.pkcs1.decode_rsa_oaep(p,h,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(h){return h}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:HA},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return W.rsa.encrypt(d,c,f)},c};W.wrapRsaPrivateKey=function(e){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(W.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,x.toDer(e).getBytes())])};W.privateKeyFromAsn1=function(e){var t={},r=[];if(x.validate(e,KA,t,r)&&(e=x.fromDer(z.util.createBuffer(t.privateKey))),t={},r=[],!x.validate(e,VA,t,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=z.util.createBuffer(t.privateKeyModulus).toHex(),o=z.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=z.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=z.util.createBuffer(t.privateKeyPrime1).toHex(),c=z.util.createBuffer(t.privateKeyPrime2).toHex(),u=z.util.createBuffer(t.privateKeyExponent1).toHex(),l=z.util.createBuffer(t.privateKeyExponent2).toHex(),f=z.util.createBuffer(t.privateKeyCoefficient).toHex(),W.setRsaPrivateKey(new ot(i,16),new ot(o,16),new ot(s,16),new ot(a,16),new ot(c,16),new ot(u,16),new ot(l,16),new ot(f,16))};W.privateKeyToAsn1=W.privateKeyToRSAPrivateKey=function(e){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.e)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.d)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.p)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.q)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.dP)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.dQ)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.qInv))])};W.publicKeyFromAsn1=function(e){var t={},r=[];if(x.validate(e,zA,t,r)){var n=x.derToOid(t.publicKeyOid);if(n!==W.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!x.validate(e,qA,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=z.util.createBuffer(t.publicKeyModulus).toHex(),s=z.util.createBuffer(t.publicKeyExponent).toHex();return W.setRsaPublicKey(new ot(o,16),new ot(s,16))};W.publicKeyToAsn1=W.publicKeyToSubjectPublicKeyInfo=function(e){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(W.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.BITSTRING,!1,[W.publicKeyToRSAPublicKey(e)])])};W.publicKeyToRSAPublicKey=function(e){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Ur(e.e))])};function Py(e,t,r){var n=z.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,l=z.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(e),n}function _c(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=z.util.createBuffer(e),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 GA(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){z.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(ot.ONE).gcd(e.e).compareTo(ot.ONE)!==0){e.p=null,i();return}if(e.q.subtract(ot.ONE).gcd(e.e).compareTo(ot.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(ot.ONE),e.q1=e.q.subtract(ot.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(ot.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var l=e.e.modInverse(e.phi);e.keys={privateKey:W.rsa.setPrivateKey(e.n,e.e,l,e.p,e.q,l.mod(e.p1),l.mod(e.q1),e.q.modInverse(e.p)),publicKey:W.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ur(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=z.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function WA(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Cy(e){return z.util.isNodejs&&typeof Uf[e]=="function"}function By(e){return typeof Xe.globalScope<"u"&&typeof Xe.globalScope.crypto=="object"&&typeof Xe.globalScope.crypto.subtle=="object"&&typeof Xe.globalScope.crypto.subtle[e]=="function"}function Ly(e){return typeof Xe.globalScope<"u"&&typeof Xe.globalScope.msCrypto=="object"&&typeof Xe.globalScope.msCrypto.subtle=="object"&&typeof Xe.globalScope.msCrypto.subtle[e]=="function"}function Dy(e){for(var t=z.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var Vy=S((y3,Ky)=>{var D=bt();dc();As();Gm();bi();cc();Cf();Jm();Rs();fy();Sc();Gt();typeof Oy>"u"&&(Oy=D.jsbn.BigInteger);var Oy,b=D.asn1,X=D.pki=D.pki||{};Ky.exports=X.pbe=D.pbe=D.pbe||{};var Ai=X.oids,YA={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"}]},QA={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"}]}]},XA={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"}]};X.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=D.random.getBytesSync(r.saltSize),i=r.count,o=b.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=Ai["aes128-CBC"],f=D.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=Ai["aes192-CBC"],f=D.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=Ai["aes256-CBC"],f=D.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=Ai.desCBC,f=D.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var h="hmacWith"+r.prfAlgorithm.toUpperCase(),p=Fy(h),m=D.pkcs5.pbkdf2(t,n,i,s,p),y=D.random.getBytesSync(u),g=f(m);g.start(y),g.update(b.toDer(e)),g.finish(),c=g.output.getBytes();var E=ZA(n,o,s,h);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Ai.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(Ai.pkcs5PBKDF2).getBytes()),E]),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"){s=24;var _=new D.util.ByteBuffer(n),m=X.pbe.generatePkcs12Key(t,_,1,i,s),y=X.pbe.generatePkcs12Key(t,_,2,i,s),g=D.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(e)),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(Ai["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,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var O=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return O};X.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!b.validate(e,YA,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=b.derToOid(n.encryptionOid),a=X.pbe.getCipher(s,n.encryptionParams,t),c=D.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};X.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(e).getBytes()};return D.pem.encode(r,{maxline:t})};X.encryptedPrivateKeyFromPem=function(e){var t=D.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(t.body)};X.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=X.wrapRsaPrivateKey(X.privateKeyToAsn1(e));return n=X.encryptPrivateKeyInfo(n,t,r),X.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=D.random.getBytesSync(16),a=D.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=D.random.getBytesSync(16),a=D.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=D.random.getBytesSync(16),a=D.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=D.random.getBytesSync(8),a=D.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=D.random.getBytesSync(8),a=D.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=D.pbe.opensslDeriveBytes(t,o.substr(0,8),s),l=a(u);l.start(o),l.update(b.toDer(X.privateKeyToAsn1(e))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:D.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return D.pem.encode(f)};X.decryptRsaPrivateKey=function(e,t){var r=null,n=D.pem.decode(e)[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=D.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=D.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=D.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=D.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=D.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return D.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return D.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return D.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=D.util.hexToBytes(n.dekInfo.parameters),c=D.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(D.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=X.decryptPrivateKeyInfo(b.fromDer(r),t):r=b.fromDer(r),r!==null&&(r=X.privateKeyFromAsn1(r)),r};X.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in D.md))throw new Error('"sha1" hash algorithm unavailable.');o=D.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new D.util.ByteBuffer,f=new D.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)f.putInt16(e.charCodeAt(a));f.putInt16(0)}var d=f.length(),h=t.length(),p=new D.util.ByteBuffer;p.fillWithByte(r,u);var m=u*Math.ceil(h/u),y=new D.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%h));var g=u*Math.ceil(d/u),E=new D.util.ByteBuffer;for(a=0;a<g;a++)E.putByte(f.at(a%d));var _=y;_.putBuffer(E);for(var O=Math.ceil(i/c),C=1;C<=O;C++){var B=new D.util.ByteBuffer;B.putBytes(p.bytes()),B.putBytes(_.bytes());for(var et=0;et<n;et++)o.start(),o.update(B.getBytes()),B=o.digest();var it=new D.util.ByteBuffer;for(a=0;a<u;a++)it.putByte(B.at(a%c));var le=Math.ceil(h/u)+Math.ceil(d/u),ur=new D.util.ByteBuffer;for(s=0;s<le;s++){var Pe=new D.util.ByteBuffer(_.getBytes(u)),Re=511;for(a=it.length()-1;a>=0;a--)Re=Re>>8,Re+=it.at(a)+Pe.at(a),Pe.setAt(a,Re&255);ur.putBuffer(Pe)}_=ur,l.putBuffer(B)}return l.truncate(l.length()-i),l};X.pbe.getCipher=function(e,t,r){switch(e){case X.oids.pkcs5PBES2:return X.pbe.getCipherForPBES2(e,t,r);case X.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case X.oids["pbewithSHAAnd40BitRC2-CBC"]:return X.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};X.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!b.validate(t,QA,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(e=b.derToOid(n.kdfOid),e!==X.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=b.derToOid(n.encOid),e!==X.oids["aes128-CBC"]&&e!==X.oids["aes192-CBC"]&&e!==X.oids["aes256-CBC"]&&e!==X.oids["des-EDE3-CBC"]&&e!==X.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=D.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(X.oids[e]){case"aes128-CBC":c=16,u=D.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=D.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=D.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=D.des.createDecryptionCipher;break;case"desCBC":c=8,u=D.des.createDecryptionCipher;break}var l=Uy(n.prfOid),f=D.pkcs5.pbkdf2(r,s,a,c,l),d=n.encIv,h=u(f);return h.start(d),h};X.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!b.validate(t,XA,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=D.util.createBuffer(n.salt),a=D.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(e){case X.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=D.des.startDecrypting;break;case X.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=D.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=e,o}var f=Uy(n.prfOid),d=X.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var h=X.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(d,h)};X.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in D.md))throw new Error('"md5" hash algorithm unavailable.');n=D.md.md5.create()}t===null&&(t="");for(var i=[My(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(My(n,i[s-1]+e+t));return i.join("").substr(0,r)};function My(e,t){return e.start().update(t).digest().getBytes()}function Uy(e){var t;if(!e)t="hmacWithSHA1";else if(t=X.oids[b.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Fy(t)}function Fy(e){var t=D.md;switch(e){case"hmacWithSHA224":t=D.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function ZA(e,t,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,e),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,D.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(X.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var Zy=S((eL,Xy)=>{var Nt=bt();bi();Gt();var Ts=Xy.exports=Nt.sha512=Nt.sha512||{};Nt.md.sha512=Nt.md.algorithms.sha512=Ts;var Yy=Nt.sha384=Nt.sha512.sha384=Nt.sha512.sha384||{};Yy.create=function(){return Ts.create("SHA-384")};Nt.md.sha384=Nt.md.algorithms.sha384=Yy;Nt.sha512.sha256=Nt.sha512.sha256||{create:function(){return Ts.create("SHA-512/256")}};Nt.md["sha512/256"]=Nt.md.algorithms["sha512/256"]=Nt.sha512.sha256;Nt.sha512.sha224=Nt.sha512.sha224||{create:function(){return Ts.create("SHA-512/224")}};Nt.md["sha512/224"]=Nt.md.algorithms["sha512/224"]=Nt.sha512.sha224;Ts.create=function(e){if(Qy||tR(),typeof e>"u"&&(e="SHA-512"),!(e in Ri))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Ri[e],r=null,n=Nt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=Nt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Nt.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),Wy(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Nt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Ff.substr(0,a.blockLength-l));for(var f,d,h=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,d=f/4294967296>>>0,h+=d,c.putInt32(h>>>0),h=f>>>0;c.putInt32(h);for(var m=new Array(r.length),p=0;p<r.length;++p)m[p]=r[p].slice(0);Wy(m,i,c);var y=Nt.util.createBuffer(),g;e==="SHA-512"?g=m.length:e==="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||e!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var Ff=null,Qy=!1,Kf=null,Ri=null;function tR(){Ff=String.fromCharCode(128),Ff+=Nt.util.fillString(String.fromCharCode(0),128),Kf=[[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]],Ri={},Ri["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Ri["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Ri["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Ri["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Qy=!0}function Wy(e,t,r){for(var n,i,o,s,a,c,u,l,f,d,h,p,m,y,g,E,_,O,C,B,et,it,le,ur,Pe,Re,so,Fa,te,Be,$,bl,vl,_l,Sl,W0=r.length();W0>=128;){for(te=0;te<16;++te)t[te][0]=r.getInt32()>>>0,t[te][1]=r.getInt32()>>>0;for(;te<80;++te)bl=t[te-2],Be=bl[0],$=bl[1],n=((Be>>>19|$<<13)^($>>>29|Be<<3)^Be>>>6)>>>0,i=((Be<<13|$>>>19)^($<<3|Be>>>29)^(Be<<26|$>>>6))>>>0,_l=t[te-15],Be=_l[0],$=_l[1],o=((Be>>>1|$<<31)^(Be>>>8|$<<24)^Be>>>7)>>>0,s=((Be<<31|$>>>1)^(Be<<24|$>>>8)^(Be<<25|$>>>7))>>>0,vl=t[te-7],Sl=t[te-16],$=i+vl[1]+s+Sl[1],t[te][0]=n+vl[0]+o+Sl[0]+($/4294967296>>>0)>>>0,t[te][1]=$>>>0;for(m=e[0][0],y=e[0][1],g=e[1][0],E=e[1][1],_=e[2][0],O=e[2][1],C=e[3][0],B=e[3][1],et=e[4][0],it=e[4][1],le=e[5][0],ur=e[5][1],Pe=e[6][0],Re=e[6][1],so=e[7][0],Fa=e[7][1],te=0;te<80;++te)u=((et>>>14|it<<18)^(et>>>18|it<<14)^(it>>>9|et<<23))>>>0,l=((et<<18|it>>>14)^(et<<14|it>>>18)^(it<<23|et>>>9))>>>0,f=(Pe^et&(le^Pe))>>>0,d=(Re^it&(ur^Re))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,h=(m&g|_&(m^g))>>>0,p=(y&E|O&(y^E))>>>0,$=Fa+l+d+Kf[te][1]+t[te][1],n=so+u+f+Kf[te][0]+t[te][0]+($/4294967296>>>0)>>>0,i=$>>>0,$=c+p,o=a+h+($/4294967296>>>0)>>>0,s=$>>>0,so=Pe,Fa=Re,Pe=le,Re=ur,le=et,ur=it,$=B+i,et=C+n+($/4294967296>>>0)>>>0,it=$>>>0,C=_,B=O,_=g,O=E,g=m,E=y,$=i+s,m=n+o+($/4294967296>>>0)>>>0,y=$>>>0;$=e[0][1]+y,e[0][0]=e[0][0]+m+($/4294967296>>>0)>>>0,e[0][1]=$>>>0,$=e[1][1]+E,e[1][0]=e[1][0]+g+($/4294967296>>>0)>>>0,e[1][1]=$>>>0,$=e[2][1]+O,e[2][0]=e[2][0]+_+($/4294967296>>>0)>>>0,e[2][1]=$>>>0,$=e[3][1]+B,e[3][0]=e[3][0]+C+($/4294967296>>>0)>>>0,e[3][1]=$>>>0,$=e[4][1]+it,e[4][0]=e[4][0]+et+($/4294967296>>>0)>>>0,e[4][1]=$>>>0,$=e[5][1]+ur,e[5][0]=e[5][0]+le+($/4294967296>>>0)>>>0,e[5][1]=$>>>0,$=e[6][1]+Re,e[6][0]=e[6][0]+Pe+($/4294967296>>>0)>>>0,e[6][1]=$>>>0,$=e[7][1]+Fa,e[7][0]=e[7][0]+so+($/4294967296>>>0)>>>0,e[7][1]=$>>>0,W0-=128}}});var Wg=S((jL,Gg)=>{"use strict";Gg.exports=Ee;var $s=Di();function Ee(e,t){this.lo=e>>>0,this.hi=t>>>0}var Li=Ee.zero=new Ee(0,0);Li.toNumber=function(){return 0};Li.zzEncode=Li.zzDecode=function(){return this};Li.length=function(){return 1};var jR=Ee.zeroHash="\0\0\0\0\0\0\0\0";Ee.fromNumber=function(t){if(t===0)return Li;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ee(n,i)};Ee.from=function(t){if(typeof t=="number")return Ee.fromNumber(t);if($s.isString(t))if($s.Long)t=$s.Long.fromString(t);else return Ee.fromNumber(parseInt(t,10));return t.low||t.high?new Ee(t.low>>>0,t.high>>>0):Li};Ee.prototype.toNumber=function(t){if(!t&&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};Ee.prototype.toLong=function(t){return $s.Long?new $s.Long(this.lo|0,this.hi|0,Boolean(t)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(t)}};var zn=String.prototype.charCodeAt;Ee.fromHash=function(t){return t===jR?Li:new Ee((zn.call(t,0)|zn.call(t,1)<<8|zn.call(t,2)<<16|zn.call(t,3)<<24)>>>0,(zn.call(t,4)|zn.call(t,5)<<8|zn.call(t,6)<<16|zn.call(t,7)<<24)>>>0)};Ee.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)};Ee.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Ee.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Ee.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Di=S(uh=>{"use strict";var U=uh;U.asPromise=ds();U.base64=ps();U.EventEmitter=ms();U.float=ys();U.inquire=gs();U.utf8=ws();U.pool=Es();U.LongBits=Wg();U.isNode=Boolean(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);U.global=U.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||uh;U.emptyArray=Object.freeze?Object.freeze([]):[];U.emptyObject=Object.freeze?Object.freeze({}):{};U.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};U.isString=function(t){return typeof t=="string"||t instanceof String};U.isObject=function(t){return t&&typeof t=="object"};U.isset=U.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};U.Buffer=function(){try{var e=U.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();U._Buffer_from=null;U._Buffer_allocUnsafe=null;U.newBuffer=function(t){return typeof t=="number"?U.Buffer?U._Buffer_allocUnsafe(t):new U.Array(t):U.Buffer?U._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};U.Array=typeof Uint8Array<"u"?Uint8Array:Array;U.Long=U.global.dcodeIO&&U.global.dcodeIO.Long||U.global.Long||U.inquire("long");U.key2Re=/^true|false|0|1$/;U.key32Re=/^-?(?:0|[1-9][0-9]*)$/;U.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;U.longToHash=function(t){return t?U.LongBits.from(t).toHash():U.LongBits.zeroHash};U.longFromHash=function(t,r){var n=U.LongBits.fromHash(t);return U.Long?U.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function Yg(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}U.merge=Yg;U.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function Qg(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Yg(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}U.newError=Qg;U.ProtocolError=Qg("ProtocolError");U.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[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]}};U.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};U.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};U._configure=function(){var e=U.Buffer;if(!e){U._Buffer_from=U._Buffer_allocUnsafe=null;return}U._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},U._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var hh=S((tD,tw)=>{"use strict";tw.exports=Yt;var Vr=Di(),fh,jg=Vr.LongBits,JR=Vr.utf8;function wr(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function Yt(e){this.buf=e,this.pos=0,this.len=e.length}var Xg=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Yt(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Yt(t);throw Error("illegal buffer")},Jg=function(){return Vr.Buffer?function(r){return(Yt.create=function(i){return Vr.Buffer.isBuffer(i)?new fh(i):Xg(i)})(r)}:Xg};Yt.create=Jg();Yt.prototype._slice=Vr.Array.prototype.subarray||Vr.Array.prototype.slice;Yt.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,wr(this,10);return t}}();Yt.prototype.int32=function(){return this.uint32()|0};Yt.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function lh(){var e=new jg(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw wr(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw wr(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}Yt.prototype.bool=function(){return this.uint32()!==0};function Kc(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}Yt.prototype.fixed32=function(){if(this.pos+4>this.len)throw wr(this,4);return Kc(this.buf,this.pos+=4)};Yt.prototype.sfixed32=function(){if(this.pos+4>this.len)throw wr(this,4);return Kc(this.buf,this.pos+=4)|0};function Zg(){if(this.pos+8>this.len)throw wr(this,8);return new jg(Kc(this.buf,this.pos+=4),Kc(this.buf,this.pos+=4))}Yt.prototype.float=function(){if(this.pos+4>this.len)throw wr(this,4);var t=Vr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Yt.prototype.double=function(){if(this.pos+8>this.len)throw wr(this,4);var t=Vr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Yt.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw wr(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Yt.prototype.string=function(){var t=this.bytes();return JR.read(t,0,t.length)};Yt.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw wr(this,t);this.pos+=t}else do if(this.pos>=this.len)throw wr(this);while(this.buf[this.pos++]&128);return this};Yt.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};Yt._configure=function(e){fh=e,Yt.create=Jg(),fh._configure();var t=Vr.Long?"toLong":"toNumber";Vr.merge(Yt.prototype,{int64:function(){return lh.call(this)[t](!1)},uint64:function(){return lh.call(this)[t](!0)},sint64:function(){return lh.call(this).zzDecode()[t](!1)},fixed64:function(){return Zg.call(this)[t](!0)},sfixed64:function(){return Zg.call(this)[t](!1)}})}});var iw=S((eD,nw)=>{"use strict";nw.exports=Ni;var rw=hh();(Ni.prototype=Object.create(rw.prototype)).constructor=Ni;var ew=Di();function Ni(e){rw.call(this,e)}Ni._configure=function(){ew.Buffer&&(Ni.prototype._slice=ew.Buffer.prototype.slice)};Ni.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Ni._configure()});var Eh=S((rD,cw)=>{"use strict";cw.exports=ht;var je=Di(),dh,Vc=je.LongBits,ow=je.base64,sw=je.utf8;function Hs(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function mh(){}function tI(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function ht(){this.len=0,this.head=new Hs(mh,0,0),this.tail=this.head,this.states=null}var aw=function(){return je.Buffer?function(){return(ht.create=function(){return new dh})()}:function(){return new ht}};ht.create=aw();ht.alloc=function(t){return new je.Array(t)};je.Array!==Array&&(ht.alloc=je.pool(ht.alloc,je.Array.prototype.subarray));ht.prototype._push=function(t,r,n){return this.tail=this.tail.next=new Hs(t,r,n),this.len+=r,this};function yh(e,t,r){t[r]=e&255}function eI(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function gh(e,t){this.len=e,this.next=void 0,this.val=t}gh.prototype=Object.create(Hs.prototype);gh.prototype.fn=eI;ht.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new gh((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};ht.prototype.int32=function(t){return t<0?this._push(wh,10,Vc.fromNumber(t)):this.uint32(t)};ht.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function wh(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}ht.prototype.uint64=function(t){var r=Vc.from(t);return this._push(wh,r.length(),r)};ht.prototype.int64=ht.prototype.uint64;ht.prototype.sint64=function(t){var r=Vc.from(t).zzEncode();return this._push(wh,r.length(),r)};ht.prototype.bool=function(t){return this._push(yh,1,t?1:0)};function ph(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}ht.prototype.fixed32=function(t){return this._push(ph,4,t>>>0)};ht.prototype.sfixed32=ht.prototype.fixed32;ht.prototype.fixed64=function(t){var r=Vc.from(t);return this._push(ph,4,r.lo)._push(ph,4,r.hi)};ht.prototype.sfixed64=ht.prototype.fixed64;ht.prototype.float=function(t){return this._push(je.float.writeFloatLE,4,t)};ht.prototype.double=function(t){return this._push(je.float.writeDoubleLE,8,t)};var rI=je.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};ht.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(yh,1,0);if(je.isString(t)){var n=ht.alloc(r=ow.length(t));ow.decode(t,n,0),t=n}return this.uint32(r)._push(rI,r,t)};ht.prototype.string=function(t){var r=sw.length(t);return r?this.uint32(r)._push(sw.write,r,t):this._push(yh,1,0)};ht.prototype.fork=function(){return this.states=new tI(this),this.head=this.tail=new Hs(mh,0,0),this.len=0,this};ht.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 Hs(mh,0,0),this.len=0),this};ht.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};ht.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};ht._configure=function(e){dh=e,ht.create=aw(),dh._configure()}});var fw=S((nD,lw)=>{"use strict";lw.exports=qr;var uw=Eh();(qr.prototype=Object.create(uw.prototype)).constructor=qr;var $n=Di();function qr(){uw.call(this)}qr._configure=function(){qr.alloc=$n._Buffer_allocUnsafe,qr.writeBytesBuffer=$n.Buffer&&$n.Buffer.prototype instanceof Uint8Array&&$n.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};qr.prototype.bytes=function(t){$n.isString(t)&&(t=$n._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(qr.writeBytesBuffer,r,t),this};function nI(e,t,r){e.length<40?$n.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}qr.prototype.string=function(t){var r=$n.Buffer.byteLength(t);return this.uint32(r),r&&this._push(nI,r,t),this};qr._configure()});var Iw=S((rN,Rw)=>{Rw.exports=Bh;var Aw=128,_I=127,SI=~_I,AI=Math.pow(2,31);function Bh(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw Bh.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=AI;)t[r++]=e&255|Aw,e/=128;for(;e&SI;)t[r++]=e&255|Aw,e>>>=7;return t[r]=e|0,Bh.bytes=r-n+1,t}});var Bw=S((nN,Cw)=>{Cw.exports=Lh;var RI=128,Tw=127;function Lh(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw Lh.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Tw)<<i:(s&Tw)*Math.pow(2,i),i+=7}while(s>=RI);return Lh.bytes=o-n,r}});var Dw=S((iN,Lw)=>{var II=Math.pow(2,7),TI=Math.pow(2,14),CI=Math.pow(2,21),BI=Math.pow(2,28),LI=Math.pow(2,35),DI=Math.pow(2,42),NI=Math.pow(2,49),PI=Math.pow(2,56),kI=Math.pow(2,63);Lw.exports=function(e){return e<II?1:e<TI?2:e<CI?3:e<BI?4:e<LI?5:e<DI?6:e<NI?7:e<PI?8:e<kI?9:10}});var $c=S((oN,Nw)=>{Nw.exports={encode:Iw(),decode:Bw(),encodingLength:Dw()}});var Zw=S((UN,Xw)=>{"use strict";Xw.exports=xe;var ta=Fi();function xe(e,t){this.lo=e>>>0,this.hi=t>>>0}var Ui=xe.zero=new xe(0,0);Ui.toNumber=function(){return 0};Ui.zzEncode=Ui.zzDecode=function(){return this};Ui.length=function(){return 1};var jI=xe.zeroHash="\0\0\0\0\0\0\0\0";xe.fromNumber=function(t){if(t===0)return Ui;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new xe(n,i)};xe.from=function(t){if(typeof t=="number")return xe.fromNumber(t);if(ta.isString(t))if(ta.Long)t=ta.Long.fromString(t);else return xe.fromNumber(parseInt(t,10));return t.low||t.high?new xe(t.low>>>0,t.high>>>0):Ui};xe.prototype.toNumber=function(t){if(!t&&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};xe.prototype.toLong=function(t){return ta.Long?new ta.Long(this.lo|0,this.hi|0,Boolean(t)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(t)}};var Wn=String.prototype.charCodeAt;xe.fromHash=function(t){return t===jI?Ui:new xe((Wn.call(t,0)|Wn.call(t,1)<<8|Wn.call(t,2)<<16|Wn.call(t,3)<<24)>>>0,(Wn.call(t,4)|Wn.call(t,5)<<8|Wn.call(t,6)<<16|Wn.call(t,7)<<24)>>>0)};xe.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)};xe.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};xe.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};xe.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Fi=S(qh=>{"use strict";var F=qh;F.asPromise=ds();F.base64=ps();F.EventEmitter=ms();F.float=ys();F.inquire=gs();F.utf8=ws();F.pool=Es();F.LongBits=Zw();F.isNode=Boolean(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);F.global=F.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||qh;F.emptyArray=Object.freeze?Object.freeze([]):[];F.emptyObject=Object.freeze?Object.freeze({}):{};F.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};F.isString=function(t){return typeof t=="string"||t instanceof String};F.isObject=function(t){return t&&typeof t=="object"};F.isset=F.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};F.Buffer=function(){try{var e=F.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();F._Buffer_from=null;F._Buffer_allocUnsafe=null;F.newBuffer=function(t){return typeof t=="number"?F.Buffer?F._Buffer_allocUnsafe(t):new F.Array(t):F.Buffer?F._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};F.Array=typeof Uint8Array<"u"?Uint8Array:Array;F.Long=F.global.dcodeIO&&F.global.dcodeIO.Long||F.global.Long||F.inquire("long");F.key2Re=/^true|false|0|1$/;F.key32Re=/^-?(?:0|[1-9][0-9]*)$/;F.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;F.longToHash=function(t){return t?F.LongBits.from(t).toHash():F.LongBits.zeroHash};F.longFromHash=function(t,r){var n=F.LongBits.fromHash(t);return F.Long?F.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function jw(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}F.merge=jw;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function Jw(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&jw(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}F.newError=Jw;F.ProtocolError=Jw("ProtocolError");F.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[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]}};F.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};F.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};F._configure=function(){var e=F.Buffer;if(!e){F._Buffer_from=F._Buffer_allocUnsafe=null;return}F._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},F._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var Hh=S((KN,i1)=>{"use strict";i1.exports=Zt;var Hr=Fi(),$h,r1=Hr.LongBits,JI=Hr.utf8;function xr(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function Zt(e){this.buf=e,this.pos=0,this.len=e.length}var t1=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Zt(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Zt(t);throw Error("illegal buffer")},n1=function(){return Hr.Buffer?function(r){return(Zt.create=function(i){return Hr.Buffer.isBuffer(i)?new $h(i):t1(i)})(r)}:t1};Zt.create=n1();Zt.prototype._slice=Hr.Array.prototype.subarray||Hr.Array.prototype.slice;Zt.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,xr(this,10);return t}}();Zt.prototype.int32=function(){return this.uint32()|0};Zt.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function zh(){var e=new r1(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw xr(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw xr(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}Zt.prototype.bool=function(){return this.uint32()!==0};function Yc(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}Zt.prototype.fixed32=function(){if(this.pos+4>this.len)throw xr(this,4);return Yc(this.buf,this.pos+=4)};Zt.prototype.sfixed32=function(){if(this.pos+4>this.len)throw xr(this,4);return Yc(this.buf,this.pos+=4)|0};function e1(){if(this.pos+8>this.len)throw xr(this,8);return new r1(Yc(this.buf,this.pos+=4),Yc(this.buf,this.pos+=4))}Zt.prototype.float=function(){if(this.pos+4>this.len)throw xr(this,4);var t=Hr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Zt.prototype.double=function(){if(this.pos+8>this.len)throw xr(this,4);var t=Hr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Zt.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw xr(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Zt.prototype.string=function(){var t=this.bytes();return JI.read(t,0,t.length)};Zt.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw xr(this,t);this.pos+=t}else do if(this.pos>=this.len)throw xr(this);while(this.buf[this.pos++]&128);return this};Zt.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};Zt._configure=function(e){$h=e,Zt.create=n1(),$h._configure();var t=Hr.Long?"toLong":"toNumber";Hr.merge(Zt.prototype,{int64:function(){return zh.call(this)[t](!1)},uint64:function(){return zh.call(this)[t](!0)},sint64:function(){return zh.call(this).zzDecode()[t](!1)},fixed64:function(){return e1.call(this)[t](!0)},sfixed64:function(){return e1.call(this)[t](!1)}})}});var c1=S((VN,a1)=>{"use strict";a1.exports=Ki;var s1=Hh();(Ki.prototype=Object.create(s1.prototype)).constructor=Ki;var o1=Fi();function Ki(e){s1.call(this,e)}Ki._configure=function(){o1.Buffer&&(Ki.prototype._slice=o1.Buffer.prototype.slice)};Ki.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Ki._configure()});var jh=S((qN,h1)=>{"use strict";h1.exports=dt;var Je=Fi(),Gh,Qc=Je.LongBits,u1=Je.base64,l1=Je.utf8;function ea(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function Yh(){}function tT(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function dt(){this.len=0,this.head=new ea(Yh,0,0),this.tail=this.head,this.states=null}var f1=function(){return Je.Buffer?function(){return(dt.create=function(){return new Gh})()}:function(){return new dt}};dt.create=f1();dt.alloc=function(t){return new Je.Array(t)};Je.Array!==Array&&(dt.alloc=Je.pool(dt.alloc,Je.Array.prototype.subarray));dt.prototype._push=function(t,r,n){return this.tail=this.tail.next=new ea(t,r,n),this.len+=r,this};function Qh(e,t,r){t[r]=e&255}function eT(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function Xh(e,t){this.len=e,this.next=void 0,this.val=t}Xh.prototype=Object.create(ea.prototype);Xh.prototype.fn=eT;dt.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Xh((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};dt.prototype.int32=function(t){return t<0?this._push(Zh,10,Qc.fromNumber(t)):this.uint32(t)};dt.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Zh(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}dt.prototype.uint64=function(t){var r=Qc.from(t);return this._push(Zh,r.length(),r)};dt.prototype.int64=dt.prototype.uint64;dt.prototype.sint64=function(t){var r=Qc.from(t).zzEncode();return this._push(Zh,r.length(),r)};dt.prototype.bool=function(t){return this._push(Qh,1,t?1:0)};function Wh(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}dt.prototype.fixed32=function(t){return this._push(Wh,4,t>>>0)};dt.prototype.sfixed32=dt.prototype.fixed32;dt.prototype.fixed64=function(t){var r=Qc.from(t);return this._push(Wh,4,r.lo)._push(Wh,4,r.hi)};dt.prototype.sfixed64=dt.prototype.fixed64;dt.prototype.float=function(t){return this._push(Je.float.writeFloatLE,4,t)};dt.prototype.double=function(t){return this._push(Je.float.writeDoubleLE,8,t)};var rT=Je.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};dt.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(Qh,1,0);if(Je.isString(t)){var n=dt.alloc(r=u1.length(t));u1.decode(t,n,0),t=n}return this.uint32(r)._push(rT,r,t)};dt.prototype.string=function(t){var r=l1.length(t);return r?this.uint32(r)._push(l1.write,r,t):this._push(Qh,1,0)};dt.prototype.fork=function(){return this.states=new tT(this),this.head=this.tail=new ea(Yh,0,0),this.len=0,this};dt.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 ea(Yh,0,0),this.len=0),this};dt.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};dt.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};dt._configure=function(e){Gh=e,dt.create=f1(),Gh._configure()}});var m1=S((zN,p1)=>{"use strict";p1.exports=Gr;var d1=jh();(Gr.prototype=Object.create(d1.prototype)).constructor=Gr;var Yn=Fi();function Gr(){d1.call(this)}Gr._configure=function(){Gr.alloc=Yn._Buffer_allocUnsafe,Gr.writeBytesBuffer=Yn.Buffer&&Yn.Buffer.prototype instanceof Uint8Array&&Yn.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};Gr.prototype.bytes=function(t){Yn.isString(t)&&(t=Yn._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Gr.writeBytesBuffer,r,t),this};function nT(e,t,r){e.length<40?Yn.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Gr.prototype.string=function(t){var r=Yn.Buffer.byteLength(t);return this.uint32(r),r&&this._push(nT,r,t),this};Gr._configure()});var B1=S((z6,C1)=>{"use strict";C1.exports=function(){return Date.now()}});var fd=S(($6,L1)=>{"use strict";var uu=B1(),ld=class{constructor(t,r,n){let i=this;this._started=uu(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(uu()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(t){t||(t=this._scheduled);let r=uu();r+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=r,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=uu(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function bT(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let e;if(arguments.length>0){e=new Array(arguments.length-2);for(var t=0;t<e.length;t++)e[t]=arguments[t+2]}return new ld(arguments[0],arguments[1],e)}L1.exports=bT});var Zn=S((H6,N1)=>{"use strict";var{AbortController:vT}=globalThis,D1=fd(),oa=class extends vT{constructor(t){super(),this._ms=t,this._timer=D1(()=>this.abort(),t),Object.setPrototypeOf(this,oa.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=D1(()=>this.abort(),this._ms)}};N1.exports={TimeoutController:oa}});var hd=S((W6,P1)=>{"use strict";var Go=new Map,_T=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function ST(e,t,r){for(;Go.get(r);){try{await e()}catch(n){setTimeout(()=>{throw n},1);break}if(!Go.get(r))break;await new Promise(n=>{let i=setTimeout(n,t);Go.set(r,i)})}}function AT(e,t,r){r=r||t;let n=_T(),i=setTimeout(()=>{ST(e,t,n)},r);return Go.set(n,i),n}function RT(e){let t=Go.get(e);t&&(clearTimeout(t),Go.delete(e))}P1.exports={setDelayedInterval:AT,clearDelayedInterval:RT}});var wn=S((Y6,dd)=>{"use strict";var Wo=typeof Reflect=="object"?Reflect:null,k1=Wo&&typeof Wo.apply=="function"?Wo.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},lu;Wo&&typeof Wo.ownKeys=="function"?lu=Wo.ownKeys:Object.getOwnPropertySymbols?lu=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:lu=function(t){return Object.getOwnPropertyNames(t)};function IT(e){console&&console.warn&&console.warn(e)}var M1=Number.isNaN||function(t){return t!==t};function _t(){_t.init.call(this)}dd.exports=_t;dd.exports.once=LT;_t.EventEmitter=_t;_t.prototype._events=void 0;_t.prototype._eventsCount=0;_t.prototype._maxListeners=void 0;var O1=10;function fu(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(_t,"defaultMaxListeners",{enumerable:!0,get:function(){return O1},set:function(e){if(typeof e!="number"||e<0||M1(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");O1=e}});_t.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};_t.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||M1(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function U1(e){return e._maxListeners===void 0?_t.defaultMaxListeners:e._maxListeners}_t.prototype.getMaxListeners=function(){return U1(this)};_t.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="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[t];if(c===void 0)return!1;if(typeof c=="function")k1(c,this,r);else for(var u=c.length,l=z1(c,u),n=0;n<u;++n)k1(l[n],this,r);return!0};function F1(e,t,r,n){var i,o,s;if(fu(r),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),s===void 0)s=o[t]=r,++e._eventsCount;else if(typeof s=="function"?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=U1(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=s.length,IT(a)}return e}_t.prototype.addListener=function(t,r){return F1(this,t,r,!1)};_t.prototype.on=_t.prototype.addListener;_t.prototype.prependListener=function(t,r){return F1(this,t,r,!0)};function TT(){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 K1(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=TT.bind(n);return i.listener=r,n.wrapFn=i,i}_t.prototype.once=function(t,r){return fu(r),this.on(t,K1(this,t,r)),this};_t.prototype.prependOnceListener=function(t,r){return fu(r),this.prependListener(t,K1(this,t,r)),this};_t.prototype.removeListener=function(t,r){var n,i,o,s,a;if(fu(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,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():CT(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};_t.prototype.off=_t.prototype.removeListener;_t.prototype.removeAllListeners=function(t){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[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),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[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function V1(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?BT(i):z1(i,i.length)}_t.prototype.listeners=function(t){return V1(this,t,!0)};_t.prototype.rawListeners=function(t){return V1(this,t,!1)};_t.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):q1.call(e,t)};_t.prototype.listenerCount=q1;function q1(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}_t.prototype.eventNames=function(){return this._eventsCount>0?lu(this._events):[]};function z1(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function CT(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function BT(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function LT(e,t){return new Promise(function(r,n){function i(s){e.removeListener(t,o),n(s)}function o(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}$1(e,t,o,{once:!0}),t!=="error"&&DT(e,i,{once:!0})})}function DT(e,t,r){typeof e.on=="function"&&$1(e,"error",t,r)}function $1(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(o){n.once&&e.removeEventListener(t,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var Q1=S((pk,Y1)=>{"use strict";Y1.exports=e=>{if(Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}});var eE=S((J1,tE)=>{"use strict";var yu=Q1(),{hasOwnProperty:Z1}=Object.prototype,{propertyIsEnumerable:PT}=Object,Yo=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),kT=J1,X1={concatArrays:!1,ignoreUndefined:!1},gu=e=>{let t=[];for(let r in e)Z1.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(e);for(let n of r)PT.call(e,n)&&t.push(n)}return t};function Qo(e){return Array.isArray(e)?OT(e):yu(e)?MT(e):e}function OT(e){let t=e.slice(0,0);return gu(e).forEach(r=>{Yo(t,r,Qo(e[r]))}),t}function MT(e){let t=Object.getPrototypeOf(e)===null?Object.create(null):{};return gu(e).forEach(r=>{Yo(t,r,Qo(e[r]))}),t}var j1=(e,t,r,n)=>(r.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in e&&e[i]!==Object.getPrototypeOf(e)?Yo(e,i,pd(e[i],t[i],n)):Yo(e,i,Qo(t[i])))}),e),UT=(e,t,r)=>{let n=e.slice(0,0),i=0;return[e,t].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Z1.call(o,a)&&(s.push(String(a)),o===e?Yo(n,i++,o[a]):Yo(n,i++,Qo(o[a])));n=j1(n,o,gu(o).filter(a=>!s.includes(a)),r)}),n};function pd(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?UT(e,t,r):!yu(t)||!yu(e)?Qo(t):j1(e,t,gu(t),r)}tE.exports=function(...e){let t=pd(Qo(X1),this!==kT&&this||{},X1),r={_:{}};for(let n of e)if(n!==void 0){if(!yu(n))throw new TypeError("`"+n+"` is not an Option Object");r=pd(r,{_:n},t)}return r._}});var aa=S((Ak,oE)=>{oE.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:Boolean(t)}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var aE=S((Ik,sE)=>{sE.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=t&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,r){this.addMs(t,r*1e3)}addMs(t,r){this._keys[t]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let r=this._keys[t];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var uE=S((Tk,cE)=>{var VT=aE();cE.exports=VT});var $e=S((Bk,lE)=>{lE.exports=class{constructor(t,r,n,i){this.remainingPoints=typeof t>"u"?0:t,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(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=Boolean(t)}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var Xo=S((Dk,hE)=>{var yd=aa(),qT=uE(),fE=$e();hE.exports=class extends yd{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed||t.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration||t.inmemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new qT}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,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):t(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,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(t,c,a)}else t(a)}_handleError(t,r,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof yd?this.insuranceLimiter[r](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(t){return this.getInMemoryBlockMsBeforeExpire(t)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(t){this.inMemoryBlockOnConsumed=t}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(t){this.inMemoryBlockDuration=t}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(t){if(this._inMemoryBlockDuration=t?parseInt(t):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(t){if(typeof t<"u"&&!(t instanceof yd))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,r,n={}){let i=r*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,r,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),r,o,i)}consume(t,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new fE(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,t,r,n)})})}penalty(t,r=1,n={}){let i=this.getKey(t);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,t,r,n)})})}reward(t,r=1,n={}){let i=this.getKey(t);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,t,r,n)})})}get(t,r={}){let n=this.getKey(t);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,t,r)})})}delete(t,r={}){let n=this.getKey(t);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,t,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,r,n,i={}){return new Promise((o,s)=>{this._upsert(t,r,n,!0,i).then(()=>{o(new fE(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(t),n/1e3,i)})})}_get(t,r={}){throw new Error("You have to implement the method '_get'!")}_delete(t,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,r,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var mE=S((Nk,pE)=>{var zT=Xo(),$T=$e(),dE="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} ",gd=class extends zT{constructor(t){super(t),t.redis?this.client=t.redis:this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:dE})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,r,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new $T;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(t,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(t,r,"EX",a):c.set(t,r),c.pttl(t).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(t,r,a,u):this.client.eval(dE,1,t,r,a,u)}else c.incrby(t,r).pttl(t).exec((u,l)=>u?s(u):o(l))})}_get(t){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(t).pttl(t).exec((i,o)=>{if(i)n(i);else{let[s]=o;if(s===null)return r(null);r(o)}})})}_delete(t){return new Promise((r,n)=>{this.client.del(t,(i,o)=>{i?n(i):r(o>0)})})}};pE.exports=gd});var wE=S((Pk,gE)=>{var HT=Xo(),GT=$e();function yE(e){try{let t=e.client?e.client:e,{version:r}=t.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 ca=class extends HT{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=yE(this.client)}):(this._initCollection(),this._driverVersion=yE(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?ca.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_initCollection(){let 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(t,r,n){let i=new GT,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(t,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:t},a=Object.assign(a,s),c={$set:{key:t,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:t},a=Object.assign(a,s),c={$setOnInsert:{key:t,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 h=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},s),p={$set:Object.assign({key:t,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(h,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(t,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};gE.exports=ca});var xE=S((kk,EE)=>{var WT=Xo(),YT=$e(),wd=class extends WT{constructor(t,r=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof 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(t){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{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((t,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,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),t()})})}).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(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:Boolean(t)}_getRateLimiterRes(t,r,n){let i=new YT,[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(t,r,n,i,o){return new Promise((s,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
2
+ "use strict";var Libp2P=(()=>{var lE=Object.create;var uo=Object.defineProperty;var uE=Object.getOwnPropertyDescriptor;var fE=Object.getOwnPropertyNames;var hE=Object.getPrototypeOf,dE=Object.prototype.hasOwnProperty;var I=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),se=(r,t)=>{for(var e in t)uo(r,e,{get:t[e],enumerable:!0})},sh=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of fE(t))!dE.call(r,i)&&i!==e&&uo(r,i,{get:()=>t[i],enumerable:!(n=uE(t,i))||n.enumerable});return r};var T=(r,t,e)=>(e=r!=null?lE(hE(r)):{},sh(t||!r||!r.__esModule?uo(e,"default",{value:r,enumerable:!0}):e,r)),pE=r=>sh(uo({},"__esModule",{value:!0}),r);var Uc=I((RA,oh)=>{var si=1e3,oi=si*60,ai=oi*60,vn=ai*24,mE=vn*7,yE=vn*365.25;oh.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return gE(r);if(e==="number"&&isFinite(r))return t.long?EE(r):wE(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function gE(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*yE;case"weeks":case"week":case"w":return e*mE;case"days":case"day":case"d":return e*vn;case"hours":case"hour":case"hrs":case"hr":case"h":return e*ai;case"minutes":case"minute":case"mins":case"min":case"m":return e*oi;case"seconds":case"second":case"secs":case"sec":case"s":return e*si;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function wE(r){var t=Math.abs(r);return t>=vn?Math.round(r/vn)+"d":t>=ai?Math.round(r/ai)+"h":t>=oi?Math.round(r/oi)+"m":t>=si?Math.round(r/si)+"s":r+"ms"}function EE(r){var t=Math.abs(r);return t>=vn?fo(r,t,vn,"day"):t>=ai?fo(r,t,ai,"hour"):t>=oi?fo(r,t,oi,"minute"):t>=si?fo(r,t,si,"second"):r+" ms"}function fo(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var ch=I((IA,ah)=>{function xE(r){e.debug=e,e.default=e,e.coerce=c,e.disable=s,e.enable=i,e.enabled=o,e.humanize=Uc(),e.destroy=l,Object.keys(r).forEach(u=>{e[u]=r[u]}),e.names=[],e.skips=[],e.formatters={};function t(u){let f=0;for(let h=0;h<u.length;h++)f=(f<<5)-f+u.charCodeAt(h),f|=0;return e.colors[Math.abs(f)%e.colors.length]}e.selectColor=t;function e(u){let f,h=null,d,p;function m(...y){if(!m.enabled)return;let g=m,E=Number(new Date),b=E-(f||E);g.diff=b,g.prev=f,g.curr=E,f=E,y[0]=e.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let O=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(D,X)=>{if(D==="%%")return"%";O++;let J=e.formatters[X];if(typeof J=="function"){let Zt=y[O];D=J.call(g,Zt),y.splice(O,1),O--}return D}),e.formatArgs.call(g,y),(g.log||e.log).apply(g,y)}return m.namespace=u,m.useColors=e.useColors(),m.color=e.selectColor(u),m.extend=n,m.destroy=e.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(d!==e.namespaces&&(d=e.namespaces,p=e.enabled(u)),p),set:y=>{h=y}}),typeof e.init=="function"&&e.init(m),m}function n(u,f){let h=e(this.namespace+(typeof f>"u"?":":f)+u);return h.log=this.log,h}function i(u){e.save(u),e.namespaces=u,e.names=[],e.skips=[];let f,h=(typeof u=="string"?u:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(u=h[f].replace(/\*/g,".*?"),u[0]==="-"?e.skips.push(new RegExp("^"+u.slice(1)+"$")):e.names.push(new RegExp("^"+u+"$")))}function s(){let u=[...e.names.map(a),...e.skips.map(a).map(f=>"-"+f)].join(",");return e.enable(""),u}function o(u){if(u[u.length-1]==="*")return!0;let f,h;for(f=0,h=e.skips.length;f<h;f++)if(e.skips[f].test(u))return!1;for(f=0,h=e.names.length;f<h;f++)if(e.names[f].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack||u.message:u}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}ah.exports=xE});var Fc=I((xe,ho)=>{xe.formatArgs=bE;xe.save=_E;xe.load=SE;xe.useColors=vE;xe.storage=AE();xe.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();xe.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 vE(){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 bE(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ho.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(e++,i==="%c"&&(n=e))}),r.splice(n,0,t)}xe.log=console.debug||console.log||(()=>{});function _E(r){try{r?xe.storage.setItem("debug",r):xe.storage.removeItem("debug")}catch{}}function SE(){let r;try{r=xe.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function AE(){try{return localStorage}catch{}}ho.exports=ch()(xe);var{formatters:RE}=ho.exports;RE.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Fh=I((LR,Uh)=>{Uh.exports=ul;var Mh=128,M1=127,U1=~M1,F1=Math.pow(2,31);function ul(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw ul.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=F1;)t[e++]=r&255|Mh,r/=128;for(;r&U1;)t[e++]=r&255|Mh,r>>>=7;return t[e]=r|0,ul.bytes=e-n+1,t}});var qh=I((PR,Vh)=>{Vh.exports=fl;var K1=128,Kh=127;function fl(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a||i>49)throw fl.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&Kh)<<i:(o&Kh)*Math.pow(2,i),i+=7}while(o>=K1);return fl.bytes=s-n,e}});var zh=I((NR,$h)=>{var V1=Math.pow(2,7),q1=Math.pow(2,14),$1=Math.pow(2,21),z1=Math.pow(2,28),H1=Math.pow(2,35),G1=Math.pow(2,42),Y1=Math.pow(2,49),W1=Math.pow(2,56),Q1=Math.pow(2,63);$h.exports=function(r){return r<V1?1:r<q1?2:r<$1?3:r<z1?4:r<H1?5:r<G1?6:r<Y1?7:r<W1?8:r<Q1?9:10}});var go=I((kR,Hh)=>{Hh.exports={encode:Fh(),decode:qh(),encodingLength:zh()}});var ht=I((eI,r0)=>{"use strict";function e0(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function ux(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return e0(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),e0(new i,e)}}r0.exports=ux});var h0=I((PI,f0)=>{"use strict";f0.exports=function(){return Date.now()}});var Sl=I((NI,d0)=>{"use strict";var Co=h0(),_l=class{constructor(t,e,n){let i=this;this._started=Co(),this._rescheduled=0,this._scheduled=e,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Co()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,e)}reschedule(t){t||(t=this._scheduled);let e=Co();e+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=e,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=Co(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function gx(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var t=0;t<r.length;t++)r[t]=arguments[t+2]}return new _l(arguments[0],arguments[1],r)}d0.exports=gx});var Ir=I((kI,m0)=>{"use strict";var{AbortController:wx}=globalThis,p0=Sl(),os=class extends wx{constructor(t){super(),this._ms=t,this._timer=p0(()=>this.abort(),t),Object.setPrototypeOf(this,os.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=p0(()=>this.abort(),this._ms)}};m0.exports={TimeoutController:os}});var w0=I((HI,g0)=>{"use strict";var gi=new Map,bx=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function _x(r,t,e){for(;gi.get(e);){try{await r()}catch(n){setTimeout(()=>{throw n},1);break}if(!gi.get(e))break;await new Promise(n=>{let i=setTimeout(n,t);gi.set(e,i)})}}function Sx(r,t,e){e=e||t;let n=bx(),i=setTimeout(()=>{_x(r,t,n)},e);return gi.set(n,i),n}function Ax(r){let t=gi.get(r);t&&(clearTimeout(t),gi.delete(r))}g0.exports={setDelayedInterval:Sx,clearDelayedInterval:Ax}});var ir=I((GI,Rl)=>{"use strict";var wi=typeof Reflect=="object"?Reflect:null,E0=wi&&typeof wi.apply=="function"?wi.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)},Do;wi&&typeof wi.ownKeys=="function"?Do=wi.ownKeys:Object.getOwnPropertySymbols?Do=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Do=function(t){return Object.getOwnPropertyNames(t)};function Rx(r){console&&console.warn&&console.warn(r)}var v0=Number.isNaN||function(t){return t!==t};function dt(){dt.init.call(this)}Rl.exports=dt;Rl.exports.once=Bx;dt.EventEmitter=dt;dt.prototype._events=void 0;dt.prototype._eventsCount=0;dt.prototype._maxListeners=void 0;var x0=10;function Lo(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(dt,"defaultMaxListeners",{enumerable:!0,get:function(){return x0},set:function(r){if(typeof r!="number"||r<0||v0(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");x0=r}});dt.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};dt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||v0(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function b0(r){return r._maxListeners===void 0?dt.defaultMaxListeners:r._maxListeners}dt.prototype.getMaxListeners=function(){return b0(this)};dt.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")E0(c,this,e);else for(var l=c.length,u=I0(c,l),n=0;n<l;++n)E0(u[n],this,e);return!0};function _0(r,t,e,n){var i,s,o;if(Lo(e),s=r._events,s===void 0?(s=r._events=Object.create(null),r._eventsCount=0):(s.newListener!==void 0&&(r.emit("newListener",t,e.listener?e.listener:e),s=r._events),o=s[t]),o===void 0)o=s[t]=e,++r._eventsCount;else if(typeof o=="function"?o=s[t]=n?[e,o]:[o,e]:n?o.unshift(e):o.push(e),i=b0(r),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=t,a.count=o.length,Rx(a)}return r}dt.prototype.addListener=function(t,e){return _0(this,t,e,!1)};dt.prototype.on=dt.prototype.addListener;dt.prototype.prependListener=function(t,e){return _0(this,t,e,!0)};function Ix(){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 S0(r,t,e){var n={fired:!1,wrapFn:void 0,target:r,type:t,listener:e},i=Ix.bind(n);return i.listener=e,n.wrapFn=i,i}dt.prototype.once=function(t,e){return Lo(e),this.on(t,S0(this,t,e)),this};dt.prototype.prependOnceListener=function(t,e){return Lo(e),this.prependListener(t,S0(this,t,e)),this};dt.prototype.removeListener=function(t,e){var n,i,s,o,a;if(Lo(e),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===e||n.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||e));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===e||n[o].listener===e){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():Tx(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||e)}return this};dt.prototype.off=dt.prototype.removeListener;dt.prototype.removeAllListeners=function(t){var e,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(e=n[t],typeof e=="function")this.removeListener(t,e);else if(e!==void 0)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this};function A0(r,t,e){var n=r._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?e?[i.listener||i]:[i]:e?Cx(i):I0(i,i.length)}dt.prototype.listeners=function(t){return A0(this,t,!0)};dt.prototype.rawListeners=function(t){return A0(this,t,!1)};dt.listenerCount=function(r,t){return typeof r.listenerCount=="function"?r.listenerCount(t):R0.call(r,t)};dt.prototype.listenerCount=R0;function R0(r){var t=this._events;if(t!==void 0){var e=t[r];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}dt.prototype.eventNames=function(){return this._eventsCount>0?Do(this._events):[]};function I0(r,t){for(var e=new Array(t),n=0;n<t;++n)e[n]=r[n];return e}function Tx(r,t){for(;t+1<r.length;t++)r[t]=r[t+1];r.pop()}function Cx(r){for(var t=new Array(r.length),e=0;e<t.length;++e)t[e]=r[e].listener||r[e];return t}function Bx(r,t){return new Promise(function(e,n){function i(o){r.removeListener(t,s),n(o)}function s(){typeof r.removeListener=="function"&&r.removeListener("error",i),e([].slice.call(arguments))}T0(r,t,s,{once:!0}),t!=="error"&&Dx(r,i,{once:!0})})}function Dx(r,t,e){typeof r.on=="function"&&T0(r,"error",t,e)}function T0(r,t,e,n){if(typeof r.on=="function")n.once?r.once(t,e):r.on(t,e);else if(typeof r.addEventListener=="function")r.addEventListener(t,function i(s){n.once&&r.removeEventListener(t,i),e(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var k0=I((_T,N0)=>{"use strict";N0.exports=r=>{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let t=Object.getPrototypeOf(r);return t===null||t===Object.prototype}});var V0=I((F0,K0)=>{"use strict";var Mo=k0(),{hasOwnProperty:M0}=Object.prototype,{propertyIsEnumerable:kx}=Object,Ei=(r,t,e)=>Object.defineProperty(r,t,{value:e,writable:!0,enumerable:!0,configurable:!0}),Ox=F0,O0={concatArrays:!1,ignoreUndefined:!1},Uo=r=>{let t=[];for(let e in r)M0.call(r,e)&&t.push(e);if(Object.getOwnPropertySymbols){let e=Object.getOwnPropertySymbols(r);for(let n of e)kx.call(r,n)&&t.push(n)}return t};function xi(r){return Array.isArray(r)?Mx(r):Mo(r)?Ux(r):r}function Mx(r){let t=r.slice(0,0);return Uo(r).forEach(e=>{Ei(t,e,xi(r[e]))}),t}function Ux(r){let t=Object.getPrototypeOf(r)===null?Object.create(null):{};return Uo(r).forEach(e=>{Ei(t,e,xi(r[e]))}),t}var U0=(r,t,e,n)=>(e.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in r&&r[i]!==Object.getPrototypeOf(r)?Ei(r,i,Dl(r[i],t[i],n)):Ei(r,i,xi(t[i])))}),r),Fx=(r,t,e)=>{let n=r.slice(0,0),i=0;return[r,t].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)M0.call(s,a)&&(o.push(String(a)),s===r?Ei(n,i++,s[a]):Ei(n,i++,xi(s[a])));n=U0(n,s,Uo(s).filter(a=>!o.includes(a)),e)}),n};function Dl(r,t,e){return e.concatArrays&&Array.isArray(r)&&Array.isArray(t)?Fx(r,t,e):!Mo(t)||!Mo(r)?xi(t):U0(r,t,Uo(t),e)}K0.exports=function(...r){let t=Dl(xi(O0),this!==Ox&&this||{},O0),e={_:{}};for(let n of r)if(n!==void 0){if(!Mo(n))throw new TypeError("`"+n+"` is not an Option Object");e=Dl(e,{_:n},t)}return e._}});var us=I((WT,H0)=>{H0.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:!!t}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var Y0=I((XT,G0)=>{G0.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(e=>{this._keys[e]<=t&&delete this._keys[e]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,e){this.addMs(t,e*1e3)}addMs(t,e){this._keys[t]=Date.now()+e,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let e=this._keys[t];if(e&&e>=Date.now()){this.collectExpired();let n=Date.now();return e>=n?e-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(e=>{delete this._keys[e]})}}});var Q0=I((ZT,W0)=>{var qx=Y0();W0.exports=qx});var _e=I((jT,X0)=>{X0.exports=class{constructor(t,e,n,i){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof e>"u"?0:e,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var bi=I((eC,J0)=>{var Pl=us(),$x=Q0(),Z0=_e();J0.exports=class extends Pl{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed||t.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration||t.inmemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new $x}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,e,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?e(a):t(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{e(a)}).catch(l=>{e(l)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(t,c,a)}else t(a)}_handleError(t,e,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Pl?this.insuranceLimiter[e](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(t){return this.getInMemoryBlockMsBeforeExpire(t)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(t){this.inMemoryBlockOnConsumed=t}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(t){this.inMemoryBlockDuration=t}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(t){if(this._inMemoryBlockDuration=t?parseInt(t):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(t){if(typeof t<"u"&&!(t instanceof Pl))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,e,n={}){let i=e*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,e,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),e,s,i)}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new Z0(0,a));this._upsert(o,e,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,e,c)}).catch(c=>{this._handleError(c,"consume",i,s,t,e,n)})})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise((s,o)=>{this._upsert(i,e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,e,a))}).catch(a=>{this._handleError(a,"penalty",s,o,t,e,n)})})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise((s,o)=>{this._upsert(i,-e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-e,a))}).catch(a=>{this._handleError(a,"reward",s,o,t,e,n)})})}get(t,e={}){let n=this.getKey(t);return new Promise((i,s)=>{this._get(n,e).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,t,e)})})}delete(t,e={}){let n=this.getKey(t);return new Promise((i,s)=>{this._delete(n,e).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,t,e)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,e,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,e,n,i={}){return new Promise((s,o)=>{this._upsert(t,e,n,!0,i).then(()=>{s(new Z0(0,n>0?n:-1,e))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(t),n/1e3,i)})})}_get(t,e={}){throw new Error("You have to implement the method '_get'!")}_delete(t,e={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,e,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var ed=I((rC,td)=>{var zx=bi(),Hx=_e(),j0="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} ",Nl=class extends zx{constructor(t){super(t),t.redis?this.client=t.redis:this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:j0})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,e,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new Hx;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===e,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(t,e,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(t,e,"EX",a):c.set(t,e),c.pttl(t).exec((l,u)=>l?o(l):s(u));else if(a>0){let l=function(u,f){return u?o(u):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(t,e,a,l):this.client.eval(j0,1,t,e,a,l)}else c.incrby(t,e).pttl(t).exec((l,u)=>l?o(l):s(u))})}_get(t){return new Promise((e,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(t).pttl(t).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return e(null);e(s)}})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,s)=>{i?n(i):e(s>0)})})}};td.exports=Nl});var id=I((nC,nd)=>{var Gx=bi(),Yx=_e();function rd(r){try{let t=r.client?r.client:r,{version:e}=t.topology.s.options.metadata.driver,n=e.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var fs=class extends Gx{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(e=>{this.client=e,this._initCollection(),this._driverVersion=rd(this.client)}):(this._initCollection(),this._driverVersion=rd(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?fs.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_initCollection(){let e=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);e.createIndex({expire:-1},{expireAfterSeconds:0}),e.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=e}_getRateLimiterRes(t,e,n){let i=new Yx,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===e,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(t,e,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:t},a=Object.assign(a,o),c={$set:{key:t,points:e,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:t},a=Object.assign(a,o),c={$setOnInsert:{key:t,expire:n>0?new Date(Date.now()+n):null},$inc:{points:e}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let l={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?l.returnDocument="after":l.returnOriginal=!1,new Promise((u,f)=>{this._collection.findOneAndUpdate(a,c,l).then(h=>{u(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},o),p={$set:Object.assign({key:t,points:e,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(d,p,l).then(m=>{u(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,e,n,i).then(y=>u(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};nd.exports=fs});var od=I((iC,sd)=>{var Wx=bi(),Qx=_e(),kl=class extends Wx{constructor(t,e=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()}).catch(n=>{if(typeof e=="function")e(n);else throw n})}clearExpired(t){return new Promise(e=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{this._releaseConnection(n),e()})}).catch(()=>{e()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((t,e)=>{this.client.getConnection((n,i)=>{if(n)return e(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,e)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),e(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),e(s);this._releaseConnection(n),t()})})}).catch(n=>{e(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,e,n){let i=new Qx,[s]=n;return i.isFirstInDuration=e===s.points,i.consumedPoints=i.isFirstInDuration?e:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(t,e,n,i,s){return new Promise((o,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let l=Date.now(),u=i>0?l+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
16
3
  ON DUPLICATE KEY UPDATE
17
4
  points = ?,
18
- expire = ?;`,d=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
5
+ expire = ?;`,h=[this.dbName,this.tableName,e,n,u,n,u]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
19
6
  ON DUPLICATE KEY UPDATE
20
7
  points = IF(expire <= ?, ?, points + (?)),
21
- expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),t.query(f,d,h=>{if(h)return t.rollback(),a(h);t.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return t.rollback(),a(p);t.query("COMMIT",y=>{if(y)return t.rollback(),a(y);s(m)})})})})})}_upsert(t,r,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,t,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(t){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,t,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(t){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,t],(o,s)=>{o?n(o):r(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};EE.exports=wd});var vE=S((Ok,bE)=>{var QT=Xo(),XT=$e(),Ed=class extends QT{constructor(t,r=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.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(t){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[t]};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(t){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((t,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{t()}).catch(n=>{n.code==="23505"?t():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
8
+ expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,e,n,u,l,n,n,l,u]),t.query(f,h,d=>{if(d)return t.rollback(),a(d);t.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,e],(p,m)=>{if(p)return t.rollback(),a(p);t.query("COMMIT",y=>{if(y)return t.rollback(),a(y);o(m)})})})})})}_upsert(t,e,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,t,e,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(t){return this.tableCreated?new Promise((e,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,t,Date.now()],(s,o)=>{s?n(s):o.length===0?e(null):e(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?new Promise((e,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,t],(s,o)=>{s?n(s):e(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};sd.exports=kl});var cd=I((sC,ad)=>{var Xx=bi(),Zx=_e(),Ol=class extends Xx{constructor(t,e=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.tableCreated,this.tableCreated?typeof e=="function"&&e():this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()}).catch(n=>{if(typeof e=="function")e(n);else throw n})}clearExpired(t){return new Promise(e=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[t]};this._query(n).then(()=>{e()}).catch(()=>{e()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return 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(t){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((t,e)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{t()}).catch(n=>{n.code==="23505"?t():e(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
22
9
  key varchar(255) PRIMARY KEY,
23
10
  points integer NOT NULL DEFAULT 0,
24
11
  expire bigint
25
- );`}get clientType(){return this._clientType}set clientType(t){let r=this.client.constructor.name;if(typeof t>"u")if(r==="Client")t="client";else if(r==="Pool"||r==="BoundPool")t="pool";else if(r==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:Boolean(t)}_getRateLimiterRes(t,r,n){let i=new XT,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(t){let n={name:`${this.tableName.toLowerCase()}:${t.name}`,text:t.text,values:t.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(t,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
12
+ );`}get clientType(){return this._clientType}set clientType(t){let e=this.client.constructor.name;if(typeof t>"u")if(e==="Client")t="client";else if(e==="Pool"||e==="BoundPool")t="pool";else if(e==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,e,n){let i=new Zx,s=n.rows[0];return i.isFirstInDuration=e===s.points,i.consumedPoints=i.isFirstInDuration?e:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(t){let n={name:`${this.tableName.toLowerCase()}:${t.name}`,text:t.text,values:t.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(t,e,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
26
13
  WHEN ${this.tableName}.expire <= $4 THEN $3
27
14
  ELSE ${this.tableName}.expire
28
15
  END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
@@ -32,21 +19,34 @@
32
19
  WHEN (${this.tableName}.expire <= $4 OR 1=${i?1:0}) THEN $2
33
20
  ELSE ${this.tableName}.points + ($2)
34
21
  END,
35
- expire = ${s}
36
- RETURNING points, expire;`,values:[t,r,o,Date.now()]})}_get(t){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:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[t]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};bE.exports=Ed});var _E=S(()=>{});var AE=S((Kk,SE)=>{SE.exports=class{constructor(t,r,n=null){this.value=t,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var IE=S((qk,RE)=>{var ZT=AE(),xd=$e();RE.exports=class{constructor(){this._storage={}}incrby(t,r,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+r,new xd(0,i,this._storage[t].value,!1)):this.set(t,r,n)}return this.set(t,r,n)}set(t,r,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new ZT(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new xd(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let r=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new xd(0,r,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var vd=S((zk,CE)=>{var jT=aa(),JT=IE(),TE=$e(),bd=class extends jT{constructor(t={}){super(t),this._memoryStorage=new JT}consume(t,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(t),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(t,r=1,n={}){let i=this.getKey(t);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(t,r=1,n={}){let i=this.getKey(t);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(t,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,r),Promise.resolve(new TE(0,n===0?-1:n,i))}set(t,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),r,n),Promise.resolve(new TE(0,i===0?-1:i,r))}get(t){let r=this._memoryStorage.get(this.getKey(t));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};CE.exports=bd});var OE=S(($k,kE)=>{var BE=_E(),t4=vi(),e4=aa(),DE=vd(),r4=$e(),nr="rate_limiter_flexible",Jo=null,LE=function(e,t,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},e.send({channel:nr,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:r,data:i})},NE=function(e){setTimeout(()=>{this._initiated?process.send(e):typeof this._promises[e.promiseId]<"u"&&NE.call(this,e)},30)},Zo=function(e,t,r,n,i){let o={channel:nr,keyPrefix:this.keyPrefix,func:e,promiseId:t,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):NE.call(this,o)},PE=function(e,t){if(!t||t.channel!==nr||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let r;switch(t.func){case"consume":r=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":r=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":r=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":r=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":r=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":r=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}r&&r.then(n=>{LE(e,t,"resolve",n)}).catch(n=>{LE(e,t,"reject",n)})},n4=function(e){if(!e||e.channel!==nr||e.keyPrefix!==this.keyPrefix)return!1;if(this._promises[e.promiseId]){clearTimeout(this._promises[e.promiseId].timeoutId);let t;switch(e.data===null||e.data===!0||e.data===!1?t=e.data:t=new r4(e.data.remainingPoints,e.data.msBeforeNext,e.data.consumedPoints,e.data.isFirstInDuration),e.type){case"resolve":this._promises[e.promiseId].resolve(t);break;case"reject":this._promises[e.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${e.type}'`)}delete this._promises[e.promiseId]}},i4=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},jo=function(e,t){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=t4.randomBytes(12).toString("base64")),this._promises[n]={resolve:e,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},_d=class{constructor(){if(Jo)return Jo;this._rateLimiters={},BE.setMaxListeners(0),BE.on("message",(t,r)=>{r&&r.channel===nr&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new DE(r.opts)),t.send({channel:nr,type:"init",keyPrefix:r.opts.keyPrefix})):PE.call(this,t,r)}),Jo=this}},Sd=class{constructor(t){if(Jo)return Jo;this._rateLimiters={},t.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===nr&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new DE(o.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:nr,channel:nr,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=nr,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};PE.call(this,s,o)}})}),Jo=this}},Ad=class extends e4{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===nr&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:n4.call(this,r)}),process.send({channel:nr,type:"init",opts:i4.call(this)}),this._promises={}}consume(t,r=1,n={}){return new Promise((i,o)=>{let s=jo.call(this,i,o);Zo.call(this,"consume",s,t,r,n)})}penalty(t,r=1,n={}){return new Promise((i,o)=>{let s=jo.call(this,i,o);Zo.call(this,"penalty",s,t,r,n)})}reward(t,r=1,n={}){return new Promise((i,o)=>{let s=jo.call(this,i,o);Zo.call(this,"reward",s,t,r,n)})}block(t,r,n={}){return new Promise((i,o)=>{let s=jo.call(this,i,o);Zo.call(this,"block",s,t,r,n)})}get(t,r={}){return new Promise((n,i)=>{let o=jo.call(this,n,i);Zo.call(this,"get",o,t,r)})}delete(t,r={}){return new Promise((n,i)=>{let o=jo.call(this,n,i);Zo.call(this,"delete",o,t,r)})}};kE.exports={RateLimiterClusterMaster:_d,RateLimiterClusterMasterPM2:Sd,RateLimiterCluster:Ad}});var UE=S((Hk,ME)=>{var o4=Xo(),s4=$e(),Rd=class extends o4{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,r,n){let i=new s4;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(t,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(t,r,u,l=>{l?a(l):this.client.set(`${t}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(f)})}):this.client.incr(t,r,(l,f)=>{l||f===!1?this.client.add(t,r,u,(d,h)=>{if(d||!h)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let p=Object.assign({},o);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(t,r,n,i,p).then(m=>s(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(p)})}):this.client.get(`${t}_expire`,(d,h)=>{if(d)a(d);else{let p=h===!1?0:h,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};s(m)}})})})}_get(t){return new Promise((r,n)=>{let i=Date.now();this.client.get(t,(o,s)=>{s?this.client.get(`${t}_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(t){return new Promise((r,n)=>{this.client.del(t,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${t}_expire`,s=>{s?n(s):r(o)})})})}};ME.exports=Rd});var VE=S((Wk,KE)=>{var FE=$e();KE.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new FE(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new FE(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(t,r=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,r):(this.runActionAnyway&&this.limiter.consume(t,r).catch(()=>{}),n)}block(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,r):(this.runActionAnyway&&this.limiter.block(t,r).catch(()=>{}),n)}penalty(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,r):(this.runActionAnyway&&this.limiter.penalty(t,r).catch(()=>{}),n)}reward(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,r):(this.runActionAnyway&&this.limiter.reward(t,r).catch(()=>{}),n)}get(t){let r;return this.isWhiteListedSomewhere(t)?r=this.resolveWhite():this.isBlackListedSomewhere(t)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(t):r}delete(t){return this.limiter.delete(t)}}});var zE=S((Qk,qE)=>{var a4=aa();qE.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(r=>{if(!(r instanceof a4))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(t,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 HE=S((Zk,$E)=>{$E.exports=class extends Error{constructor(t,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,r&&(this.extra=r)}}});var QE=S((Jk,YE)=>{var GE=HE(),WE=4294967295,Id="limiter";YE.exports=class{constructor(t,r={maxQueueSize:WE}){this._queueLimiters={KEY_DEFAULT:new vu(t,r)},this._limiterFlexible=t,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(t=Id){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,r=Id){return this._queueLimiters[r]||(this._queueLimiters[r]=new vu(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(t)}};var vu=class{constructor(t,r={maxQueueSize:WE,key:Id}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let r=this;return new Promise((n,i)=>{if(t>r._limiterFlexible.points){i(new GE(`Requested tokens ${t} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,t):r._limiterFlexible.consume(r._key,t).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,t),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(t,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:r,tokens:n}):r(new GE(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let r=t._queue.shift();t._limiterFlexible.consume(t._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(r.reject(n),t._processFIFO.call(t)):(t._queue.unshift(r),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var ZE=S((eO,XE)=>{var Td=$e();XE.exports=class{constructor(t,r){this._rateLimiter=t,this._burstLimiter=r}_combineRes(t,r){return new Td(t.remainingPoints,Math.min(t.msBeforeNext,r.msBeforeNext),t.consumedPoints,t.isFirstInDuration)}consume(t,r=1,n={}){return this._rateLimiter.consume(t,r,n).catch(i=>i instanceof Td?this._burstLimiter.consume(t,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Td?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var JE=S((rO,jE)=>{var c4=mE(),u4=wE(),l4=xE(),f4=vE(),{RateLimiterClusterMaster:h4,RateLimiterClusterMasterPM2:d4,RateLimiterCluster:p4}=OE(),m4=vd(),y4=UE(),g4=VE(),w4=zE(),E4=QE(),x4=ZE(),b4=$e();jE.exports={RateLimiterRedis:c4,RateLimiterMongo:u4,RateLimiterMySQL:l4,RateLimiterPostgres:f4,RateLimiterMemory:m4,RateLimiterMemcache:y4,RateLimiterClusterMaster:h4,RateLimiterClusterMasterPM2:d4,RateLimiterCluster:p4,RLWrapperBlackAndWhite:g4,RateLimiterUnion:w4,RateLimiterQueue:E4,BurstyRateLimiter:x4,RateLimiterRes:b4}});var p2=S((l5,d2)=>{"use strict";function P4(e){return e>=55296&&e<=56319}function k4(e){return e>=56320&&e<=57343}d2.exports=function(t,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],P4(s)&&k4(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),o+=t(a),o===n)return r.slice(0,c+1);if(o>n)return r.slice(0,c-a.length+1)}return r}});var y2=S((f5,m2)=>{"use strict";function O4(e){return e>=55296&&e<=56319}function M4(e){return e>=56320&&e<=57343}m2.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var r=t.length,n=0,i=null,o=null,s=0;s<r;s++)i=t.charCodeAt(s),M4(i)?o!=null&&O4(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 w2=S((h5,g2)=>{"use strict";var U4=p2(),F4=y2();g2.exports=U4.bind(null,F4)});var b2=S((d5,x2)=>{"use strict";var K4=w2(),V4=/[\/\?<>\\:\*\|"]/g,q4=/[\x00-\x1f\x80-\x9f]/g,z4=/^\.+$/,$4=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,H4=/[\. ]+$/;function E2(e,t){if(typeof e!="string")throw new Error("Input must be string");var r=e.replace(V4,t).replace(q4,t).replace(z4,t).replace($4,t).replace(H4,t);return K4(r,255)}x2.exports=function(e,t){var r=t&&t.replacement||"",n=E2(e,r);return r===""?n:E2(n,"")}});var tx=S((IU,J2)=>{function sC(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}J2.exports=sC});var dx=S((SF,Zd)=>{"use strict";var lC=Object.prototype.hasOwnProperty,Ce="~";function Ra(){}Object.create&&(Ra.prototype=Object.create(null),new Ra().__proto__||(Ce=!1));function fC(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function hx(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new fC(r,n||e,i),s=Ce?Ce+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function Ju(e,t){--e._eventsCount===0?e._events=new Ra:delete e._events[t]}function Ae(){this._events=new Ra,this._eventsCount=0}Ae.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)lC.call(r,n)&&t.push(Ce?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Ae.prototype.listeners=function(t){var r=Ce?Ce+t:t,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};Ae.prototype.listenerCount=function(t){var r=Ce?Ce+t:t,n=this._events[r];return n?n.fn?1:n.length:0};Ae.prototype.emit=function(t,r,n,i,o,s){var a=Ce?Ce+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,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,h;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,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(h=1,l=new Array(u-1);h<u;h++)l[h-1]=arguments[h];c[f].fn.apply(c[f].context,l)}}return!0};Ae.prototype.on=function(t,r,n){return hx(this,t,r,n,!1)};Ae.prototype.once=function(t,r,n){return hx(this,t,r,n,!0)};Ae.prototype.removeListener=function(t,r,n,i){var o=Ce?Ce+t:t;if(!this._events[o])return this;if(!r)return Ju(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Ju(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:Ju(this,o)}return this};Ae.prototype.removeAllListeners=function(t){var r;return t?(r=Ce?Ce+t:t,this._events[r]&&Ju(this,r)):(this._events=new Ra,this._eventsCount=0),this};Ae.prototype.off=Ae.prototype.removeListener;Ae.prototype.addListener=Ae.prototype.on;Ae.prefixed=Ce;Ae.EventEmitter=Ae;typeof Zd<"u"&&(Zd.exports=Ae)});var Nx=S((y9,Dx)=>{"use strict";Dx.exports=Lx;var mC=Al(),ai=Lx.prototype,yC=new Date%1e9;function gC(){return(Math.random()*1e9>>>0)+yC++}function Lx(e){e=e||{},this.id=e.id||gC(),this.max=e.max||1/0,this.items=e.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(e.lastModified||new Date);for(var t,r,n=this.items.length;n--;)t=this.items[n],r=new Date(t.expires)-new Date,this._lookup[t.key]=t,r>0?this.expire(t.key,r):r<=0&&this.delete(t.key)}ai.has=function(e){return e in this._lookup};ai.get=function(e){if(!this.has(e))return null;var t=this._lookup[e];return t.refresh&&this.expire(e,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};ai.meta=function(e){if(!this.has(e))return null;var t=this._lookup[e];return"meta"in t?t.meta:null};ai.set=function(e,t,r){var n=this._lookup[e],i=this._lookup[e]={key:e,value:t};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(e,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};ai.delete=function(e){var t=this._lookup[e];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[e],this.size--,this):!1};ai.expire=function(e,t){var r=t||0,n=this._lookup[e];if(!n)return this;if(typeof r=="string"&&(r=mC(t)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};ai.clear=function(){for(var e=this.items.length;e--;)this.delete(this.items[e].key);return this};ai.toJSON=function(){for(var e=new Array(this.items.length),t,r=e.length;r--;)t=this.items[r],e[r]={key:t.key,meta:t.meta,value:t.value,expires:t.expires,refresh:t.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:e}}});var qx=S((k9,Vx)=>{"use strict";Vx.exports=be;var Pa=io();function be(e,t){this.lo=e>>>0,this.hi=t>>>0}var no=be.zero=new be(0,0);no.toNumber=function(){return 0};no.zzEncode=no.zzDecode=function(){return this};no.length=function(){return 1};var AC=be.zeroHash="\0\0\0\0\0\0\0\0";be.fromNumber=function(t){if(t===0)return no;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new be(n,i)};be.from=function(t){if(typeof t=="number")return be.fromNumber(t);if(Pa.isString(t))if(Pa.Long)t=Pa.Long.fromString(t);else return be.fromNumber(parseInt(t,10));return t.low||t.high?new be(t.low>>>0,t.high>>>0):no};be.prototype.toNumber=function(t){if(!t&&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};be.prototype.toLong=function(t){return Pa.Long?new Pa.Long(this.lo|0,this.hi|0,Boolean(t)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(t)}};var ci=String.prototype.charCodeAt;be.fromHash=function(t){return t===AC?no:new be((ci.call(t,0)|ci.call(t,1)<<8|ci.call(t,2)<<16|ci.call(t,3)<<24)>>>0,(ci.call(t,4)|ci.call(t,5)<<8|ci.call(t,6)<<16|ci.call(t,7)<<24)>>>0)};be.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)};be.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};be.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};be.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var io=S(v0=>{"use strict";var V=v0;V.asPromise=ds();V.base64=ps();V.EventEmitter=ms();V.float=ys();V.inquire=gs();V.utf8=ws();V.pool=Es();V.LongBits=qx();V.isNode=Boolean(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);V.global=V.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||v0;V.emptyArray=Object.freeze?Object.freeze([]):[];V.emptyObject=Object.freeze?Object.freeze({}):{};V.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};V.isString=function(t){return typeof t=="string"||t instanceof String};V.isObject=function(t){return t&&typeof t=="object"};V.isset=V.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};V.Buffer=function(){try{var e=V.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();V._Buffer_from=null;V._Buffer_allocUnsafe=null;V.newBuffer=function(t){return typeof t=="number"?V.Buffer?V._Buffer_allocUnsafe(t):new V.Array(t):V.Buffer?V._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};V.Array=typeof Uint8Array<"u"?Uint8Array:Array;V.Long=V.global.dcodeIO&&V.global.dcodeIO.Long||V.global.Long||V.inquire("long");V.key2Re=/^true|false|0|1$/;V.key32Re=/^-?(?:0|[1-9][0-9]*)$/;V.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;V.longToHash=function(t){return t?V.LongBits.from(t).toHash():V.LongBits.zeroHash};V.longFromHash=function(t,r){var n=V.LongBits.fromHash(t);return V.Long?V.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function zx(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}V.merge=zx;V.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function $x(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&zx(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}V.newError=$x;V.ProtocolError=$x("ProtocolError");V.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[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]}};V.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};V.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};V._configure=function(){var e=V.Buffer;if(!e){V._Buffer_from=V._Buffer_allocUnsafe=null;return}V._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},V._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var A0=S((M9,Qx)=>{"use strict";Qx.exports=Jt;var Qr=io(),S0,Wx=Qr.LongBits,RC=Qr.utf8;function Rr(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function Jt(e){this.buf=e,this.pos=0,this.len=e.length}var Hx=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Jt(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Jt(t);throw Error("illegal buffer")},Yx=function(){return Qr.Buffer?function(r){return(Jt.create=function(i){return Qr.Buffer.isBuffer(i)?new S0(i):Hx(i)})(r)}:Hx};Jt.create=Yx();Jt.prototype._slice=Qr.Array.prototype.subarray||Qr.Array.prototype.slice;Jt.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Rr(this,10);return t}}();Jt.prototype.int32=function(){return this.uint32()|0};Jt.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function _0(){var e=new Wx(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw Rr(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw Rr(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}Jt.prototype.bool=function(){return this.uint32()!==0};function ml(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}Jt.prototype.fixed32=function(){if(this.pos+4>this.len)throw Rr(this,4);return ml(this.buf,this.pos+=4)};Jt.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Rr(this,4);return ml(this.buf,this.pos+=4)|0};function Gx(){if(this.pos+8>this.len)throw Rr(this,8);return new Wx(ml(this.buf,this.pos+=4),ml(this.buf,this.pos+=4))}Jt.prototype.float=function(){if(this.pos+4>this.len)throw Rr(this,4);var t=Qr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Jt.prototype.double=function(){if(this.pos+8>this.len)throw Rr(this,4);var t=Qr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Jt.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Rr(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Jt.prototype.string=function(){var t=this.bytes();return RC.read(t,0,t.length)};Jt.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Rr(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Rr(this);while(this.buf[this.pos++]&128);return this};Jt.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};Jt._configure=function(e){S0=e,Jt.create=Yx(),S0._configure();var t=Qr.Long?"toLong":"toNumber";Qr.merge(Jt.prototype,{int64:function(){return _0.call(this)[t](!1)},uint64:function(){return _0.call(this)[t](!0)},sint64:function(){return _0.call(this).zzDecode()[t](!1)},fixed64:function(){return Gx.call(this)[t](!0)},sfixed64:function(){return Gx.call(this)[t](!1)}})}});var Jx=S((U9,jx)=>{"use strict";jx.exports=oo;var Zx=A0();(oo.prototype=Object.create(Zx.prototype)).constructor=oo;var Xx=io();function oo(e){Zx.call(this,e)}oo._configure=function(){Xx.Buffer&&(oo.prototype._slice=Xx.Buffer.prototype.slice)};oo.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};oo._configure()});var D0=S((F9,nb)=>{"use strict";nb.exports=mt;var ar=io(),R0,yl=ar.LongBits,tb=ar.base64,eb=ar.utf8;function ka(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function T0(){}function IC(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function mt(){this.len=0,this.head=new ka(T0,0,0),this.tail=this.head,this.states=null}var rb=function(){return ar.Buffer?function(){return(mt.create=function(){return new R0})()}:function(){return new mt}};mt.create=rb();mt.alloc=function(t){return new ar.Array(t)};ar.Array!==Array&&(mt.alloc=ar.pool(mt.alloc,ar.Array.prototype.subarray));mt.prototype._push=function(t,r,n){return this.tail=this.tail.next=new ka(t,r,n),this.len+=r,this};function C0(e,t,r){t[r]=e&255}function TC(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function B0(e,t){this.len=e,this.next=void 0,this.val=t}B0.prototype=Object.create(ka.prototype);B0.prototype.fn=TC;mt.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new B0((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};mt.prototype.int32=function(t){return t<0?this._push(L0,10,yl.fromNumber(t)):this.uint32(t)};mt.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function L0(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}mt.prototype.uint64=function(t){var r=yl.from(t);return this._push(L0,r.length(),r)};mt.prototype.int64=mt.prototype.uint64;mt.prototype.sint64=function(t){var r=yl.from(t).zzEncode();return this._push(L0,r.length(),r)};mt.prototype.bool=function(t){return this._push(C0,1,t?1:0)};function I0(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}mt.prototype.fixed32=function(t){return this._push(I0,4,t>>>0)};mt.prototype.sfixed32=mt.prototype.fixed32;mt.prototype.fixed64=function(t){var r=yl.from(t);return this._push(I0,4,r.lo)._push(I0,4,r.hi)};mt.prototype.sfixed64=mt.prototype.fixed64;mt.prototype.float=function(t){return this._push(ar.float.writeFloatLE,4,t)};mt.prototype.double=function(t){return this._push(ar.float.writeDoubleLE,8,t)};var CC=ar.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};mt.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(C0,1,0);if(ar.isString(t)){var n=mt.alloc(r=tb.length(t));tb.decode(t,n,0),t=n}return this.uint32(r)._push(CC,r,t)};mt.prototype.string=function(t){var r=eb.length(t);return r?this.uint32(r)._push(eb.write,r,t):this._push(C0,1,0)};mt.prototype.fork=function(){return this.states=new IC(this),this.head=this.tail=new ka(T0,0,0),this.len=0,this};mt.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 ka(T0,0,0),this.len=0),this};mt.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};mt.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};mt._configure=function(e){R0=e,mt.create=rb(),R0._configure()}});var sb=S((K9,ob)=>{"use strict";ob.exports=Xr;var ib=D0();(Xr.prototype=Object.create(ib.prototype)).constructor=Xr;var ui=io();function Xr(){ib.call(this)}Xr._configure=function(){Xr.alloc=ui._Buffer_allocUnsafe,Xr.writeBytesBuffer=ui.Buffer&&ui.Buffer.prototype instanceof Uint8Array&&ui.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};Xr.prototype.bytes=function(t){ui.isString(t)&&(t=ui._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Xr.writeBytesBuffer,r,t),this};function BC(e,t,r){e.length<40?ui.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Xr.prototype.string=function(t){var r=ui.Buffer.byteLength(t);return this.uint32(r),r&&this._push(BC,r,t),this};Xr._configure()});var z0=S((E7,q0)=>{function db(e){let t=new globalThis.AbortController;function r(){t.abort();for(let n of e)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of e)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return t.signal}q0.exports=db;q0.exports.anySignal=db});var mb=S((b7,pb)=>{pb.exports=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var wb=S((_7,gb)=>{var yb=mb();gb.exports=class{constructor(t){this.hwm=t||16,this.head=new yb(this.hwm),this.tail=this.head}push(t){if(!this.head.push(t)){let r=this.head;this.head=r.next=new yb(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next){let r=this.tail.next;return this.tail.next=null,this.tail=r,this.tail.shift()}return t}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var xb=S((S7,Eb)=>{"use strict";var kC=()=>{let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e};Eb.exports=kC});var Sb=S((R7,_b)=>{var bb=wb(),vb=xb();_b.exports=class{constructor(){this._buffer=new bb,this._waitingConsumers=new bb}push(t){let{promise:r,resolve:n}=vb();return this._buffer.push({chunk:t,resolve:n}),this._consume(),r}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let t=this._waitingConsumers.shift(),r=this._buffer.shift();t.resolve(r.chunk),r.resolve()}}shift(){let{promise:t,resolve:r}=vb();return this._waitingConsumers.push({resolve:r}),this._consume(),t}isEmpty(){return this._buffer.isEmpty()}}});var FC={};ve(FC,{createLibp2p:()=>UC});var Ir=R(Rl(),1);var Ll={};ve(Ll,{base58btc:()=>$t,base58flickr:()=>ev});function Xb(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,E=p.length;g!==E&&p[g]===0;)g++,m++;for(var _=(E-g)*l+1>>>0,O=new Uint8Array(_);g!==E;){for(var C=p[g],B=0,et=_-1;(C!==0||B<y)&&et!==-1;et--,B++)C+=256*O[et]>>>0,O[et]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=B,g++}for(var it=_-y;it!==_&&O[it]===0;)it++;for(var le=c.repeat(m);it<_;++it)le+=e.charAt(O[it]);return le}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var E=(p.length-m)*u+1>>>0,_=new Uint8Array(E);p[m];){var O=r[p.charCodeAt(m)];if(O===255)return;for(var C=0,B=E-1;(O!==0||C<g)&&B!==-1;B--,C++)O+=a*_[B]>>>0,_[B]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var et=E-g;et!==E&&_[et]===0;)et++;for(var it=new Uint8Array(y+(E-et)),le=y;et!==E;)it[le++]=_[et++];return it}}}function h(p){var m=d(p);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:d,decode:h}}var Zb=Xb,jb=Zb,j0=jb;var $C=new Uint8Array(0);var J0=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},Jr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var tp=e=>new TextEncoder().encode(e),ep=e=>new TextDecoder().decode(e);var Il=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Tl=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return np(this,t)}},Cl=class{constructor(t){this.decoders=t}or(t){return np(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},np=(e,t)=>new Cl({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Bl=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Il(t,r,n),this.decoder=new Tl(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},lo=({name:e,prefix:t,encode:r,decode:n})=>new Bl(e,t,r,n),An=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=j0(r,t);return lo({prefix:e,name:t,encode:n,decode:o=>Jr(i(o))})},Jb=(e,t,r,n)=>{let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let o=e.length;for(;e[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[e[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},tv=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Kt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>lo({prefix:t,name:e,encode(i){return tv(i,n,r)},decode(i){return Jb(i,n,r,e)}});var $t=An({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ev=An({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Dl={};ve(Dl,{base32:()=>Oe,base32hex:()=>ov,base32hexpad:()=>av,base32hexpadupper:()=>cv,base32hexupper:()=>sv,base32pad:()=>nv,base32padupper:()=>iv,base32upper:()=>rv,base32z:()=>uv});var Oe=Kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),rv=Kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),nv=Kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),iv=Kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ov=Kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),sv=Kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),av=Kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),cv=Kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),uv=Kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Nl={};ve(Nl,{base64:()=>fi,base64pad:()=>lv,base64url:()=>fv,base64urlpad:()=>hv});var fi=Kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),lv=Kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),fv=Kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),hv=Kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Ir.default.formatters.b=e=>e==null?"undefined":$t.baseEncode(e);Ir.default.formatters.t=e=>e==null?"undefined":Oe.baseEncode(e);Ir.default.formatters.m=e=>e==null?"undefined":fi.baseEncode(e);Ir.default.formatters.p=e=>e==null?"undefined":e.toString();Ir.default.formatters.c=e=>e==null?"undefined":e.toString();Ir.default.formatters.k=e=>e==null?"undefined":e.toString();function P(e){return Object.assign((0,Ir.default)(e),{error:(0,Ir.default)(`${e}:error`),trace:(0,Ir.default)(`${e}:trace`)})}var tn="/libp2p/circuit/relay/0.2.0/hop",cs="/libp2p/circuit/relay/0.2.0/stop";var dv=sp,ip=128,pv=127,mv=~pv,yv=Math.pow(2,31);function sp(e,t,r){t=t||[],r=r||0;for(var n=r;e>=yv;)t[r++]=e&255|ip,e/=128;for(;e&mv;)t[r++]=e&255|ip,e>>>=7;return t[r]=e|0,sp.bytes=r-n+1,t}var gv=Pl,wv=128,op=127;function Pl(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw Pl.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&op)<<i:(s&op)*Math.pow(2,i),i+=7}while(s>=wv);return Pl.bytes=o-n,r}var Ev=Math.pow(2,7),xv=Math.pow(2,14),bv=Math.pow(2,21),vv=Math.pow(2,28),_v=Math.pow(2,35),Sv=Math.pow(2,42),Av=Math.pow(2,49),Rv=Math.pow(2,56),Iv=Math.pow(2,63),Tv=function(e){return e<Ev?1:e<xv?2:e<bv?3:e<vv?4:e<_v?5:e<Sv?6:e<Av?7:e<Rv?8:e<Iv?9:10},Cv={encode:dv,decode:gv,encodingLength:Tv},Bv=Cv,us=Bv;var ls=(e,t=0)=>[us.decode(e,t),us.decode.bytes],fo=(e,t,r=0)=>(us.encode(e,t,r),t),ho=e=>us.encodingLength(e);var Tr=(e,t)=>{let r=t.byteLength,n=ho(e),i=n+ho(r),o=new Uint8Array(i+r);return fo(e,o,0),fo(r,o,n),o.set(t,i),new po(e,r,t,o)},hi=e=>{let t=Jr(e),[r,n]=ls(t),[i,o]=ls(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new po(r,i,s,t)},ap=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&J0(e.bytes,r.bytes)}},po=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var cp=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Dv(r,kl(e),t||$t.encoder);default:return Nv(r,kl(e),t||Oe.encoder)}};var up=new WeakMap,kl=e=>{let t=up.get(e);if(t==null){let r=new Map;return up.set(e,r),r}return t},xt=class{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==fs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Pv)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return xt.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Tr(t,r);return xt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return xt.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&ap(t.multihash,n.multihash)}toString(t){return cp(this,t)}toJSON(){return{"/":cp(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof xt)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new xt(n,i,o,s||lp(n,i,o.bytes))}else if(r[kv]===!0){let{version:n,multihash:i,code:o}=r,s=hi(i);return xt.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==fs)throw new Error(`Version 0 CID must use dag-pb (code: ${fs}) block encoding`);return new xt(t,r,n,n.bytes)}case 1:{let i=lp(t,r,n.bytes);return new xt(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return xt.create(0,fs,t)}static createV1(t,r){return xt.create(1,t,r)}static decode(t){let[r,n]=xt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=xt.inspectBytes(t),n=r.size-r.multihashSize,i=Jr(t.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 po(r.multihashCode,r.digestSize,o,i);return[r.version===0?xt.createV0(s):xt.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,d]=ls(t.subarray(r));return r+=d,f},i=n(),o=fs;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(t,r){let[n,i]=Lv(t,r),o=xt.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return kl(o).set(n,t),o}},Lv=(e,t)=>{switch(e[0]){case"Q":{let r=t||$t;return[$t.prefix,r.decode(`${$t.prefix}${e}`)]}case $t.prefix:{let r=t||$t;return[$t.prefix,r.decode(e)]}case Oe.prefix:{let r=t||Oe;return[Oe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Dv=(e,t,r)=>{let{prefix:n}=r;if(n!==$t.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},Nv=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},fs=112,Pv=18,lp=(e,t,r)=>{let n=ho(e),i=n+ho(t),o=new Uint8Array(i+r.byteLength);return fo(e,o,0),fo(t,o,n),o.set(r,i),o},kv=Symbol.for("@ipld/js-cid/CID");var Ul={};ve(Ul,{sha256:()=>fe,sha512:()=>Ov});var Ml=({name:e,code:t,encode:r})=>new Ol(e,t,r),Ol=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Tr(this.code,r):r.then(n=>Tr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var hp=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),fe=Ml({name:"sha2-256",code:18,encode:hp("SHA-256")}),Ov=Ml({name:"sha2-512",code:19,encode:hp("SHA-512")});var dp=P("libp2p:circuit:v2:util"),pp=(e,t)=>{queueMicrotask(()=>{t.sink(e.source).catch(r=>dp.error("error while relating streams:",r))}),queueMicrotask(()=>{e.sink(t.source).catch(r=>dp.error("error while relaying streams:",r))})};function gp(e,t,r){if(r==null){pp(e,t);return}let n=r.data??0n,i=r.duration??0,o=yp(mp(e,n),i),s=yp(mp(t,n),i);pp(o,s)}var Mv=(e,t)=>{if(t===0n)return e;let r=e.source;return e.source=async function*(){let n=0n;for await(let i of r){let o=BigInt(i.byteLength);if(n+o>t){let s=Number(t-n);try{s!==0&&(yield i)}finally{e.abort(new Error("data limit exceeded"))}return}yield i,n+=o}}(),e},Uv=(e,t)=>{if(t===0n)return e;let r=e.sink;return e.sink=async n=>{await r(async function*(){let i=0n;for await(let o of n){let s=BigInt(o.byteLength);if(i+s>t){let a=Number(t-i);try{a!==0&&(yield o.subarray(0,a))}finally{e.abort(new Error("data limit exceeded"))}return}i+=s,yield o}}())},e},mp=(e,t)=>(Mv(e,t),Uv(e,t),e),yp=(e,t)=>{if(t===0)return e;let r=!1,n=setTimeout(()=>{r=!0,e.abort(new Error("exceeded connection duration limit"))},t),i=e.source;return e.source=async function*(){try{for await(let o of i){if(r)return;yield o}}finally{clearTimeout(n)}}(),e};async function $a(e){let t=new TextEncoder().encode(e),r=await fe.digest(t);return xt.createV0(r)}function wp(e){return Number(e)-new Date().getTime()}var Ha="/libp2p/relay";var Ep="relay-destination";var xp=BigInt(131072);async function pi(e){let t=[];for await(let r of e)t.push(r);return t}async function*Fl(e,t){yield*(await pi(e)).sort(t)}var Ga=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},mo=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Ga(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new Ga(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function mi(e={}){return Kv(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function Kv(e,t){t=t??{};let r=t.onEnd,n=new mo,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((m,y)=>{o=g=>{o=null,n.push(g);try{m(e(n))}catch(E){y(E)}return i}}):e(n),c=m=>o!=null?o(m):(n.push(m),i),u=m=>(n=new mo,o!=null?o({error:m}):(n.push({error:m}),i)),l=m=>{if(s)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>s?i:(s=!0,m!=null?u(m):c({done:!0})),d=()=>(n=new mo,f(),{done:!0}),h=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:h,push:l,end:f,get readableLength(){return n.size}},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}async function*en(...e){let t=mi({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}var Vv=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},bp=e=>e!=null&&(typeof e[Symbol.asyncIterator]=="function"||typeof e[Symbol.iterator]=="function"||typeof e.next=="function"),Kl=e=>e!=null&&typeof e.sink=="function"&&bp(e.source),qv=e=>t=>{let r=e.sink(t);if(r.then!=null){let n=mi({objectMode:!0});return r.then(()=>{n.end()},o=>{n.end(o)}),en(n,async function*(){yield*e.source,n.end()}())}return e.source};function ee(e,...t){if(Kl(e)){let n=e;e=()=>n.source}else if(bp(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Kl(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++)Kl(r[n])&&(r[n]=qv(r[n]));return Vv(...r)}var Pp=R(vp(),1);var _p="[a-fA-F\\d:]",Rn=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${_p})|(?<=${_p})(?=\\s|$))`:"",lr="(?: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}",re="[a-fA-F\\d]{1,4}",Wa=`
22
+ expire = ${o}
23
+ RETURNING points, expire;`,values:[t,e,s,Date.now()]})}_get(t){return this.tableCreated?new Promise((e,n)=>{this._query({name:"rlflx-get",text:`
24
+ SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),e(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[t]}).then(e=>e.rowCount>0):Promise.reject(Error("Table is not created yet"))}};ad.exports=Ol});var ld=I(()=>{});var Ln=I(()=>{});var fd=I((fC,ud)=>{ud.exports=class{constructor(t,e,n=null){this.value=t,this.expiresAt=e,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var dd=I((dC,hd)=>{var Jx=fd(),Ml=_e();hd.exports=class{constructor(){this._storage={}}incrby(t,e,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+e,new Ml(0,i,this._storage[t].value,!1)):this.set(t,e,n)}return this.set(t,e,n)}set(t,e,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new Jx(e,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new Ml(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let e=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new Ml(0,e,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var Fl=I((pC,md)=>{var jx=us(),tv=dd(),pd=_e(),Ul=class extends jx{constructor(t={}){super(t),this._memoryStorage=new tv}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,e,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+e&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let l=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));l<this.execEvenlyMinDelayMs&&(l=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,l,c)}else i(c)})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,e,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-e,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(t,e){let n=e*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,e),Promise.resolve(new pd(0,n===0?-1:n,i))}set(t,e,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),e,n),Promise.resolve(new pd(0,i===0?-1:i,e))}get(t){let e=this._memoryStorage.get(this.getKey(t));return e!==null&&(e.remainingPoints=Math.max(this.points-e.consumedPoints,0)),Promise.resolve(e)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};md.exports=Ul});var bd=I((mC,vd)=>{var yd=ld(),ev=Ln(),rv=us(),wd=Fl(),nv=_e(),Pe="rate_limiter_flexible",Ai=null,gd=function(r,t,e,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},r.send({channel:Pe,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:e,data:i})},Ed=function(r){setTimeout(()=>{this._initiated?process.send(r):typeof this._promises[r.promiseId]<"u"&&Ed.call(this,r)},30)},_i=function(r,t,e,n,i){let s={channel:Pe,keyPrefix:this.keyPrefix,func:r,promiseId:t,data:{key:e,arg:n,opts:i}};this._initiated?process.send(s):Ed.call(this,s)},xd=function(r,t){if(!t||t.channel!==Pe||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let e;switch(t.func){case"consume":e=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":e=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":e=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":e=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":e=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":e=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}e&&e.then(n=>{gd(r,t,"resolve",n)}).catch(n=>{gd(r,t,"reject",n)})},iv=function(r){if(!r||r.channel!==Pe||r.keyPrefix!==this.keyPrefix)return!1;if(this._promises[r.promiseId]){clearTimeout(this._promises[r.promiseId].timeoutId);let t;switch(r.data===null||r.data===!0||r.data===!1?t=r.data:t=new nv(r.data.remainingPoints,r.data.msBeforeNext,r.data.consumedPoints,r.data.isFirstInDuration),r.type){case"resolve":this._promises[r.promiseId].resolve(t);break;case"reject":this._promises[r.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${r.type}'`)}delete this._promises[r.promiseId]}},sv=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Si=function(r,t){let e=process.hrtime(),n=e[0].toString()+e[1].toString();return typeof this._promises[n]<"u"&&(n+=ev.randomBytes(12).toString("base64")),this._promises[n]={resolve:r,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Kl=class{constructor(){if(Ai)return Ai;this._rateLimiters={},yd.setMaxListeners(0),yd.on("message",(t,e)=>{e&&e.channel===Pe&&e.type==="init"?(typeof this._rateLimiters[e.opts.keyPrefix]>"u"&&(this._rateLimiters[e.opts.keyPrefix]=new wd(e.opts)),t.send({channel:Pe,type:"init",keyPrefix:e.opts.keyPrefix})):xd.call(this,t,e)}),Ai=this}},Vl=class{constructor(t){if(Ai)return Ai;this._rateLimiters={},t.launchBus((e,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Pe&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new wd(s.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:Pe,channel:Pe,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Pe,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(l,u)=>{l&&console.log(l,u)})}};xd.call(this,o,s)}})}),Ai=this}},ql=class extends rv{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",e=>{e&&e.channel===Pe&&e.type==="init"&&e.keyPrefix===this.keyPrefix?this._initiated=!0:iv.call(this,e)}),process.send({channel:Pe,type:"init",opts:sv.call(this)}),this._promises={}}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=Si.call(this,i,s);_i.call(this,"consume",o,t,e,n)})}penalty(t,e=1,n={}){return new Promise((i,s)=>{let o=Si.call(this,i,s);_i.call(this,"penalty",o,t,e,n)})}reward(t,e=1,n={}){return new Promise((i,s)=>{let o=Si.call(this,i,s);_i.call(this,"reward",o,t,e,n)})}block(t,e,n={}){return new Promise((i,s)=>{let o=Si.call(this,i,s);_i.call(this,"block",o,t,e,n)})}get(t,e={}){return new Promise((n,i)=>{let s=Si.call(this,n,i);_i.call(this,"get",s,t,e)})}delete(t,e={}){return new Promise((n,i)=>{let s=Si.call(this,n,i);_i.call(this,"delete",s,t,e)})}};vd.exports={RateLimiterClusterMaster:Kl,RateLimiterClusterMasterPM2:Vl,RateLimiterCluster:ql}});var Sd=I((yC,_d)=>{var ov=bi(),av=_e(),$l=class extends ov{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,e,n){let i=new av;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===e,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(t,e,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),l=Math.floor(n/1e3);i?this.client.set(t,e,l,u=>{u?a(u):this.client.set(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let f={consumedPoints:e,msBeforeNext:l>0?l*1e3:-1};o(f)})}):this.client.incr(t,e,(u,f)=>{u||f===!1?this.client.add(t,e,l,(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(t,e,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let p={consumedPoints:e,msBeforeNext:l>0?l*1e3:-1};o(p)})}):this.client.get(`${t}_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(t){return new Promise((e,n)=>{let i=Date.now();this.client.get(t,(s,o)=>{o?this.client.get(`${t}_expire`,(a,c)=>{if(a)n(a);else{let l=c===!1?0:c,u={consumedPoints:o,msBeforeNext:l>=0?Math.max(l-i,0):-1};e(u)}}):e(null)})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,s)=>{i?n(i):s===!1?e(s):this.client.del(`${t}_expire`,o=>{o?n(o):e(s)})})})}};_d.exports=$l});var Id=I((wC,Rd)=>{var Ad=_e();Rd.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new Ad(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Ad(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(t,e=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,e):(this.runActionAnyway&&this.limiter.consume(t,e).catch(()=>{}),n)}block(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,e):(this.runActionAnyway&&this.limiter.block(t,e).catch(()=>{}),n)}penalty(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,e):(this.runActionAnyway&&this.limiter.penalty(t,e).catch(()=>{}),n)}reward(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,e):(this.runActionAnyway&&this.limiter.reward(t,e).catch(()=>{}),n)}get(t){let e;return this.isWhiteListedSomewhere(t)?e=this.resolveWhite():this.isBlackListedSomewhere(t)&&(e=this.resolveBlack()),typeof e>"u"||this.runActionAnyway?this.limiter.get(t):e}delete(t){return this.limiter.delete(t)}}});var Cd=I((xC,Td)=>{var cv=us();Td.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(e=>{if(!(e instanceof cv))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,e=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(t,e).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(l=>{l.rejected===!0&&(c=!0)});for(let l=0;l<o.length;l++)c&&o[l].rejected===!0?a[this._limiters[l].keyPrefix]=o[l].rej:c||(a[this._limiters[l].keyPrefix]=o[l]);c?i(a):n(a)})})}}});var Dd=I((bC,Bd)=>{Bd.exports=class extends Error{constructor(t,e){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,e&&(this.extra=e)}}});var kd=I((SC,Nd)=>{var Ld=Dd(),Pd=4294967295,zl="limiter";Nd.exports=class{constructor(t,e={maxQueueSize:Pd}){this._queueLimiters={KEY_DEFAULT:new $o(t,e)},this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(t=zl){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,e=zl){return this._queueLimiters[e]||(this._queueLimiters[e]=new $o(this._limiterFlexible,{key:e,maxQueueSize:this._maxQueueSize})),this._queueLimiters[e].removeTokens(t)}};var $o=class{constructor(t,e={maxQueueSize:Pd,key:zl}){this._key=e.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let e=this;return new Promise((n,i)=>{if(t>e._limiterFlexible.points){i(new Ld(`Requested tokens ${t} exceeds maximum ${e._limiterFlexible.points} tokens per interval`));return}e._queue.length>0?e._queueRequest.call(e,n,i,t):e._limiterFlexible.consume(e._key,t).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(e._queueRequest.call(e,n,i,t),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),s.msBeforeNext)))})})}_queueRequest(t,e,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:e,tokens:n}):e(new Ld(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let e=t._queue.shift();t._limiterFlexible.consume(t._key,e.tokens).then(n=>{e.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(e.reject(n),t._processFIFO.call(t)):(t._queue.unshift(e),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var Md=I((RC,Od)=>{var Hl=_e();Od.exports=class{constructor(t,e){this._rateLimiter=t,this._burstLimiter=e}_combineRes(t,e){return new Hl(t.remainingPoints,Math.min(t.msBeforeNext,e.msBeforeNext),t.consumedPoints,t.isFirstInDuration)}consume(t,e=1,n={}){return this._rateLimiter.consume(t,e,n).catch(i=>i instanceof Hl?this._burstLimiter.consume(t,e,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Hl?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([e,n])=>this._combineRes(e,n))}get points(){return this._rateLimiter.points}}});var Fd=I((IC,Ud)=>{var lv=ed(),uv=id(),fv=od(),hv=cd(),{RateLimiterClusterMaster:dv,RateLimiterClusterMasterPM2:pv,RateLimiterCluster:mv}=bd(),yv=Fl(),gv=Sd(),wv=Id(),Ev=Cd(),xv=kd(),vv=Md(),bv=_e();Ud.exports={RateLimiterRedis:lv,RateLimiterMongo:uv,RateLimiterMySQL:fv,RateLimiterPostgres:hv,RateLimiterMemory:yv,RateLimiterMemcache:gv,RateLimiterClusterMaster:dv,RateLimiterClusterMasterPM2:pv,RateLimiterCluster:mv,RLWrapperBlackAndWhite:wv,RateLimiterUnion:Ev,RateLimiterQueue:xv,BurstyRateLimiter:vv,RateLimiterRes:bv}});var $d=I((YC,qd)=>{"use strict";function Rv(r){return r>=55296&&r<=56319}function Iv(r){return r>=56320&&r<=57343}qd.exports=function(t,e,n){if(typeof e!="string")throw new Error("Input must be string");for(var i=e.length,s=0,o,a,c=0;c<i;c+=1){if(o=e.charCodeAt(c),a=e[c],Rv(o)&&Iv(e.charCodeAt(c+1))&&(c+=1,a+=e[c]),s+=t(a),s===n)return e.slice(0,c+1);if(s>n)return e.slice(0,c-a.length+1)}return e}});var Hd=I((WC,zd)=>{"use strict";function Tv(r){return r>=55296&&r<=56319}function Cv(r){return r>=56320&&r<=57343}zd.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var e=t.length,n=0,i=null,s=null,o=0;o<e;o++)i=t.charCodeAt(o),Cv(i)?s!=null&&Tv(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 Yd=I((QC,Gd)=>{"use strict";var Bv=$d(),Dv=Hd();Gd.exports=Bv.bind(null,Dv)});var Xd=I((XC,Qd)=>{"use strict";var Lv=Yd(),Pv=/[\/\?<>\\:\*\|"]/g,Nv=/[\x00-\x1f\x80-\x9f]/g,kv=/^\.+$/,Ov=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Mv=/[\. ]+$/;function Wd(r,t){if(typeof r!="string")throw new Error("Input must be string");var e=r.replace(Pv,t).replace(Nv,t).replace(kv,t).replace(Ov,t).replace(Mv,t);return Lv(e,255)}Qd.exports=function(r,t){var e=t&&t.replacement||"",n=Wd(r,e);return e===""?n:Wd(n,"")}});var Jd=I((JC,Zd)=>{"use strict";Zd.exports=Uv;function Uv(r,t){for(var e=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)e[n++]=arguments[i++];return new Promise(function(a,c){e[n]=function(u){if(s)if(s=!1,u)c(u);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{r.apply(t||null,e)}catch(l){s&&(s=!1,c(l))}})}});var rp=I(ep=>{"use strict";var Qo=ep;Qo.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&t.charAt(e)==="=";)++n;return Math.ceil(t.length*3)/4-n};var Ii=new Array(64),tp=new Array(123);for($e=0;$e<64;)tp[Ii[$e]=$e<26?$e+65:$e<52?$e+71:$e<62?$e-4:$e-59|43]=$e++;var $e;Qo.encode=function(t,e,n){for(var i=null,s=[],o=0,a=0,c;e<n;){var l=t[e++];switch(a){case 0:s[o++]=Ii[l>>2],c=(l&3)<<4,a=1;break;case 1:s[o++]=Ii[c|l>>4],c=(l&15)<<2,a=2;break;case 2:s[o++]=Ii[c|l>>6],s[o++]=Ii[l&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=Ii[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 jd="invalid encoding";Qo.decode=function(t,e,n){for(var i=n,s=0,o,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&s>1)break;if((c=tp[c])===void 0)throw Error(jd);switch(s){case 0:o=c,s=1;break;case 1:e[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:e[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:e[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(jd);return n-i};Qo.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var ip=I((t4,np)=>{"use strict";np.exports=Xo;function Xo(){this._listeners={}}Xo.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this};Xo.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===e?n.splice(i,1):++i;return this};Xo.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,n)}return this}});var fp=I((e4,up)=>{"use strict";up.exports=sp(sp);function sp(r){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),n=e[3]===128;function i(c,l,u){t[0]=c,l[u]=e[0],l[u+1]=e[1],l[u+2]=e[2],l[u+3]=e[3]}function s(c,l,u){t[0]=c,l[u]=e[3],l[u+1]=e[2],l[u+2]=e[1],l[u+3]=e[0]}r.writeFloatLE=n?i:s,r.writeFloatBE=n?s:i;function o(c,l){return e[0]=c[l],e[1]=c[l+1],e[2]=c[l+2],e[3]=c[l+3],t[0]}function a(c,l){return e[3]=c[l],e[2]=c[l+1],e[1]=c[l+2],e[0]=c[l+3],t[0]}r.readFloatLE=n?o:a,r.readFloatBE=n?a:o}():function(){function t(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),l=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|l)>>>0,s,o)}}r.writeFloatLE=t.bind(null,op),r.writeFloatBE=t.bind(null,ap);function e(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,l=o&8388607;return c===255?l?NaN:a*(1/0):c===0?a*1401298464324817e-60*l:a*Math.pow(2,c-150)*(l+8388608)}r.readFloatLE=e.bind(null,cp),r.readFloatBE=e.bind(null,lp)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),n=e[7]===128;function i(c,l,u){t[0]=c,l[u]=e[0],l[u+1]=e[1],l[u+2]=e[2],l[u+3]=e[3],l[u+4]=e[4],l[u+5]=e[5],l[u+6]=e[6],l[u+7]=e[7]}function s(c,l,u){t[0]=c,l[u]=e[7],l[u+1]=e[6],l[u+2]=e[5],l[u+3]=e[4],l[u+4]=e[3],l[u+5]=e[2],l[u+6]=e[1],l[u+7]=e[0]}r.writeDoubleLE=n?i:s,r.writeDoubleBE=n?s:i;function o(c,l){return e[0]=c[l],e[1]=c[l+1],e[2]=c[l+2],e[3]=c[l+3],e[4]=c[l+4],e[5]=c[l+5],e[6]=c[l+6],e[7]=c[l+7],t[0]}function a(c,l){return e[7]=c[l],e[6]=c[l+1],e[5]=c[l+2],e[4]=c[l+3],e[3]=c[l+4],e[2]=c[l+5],e[1]=c[l+6],e[0]=c[l+7],t[0]}r.readDoubleLE=n?o:a,r.readDoubleBE=n?a:o}():function(){function t(n,i,s,o,a,c){var l=o<0?1:0;if(l&&(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((l<<31|2146435072)>>>0,a,c+s);else{var u;if(o<22250738585072014e-324)u=o/5e-324,n(u>>>0,a,c+i),n((l<<31|u/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),u=o*Math.pow(2,-f),n(u*4503599627370496>>>0,a,c+i),n((l<<31|f+1023<<20|u*1048576&1048575)>>>0,a,c+s)}}}r.writeDoubleLE=t.bind(null,op,0,4),r.writeDoubleBE=t.bind(null,ap,4,0);function e(n,i,s,o,a){var c=n(o,a+i),l=n(o,a+s),u=(l>>31)*2+1,f=l>>>20&2047,h=4294967296*(l&1048575)+c;return f===2047?h?NaN:u*(1/0):f===0?u*5e-324*h:u*Math.pow(2,f-1075)*(h+4503599627370496)}r.readDoubleLE=e.bind(null,cp,0,4),r.readDoubleBE=e.bind(null,lp,4,0)}(),r}function op(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function ap(r,t,e){t[e]=r>>>24,t[e+1]=r>>>16&255,t[e+2]=r>>>8&255,t[e+3]=r&255}function cp(r,t){return(r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24)>>>0}function lp(r,t){return(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3])>>>0}});var hp=I((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var pp=I(dp=>{"use strict";var Wl=dp;Wl.length=function(t){for(var e=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,e+=4):e+=3;return e};Wl.read=function(t,e,n){var i=n-e;if(i<1)return"";for(var s=null,o=[],a=0,c;e<n;)c=t[e++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|t[e++]&63:c>239&&c<365?(c=((c&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(t[e++]&63)<<6|t[e++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};Wl.write=function(t,e,n){for(var i=n,s,o,a=0;a<t.length;++a)s=t.charCodeAt(a),s<128?e[n++]=s:s<2048?(e[n++]=s>>6|192,e[n++]=s&63|128):(s&64512)===55296&&((o=t.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,e[n++]=s>>18|240,e[n++]=s>>12&63|128,e[n++]=s>>6&63|128,e[n++]=s&63|128):(e[n++]=s>>12|224,e[n++]=s>>6&63|128,e[n++]=s&63|128);return n-i}});var yp=I((n4,mp)=>{"use strict";mp.exports=Fv;function Fv(r,t,e){var n=e||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return r(c);o+c>n&&(s=r(n),o=0);var l=t.call(s,o,o+=c);return o&7&&(o=(o|7)+1),l}}});var wp=I((i4,gp)=>{"use strict";gp.exports=te;var hs=Nn();function te(r,t){this.lo=r>>>0,this.hi=t>>>0}var Pn=te.zero=new te(0,0);Pn.toNumber=function(){return 0};Pn.zzEncode=Pn.zzDecode=function(){return this};Pn.length=function(){return 1};var Kv=te.zeroHash="\0\0\0\0\0\0\0\0";te.fromNumber=function(t){if(t===0)return Pn;var e=t<0;e&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new te(n,i)};te.from=function(t){if(typeof t=="number")return te.fromNumber(t);if(hs.isString(t))if(hs.Long)t=hs.Long.fromString(t);else return te.fromNumber(parseInt(t,10));return t.low||t.high?new te(t.low>>>0,t.high>>>0):Pn};te.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=~this.lo+1>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296};te.prototype.toLong=function(t){return hs.Long?new hs.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var Xr=String.prototype.charCodeAt;te.fromHash=function(t){return t===Kv?Pn:new te((Xr.call(t,0)|Xr.call(t,1)<<8|Xr.call(t,2)<<16|Xr.call(t,3)<<24)>>>0,(Xr.call(t,4)|Xr.call(t,5)<<8|Xr.call(t,6)<<16|Xr.call(t,7)<<24)>>>0)};te.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)};te.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};te.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};te.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}});var Nn=I(Ql=>{"use strict";var M=Ql;M.asPromise=Jd();M.base64=rp();M.EventEmitter=ip();M.float=fp();M.inquire=hp();M.utf8=pp();M.pool=yp();M.LongBits=wp();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||Ql;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};M.isString=function(t){return typeof t=="string"||t instanceof String};M.isObject=function(t){return t&&typeof t=="object"};M.isset=M.isSet=function(t,e){var n=t[e];return n!=null&&t.hasOwnProperty(e)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};M.Buffer=function(){try{var r=M.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(t){return typeof t=="number"?M.Buffer?M._Buffer_allocUnsafe(t):new M.Array(t):M.Buffer?M._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};M.Array=typeof Uint8Array<"u"?Uint8Array:Array;M.Long=M.global.dcodeIO&&M.global.dcodeIO.Long||M.global.Long||M.inquire("long");M.key2Re=/^true|false|0|1$/;M.key32Re=/^-?(?:0|[1-9][0-9]*)$/;M.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;M.longToHash=function(t){return t?M.LongBits.from(t).toHash():M.LongBits.zeroHash};M.longFromHash=function(t,e){var n=M.LongBits.fromHash(t);return M.Long?M.Long.fromBits(n.lo,n.hi,e):n.toNumber(!!e)};function Ep(r,t,e){for(var n=Object.keys(t),i=0;i<n.length;++i)(r[n[i]]===void 0||!e)&&(r[n[i]]=t[n[i]]);return r}M.merge=Ep;M.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function xp(r){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Ep(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}M.newError=xp;M.ProtocolError=xp("ProtocolError");M.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(e[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};M.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var r=M.Buffer;if(!r){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,n){return new r(e,n)},M._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}});var Jl=I((o4,Ap)=>{"use strict";Ap.exports=qt;var sr=Nn(),Zl,_p=sr.LongBits,Vv=sr.utf8;function ze(r,t){return RangeError("index out of range: "+r.pos+" + "+(t||1)+" > "+r.len)}function qt(r){this.buf=r,this.pos=0,this.len=r.length}var vp=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new qt(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new qt(t);throw Error("illegal buffer")},Sp=function(){return sr.Buffer?function(e){return(qt.create=function(i){return sr.Buffer.isBuffer(i)?new Zl(i):vp(i)})(e)}:vp};qt.create=Sp();qt.prototype._slice=sr.Array.prototype.subarray||sr.Array.prototype.slice;qt.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,ze(this,10);return t}}();qt.prototype.int32=function(){return this.uint32()|0};qt.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Xl(){var r=new _p(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw ze(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,r}if(this.len-this.pos>4){for(;t<5;++t)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;t<5;++t){if(this.pos>=this.len)throw ze(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}qt.prototype.bool=function(){return this.uint32()!==0};function Zo(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}qt.prototype.fixed32=function(){if(this.pos+4>this.len)throw ze(this,4);return Zo(this.buf,this.pos+=4)};qt.prototype.sfixed32=function(){if(this.pos+4>this.len)throw ze(this,4);return Zo(this.buf,this.pos+=4)|0};function bp(){if(this.pos+8>this.len)throw ze(this,8);return new _p(Zo(this.buf,this.pos+=4),Zo(this.buf,this.pos+=4))}qt.prototype.float=function(){if(this.pos+4>this.len)throw ze(this,4);var t=sr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};qt.prototype.double=function(){if(this.pos+8>this.len)throw ze(this,4);var t=sr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};qt.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw ze(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)};qt.prototype.string=function(){var t=this.bytes();return Vv.read(t,0,t.length)};qt.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ze(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ze(this);while(this.buf[this.pos++]&128);return this};qt.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};qt._configure=function(r){Zl=r,qt.create=Sp(),Zl._configure();var t=sr.Long?"toLong":"toNumber";sr.merge(qt.prototype,{int64:function(){return Xl.call(this)[t](!1)},uint64:function(){return Xl.call(this)[t](!0)},sint64:function(){return Xl.call(this).zzDecode()[t](!1)},fixed64:function(){return bp.call(this)[t](!0)},sfixed64:function(){return bp.call(this)[t](!1)}})}});var Cp=I((a4,Tp)=>{"use strict";Tp.exports=kn;var Ip=Jl();(kn.prototype=Object.create(Ip.prototype)).constructor=kn;var Rp=Nn();function kn(r){Ip.call(this,r)}kn._configure=function(){Rp.Buffer&&(kn.prototype._slice=Rp.Buffer.prototype.slice)};kn.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};kn._configure()});var su=I((c4,Pp)=>{"use strict";Pp.exports=nt;var Ne=Nn(),jl,Jo=Ne.LongBits,Bp=Ne.base64,Dp=Ne.utf8;function ds(r,t,e){this.fn=r,this.len=t,this.next=void 0,this.val=e}function eu(){}function qv(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function nt(){this.len=0,this.head=new ds(eu,0,0),this.tail=this.head,this.states=null}var Lp=function(){return Ne.Buffer?function(){return(nt.create=function(){return new jl})()}:function(){return new nt}};nt.create=Lp();nt.alloc=function(t){return new Ne.Array(t)};Ne.Array!==Array&&(nt.alloc=Ne.pool(nt.alloc,Ne.Array.prototype.subarray));nt.prototype._push=function(t,e,n){return this.tail=this.tail.next=new ds(t,e,n),this.len+=e,this};function ru(r,t,e){t[e]=r&255}function $v(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}function nu(r,t){this.len=r,this.next=void 0,this.val=t}nu.prototype=Object.create(ds.prototype);nu.prototype.fn=$v;nt.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new nu((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};nt.prototype.int32=function(t){return t<0?this._push(iu,10,Jo.fromNumber(t)):this.uint32(t)};nt.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function iu(r,t,e){for(;r.hi;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}nt.prototype.uint64=function(t){var e=Jo.from(t);return this._push(iu,e.length(),e)};nt.prototype.int64=nt.prototype.uint64;nt.prototype.sint64=function(t){var e=Jo.from(t).zzEncode();return this._push(iu,e.length(),e)};nt.prototype.bool=function(t){return this._push(ru,1,t?1:0)};function tu(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}nt.prototype.fixed32=function(t){return this._push(tu,4,t>>>0)};nt.prototype.sfixed32=nt.prototype.fixed32;nt.prototype.fixed64=function(t){var e=Jo.from(t);return this._push(tu,4,e.lo)._push(tu,4,e.hi)};nt.prototype.sfixed64=nt.prototype.fixed64;nt.prototype.float=function(t){return this._push(Ne.float.writeFloatLE,4,t)};nt.prototype.double=function(t){return this._push(Ne.float.writeDoubleLE,8,t)};var zv=Ne.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var i=0;i<t.length;++i)e[n+i]=t[i]};nt.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(ru,1,0);if(Ne.isString(t)){var n=nt.alloc(e=Bp.length(t));Bp.decode(t,n,0),t=n}return this.uint32(e)._push(zv,e,t)};nt.prototype.string=function(t){var e=Dp.length(t);return e?this.uint32(e)._push(Dp.write,e,t):this._push(ru,1,0)};nt.prototype.fork=function(){return this.states=new qv(this),this.head=this.tail=new ds(eu,0,0),this.len=0,this};nt.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 ds(eu,0,0),this.len=0),this};nt.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this};nt.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e};nt._configure=function(r){jl=r,nt.create=Lp(),jl._configure()}});var Op=I((l4,kp)=>{"use strict";kp.exports=or;var Np=su();(or.prototype=Object.create(Np.prototype)).constructor=or;var Zr=Nn();function or(){Np.call(this)}or._configure=function(){or.alloc=Zr._Buffer_allocUnsafe,or.writeBytesBuffer=Zr.Buffer&&Zr.Buffer.prototype instanceof Uint8Array&&Zr.Buffer.prototype.set.name==="set"?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var i=0;i<t.length;)e[n++]=t[i++]}};or.prototype.bytes=function(t){Zr.isString(t)&&(t=Zr._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(or.writeBytesBuffer,e,t),this};function Hv(r,t,e){r.length<40?Zr.utf8.write(r,t,e):t.utf8Write?t.utf8Write(r,e):t.write(r,e)}or.prototype.string=function(t){var e=Zr.Buffer.byteLength(t);return this.uint32(e),e&&this._push(Hv,e,t),this};or._configure()});var ft=I((I4,Vp)=>{Vp.exports={options:{usePureJavaScript:!1}}});var zp=I((T4,$p)=>{var fu={};$p.exports=fu;var qp={};fu.encode=function(r,t,e){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(e!==void 0&&typeof e!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(r instanceof Uint8Array))n=Qv(r,t);else{var i=0,s=t.length,o=t.charAt(0),a=[0];for(i=0;i<r.length;++i){for(var c=0,l=r[i];c<a.length;++c)l+=a[c]<<8,a[c]=l%s,l=l/s|0;for(;l>0;)a.push(l%s),l=l/s|0}for(i=0;r[i]===0&&i<r.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(e){var u=new RegExp(".{1,"+e+"}","g");n=n.match(u).join(`\r
25
+ `)}return n};fu.decode=function(r,t){if(typeof r!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var e=qp[t];if(!e){e=qp[t]=[];for(var n=0;n<t.length;++n)e[t.charCodeAt(n)]=n}r=r.replace(/\s/g,"");for(var i=t.length,s=t.charAt(0),o=[0],n=0;n<r.length;n++){var a=e[r.charCodeAt(n)];if(a===void 0)return;for(var c=0,l=a;c<o.length;++c)l+=o[c]*i,o[c]=l&255,l>>=8;for(;l>0;)o.push(l&255),l>>=8}for(var u=0;r[u]===s&&u<r.length-1;++u)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function Qv(r,t){var e=0,n=t.length,i=t.charAt(0),s=[0];for(e=0;e<r.length();++e){for(var o=0,a=r.at(e);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(e=0;r.at(e)===0&&e<r.length()-1;++e)c+=i;for(e=s.length-1;e>=0;--e)c+=t[s[e]];return c}});var $t=I((C4,Wp)=>{var Hp=ft(),Gp=zp(),w=Wp.exports=Hp.util=Hp.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===r){c.stopPropagation();var l=t.slice();t.length=0,l.forEach(function(u){u()})}};var o=a,r="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(r,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var e=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(l){l()})}).observe(i,{attributes:!0});var s=w.setImmediate;w.setImmediate=function(c){Date.now()-e>15?(e=Date.now(),s(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(r){return Object.prototype.toString.call(r)==="[object Array]"};w.isArrayBuffer=function(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer};w.isArrayBufferView=function(r){return r&&w.isArrayBuffer(r.buffer)&&r.byteLength!==void 0};function ps(r){if(!(r===8||r===16||r===24||r===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+r)}w.ByteBuffer=hu;function hu(r){if(this.data="",this.read=0,typeof r=="string")this.data=r;else if(w.isArrayBuffer(r)||w.isArrayBufferView(r))if(typeof Buffer<"u"&&r instanceof Buffer)this.data=r.toString("binary");else{var t=new Uint8Array(r);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var e=0;e<t.length;++e)this.putByte(t[e])}}else(r instanceof hu||typeof r=="object"&&typeof r.data=="string"&&typeof r.read=="number")&&(this.data=r.data,this.read=r.read);this._constructedStringLength=0}w.ByteStringBuffer=hu;var Xv=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(r){this._constructedStringLength+=r,this._constructedStringLength>Xv&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(r){return this.putBytes(String.fromCharCode(r))};w.ByteStringBuffer.prototype.fillWithByte=function(r,t){r=String.fromCharCode(r);for(var e=this.data;t>0;)t&1&&(e+=r),t>>>=1,t>0&&(r+=r);return this.data=e,this._optimizeConstructedString(t),this};w.ByteStringBuffer.prototype.putBytes=function(r){return this.data+=r,this._optimizeConstructedString(r.length),this};w.ByteStringBuffer.prototype.putString=function(r){return this.putBytes(w.encodeUtf8(r))};w.ByteStringBuffer.prototype.putInt16=function(r){return this.putBytes(String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt24=function(r){return this.putBytes(String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt32=function(r){return this.putBytes(String.fromCharCode(r>>24&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt16Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>24&255))};w.ByteStringBuffer.prototype.putInt=function(r,t){ps(t);var e="";do t-=8,e+=String.fromCharCode(r>>t&255);while(t>0);return this.putBytes(e)};w.ByteStringBuffer.prototype.putSignedInt=function(r,t){return r<0&&(r+=2<<t-1),this.putInt(r,t)};w.ByteStringBuffer.prototype.putBuffer=function(r){return this.putBytes(r.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var r=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,r};w.ByteStringBuffer.prototype.getInt24=function(){var r=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,r};w.ByteStringBuffer.prototype.getInt32=function(){var r=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,r};w.ByteStringBuffer.prototype.getInt16Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,r};w.ByteStringBuffer.prototype.getInt24Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,r};w.ByteStringBuffer.prototype.getInt32Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,r};w.ByteStringBuffer.prototype.getInt=function(r){ps(r);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),r-=8;while(r>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(r){var t=this.getInt(r),e=2<<r-2;return t>=e&&(t-=e<<1),t};w.ByteStringBuffer.prototype.getBytes=function(r){var t;return r?(r=Math.min(this.length(),r),t=this.data.slice(this.read,this.read+r),this.read+=r):r===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.ByteStringBuffer.prototype.bytes=function(r){return typeof r>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+r)};w.ByteStringBuffer.prototype.at=function(r){return this.data.charCodeAt(this.read+r)};w.ByteStringBuffer.prototype.setAt=function(r,t){return this.data=this.data.substr(0,this.read+r)+String.fromCharCode(t)+this.data.substr(this.read+r+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var r=w.createBuffer(this.data);return r.read=this.read,r};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(r){var t=Math.max(0,this.length()-r);return this.data=this.data.substr(this.read,t),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var r="",t=this.read;t<this.data.length;++t){var e=this.data.charCodeAt(t);e<16&&(r+="0"),r+=e.toString(16)}return r};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Zv(r,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var e=w.isArrayBuffer(r),n=w.isArrayBufferView(r);if(e||n){e?this.data=new DataView(r):this.data=new DataView(r.buffer,r.byteOffset,r.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,r!=null&&this.putBytes(r),"writeOffset"in t&&(this.write=t.writeOffset)}w.DataBuffer=Zv;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(r,t){if(this.length()>=r)return this;t=Math.max(t||this.growSize,r);var e=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(e),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(r){return this.accommodate(1),this.data.setUint8(this.write++,r),this};w.DataBuffer.prototype.fillWithByte=function(r,t){this.accommodate(t);for(var e=0;e<t;++e)this.data.setUint8(r);return this};w.DataBuffer.prototype.putBytes=function(r,t){if(w.isArrayBufferView(r)){var e=new Uint8Array(r.buffer,r.byteOffset,r.byteLength),n=e.byteLength-e.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(e),this.write+=n,this}if(w.isArrayBuffer(r)){var e=new Uint8Array(r);this.accommodate(e.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(e,this.write),this.write+=e.byteLength,this}if(r instanceof w.DataBuffer||typeof r=="object"&&typeof r.read=="number"&&typeof r.write=="number"&&w.isArrayBufferView(r.data)){var e=new Uint8Array(r.data.byteLength,r.read,r.length());this.accommodate(e.byteLength);var i=new Uint8Array(r.data.byteLength,this.write);return i.set(e),this.write+=e.byteLength,this}if(r instanceof w.ByteStringBuffer&&(r=r.data,t="binary"),t=t||"binary",typeof r=="string"){var s;if(t==="hex")return this.accommodate(Math.ceil(r.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(r,s,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(r.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(r,s,this.write),this;if(t==="utf8"&&(r=w.encodeUtf8(r),t="binary"),t==="binary"||t==="raw")return this.accommodate(r.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(t==="utf16")return this.accommodate(r.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+r)};w.DataBuffer.prototype.putBuffer=function(r){return this.putBytes(r),r.clear(),this};w.DataBuffer.prototype.putString=function(r){return this.putBytes(r,"utf16")};w.DataBuffer.prototype.putInt16=function(r){return this.accommodate(2),this.data.setInt16(this.write,r),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(r){return this.accommodate(3),this.data.setInt16(this.write,r>>8&65535),this.data.setInt8(this.write,r>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(r){return this.accommodate(4),this.data.setInt32(this.write,r),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(r){return this.accommodate(2),this.data.setInt16(this.write,r,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(r){return this.accommodate(3),this.data.setInt8(this.write,r>>16&255),this.data.setInt16(this.write,r>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(r){return this.accommodate(4),this.data.setInt32(this.write,r,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(r,t){ps(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,r>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(r,t){return ps(t),this.accommodate(t/8),r<0&&(r+=2<<t-1),this.putInt(r,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var r=this.data.getInt16(this.read);return this.read+=2,r};w.DataBuffer.prototype.getInt24=function(){var r=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,r};w.DataBuffer.prototype.getInt32=function(){var r=this.data.getInt32(this.read);return this.read+=4,r};w.DataBuffer.prototype.getInt16Le=function(){var r=this.data.getInt16(this.read,!0);return this.read+=2,r};w.DataBuffer.prototype.getInt24Le=function(){var r=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,r};w.DataBuffer.prototype.getInt32Le=function(){var r=this.data.getInt32(this.read,!0);return this.read+=4,r};w.DataBuffer.prototype.getInt=function(r){ps(r);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),r-=8;while(r>0);return t};w.DataBuffer.prototype.getSignedInt=function(r){var t=this.getInt(r),e=2<<r-2;return t>=e&&(t-=e<<1),t};w.DataBuffer.prototype.getBytes=function(r){var t;return r?(r=Math.min(this.length(),r),t=this.data.slice(this.read,this.read+r),this.read+=r):r===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.DataBuffer.prototype.bytes=function(r){return typeof r>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+r)};w.DataBuffer.prototype.at=function(r){return this.data.getUint8(this.read+r)};w.DataBuffer.prototype.setAt=function(r,t){return this.data.setUint8(r,t),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var r=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(r.byteLength);t.set(r),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(r){return this.write=Math.max(0,this.length()-r),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var r="",t=this.read;t<this.data.byteLength;++t){var e=this.data.getUint8(t);e<16&&(r+="0"),r+=e.toString(16)}return r};w.DataBuffer.prototype.toString=function(r){var t=new Uint8Array(this.data,this.read,this.length());if(r=r||"utf8",r==="binary"||r==="raw")return w.binary.raw.encode(t);if(r==="hex")return w.binary.hex.encode(t);if(r==="base64")return w.binary.base64.encode(t);if(r==="utf8")return w.text.utf8.decode(t);if(r==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+r)};w.createBuffer=function(r,t){return t=t||"raw",r!==void 0&&t==="utf8"&&(r=w.encodeUtf8(r)),new w.ByteBuffer(r)};w.fillString=function(r,t){for(var e="";t>0;)t&1&&(e+=r),t>>>=1,t>0&&(r+=r);return e};w.xorBytes=function(r,t,e){for(var n="",i="",s="",o=0,a=0;e>0;--e,++o)i=r.charCodeAt(o)^t.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};w.hexToBytes=function(r){var t="",e=0;for(r.length&!0&&(e=1,t+=String.fromCharCode(parseInt(r[0],16)));e<r.length;e+=2)t+=String.fromCharCode(parseInt(r.substr(e,2),16));return t};w.bytesToHex=function(r){return w.createBuffer(r).toHex()};w.int32ToBytes=function(r){return String.fromCharCode(r>>24&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255)};var jr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",tn=[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],Yp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(r,t){for(var e="",n="",i,s,o,a=0;a<r.length;)i=r.charCodeAt(a++),s=r.charCodeAt(a++),o=r.charCodeAt(a++),e+=jr.charAt(i>>2),e+=jr.charAt((i&3)<<4|s>>4),isNaN(s)?e+="==":(e+=jr.charAt((s&15)<<2|o>>6),e+=isNaN(o)?"=":jr.charAt(o&63)),t&&e.length>t&&(n+=e.substr(0,t)+`\r
26
+ `,e=e.substr(t));return n+=e,n};w.decode64=function(r){r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",e,n,i,s,o=0;o<r.length;)e=tn[r.charCodeAt(o++)-43],n=tn[r.charCodeAt(o++)-43],i=tn[r.charCodeAt(o++)-43],s=tn[r.charCodeAt(o++)-43],t+=String.fromCharCode(e<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(t+=String.fromCharCode((i&3)<<6|s)));return t};w.encodeUtf8=function(r){return unescape(encodeURIComponent(r))};w.decodeUtf8=function(r){return decodeURIComponent(escape(r))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Gp.encode,decode:Gp.decode}};w.binary.raw.encode=function(r){return String.fromCharCode.apply(null,r)};w.binary.raw.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(r.length)),e=e||0;for(var i=e,s=0;s<r.length;++s)n[i++]=r.charCodeAt(s);return t?i-e:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(Math.ceil(r.length/2))),e=e||0;var i=0,s=e;for(r.length&1&&(i=1,n[s++]=parseInt(r[0],16));i<r.length;i+=2)n[s++]=parseInt(r.substr(i,2),16);return t?s-e:n};w.binary.base64.encode=function(r,t){for(var e="",n="",i,s,o,a=0;a<r.byteLength;)i=r[a++],s=r[a++],o=r[a++],e+=jr.charAt(i>>2),e+=jr.charAt((i&3)<<4|s>>4),isNaN(s)?e+="==":(e+=jr.charAt((s&15)<<2|o>>6),e+=isNaN(o)?"=":jr.charAt(o&63)),t&&e.length>t&&(n+=e.substr(0,t)+`\r
27
+ `,e=e.substr(t));return n+=e,n};w.binary.base64.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(Math.ceil(r.length/4)*3)),r=r.replace(/[^A-Za-z0-9\+\/\=]/g,""),e=e||0;for(var i,s,o,a,c=0,l=e;c<r.length;)i=tn[r.charCodeAt(c++)-43],s=tn[r.charCodeAt(c++)-43],o=tn[r.charCodeAt(c++)-43],a=tn[r.charCodeAt(c++)-43],n[l++]=i<<2|s>>4,o!==64&&(n[l++]=(s&15)<<4|o>>2,a!==64&&(n[l++]=(o&3)<<6|a));return t?l-e:n.subarray(0,l)};w.binary.base58.encode=function(r,t){return w.binary.baseN.encode(r,Yp,t)};w.binary.base58.decode=function(r,t){return w.binary.baseN.decode(r,Yp,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(r,t,e){r=w.encodeUtf8(r);var n=t;n||(n=new Uint8Array(r.length)),e=e||0;for(var i=e,s=0;s<r.length;++s)n[i++]=r.charCodeAt(s);return t?i-e:n};w.text.utf8.decode=function(r){return w.decodeUtf8(String.fromCharCode.apply(null,r))};w.text.utf16.encode=function(r,t,e){var n=t;n||(n=new Uint8Array(r.length*2));var i=new Uint16Array(n.buffer);e=e||0;for(var s=e,o=e,a=0;a<r.length;++a)i[o++]=r.charCodeAt(a),s+=2;return t?s-e:n};w.text.utf16.decode=function(r){return String.fromCharCode.apply(null,new Uint16Array(r.buffer))};w.deflate=function(r,t,e){if(t=w.decode64(r.deflate(w.encode64(t)).rval),e){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(r,t,e){var n=r.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var du=function(r,t,e){if(!r)throw new Error("WebStorage not available.");var n;if(e===null?n=r.removeItem(t):(e=w.encode64(JSON.stringify(e)),n=r.setItem(t,e)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},pu=function(r,t){if(!r)throw new Error("WebStorage not available.");var e=r.getItem(t);if(r.init)if(e.rval===null){if(e.error){var n=new Error(e.error.message);throw n.id=e.error.id,n.name=e.error.name,n}e=null}else e=e.rval;return e!==null&&(e=JSON.parse(w.decode64(e))),e},Jv=function(r,t,e,n){var i=pu(r,t);i===null&&(i={}),i[e]=n,du(r,t,i)},jv=function(r,t,e){var n=pu(r,t);return n!==null&&(n=e in n?n[e]:null),n},t2=function(r,t,e){var n=pu(r,t);if(n!==null&&e in n){delete n[e];var i=!0;for(var s in n){i=!1;break}i&&(n=null),du(r,t,n)}},e2=function(r,t){du(r,t,null)},ea=function(r,t,e){var n=null;typeof e>"u"&&(e=["web","flash"]);var i,s=!1,o=null;for(var a in e){i=e[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=r.apply(this,t),s=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=r.apply(this,t),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(r,t,e,n,i){ea(Jv,arguments,i)};w.getItem=function(r,t,e,n){return ea(jv,arguments,n)};w.removeItem=function(r,t,e,n){ea(t2,arguments,n)};w.clearItems=function(r,t,e){ea(e2,arguments,e)};w.isEmpty=function(r){for(var t in r)if(r.hasOwnProperty(t))return!1;return!0};w.format=function(r){for(var t=/%./g,e,n,i=0,s=[],o=0;e=t.exec(r);){n=r.substring(o,t.lastIndex-2),n.length>0&&s.push(n),o=t.lastIndex;var a=e[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(r.substring(o)),s.join("")};w.formatNumber=function(r,t,e,n){var i=r,s=isNaN(t=Math.abs(t))?2:t,o=e===void 0?",":e,a=n===void 0?".":n,c=i<0?"-":"",l=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",u=l.length>3?l.length%3:0;return c+(u?l.substr(0,u)+a:"")+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-l).toFixed(s).slice(2):"")};w.formatSize=function(r){return r>=1073741824?r=w.formatNumber(r/1073741824,2,".","")+" GiB":r>=1048576?r=w.formatNumber(r/1048576,2,".","")+" MiB":r>=1024?r=w.formatNumber(r/1024,0)+" KiB":r=w.formatNumber(r,0)+" bytes",r};w.bytesFromIP=function(r){return r.indexOf(".")!==-1?w.bytesFromIPv4(r):r.indexOf(":")!==-1?w.bytesFromIPv6(r):null};w.bytesFromIPv4=function(r){if(r=r.split("."),r.length!==4)return null;for(var t=w.createBuffer(),e=0;e<r.length;++e){var n=parseInt(r[e],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(r){var t=0;r=r.split(":").filter(function(o){return o.length===0&&++t,!0});for(var e=(8-r.length+t)*2,n=w.createBuffer(),i=0;i<8;++i){if(!r[i]||r[i].length===0){n.fillWithByte(0,e),e=0;continue}var s=w.hexToBytes(r[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(r){return r.length===4?w.bytesToIPv4(r):r.length===16?w.bytesToIPv6(r):null};w.bytesToIPv4=function(r){if(r.length!==4)return null;for(var t=[],e=0;e<r.length;++e)t.push(r.charCodeAt(e));return t.join(".")};w.bytesToIPv6=function(r){if(r.length!==16)return null;for(var t=[],e=[],n=0,i=0;i<r.length;i+=2){for(var s=w.bytesToHex(r[i]+r[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=e[e.length-1],a=t.length;!o||a!==o.end+1?e.push({start:a,end:a}):(o.end=a,o.end-o.start>e[n].end-e[n].start&&(n=e.length-1))}t.push(s)}if(e.length>0){var c=e[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};w.estimateCores=function(r,t){if(typeof r=="function"&&(t=r,r={}),r=r||{},"cores"in w&&!r.update)return t(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,t(null,w.cores);if(typeof Worker>"u")return w.cores=1,t(null,w.cores);if(typeof Blob>"u")return w.cores=2,t(null,w.cores);var e=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var l=Math.floor(o.reduce(function(u,f){return u+f},0)/o.length);return w.cores=Math.max(1,l),URL.revokeObjectURL(e),t(null,w.cores)}i(c,function(u,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],l=[],u=0;u<o;++u){var f=new Worker(e);f.addEventListener("message",function(h){if(l.push(h.data),l.length===o){for(var d=0;d<o;++d)c[d].terminate();a(null,l)}}),c.push(f)}for(var u=0;u<o;++u)c[u].postMessage(u)}function s(o,a){for(var c=[],l=0;l<o;++l)for(var u=a[l],f=c[l]=[],h=0;h<o;++h)if(l!==h){var d=a[h];(u.st>d.st&&u.st<d.et||d.st>u.st&&d.st<u.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var ra=I((B4,Qp)=>{var ms=ft();ms.pki=ms.pki||{};var mu=Qp.exports=ms.pki.oids=ms.oids=ms.oids||{};function R(r,t){mu[r]=t,mu[t]=r}function ut(r,t){mu[r]=t}R("1.2.840.113549.1.1.1","rsaEncryption");R("1.2.840.113549.1.1.4","md5WithRSAEncryption");R("1.2.840.113549.1.1.5","sha1WithRSAEncryption");R("1.2.840.113549.1.1.7","RSAES-OAEP");R("1.2.840.113549.1.1.8","mgf1");R("1.2.840.113549.1.1.9","pSpecified");R("1.2.840.113549.1.1.10","RSASSA-PSS");R("1.2.840.113549.1.1.11","sha256WithRSAEncryption");R("1.2.840.113549.1.1.12","sha384WithRSAEncryption");R("1.2.840.113549.1.1.13","sha512WithRSAEncryption");R("1.3.101.112","EdDSA25519");R("1.2.840.10040.4.3","dsa-with-sha1");R("1.3.14.3.2.7","desCBC");R("1.3.14.3.2.26","sha1");R("1.3.14.3.2.29","sha1WithRSASignature");R("2.16.840.1.101.3.4.2.1","sha256");R("2.16.840.1.101.3.4.2.2","sha384");R("2.16.840.1.101.3.4.2.3","sha512");R("2.16.840.1.101.3.4.2.4","sha224");R("2.16.840.1.101.3.4.2.5","sha512-224");R("2.16.840.1.101.3.4.2.6","sha512-256");R("1.2.840.113549.2.2","md2");R("1.2.840.113549.2.5","md5");R("1.2.840.113549.1.7.1","data");R("1.2.840.113549.1.7.2","signedData");R("1.2.840.113549.1.7.3","envelopedData");R("1.2.840.113549.1.7.4","signedAndEnvelopedData");R("1.2.840.113549.1.7.5","digestedData");R("1.2.840.113549.1.7.6","encryptedData");R("1.2.840.113549.1.9.1","emailAddress");R("1.2.840.113549.1.9.2","unstructuredName");R("1.2.840.113549.1.9.3","contentType");R("1.2.840.113549.1.9.4","messageDigest");R("1.2.840.113549.1.9.5","signingTime");R("1.2.840.113549.1.9.6","counterSignature");R("1.2.840.113549.1.9.7","challengePassword");R("1.2.840.113549.1.9.8","unstructuredAddress");R("1.2.840.113549.1.9.14","extensionRequest");R("1.2.840.113549.1.9.20","friendlyName");R("1.2.840.113549.1.9.21","localKeyId");R("1.2.840.113549.1.9.22.1","x509Certificate");R("1.2.840.113549.1.12.10.1.1","keyBag");R("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");R("1.2.840.113549.1.12.10.1.3","certBag");R("1.2.840.113549.1.12.10.1.4","crlBag");R("1.2.840.113549.1.12.10.1.5","secretBag");R("1.2.840.113549.1.12.10.1.6","safeContentsBag");R("1.2.840.113549.1.5.13","pkcs5PBES2");R("1.2.840.113549.1.5.12","pkcs5PBKDF2");R("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");R("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");R("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");R("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");R("1.2.840.113549.2.7","hmacWithSHA1");R("1.2.840.113549.2.8","hmacWithSHA224");R("1.2.840.113549.2.9","hmacWithSHA256");R("1.2.840.113549.2.10","hmacWithSHA384");R("1.2.840.113549.2.11","hmacWithSHA512");R("1.2.840.113549.3.7","des-EDE3-CBC");R("2.16.840.1.101.3.4.1.2","aes128-CBC");R("2.16.840.1.101.3.4.1.22","aes192-CBC");R("2.16.840.1.101.3.4.1.42","aes256-CBC");R("2.5.4.3","commonName");R("2.5.4.4","surname");R("2.5.4.5","serialNumber");R("2.5.4.6","countryName");R("2.5.4.7","localityName");R("2.5.4.8","stateOrProvinceName");R("2.5.4.9","streetAddress");R("2.5.4.10","organizationName");R("2.5.4.11","organizationalUnitName");R("2.5.4.12","title");R("2.5.4.13","description");R("2.5.4.15","businessCategory");R("2.5.4.17","postalCode");R("2.5.4.42","givenName");R("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");R("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");R("2.16.840.1.113730.1.1","nsCertType");R("2.16.840.1.113730.1.13","nsComment");ut("2.5.29.1","authorityKeyIdentifier");ut("2.5.29.2","keyAttributes");ut("2.5.29.3","certificatePolicies");ut("2.5.29.4","keyUsageRestriction");ut("2.5.29.5","policyMapping");ut("2.5.29.6","subtreesConstraint");ut("2.5.29.7","subjectAltName");ut("2.5.29.8","issuerAltName");ut("2.5.29.9","subjectDirectoryAttributes");ut("2.5.29.10","basicConstraints");ut("2.5.29.11","nameConstraints");ut("2.5.29.12","policyConstraints");ut("2.5.29.13","basicConstraints");R("2.5.29.14","subjectKeyIdentifier");R("2.5.29.15","keyUsage");ut("2.5.29.16","privateKeyUsagePeriod");R("2.5.29.17","subjectAltName");R("2.5.29.18","issuerAltName");R("2.5.29.19","basicConstraints");ut("2.5.29.20","cRLNumber");ut("2.5.29.21","cRLReason");ut("2.5.29.22","expirationDate");ut("2.5.29.23","instructionCode");ut("2.5.29.24","invalidityDate");ut("2.5.29.25","cRLDistributionPoints");ut("2.5.29.26","issuingDistributionPoint");ut("2.5.29.27","deltaCRLIndicator");ut("2.5.29.28","issuingDistributionPoint");ut("2.5.29.29","certificateIssuer");ut("2.5.29.30","nameConstraints");R("2.5.29.31","cRLDistributionPoints");R("2.5.29.32","certificatePolicies");ut("2.5.29.33","policyMappings");ut("2.5.29.34","policyConstraints");R("2.5.29.35","authorityKeyIdentifier");ut("2.5.29.36","policyConstraints");R("2.5.29.37","extKeyUsage");ut("2.5.29.46","freshestCRL");ut("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 gs=I((D4,Zp)=>{var St=ft();$t();ra();var L=Zp.exports=St.asn1=St.asn1||{};L.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};L.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};L.create=function(r,t,e,n,i){if(St.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:r,type:t,constructed:e,composed:e||St.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=L.copy(a)),a};L.copy=function(r,t){var e;if(St.util.isArray(r)){e=[];for(var n=0;n<r.length;++n)e.push(L.copy(r[n],t));return e}return typeof r=="string"?r:(e={tagClass:r.tagClass,type:r.type,constructed:r.constructed,composed:r.composed,value:L.copy(r.value,t)},t&&!t.excludeBitStringContents&&(e.bitStringContents=r.bitStringContents),e)};L.equals=function(r,t,e){if(St.util.isArray(r)){if(!St.util.isArray(t)||r.length!==t.length)return!1;for(var n=0;n<r.length;++n)if(!L.equals(r[n],t[n]))return!1;return!0}if(typeof r!=typeof t)return!1;if(typeof r=="string")return r===t;var i=r.tagClass===t.tagClass&&r.type===t.type&&r.constructed===t.constructed&&r.composed===t.composed&&L.equals(r.value,t.value);return e&&e.includeBitStringContents&&(i=i&&r.bitStringContents===t.bitStringContents),i};L.getBerValueLength=function(r){var t=r.getByte();if(t!==128){var e,n=t&128;return n?e=r.getInt((t&127)<<3):e=t,e}};function ys(r,t,e){if(e>t){var n=new Error("Too few bytes to parse DER.");throw n.available=r.length(),n.remaining=t,n.requested=e,n}}var r2=function(r,t){var e=r.getByte();if(t--,e!==128){var n,i=e&128;if(!i)n=e;else{var s=e&127;ys(r,t,s),n=r.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};L.fromDer=function(r,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof r=="string"&&(r=St.util.createBuffer(r));var e=r.length(),n=na(r,r.length(),0,t);if(t.parseAllBytes&&r.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=e,i.remaining=r.length(),i}return n};function na(r,t,e,n){var i;ys(r,t,2);var s=r.getByte();t--;var o=s&192,a=s&31;i=r.length();var c=r2(r,t);if(t-=i-r.length(),c!==void 0&&c>t){if(n.strict){var l=new Error("Too few bytes to read ASN.1 value.");throw l.available=r.length(),l.remaining=t,l.requested=c,l}c=t}var u,f,h=(s&32)===32;if(h)if(u=[],c===void 0)for(;;){if(ys(r,t,2),r.bytes(2)===String.fromCharCode(0,0)){r.getBytes(2),t-=2;break}i=r.length(),u.push(na(r,t,e+1,n)),t-=i-r.length()}else for(;c>0;)i=r.length(),u.push(na(r,c,e+1,n)),t-=i-r.length(),c-=i-r.length();if(u===void 0&&o===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&(f=r.bytes(c)),u===void 0&&n.decodeBitStrings&&o===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&c>1){var d=r.read,p=t,m=0;if(a===L.Type.BITSTRING&&(ys(r,t,1),m=r.getByte(),t--),m===0)try{i=r.length();var y={strict:!0,decodeBitStrings:!0},g=na(r,t,e+1,y),E=i-r.length();t-=E,a==L.Type.BITSTRING&&E++;var b=g.tagClass;E===c&&(b===L.Class.UNIVERSAL||b===L.Class.CONTEXT_SPECIFIC)&&(u=[g])}catch{}u===void 0&&(r.read=d,t=p)}if(u===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===L.Type.BMPSTRING)for(u="";c>0;c-=2)ys(r,t,2),u+=String.fromCharCode(r.getInt16()),t-=2;else u=r.getBytes(c),t-=c}var O=f===void 0?null:{bitStringContents:f};return L.create(o,a,h,u,O)}L.toDer=function(r){var t=St.util.createBuffer(),e=r.tagClass|r.type,n=St.util.createBuffer(),i=!1;if("bitStringContents"in r&&(i=!0,r.original&&(i=L.equals(r,r.original))),i)n.putBytes(r.bitStringContents);else if(r.composed){r.constructed?e|=32:n.putByte(0);for(var s=0;s<r.value.length;++s)r.value[s]!==void 0&&n.putBuffer(L.toDer(r.value[s]))}else if(r.type===L.Type.BMPSTRING)for(var s=0;s<r.value.length;++s)n.putInt16(r.value.charCodeAt(s));else r.type===L.Type.INTEGER&&r.value.length>1&&(r.value.charCodeAt(0)===0&&!(r.value.charCodeAt(1)&128)||r.value.charCodeAt(0)===255&&(r.value.charCodeAt(1)&128)===128)?n.putBytes(r.value.substr(1)):n.putBytes(r.value);if(t.putByte(e),n.length()<=127)t.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);t.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)t.putByte(a.charCodeAt(s))}return t.putBuffer(n),t};L.oidToDer=function(r){var t=r.split("."),e=St.util.createBuffer();e.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,s,o,a=2;a<t.length;++a){n=!0,i=[],s=parseInt(t[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)e.putByte(i[c])}return e};L.derToOid=function(r){var t;typeof r=="string"&&(r=St.util.createBuffer(r));var e=r.getByte();t=Math.floor(e/40)+"."+e%40;for(var n=0;r.length()>0;)e=r.getByte(),n=n<<7,e&128?n+=e&127:(t+="."+(n+e),n=0);return t};L.utcTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,2),10);e=e>=50?1900+e:2e3+e;var n=parseInt(r.substr(2,2),10)-1,i=parseInt(r.substr(4,2),10),s=parseInt(r.substr(6,2),10),o=parseInt(r.substr(8,2),10),a=0;if(r.length>11){var c=r.charAt(10),l=10;c!=="+"&&c!=="-"&&(a=parseInt(r.substr(10,2),10),l+=2)}if(t.setUTCFullYear(e,n,i),t.setUTCHours(s,o,a,0),l&&(c=r.charAt(l),c==="+"||c==="-")){var u=parseInt(r.substr(l+1,2),10),f=parseInt(r.substr(l+4,2),10),h=u*60+f;h*=6e4,c==="+"?t.setTime(+t-h):t.setTime(+t+h)}return t};L.generalizedTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,4),10),n=parseInt(r.substr(4,2),10)-1,i=parseInt(r.substr(6,2),10),s=parseInt(r.substr(8,2),10),o=parseInt(r.substr(10,2),10),a=parseInt(r.substr(12,2),10),c=0,l=0,u=!1;r.charAt(r.length-1)==="Z"&&(u=!0);var f=r.length-5,h=r.charAt(f);if(h==="+"||h==="-"){var d=parseInt(r.substr(f+1,2),10),p=parseInt(r.substr(f+4,2),10);l=d*60+p,l*=6e4,h==="+"&&(l*=-1),u=!0}return r.charAt(14)==="."&&(c=parseFloat(r.substr(14),10)*1e3),u?(t.setUTCFullYear(e,n,i),t.setUTCHours(s,o,a,c),t.setTime(+t+l)):(t.setFullYear(e,n,i),t.setHours(s,o,a,c)),t};L.dateToUtcTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push((""+r.getUTCFullYear()).substr(2)),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};L.dateToGeneralizedTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push(""+r.getUTCFullYear()),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};L.integerToDer=function(r){var t=St.util.createBuffer();if(r>=-128&&r<128)return t.putSignedInt(r,8);if(r>=-32768&&r<32768)return t.putSignedInt(r,16);if(r>=-8388608&&r<8388608)return t.putSignedInt(r,24);if(r>=-2147483648&&r<2147483648)return t.putSignedInt(r,32);var e=new Error("Integer too large; max is 32-bits.");throw e.integer=r,e};L.derToInteger=function(r){typeof r=="string"&&(r=St.util.createBuffer(r));var t=r.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return r.getSignedInt(t)};L.validate=function(r,t,e,n){var i=!1;if((r.tagClass===t.tagClass||typeof t.tagClass>"u")&&(r.type===t.type||typeof t.type>"u"))if(r.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&St.util.isArray(t.value))for(var s=0,o=0;i&&o<t.value.length;++o)i=t.value[o].optional||!1,r.value[s]&&(i=L.validate(r.value[s],t.value[o],e,n),i?++s:t.value[o].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+r.value.length+'"');if(i&&e&&(t.capture&&(e[t.capture]=r.value),t.captureAsn1&&(e[t.captureAsn1]=r),t.captureBitStringContents&&"bitStringContents"in r&&(e[t.captureBitStringContents]=r.bitStringContents),t.captureBitStringValue&&"bitStringContents"in r)){var a;if(r.bitStringContents.length<2)e[t.captureBitStringValue]="";else{var c=r.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");e[t.captureBitStringValue]=r.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+r.constructed+'"');else n&&(r.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+r.tagClass+'"'),r.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+r.type+'"'));return i};var Xp=/[^\\u0000-\\u00ff]/;L.prettyPrint=function(r,t,e){var n="";t=t||0,e=e||2,t>0&&(n+=`
28
+ `);for(var i="",s=0;s<t*e;++s)i+=" ";switch(n+=i+"Tag: ",r.tagClass){case L.Class.UNIVERSAL:n+="Universal:";break;case L.Class.APPLICATION:n+="Application:";break;case L.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case L.Class.PRIVATE:n+="Private:";break}if(r.tagClass===L.Class.UNIVERSAL)switch(n+=r.type,r.type){case L.Type.NONE:n+=" (None)";break;case L.Type.BOOLEAN:n+=" (Boolean)";break;case L.Type.INTEGER:n+=" (Integer)";break;case L.Type.BITSTRING:n+=" (Bit string)";break;case L.Type.OCTETSTRING:n+=" (Octet string)";break;case L.Type.NULL:n+=" (Null)";break;case L.Type.OID:n+=" (Object Identifier)";break;case L.Type.ODESC:n+=" (Object Descriptor)";break;case L.Type.EXTERNAL:n+=" (External or Instance of)";break;case L.Type.REAL:n+=" (Real)";break;case L.Type.ENUMERATED:n+=" (Enumerated)";break;case L.Type.EMBEDDED:n+=" (Embedded PDV)";break;case L.Type.UTF8:n+=" (UTF8)";break;case L.Type.ROID:n+=" (Relative Object Identifier)";break;case L.Type.SEQUENCE:n+=" (Sequence)";break;case L.Type.SET:n+=" (Set)";break;case L.Type.PRINTABLESTRING:n+=" (Printable String)";break;case L.Type.IA5String:n+=" (IA5String (ASCII))";break;case L.Type.UTCTIME:n+=" (UTC time)";break;case L.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case L.Type.BMPSTRING:n+=" (BMP String)";break}else n+=r.type;if(n+=`
29
+ `,n+=i+"Constructed: "+r.constructed+`
30
+ `,r.composed){for(var o=0,a="",s=0;s<r.value.length;++s)r.value[s]!==void 0&&(o+=1,a+=L.prettyPrint(r.value[s],t+1,e),s+1<r.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",r.type===L.Type.OID){var c=L.derToOid(r.value);n+=c,St.pki&&St.pki.oids&&c in St.pki.oids&&(n+=" ("+St.pki.oids[c]+") ")}if(r.type===L.Type.INTEGER)try{n+=L.derToInteger(r.value)}catch{n+="0x"+St.util.bytesToHex(r.value)}else if(r.type===L.Type.BITSTRING){if(r.value.length>1?n+="0x"+St.util.bytesToHex(r.value.slice(1)):n+="(none)",r.value.length>0){var l=r.value.charCodeAt(0);l==1?n+=" (1 unused bit shown)":l>1&&(n+=" ("+l+" unused bits shown)")}}else if(r.type===L.Type.OCTETSTRING)Xp.test(r.value)||(n+="("+r.value+") "),n+="0x"+St.util.bytesToHex(r.value);else if(r.type===L.Type.UTF8)try{n+=St.util.decodeUtf8(r.value)}catch(u){if(u.message==="URI malformed")n+="0x"+St.util.bytesToHex(r.value)+" (malformed UTF8)";else throw u}else r.type===L.Type.PRINTABLESTRING||r.type===L.Type.IA5String?n+=r.value:Xp.test(r.value)?n+="0x"+St.util.bytesToHex(r.value):r.value.length===0?n+="[null]":n+=r.value}return n}});var gu=I((L4,Jp)=>{var ee=ft();$t();Jp.exports=ee.cipher=ee.cipher||{};ee.cipher.algorithms=ee.cipher.algorithms||{};ee.cipher.createCipher=function(r,t){var e=r;if(typeof e=="string"&&(e=ee.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new ee.cipher.BlockCipher({algorithm:e,key:t,decrypt:!1})};ee.cipher.createDecipher=function(r,t){var e=r;if(typeof e=="string"&&(e=ee.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new ee.cipher.BlockCipher({algorithm:e,key:t,decrypt:!0})};ee.cipher.registerAlgorithm=function(r,t){r=r.toUpperCase(),ee.cipher.algorithms[r]=t};ee.cipher.getAlgorithm=function(r){return r=r.toUpperCase(),r in ee.cipher.algorithms?ee.cipher.algorithms[r]:null};var yu=ee.cipher.BlockCipher=function(r){this.algorithm=r.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=r.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=r.decrypt,this.algorithm.initialize(r)};yu.prototype.start=function(r){r=r||{};var t={};for(var e in r)t[e]=r[e];t.decrypt=this._decrypt,this._finish=!1,this._input=ee.util.createBuffer(),this.output=r.output||ee.util.createBuffer(),this.mode.start(t)};yu.prototype.update=function(r){for(r&&this._input.putBuffer(r);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};yu.prototype.finish=function(r){r&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(e){return r(this.blockSize,e,!1)},this.mode.unpad=function(e){return r(this.blockSize,e,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Eu=I((P4,jp)=>{var re=ft();$t();re.cipher=re.cipher||{};var Q=jp.exports=re.cipher.modes=re.cipher.modes||{};Q.ecb=function(r){r=r||{},this.name="ECB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.ecb.prototype.start=function(r){};Q.ecb.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Q.ecb.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Q.ecb.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};Q.ecb.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};Q.cbc=function(r){r=r||{},this.name="CBC",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.cbc.prototype.start=function(r){if(r.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in r)this._iv=ia(r.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Q.cbc.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^r.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};Q.cbc.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Q.cbc.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};Q.cbc.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};Q.cfb=function(r){r=r||{},this.name="CFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=re.util.createBuffer(),this._partialBytes=0};Q.cfb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=ia(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.cfb.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=r.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=r.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.cfb.prototype.decrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=r.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=r.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb=function(r){r=r||{},this.name="OFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=re.util.createBuffer(),this._partialBytes=0};Q.ofb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=ia(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ofb.prototype.encrypt=function(r,t,e){var n=r.length();if(r.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(r.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb.prototype.decrypt=Q.ofb.prototype.encrypt;Q.ctr=function(r){r=r||{},this.name="CTR",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=re.util.createBuffer(),this._partialBytes=0};Q.ctr.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=ia(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ctr.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(r.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s>0&&(r.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}sa(this._inBlock)};Q.ctr.prototype.decrypt=Q.ctr.prototype.encrypt;Q.gcm=function(r){r=r||{},this.name="GCM",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=re.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Q.gcm.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");var t=re.util.createBuffer(r.iv);this._cipherLength=0;var e;if("additionalData"in r?e=re.util.createBuffer(r.additionalData):e=re.util.createBuffer(),"tagLength"in r?this._tagLength=r.tagLength:this._tagLength=128,this._tag=null,r.decrypt&&(this._tag=re.util.createBuffer(r.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(wu(n*8)))}this._inBlock=this._j0.slice(0),sa(this._inBlock),this._partialBytes=0,e=re.util.createBuffer(e),this._aDataLength=wu(e.length()*8);var i=e.length()%this.blockSize;for(i&&e.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];e.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()])};Q.gcm.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=r.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s<=0||e){if(e){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return r.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),sa(this._inBlock)};Q.gcm.prototype.decrypt=function(r,t,e){var n=r.length();if(n<this.blockSize&&!(e&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),sa(this._inBlock),this._hashBlock[0]=r.getInt32(),this._hashBlock[1]=r.getInt32(),this._hashBlock[2]=r.getInt32(),this._hashBlock[3]=r.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Q.gcm.prototype.afterFinish=function(r,t){var e=!0;t.decrypt&&t.overflow&&r.truncate(this.blockSize-t.overflow),this.tag=re.util.createBuffer();var n=this._aDataLength.concat(wu(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(e=!1),e};Q.gcm.prototype.multiply=function(r,t){for(var e=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var s=r[i/32|0]&1<<31-i%32;s&&(e[0]^=n[0],e[1]^=n[1],e[2]^=n[2],e[3]^=n[3]),this.pow(n,n)}return e};Q.gcm.prototype.pow=function(r,t){for(var e=r[3]&1,n=3;n>0;--n)t[n]=r[n]>>>1|(r[n-1]&1)<<31;t[0]=r[0]>>>1,e&&(t[0]^=this._R)};Q.gcm.prototype.tableMultiply=function(r){for(var t=[0,0,0,0],e=0;e<32;++e){var n=e/8|0,i=r[n]>>>(7-e%8)*4&15,s=this._m[e][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t};Q.gcm.prototype.ghash=function(r,t,e){return t[0]^=e[0],t[1]^=e[1],t[2]^=e[2],t[3]^=e[3],this.tableMultiply(t)};Q.gcm.prototype.generateHashTable=function(r,t){for(var e=8/t,n=4*e,i=16*e,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,l=(n-1-o%n)*t;a[c]=1<<t-1<<l,s[o]=this.generateSubHashTable(this.multiply(a,r),t)}return s};Q.gcm.prototype.generateSubHashTable=function(r,t){var e=1<<t,n=e>>>1,i=new Array(e);i[n]=r.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<e;++s){var l=i[s^n];i[s]=[r[0]^l[0],r[1]^l[1],r[2]^l[2],r[3]^l[3]]}return i};function ia(r,t){if(typeof r=="string"&&(r=re.util.createBuffer(r)),re.util.isArray(r)&&r.length>4){var e=r;r=re.util.createBuffer();for(var n=0;n<e.length;++n)r.putByte(e[n])}if(r.length()<t)throw new Error("Invalid IV length; got "+r.length()+" bytes and expected "+t+" bytes.");if(!re.util.isArray(r)){for(var i=[],s=t/4,n=0;n<s;++n)i.push(r.getInt32());r=i}return r}function sa(r){r[r.length-1]=r[r.length-1]+1&4294967295}function wu(r){return[r/4294967296|0,r&4294967295]}});var aa=I((N4,nm)=>{var bt=ft();gu();Eu();$t();nm.exports=bt.aes=bt.aes||{};bt.aes.startEncrypting=function(r,t,e,n){var i=oa({key:r,output:e,decrypt:!1,mode:n});return i.start(t),i};bt.aes.createEncryptionCipher=function(r,t){return oa({key:r,output:null,decrypt:!1,mode:t})};bt.aes.startDecrypting=function(r,t,e,n){var i=oa({key:r,output:e,decrypt:!0,mode:n});return i.start(t),i};bt.aes.createDecryptionCipher=function(r,t){return oa({key:r,output:null,decrypt:!0,mode:t})};bt.aes.Algorithm=function(r,t){bu||em();var e=this;e.name=r,e.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return vu(e._w,n,i,!1)},decrypt:function(n,i){return vu(e._w,n,i,!0)}}}),e._init=!1};bt.aes.Algorithm.prototype.initialize=function(r){if(!this._init){var t=r.key,e;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=bt.util.createBuffer(t);else if(bt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){e=t,t=bt.util.createBuffer();for(var n=0;n<e.length;++n)t.putByte(e[n])}if(!bt.util.isArray(t)){e=t,t=[];var i=e.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(e.getInt32())}}if(!bt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=rm(t,r.decrypt&&!o),this._init=!0}};bt.aes._expandKey=function(r,t){return bu||em(),rm(r,t)};bt.aes._updateBlock=vu;Bi("AES-ECB",bt.cipher.modes.ecb);Bi("AES-CBC",bt.cipher.modes.cbc);Bi("AES-CFB",bt.cipher.modes.cfb);Bi("AES-OFB",bt.cipher.modes.ofb);Bi("AES-CTR",bt.cipher.modes.ctr);Bi("AES-GCM",bt.cipher.modes.gcm);function Bi(r,t){var e=function(){return new bt.aes.Algorithm(r,t)};bt.cipher.registerAlgorithm(r,e)}var bu=!1,Ci=4,ue,xu,tm,On,He;function em(){bu=!0,tm=[0,1,2,4,8,16,32,64,128,27,54];for(var r=new Array(256),t=0;t<128;++t)r[t]=t<<1,r[t+128]=t+128<<1^283;ue=new Array(256),xu=new Array(256),On=new Array(4),He=new Array(4);for(var t=0;t<4;++t)On[t]=new Array(256),He[t]=new Array(256);for(var e=0,n=0,i,s,o,a,c,l,u,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ue[e]=a,xu[a]=e,c=r[a],i=r[e],s=r[i],o=r[s],l=c<<24^a<<16^a<<8^(a^c),u=(i^s^o)<<24^(e^o)<<16^(e^s^o)<<8^(e^i^o);for(var f=0;f<4;++f)On[f][e]=l,He[f][a]=u,l=l<<24|l>>>8,u=u<<24|u>>>8;e===0?e=n=1:(e=i^r[r[r[i^o]]],n^=r[r[n]])}}function rm(r,t){for(var e=r.slice(0),n,i=1,s=e.length,o=s+6+1,a=Ci*o,c=s;c<a;++c)n=e[c-1],c%s===0?(n=ue[n>>>16&255]<<24^ue[n>>>8&255]<<16^ue[n&255]<<8^ue[n>>>24]^tm[i]<<24,i++):s>6&&c%s===4&&(n=ue[n>>>24]<<24^ue[n>>>16&255]<<16^ue[n>>>8&255]<<8^ue[n&255]),e[c]=e[c-s]^n;if(t){var l,u=He[0],f=He[1],h=He[2],d=He[3],p=e.slice(0);a=e.length;for(var c=0,m=a-Ci;c<a;c+=Ci,m-=Ci)if(c===0||c===a-Ci)p[c]=e[m],p[c+1]=e[m+3],p[c+2]=e[m+2],p[c+3]=e[m+1];else for(var y=0;y<Ci;++y)l=e[m+y],p[c+(3&-y)]=u[ue[l>>>24]]^f[ue[l>>>16&255]]^h[ue[l>>>8&255]]^d[ue[l&255]];e=p}return e}function vu(r,t,e,n){var i=r.length/4-1,s,o,a,c,l;n?(s=He[0],o=He[1],a=He[2],c=He[3],l=xu):(s=On[0],o=On[1],a=On[2],c=On[3],l=ue);var u,f,h,d,p,m,y;u=t[0]^r[0],f=t[n?3:1]^r[1],h=t[2]^r[2],d=t[n?1:3]^r[3];for(var g=3,E=1;E<i;++E)p=s[u>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[d&255]^r[++g],m=s[f>>>24]^o[h>>>16&255]^a[d>>>8&255]^c[u&255]^r[++g],y=s[h>>>24]^o[d>>>16&255]^a[u>>>8&255]^c[f&255]^r[++g],d=s[d>>>24]^o[u>>>16&255]^a[f>>>8&255]^c[h&255]^r[++g],u=p,f=m,h=y;e[0]=l[u>>>24]<<24^l[f>>>16&255]<<16^l[h>>>8&255]<<8^l[d&255]^r[++g],e[n?3:1]=l[f>>>24]<<24^l[h>>>16&255]<<16^l[d>>>8&255]<<8^l[u&255]^r[++g],e[2]=l[h>>>24]<<24^l[d>>>16&255]<<16^l[u>>>8&255]<<8^l[f&255]^r[++g],e[n?1:3]=l[d>>>24]<<24^l[u>>>16&255]<<16^l[f>>>8&255]<<8^l[h&255]^r[++g]}function oa(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="AES-"+t,n;r.decrypt?n=bt.cipher.createDecipher(e,r.key):n=bt.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof bt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var om=I((k4,sm)=>{var Bt=ft();gu();Eu();$t();sm.exports=Bt.des=Bt.des||{};Bt.des.startEncrypting=function(r,t,e,n){var i=ca({key:r,output:e,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Bt.des.createEncryptionCipher=function(r,t){return ca({key:r,output:null,decrypt:!1,mode:t})};Bt.des.startDecrypting=function(r,t,e,n){var i=ca({key:r,output:e,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Bt.des.createDecryptionCipher=function(r,t){return ca({key:r,output:null,decrypt:!0,mode:t})};Bt.des.Algorithm=function(r,t){var e=this;e.name=r,e.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return im(e._keys,n,i,!1)},decrypt:function(n,i){return im(e._keys,n,i,!0)}}}),e._init=!1};Bt.des.Algorithm.prototype.initialize=function(r){if(!this._init){var t=Bt.util.createBuffer(r.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=f2(t),this._init=!0}};lr("DES-ECB",Bt.cipher.modes.ecb);lr("DES-CBC",Bt.cipher.modes.cbc);lr("DES-CFB",Bt.cipher.modes.cfb);lr("DES-OFB",Bt.cipher.modes.ofb);lr("DES-CTR",Bt.cipher.modes.ctr);lr("3DES-ECB",Bt.cipher.modes.ecb);lr("3DES-CBC",Bt.cipher.modes.cbc);lr("3DES-CFB",Bt.cipher.modes.cfb);lr("3DES-OFB",Bt.cipher.modes.ofb);lr("3DES-CTR",Bt.cipher.modes.ctr);function lr(r,t){var e=function(){return new Bt.des.Algorithm(r,t)};Bt.cipher.registerAlgorithm(r,e)}var n2=[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],i2=[-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],s2=[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],o2=[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],a2=[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],c2=[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],l2=[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],u2=[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 f2(r){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],e=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[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=r.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],E=0,b,O=0;O<m;O++){var B=r.getInt32(),D=r.getInt32();b=(B>>>4^D)&252645135,D^=b,B^=b<<4,b=(D>>>-16^B)&65535,B^=b,D^=b<<-16,b=(B>>>2^D)&858993459,D^=b,B^=b<<2,b=(D>>>-16^B)&65535,B^=b,D^=b<<-16,b=(B>>>1^D)&1431655765,D^=b,B^=b<<1,b=(D>>>8^B)&16711935,B^=b,D^=b<<8,b=(B>>>1^D)&1431655765,D^=b,B^=b<<1,b=B<<8|D>>>20&240,B=D<<24|D<<8&16711680|D>>>8&65280|D>>>24&240,D=b;for(var X=0;X<g.length;++X){g[X]?(B=B<<2|B>>>26,D=D<<2|D>>>26):(B=B<<1|B>>>27,D=D<<1|D>>>27),B&=-15,D&=-15;var J=t[B>>>28]|e[B>>>24&15]|n[B>>>20&15]|i[B>>>16&15]|s[B>>>12&15]|o[B>>>8&15]|a[B>>>4&15],Zt=c[D>>>28]|l[D>>>24&15]|u[D>>>20&15]|f[D>>>16&15]|h[D>>>12&15]|d[D>>>8&15]|p[D>>>4&15];b=(Zt>>>16^J)&65535,y[E++]=J^b,y[E++]=Zt^b<<16}}return y}function im(r,t,e,n){var i=r.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=t[0],c=t[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var l=0;l<i;l+=3){for(var u=s[l+1],f=s[l+2],h=s[l];h!=u;h+=f){var d=c^r[h],p=(c>>>4|c<<28)^r[h+1];o=a,a=c,c=o^(i2[d>>>24&63]|o2[d>>>16&63]|c2[d>>>8&63]|u2[d&63]|n2[p>>>24&63]|s2[p>>>16&63]|a2[p>>>8&63]|l2[p&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,e[0]=a,e[1]=c}function ca(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="DES-"+t,n;r.decrypt?n=Bt.cipher.createDecipher(e,r.key):n=Bt.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof Bt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Mn=I((O4,am)=>{var la=ft();am.exports=la.md=la.md||{};la.md.algorithms=la.md.algorithms||{}});var lm=I((M4,cm)=>{var Lr=ft();Mn();$t();var h2=cm.exports=Lr.hmac=Lr.hmac||{};h2.create=function(){var r=null,t=null,e=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in Lr.md.algorithms)t=Lr.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else t=s;if(o===null)o=r;else{if(typeof o=="string")o=Lr.util.createBuffer(o);else if(Lr.util.isArray(o)){var a=o;o=Lr.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var l=o.length();l>t.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),e=Lr.util.createBuffer(),n=Lr.util.createBuffer(),l=o.length();for(var c=0;c<l;++c){var a=o.at(c);e.putByte(54^a),n.putByte(92^a)}if(l<t.blockLength)for(var a=t.blockLength-l,c=0;c<a;++c)e.putByte(54),n.putByte(92);r=o,e=e.bytes(),n=n.bytes()}t.start(),t.update(e)},i.update=function(s){t.update(s)},i.getMac=function(){var s=t.digest().bytes();return t.start(),t.update(n),t.update(s),t.digest()},i.digest=i.getMac,i}});var _u=I((U4,um)=>{var fe=ft();lm();Mn();$t();var d2=fe.pkcs5=fe.pkcs5||{},Pr;fe.util.isNodejs&&!fe.options.usePureJavaScript&&(Pr=Ln());um.exports=fe.pbkdf2=d2.pbkdf2=function(r,t,e,n,i,s){if(typeof i=="function"&&(s=i,i=null),fe.util.isNodejs&&!fe.options.usePureJavaScript&&Pr.pbkdf2&&(i===null||typeof i!="object")&&(Pr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),r=Buffer.from(r,"binary"),t=Buffer.from(t,"binary"),s?Pr.pbkdf2Sync.length===4?Pr.pbkdf2(r,t,e,n,function(b,O){if(b)return s(b);s(null,O.toString("binary"))}):Pr.pbkdf2(r,t,e,n,i,function(b,O){if(b)return s(b);s(null,O.toString("binary"))}):Pr.pbkdf2Sync.length===4?Pr.pbkdf2Sync(r,t,e,n).toString("binary"):Pr.pbkdf2Sync(r,t,e,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in fe.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=fe.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),l=n-(c-1)*o,u=fe.hmac.create();u.start(i,r);var f="",h,d,p;if(!s){for(var m=1;m<=c;++m){u.start(null,null),u.update(t),u.update(fe.util.int32ToBytes(m)),h=p=u.digest().getBytes();for(var y=2;y<=e;++y)u.start(null,null),u.update(p),d=u.digest().getBytes(),h=fe.util.xorBytes(h,d,o),p=d;f+=m<c?h:h.substr(0,l)}return f}var m=1,y;function g(){if(m>c)return s(null,f);u.start(null,null),u.update(t),u.update(fe.util.int32ToBytes(m)),h=p=u.digest().getBytes(),y=2,E()}function E(){if(y<=e)return u.start(null,null),u.update(p),d=u.digest().getBytes(),h=fe.util.xorBytes(h,d,o),p=d,++y,fe.util.setImmediate(E);f+=m<c?h:h.substr(0,l),++m,g()}g()}});var dm=I((F4,hm)=>{var fa=ft();$t();var fm=hm.exports=fa.pem=fa.pem||{};fm.encode=function(r,t){t=t||{};var e="-----BEGIN "+r.type+`-----\r
31
+ `,n;if(r.procType&&(n={name:"Proc-Type",values:[String(r.procType.version),r.procType.type]},e+=ua(n)),r.contentDomain&&(n={name:"Content-Domain",values:[r.contentDomain]},e+=ua(n)),r.dekInfo&&(n={name:"DEK-Info",values:[r.dekInfo.algorithm]},r.dekInfo.parameters&&n.values.push(r.dekInfo.parameters),e+=ua(n)),r.headers)for(var i=0;i<r.headers.length;++i)e+=ua(r.headers[i]);return r.procType&&(e+=`\r
32
+ `),e+=fa.util.encode64(r.body,t.maxline||64)+`\r
33
+ `,e+="-----END "+r.type+`-----\r
34
+ `,e};fm.decode=function(r){for(var t=[],e=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=e.exec(r),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:fa.util.decode64(s[3])};if(t.push(a),!!s[2]){for(var c=s[2].split(i),l=0;s&&l<c.length;){for(var u=c[l].replace(/\s+$/,""),f=l+1;f<c.length;++f){var h=c[f];if(!/\s/.test(h[0]))break;u+=h,l=f}if(s=u.match(n),s){for(var d={name:s[1],values:[]},p=s[2].split(","),m=0;m<p.length;++m)d.values.push(p2(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]}}}++l}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function ua(r){for(var t=r.name+": ",e=[],n=function(c,l){return" "+l},i=0;i<r.values.length;++i)e.push(r.values[i].replace(/^(\S+\r\n)/,n));t+=e.join(",")+`\r
35
+ `;for(var s=0,o=-1,i=0;i<t.length;++i,++s)if(s>65&&o!==-1){var a=t[o];a===","?(++o,t=t.substr(0,o)+`\r
36
+ `+t.substr(o)):t=t.substr(0,o)+`\r
37
+ `+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function p2(r){return r.replace(/^\s+/,"")}});var Em=I((K4,wm)=>{var ur=ft();Mn();$t();var mm=wm.exports=ur.sha256=ur.sha256||{};ur.md.sha256=ur.md.algorithms.sha256=mm;mm.create=function(){ym||m2();var r=null,t=ur.util.createBuffer(),e=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=ur.util.createBuffer(),r={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=ur.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),pm(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ur.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Su.substr(0,n.blockLength-o));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4,h5:r.h5,h6:r.h6,h7:r.h7};pm(f,e,i);var h=ur.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 Su=null,ym=!1,gm=null;function m2(){Su=String.fromCharCode(128),Su+=ur.util.fillString(String.fromCharCode(0),64),gm=[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],ym=!0}function pm(r,t,e){for(var n,i,s,o,a,c,l,u,f,h,d,p,m,y,g,E=e.length();E>=64;){for(l=0;l<16;++l)t[l]=e.getInt32();for(;l<64;++l)n=t[l-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[l-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[l]=n+t[l-7]+i+t[l-16]|0;for(u=r.h0,f=r.h1,h=r.h2,d=r.h3,p=r.h4,m=r.h5,y=r.h6,g=r.h7,l=0;l<64;++l)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&f|h&(u^f),n=g+o+a+gm[l]+t[l],i=s+c,g=y,y=m,m=p,p=d+n>>>0,d=h,h=f,f=u,u=n+i>>>0;r.h0=r.h0+u|0,r.h1=r.h1+f|0,r.h2=r.h2+h|0,r.h3=r.h3+d|0,r.h4=r.h4+p|0,r.h5=r.h5+m|0,r.h6=r.h6+y|0,r.h7=r.h7+g|0,E-=64}}});var vm=I((V4,xm)=>{var fr=ft();$t();var ha=null;fr.util.isNodejs&&!fr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ha=Ln());var y2=xm.exports=fr.prng=fr.prng||{};y2.create=function(r){for(var t={plugin:r,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},e=r.md,n=new Array(32),i=0;i<32;++i)n[i]=e.create();t.pools=n,t.pool=0,t.generate=function(l,u){if(!u)return t.generateSync(l);var f=t.plugin.cipher,h=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed,m=fr.util.createBuffer();t.key=null,y();function y(g){if(g)return u(g);if(m.length()>=l)return u(null,m.getBytes(l));if(t.generated>1048575&&(t.key=null),t.key===null)return fr.util.nextTick(function(){s(y)});var E=f(t.key,t.seed);t.generated+=E.length,m.putBytes(E),t.key=d(f(t.key,h(t.seed))),t.seed=p(f(t.key,t.seed)),fr.util.setImmediate(y)}},t.generateSync=function(l){var u=t.plugin.cipher,f=t.plugin.increment,h=t.plugin.formatKey,d=t.plugin.formatSeed;t.key=null;for(var p=fr.util.createBuffer();p.length()<l;){t.generated>1048575&&(t.key=null),t.key===null&&o();var m=u(t.key,t.seed);t.generated+=m.length,p.putBytes(m),t.key=h(u(t.key,f(t.seed))),t.seed=d(u(t.key,t.seed))}return p.getBytes(l)};function s(l){if(t.pools[0].messageLength>=32)return a(),l();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(f,h){if(f)return l(f);t.collect(h),a(),l()})}function o(){if(t.pools[0].messageLength>=32)return a();var l=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(l)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var l=t.plugin.md.create();l.update(t.keyBytes);for(var u=1,f=0;f<32;++f)t.reseeds%u===0&&(l.update(t.pools[f].digest().getBytes()),t.pools[f].start()),u=u<<1;t.keyBytes=l.digest().getBytes(),l.start(),l.update(t.keyBytes);var h=l.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(h),t.generated=0}function c(l){var u=null,f=fr.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(u=function(B){return h.getRandomValues(B)});var d=fr.util.createBuffer();if(u)for(;d.length()<l;){var p=Math.max(1,Math.min(l-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{u(m);for(var y=0;y<m.length;++y)d.putInt32(m[y])}catch(B){if(!(typeof QuotaExceededError<"u"&&B instanceof QuotaExceededError))throw B}}if(d.length()<l)for(var g,E,b,O=Math.floor(Math.random()*65536);d.length()<l;){E=16807*(O&65535),g=16807*(O>>16),E+=(g&32767)<<16,E+=g>>15,E=(E&2147483647)+(E>>31),O=E&4294967295;for(var y=0;y<3;++y)b=O>>>(y<<3),b^=Math.floor(Math.random()*256),d.putByte(b&255)}return d.getBytes(l)}return ha?(t.seedFile=function(l,u){ha.randomBytes(l,function(f,h){if(f)return u(f);u(null,h.toString())})},t.seedFileSync=function(l){return ha.randomBytes(l).toString()}):(t.seedFile=function(l,u){try{u(null,c(l))}catch(f){u(f)}},t.seedFileSync=c),t.collect=function(l){for(var u=l.length,f=0;f<u;++f)t.pools[t.pool].update(l.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(l,u){for(var f="",h=0;h<u;h+=8)f+=String.fromCharCode(l>>h&255);t.collect(f)},t.registerWorker=function(l){if(l===self)t.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 u=function(f){var h=f.data;h.forge&&h.forge.prng&&t.seedFile(h.forge.prng.needed,function(d,p){l.postMessage({forge:{prng:{err:d,bytes:p}}})})};l.addEventListener("message",u)}},t}});var ws=I((q4,Au)=>{var ne=ft();aa();Em();vm();$t();(function(){if(ne.random&&ne.random.getBytes){Au.exports=ne.random;return}(function(r){var t={},e=new Array(4),n=ne.util.createBuffer();t.formatKey=function(f){var h=ne.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),ne.aes._expandKey(f,!1)},t.formatSeed=function(f){var h=ne.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},t.cipher=function(f,h){return ne.aes._updateBlock(f,h,e,!1),n.putInt32(e[0]),n.putInt32(e[1]),n.putInt32(e[2]),n.putInt32(e[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=ne.md.sha256;function i(){var f=ne.prng.create(t);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=ne.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),ne.options.usePureJavaScript||!ne.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var l="";for(var u in navigator)try{typeof navigator[u]=="string"&&(l+=navigator[u])}catch{}s.collect(l),l=null}r&&(r().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),r().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!ne.random)ne.random=s;else for(var u in s)ne.random[u]=s[u];ne.random.createInstance=i,Au.exports=ne.random})(typeof jQuery<"u"?jQuery:null)})()});var Am=I(($4,Sm)=>{var pe=ft();$t();var Ru=[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],bm=[1,2,3,5],g2=function(r,t){return r<<t&65535|(r&65535)>>16-t},w2=function(r,t){return(r&65535)>>t|r<<16-t&65535};Sm.exports=pe.rc2=pe.rc2||{};pe.rc2.expandKey=function(r,t){typeof r=="string"&&(r=pe.util.createBuffer(r)),t=t||128;var e=r,n=r.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)e.putByte(Ru[e.at(a-1)+e.at(a-n)&255]);for(e.setAt(128-s,Ru[e.at(128-s)&o]),a=127-s;a>=0;a--)e.setAt(a,Ru[e.at(a+1)^e.at(a+s)]);return e};var _m=function(r,t,e){var n=!1,i=null,s=null,o=null,a,c,l,u,f=[];for(r=pe.rc2.expandKey(r,t),l=0;l<64;l++)f.push(r.getInt16Le());e?(a=function(p){for(l=0;l<4;l++)p[l]+=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),p[l]=g2(p[l],bm[l]),u++},c=function(p){for(l=0;l<4;l++)p[l]+=f[p[(l+3)%4]&63]}):(a=function(p){for(l=3;l>=0;l--)p[l]=w2(p[l],bm[l]),p[l]-=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),u--},c=function(p){for(l=3;l>=0;l--)p[l]-=f[p[(l+3)%4]&63]});var h=function(p){var m=[];for(l=0;l<4;l++){var y=i.getInt16Le();o!==null&&(e?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}u=e?0:63;for(var g=0;g<p.length;g++)for(var E=0;E<p[g][0];E++)p[g][1](m);for(l=0;l<4;l++)o!==null&&(e?o.putInt16Le(m[l]):m[l]^=o.getInt16Le()),s.putInt16Le(m[l])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=pe.util.createBuffer(p)),n=!1,i=pe.util.createBuffer(),s=m||new pe.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(e)if(p)m=p(8,i,!e);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,d.update()),!e&&(m=i.length()===0,m))if(p)m=p(8,s,!e);else{var g=s.length(),E=s.at(g-1);E>g?m=!1:s.truncate(E)}return m}},d};pe.rc2.startEncrypting=function(r,t,e){var n=pe.rc2.createEncryptionCipher(r,128);return n.start(t,e),n};pe.rc2.createEncryptionCipher=function(r,t){return _m(r,t,!0)};pe.rc2.startDecrypting=function(r,t,e){var n=pe.rc2.createDecryptionCipher(r,128);return n.start(t,e),n};pe.rc2.createDecryptionCipher=function(r,t){return _m(r,t,!1)}});var ma=I((z4,Pm)=>{var Iu=ft();Pm.exports=Iu.jsbn=Iu.jsbn||{};var Nr,E2=0xdeadbeefcafe,Rm=(E2&16777215)==15715070;function S(r,t,e){this.data=[],r!=null&&(typeof r=="number"?this.fromNumber(r,t,e):t==null&&typeof r!="string"?this.fromString(r,256):this.fromString(r,t))}Iu.jsbn.BigInteger=S;function it(){return new S(null)}function x2(r,t,e,n,i,s){for(;--s>=0;){var o=t*this.data[r++]+e.data[n]+i;i=Math.floor(o/67108864),e.data[n++]=o&67108863}return i}function v2(r,t,e,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var c=this.data[r]&32767,l=this.data[r++]>>15,u=a*c+l*o;c=o*c+((u&32767)<<15)+e.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*l+(i>>>30),e.data[n++]=c&1073741823}return i}function Im(r,t,e,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var c=this.data[r]&16383,l=this.data[r++]>>14,u=a*c+l*o;c=o*c+((u&16383)<<14)+e.data[n]+i,i=(c>>28)+(u>>14)+a*l,e.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=Im,Nr=28):Rm&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=v2,Nr=30):Rm&&navigator.appName!="Netscape"?(S.prototype.am=x2,Nr=26):(S.prototype.am=Im,Nr=28);S.prototype.DB=Nr;S.prototype.DM=(1<<Nr)-1;S.prototype.DV=1<<Nr;var Tu=52;S.prototype.FV=Math.pow(2,Tu);S.prototype.F1=Tu-Nr;S.prototype.F2=2*Nr-Tu;var b2="0123456789abcdefghijklmnopqrstuvwxyz",da=new Array,Di,ke;Di="0".charCodeAt(0);for(ke=0;ke<=9;++ke)da[Di++]=ke;Di="a".charCodeAt(0);for(ke=10;ke<36;++ke)da[Di++]=ke;Di="A".charCodeAt(0);for(ke=10;ke<36;++ke)da[Di++]=ke;function Tm(r){return b2.charAt(r)}function Cm(r,t){var e=da[r.charCodeAt(t)];return e??-1}function _2(r){for(var t=this.t-1;t>=0;--t)r.data[t]=this.data[t];r.t=this.t,r.s=this.s}function S2(r){this.t=1,this.s=r<0?-1:0,r>0?this.data[0]=r:r<-1?this.data[0]=r+this.DV:this.t=0}function en(r){var t=it();return t.fromInt(r),t}function A2(r,t){var e;if(t==16)e=4;else if(t==8)e=3;else if(t==256)e=8;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else{this.fromRadix(r,t);return}this.t=0,this.s=0;for(var n=r.length,i=!1,s=0;--n>=0;){var o=e==8?r[n]&255:Cm(r,n);if(o<0){r.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+e>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=e,s>=this.DB&&(s-=this.DB)}e==8&&r[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function R2(){for(var r=this.s&this.DM;this.t>0&&this.data[this.t-1]==r;)--this.t}function I2(r){if(this.s<0)return"-"+this.negate().toString(r);var t;if(r==16)t=4;else if(r==8)t=3;else if(r==2)t=1;else if(r==32)t=5;else if(r==4)t=2;else return this.toRadix(r);var e=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Tm(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&e,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Tm(n));return i?s:"0"}function T2(){var r=it();return S.ZERO.subTo(this,r),r}function C2(){return this.s<0?this.negate():this}function B2(r){var t=this.s-r.s;if(t!=0)return t;var e=this.t;if(t=e-r.t,t!=0)return this.s<0?-t:t;for(;--e>=0;)if((t=this.data[e]-r.data[e])!=0)return t;return 0}function pa(r){var t=1,e;return(e=r>>>16)!=0&&(r=e,t+=16),(e=r>>8)!=0&&(r=e,t+=8),(e=r>>4)!=0&&(r=e,t+=4),(e=r>>2)!=0&&(r=e,t+=2),(e=r>>1)!=0&&(r=e,t+=1),t}function D2(){return this.t<=0?0:this.DB*(this.t-1)+pa(this.data[this.t-1]^this.s&this.DM)}function L2(r,t){var e;for(e=this.t-1;e>=0;--e)t.data[e+r]=this.data[e];for(e=r-1;e>=0;--e)t.data[e]=0;t.t=this.t+r,t.s=this.s}function P2(r,t){for(var e=r;e<this.t;++e)t.data[e-r]=this.data[e];t.t=Math.max(this.t-r,0),t.s=this.s}function N2(r,t){var e=r%this.DB,n=this.DB-e,i=(1<<n)-1,s=Math.floor(r/this.DB),o=this.s<<e&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<e;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function k2(r,t){t.s=this.s;var e=Math.floor(r/this.DB);if(e>=this.t){t.t=0;return}var n=r%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[e]>>n;for(var o=e+1;o<this.t;++o)t.data[o-e-1]|=(this.data[o]&s)<<i,t.data[o-e]=this.data[o]>>n;n>0&&(t.data[this.t-e-1]|=(this.s&s)<<i),t.t=this.t-e,t.clamp()}function O2(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]-r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n-=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n-=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n-=r.s}t.s=n<0?-1:0,n<-1?t.data[e++]=this.DV+n:n>0&&(t.data[e++]=n),t.t=e,t.clamp()}function M2(r,t){var e=this.abs(),n=r.abs(),i=e.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+e.t]=e.am(0,n.data[i],t,i,0,e.t);t.s=0,t.clamp(),this.s!=r.s&&S.ZERO.subTo(t,t)}function U2(r){for(var t=this.abs(),e=r.t=2*t.t;--e>=0;)r.data[e]=0;for(e=0;e<t.t-1;++e){var n=t.am(e,t.data[e],r,2*e,0,1);(r.data[e+t.t]+=t.am(e+1,2*t.data[e],r,2*e+1,n,t.t-e-1))>=t.DV&&(r.data[e+t.t]-=t.DV,r.data[e+t.t+1]=1)}r.t>0&&(r.data[r.t-1]+=t.am(e,t.data[e],r,2*e,0,1)),r.s=0,r.clamp()}function F2(r,t,e){var n=r.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),e!=null&&this.copyTo(e);return}e==null&&(e=it());var s=it(),o=this.s,a=r.s,c=this.DB-pa(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,e)):(n.copyTo(s),i.copyTo(e));var l=s.t,u=s.data[l-1];if(u!=0){var f=u*(1<<this.F1)+(l>1?s.data[l-2]>>this.F2:0),h=this.FV/f,d=(1<<this.F1)/f,p=1<<this.F2,m=e.t,y=m-l,g=t??it();for(s.dlShiftTo(y,g),e.compareTo(g)>=0&&(e.data[e.t++]=1,e.subTo(g,e)),S.ONE.dlShiftTo(l,g),g.subTo(s,s);s.t<l;)s.data[s.t++]=0;for(;--y>=0;){var E=e.data[--m]==u?this.DM:Math.floor(e.data[m]*h+(e.data[m-1]+p)*d);if((e.data[m]+=s.am(0,E,e,y,0,l))<E)for(s.dlShiftTo(y,g),e.subTo(g,e);e.data[m]<--E;)e.subTo(g,e)}t!=null&&(e.drShiftTo(l,t),o!=a&&S.ZERO.subTo(t,t)),e.t=l,e.clamp(),c>0&&e.rShiftTo(c,e),o<0&&S.ZERO.subTo(e,e)}}}function K2(r){var t=it();return this.abs().divRemTo(r,null,t),this.s<0&&t.compareTo(S.ZERO)>0&&r.subTo(t,t),t}function Un(r){this.m=r}function V2(r){return r.s<0||r.compareTo(this.m)>=0?r.mod(this.m):r}function q2(r){return r}function $2(r){r.divRemTo(this.m,null,r)}function z2(r,t,e){r.multiplyTo(t,e),this.reduce(e)}function H2(r,t){r.squareTo(t),this.reduce(t)}Un.prototype.convert=V2;Un.prototype.revert=q2;Un.prototype.reduce=$2;Un.prototype.mulTo=z2;Un.prototype.sqrTo=H2;function G2(){if(this.t<1)return 0;var r=this.data[0];if(!(r&1))return 0;var t=r&3;return t=t*(2-(r&15)*t)&15,t=t*(2-(r&255)*t)&255,t=t*(2-((r&65535)*t&65535))&65535,t=t*(2-r*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Fn(r){this.m=r,this.mp=r.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<r.DB-15)-1,this.mt2=2*r.t}function Y2(r){var t=it();return r.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),r.s<0&&t.compareTo(S.ZERO)>0&&this.m.subTo(t,t),t}function W2(r){var t=it();return r.copyTo(t),this.reduce(t),t}function Q2(r){for(;r.t<=this.mt2;)r.data[r.t++]=0;for(var t=0;t<this.m.t;++t){var e=r.data[t]&32767,n=e*this.mpl+((e*this.mph+(r.data[t]>>15)*this.mpl&this.um)<<15)&r.DM;for(e=t+this.m.t,r.data[e]+=this.m.am(0,n,r,t,0,this.m.t);r.data[e]>=r.DV;)r.data[e]-=r.DV,r.data[++e]++}r.clamp(),r.drShiftTo(this.m.t,r),r.compareTo(this.m)>=0&&r.subTo(this.m,r)}function X2(r,t){r.squareTo(t),this.reduce(t)}function Z2(r,t,e){r.multiplyTo(t,e),this.reduce(e)}Fn.prototype.convert=Y2;Fn.prototype.revert=W2;Fn.prototype.reduce=Q2;Fn.prototype.mulTo=Z2;Fn.prototype.sqrTo=X2;function J2(){return(this.t>0?this.data[0]&1:this.s)==0}function j2(r,t){if(r>4294967295||r<1)return S.ONE;var e=it(),n=it(),i=t.convert(this),s=pa(r)-1;for(i.copyTo(e);--s>=0;)if(t.sqrTo(e,n),(r&1<<s)>0)t.mulTo(n,i,e);else{var o=e;e=n,n=o}return t.revert(e)}function tb(r,t){var e;return r<256||t.isEven()?e=new Un(t):e=new Fn(t),this.exp(r,e)}S.prototype.copyTo=_2;S.prototype.fromInt=S2;S.prototype.fromString=A2;S.prototype.clamp=R2;S.prototype.dlShiftTo=L2;S.prototype.drShiftTo=P2;S.prototype.lShiftTo=N2;S.prototype.rShiftTo=k2;S.prototype.subTo=O2;S.prototype.multiplyTo=M2;S.prototype.squareTo=U2;S.prototype.divRemTo=F2;S.prototype.invDigit=G2;S.prototype.isEven=J2;S.prototype.exp=j2;S.prototype.toString=I2;S.prototype.negate=T2;S.prototype.abs=C2;S.prototype.compareTo=B2;S.prototype.bitLength=D2;S.prototype.mod=K2;S.prototype.modPowInt=tb;S.ZERO=en(0);S.ONE=en(1);function eb(){var r=it();return this.copyTo(r),r}function rb(){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 nb(){return this.t==0?this.s:this.data[0]<<24>>24}function ib(){return this.t==0?this.s:this.data[0]<<16>>16}function sb(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function ob(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function ab(r){if(r==null&&(r=10),this.signum()==0||r<2||r>36)return"0";var t=this.chunkSize(r),e=Math.pow(r,t),n=en(e),i=it(),s=it(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(e+s.intValue()).toString(r).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(r)+o}function cb(r,t){this.fromInt(0),t==null&&(t=10);for(var e=this.chunkSize(t),n=Math.pow(t,e),i=!1,s=0,o=0,a=0;a<r.length;++a){var c=Cm(r,a);if(c<0){r.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+c,++s>=e&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function lb(r,t,e){if(typeof t=="number")if(r<2)this.fromInt(1);else for(this.fromNumber(r,e),this.testBit(r-1)||this.bitwiseTo(S.ONE.shiftLeft(r-1),Cu,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>r&&this.subTo(S.ONE.shiftLeft(r-1),this);else{var n=new Array,i=r&7;n.length=(r>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function ub(){var r=this.t,t=new Array;t[0]=this.s;var e=this.DB-r*this.DB%8,n,i=0;if(r-- >0)for(e<this.DB&&(n=this.data[r]>>e)!=(this.s&this.DM)>>e&&(t[i++]=n|this.s<<this.DB-e);r>=0;)e<8?(n=(this.data[r]&(1<<e)-1)<<8-e,n|=this.data[--r]>>(e+=this.DB-8)):(n=this.data[r]>>(e-=8)&255,e<=0&&(e+=this.DB,--r)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function fb(r){return this.compareTo(r)==0}function hb(r){return this.compareTo(r)<0?this:r}function db(r){return this.compareTo(r)>0?this:r}function pb(r,t,e){var n,i,s=Math.min(r.t,this.t);for(n=0;n<s;++n)e.data[n]=t(this.data[n],r.data[n]);if(r.t<this.t){for(i=r.s&this.DM,n=s;n<this.t;++n)e.data[n]=t(this.data[n],i);e.t=this.t}else{for(i=this.s&this.DM,n=s;n<r.t;++n)e.data[n]=t(i,r.data[n]);e.t=r.t}e.s=t(this.s,r.s),e.clamp()}function mb(r,t){return r&t}function yb(r){var t=it();return this.bitwiseTo(r,mb,t),t}function Cu(r,t){return r|t}function gb(r){var t=it();return this.bitwiseTo(r,Cu,t),t}function Bm(r,t){return r^t}function wb(r){var t=it();return this.bitwiseTo(r,Bm,t),t}function Dm(r,t){return r&~t}function Eb(r){var t=it();return this.bitwiseTo(r,Dm,t),t}function xb(){for(var r=it(),t=0;t<this.t;++t)r.data[t]=this.DM&~this.data[t];return r.t=this.t,r.s=~this.s,r}function vb(r){var t=it();return r<0?this.rShiftTo(-r,t):this.lShiftTo(r,t),t}function bb(r){var t=it();return r<0?this.lShiftTo(-r,t):this.rShiftTo(r,t),t}function _b(r){if(r==0)return-1;var t=0;return r&65535||(r>>=16,t+=16),r&255||(r>>=8,t+=8),r&15||(r>>=4,t+=4),r&3||(r>>=2,t+=2),r&1||++t,t}function Sb(){for(var r=0;r<this.t;++r)if(this.data[r]!=0)return r*this.DB+_b(this.data[r]);return this.s<0?this.t*this.DB:-1}function Ab(r){for(var t=0;r!=0;)r&=r-1,++t;return t}function Rb(){for(var r=0,t=this.s&this.DM,e=0;e<this.t;++e)r+=Ab(this.data[e]^t);return r}function Ib(r){var t=Math.floor(r/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<r%this.DB)!=0}function Tb(r,t){var e=S.ONE.shiftLeft(r);return this.bitwiseTo(e,t,e),e}function Cb(r){return this.changeBit(r,Cu)}function Bb(r){return this.changeBit(r,Dm)}function Db(r){return this.changeBit(r,Bm)}function Lb(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]+r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n+=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n+=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=r.s}t.s=n<0?-1:0,n>0?t.data[e++]=n:n<-1&&(t.data[e++]=this.DV+n),t.t=e,t.clamp()}function Pb(r){var t=it();return this.addTo(r,t),t}function Nb(r){var t=it();return this.subTo(r,t),t}function kb(r){var t=it();return this.multiplyTo(r,t),t}function Ob(r){var t=it();return this.divRemTo(r,t,null),t}function Mb(r){var t=it();return this.divRemTo(r,null,t),t}function Ub(r){var t=it(),e=it();return this.divRemTo(r,t,e),new Array(t,e)}function Fb(r){this.data[this.t]=this.am(0,r-1,this,0,0,this.t),++this.t,this.clamp()}function Kb(r,t){if(r!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=r;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Es(){}function Lm(r){return r}function Vb(r,t,e){r.multiplyTo(t,e)}function qb(r,t){r.squareTo(t)}Es.prototype.convert=Lm;Es.prototype.revert=Lm;Es.prototype.mulTo=Vb;Es.prototype.sqrTo=qb;function $b(r){return this.exp(r,new Es)}function zb(r,t,e){var n=Math.min(this.t+r.t,t);for(e.s=0,e.t=n;n>0;)e.data[--n]=0;var i;for(i=e.t-this.t;n<i;++n)e.data[n+this.t]=this.am(0,r.data[n],e,n,0,this.t);for(i=Math.min(r.t,t);n<i;++n)this.am(0,r.data[n],e,n,0,t-n);e.clamp()}function Hb(r,t,e){--t;var n=e.t=this.t+r.t-t;for(e.s=0;--n>=0;)e.data[n]=0;for(n=Math.max(t-this.t,0);n<r.t;++n)e.data[this.t+n-t]=this.am(t-n,r.data[n],e,0,0,this.t+n-t);e.clamp(),e.drShiftTo(1,e)}function Li(r){this.r2=it(),this.q3=it(),S.ONE.dlShiftTo(2*r.t,this.r2),this.mu=this.r2.divide(r),this.m=r}function Gb(r){if(r.s<0||r.t>2*this.m.t)return r.mod(this.m);if(r.compareTo(this.m)<0)return r;var t=it();return r.copyTo(t),this.reduce(t),t}function Yb(r){return r}function Wb(r){for(r.drShiftTo(this.m.t-1,this.r2),r.t>this.m.t+1&&(r.t=this.m.t+1,r.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);r.compareTo(this.r2)<0;)r.dAddOffset(1,this.m.t+1);for(r.subTo(this.r2,r);r.compareTo(this.m)>=0;)r.subTo(this.m,r)}function Qb(r,t){r.squareTo(t),this.reduce(t)}function Xb(r,t,e){r.multiplyTo(t,e),this.reduce(e)}Li.prototype.convert=Gb;Li.prototype.revert=Yb;Li.prototype.reduce=Wb;Li.prototype.mulTo=Xb;Li.prototype.sqrTo=Qb;function Zb(r,t){var e=r.bitLength(),n,i=en(1),s;if(e<=0)return i;e<18?n=1:e<48?n=3:e<144?n=4:e<768?n=5:n=6,e<8?s=new Un(t):t.isEven()?s=new Li(t):s=new Fn(t);var o=new Array,a=3,c=n-1,l=(1<<n)-1;if(o[1]=s.convert(this),n>1){var u=it();for(s.sqrTo(o[1],u);a<=l;)o[a]=it(),s.mulTo(u,o[a-2],o[a]),a+=2}var f=r.t-1,h,d=!0,p=it(),m;for(e=pa(r.data[f])-1;f>=0;){for(e>=c?h=r.data[f]>>e-c&l:(h=(r.data[f]&(1<<e+1)-1)<<c-e,f>0&&(h|=r.data[f-1]>>this.DB+e-c)),a=n;!(h&1);)h>>=1,--a;if((e-=a)<0&&(e+=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&&!(r.data[f]&1<<e);)s.sqrTo(i,p),m=i,i=p,p=m,--e<0&&(e=this.DB-1,--f)}return s.revert(i)}function Jb(r){var t=this.s<0?this.negate():this.clone(),e=r.s<0?r.negate():r.clone();if(t.compareTo(e)<0){var n=t;t=e,e=n}var i=t.getLowestSetBit(),s=e.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),e.rShiftTo(s,e));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),t.compareTo(e)>=0?(t.subTo(e,t),t.rShiftTo(1,t)):(e.subTo(t,e),e.rShiftTo(1,e));return s>0&&e.lShiftTo(s,e),e}function jb(r){if(r<=0)return 0;var t=this.DV%r,e=this.s<0?r-1:0;if(this.t>0)if(t==0)e=this.data[0]%r;else for(var n=this.t-1;n>=0;--n)e=(t*e+this.data[n])%r;return e}function t_(r){var t=r.isEven();if(this.isEven()&&t||r.signum()==0)return S.ZERO;for(var e=r.clone(),n=this.clone(),i=en(1),s=en(0),o=en(0),a=en(1);e.signum()!=0;){for(;e.isEven();)e.rShiftTo(1,e),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(r,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(r,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(r,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(r,a),a.rShiftTo(1,a);e.compareTo(n)>=0?(e.subTo(n,e),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(e,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(r)>=0)return a.subtract(r);if(a.signum()<0)a.addTo(r,a);else return a;return a.signum()<0?a.add(r):a}var Ge=[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],e_=(1<<26)/Ge[Ge.length-1];function r_(r){var t,e=this.abs();if(e.t==1&&e.data[0]<=Ge[Ge.length-1]){for(t=0;t<Ge.length;++t)if(e.data[0]==Ge[t])return!0;return!1}if(e.isEven())return!1;for(t=1;t<Ge.length;){for(var n=Ge[t],i=t+1;i<Ge.length&&n<e_;)n*=Ge[i++];for(n=e.modInt(n);t<i;)if(n%Ge[t++]==0)return!1}return e.millerRabin(r)}function n_(r){var t=this.subtract(S.ONE),e=t.getLowestSetBit();if(e<=0)return!1;for(var n=t.shiftRight(e),i=i_(),s,o=0;o<r;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<e&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function i_(){return{nextBytes:function(r){for(var t=0;t<r.length;++t)r[t]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=sb;S.prototype.toRadix=ab;S.prototype.fromRadix=cb;S.prototype.fromNumber=lb;S.prototype.bitwiseTo=pb;S.prototype.changeBit=Tb;S.prototype.addTo=Lb;S.prototype.dMultiply=Fb;S.prototype.dAddOffset=Kb;S.prototype.multiplyLowerTo=zb;S.prototype.multiplyUpperTo=Hb;S.prototype.modInt=jb;S.prototype.millerRabin=n_;S.prototype.clone=eb;S.prototype.intValue=rb;S.prototype.byteValue=nb;S.prototype.shortValue=ib;S.prototype.signum=ob;S.prototype.toByteArray=ub;S.prototype.equals=fb;S.prototype.min=hb;S.prototype.max=db;S.prototype.and=yb;S.prototype.or=gb;S.prototype.xor=wb;S.prototype.andNot=Eb;S.prototype.not=xb;S.prototype.shiftLeft=vb;S.prototype.shiftRight=bb;S.prototype.getLowestSetBit=Sb;S.prototype.bitCount=Rb;S.prototype.testBit=Ib;S.prototype.setBit=Cb;S.prototype.clearBit=Bb;S.prototype.flipBit=Db;S.prototype.add=Pb;S.prototype.subtract=Nb;S.prototype.multiply=kb;S.prototype.divide=Ob;S.prototype.remainder=Mb;S.prototype.divideAndRemainder=Ub;S.prototype.modPow=Zb;S.prototype.modInverse=t_;S.prototype.pow=$b;S.prototype.gcd=Jb;S.prototype.isProbablePrime=r_});var Um=I((H4,Mm)=>{var hr=ft();Mn();$t();var km=Mm.exports=hr.sha1=hr.sha1||{};hr.md.sha1=hr.md.algorithms.sha1=km;km.create=function(){Om||s_();var r=null,t=hr.util.createBuffer(),e=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=hr.util.createBuffer(),r={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=hr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),Nm(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=hr.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Bu.substr(0,n.blockLength-o));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4};Nm(f,e,i);var h=hr.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 Bu=null,Om=!1;function s_(){Bu=String.fromCharCode(128),Bu+=hr.util.fillString(String.fromCharCode(0),64),Om=!0}function Nm(r,t,e){for(var n,i,s,o,a,c,l,u,f=e.length();f>=64;){for(i=r.h0,s=r.h1,o=r.h2,a=r.h3,c=r.h4,u=0;u<16;++u)n=e.getInt32(),t[u]=n,l=a^s&(o^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=a^s&(o^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s&o|a&(s^o),n=(i<<5|i>>>27)+l+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;r.h0=r.h0+i|0,r.h1=r.h1+s|0,r.h2=r.h2+o|0,r.h3=r.h3+a|0,r.h4=r.h4+c|0,f-=64}}});var Vm=I((G4,Km)=>{var dr=ft();$t();ws();Um();var Fm=Km.exports=dr.pkcs1=dr.pkcs1||{};Fm.encode_rsa_oaep=function(r,t,e){var n,i,s,o;typeof e=="string"?(n=e,i=arguments[3]||void 0,s=arguments[4]||void 0):e&&(n=e.label||void 0,i=e.seed||void 0,s=e.md||void 0,e.mgf1&&e.mgf1.md&&(o=e.mgf1.md)),s?s.start():s=dr.md.sha1.create(),o||(o=s);var a=Math.ceil(r.n.bitLength()/8),c=a-2*s.digestLength-2;if(t.length>c){var l=new Error("RSAES-OAEP input message length is too long.");throw l.length=t.length,l.maxLength=c,l}n||(n=""),s.update(n,"raw");for(var u=s.digest(),f="",h=c-t.length,d=0;d<h;d++)f+="\0";var p=u.getBytes()+f+""+t;if(!i)i=dr.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var l=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=i.length,l.digestLength=s.digestLength,l}var m=ya(i,a-s.digestLength-1,o),y=dr.util.xorBytes(p,m,p.length),g=ya(y,s.digestLength,o),E=dr.util.xorBytes(i,g,i.length);return"\0"+E+y};Fm.decode_rsa_oaep=function(r,t,e){var n,i,s;typeof e=="string"?(n=e,i=arguments[3]||void 0):e&&(n=e.label||void 0,i=e.md||void 0,e.mgf1&&e.mgf1.md&&(s=e.mgf1.md));var o=Math.ceil(r.n.bitLength()/8);if(t.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=o,y}if(i===void 0?i=dr.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=t.charAt(0),l=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),f=ya(u,i.digestLength,s),h=dr.util.xorBytes(l,f,l.length),d=ya(h,o-i.digestLength-1,s),p=dr.util.xorBytes(u,d,u.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var E=1,b=i.digestLength,O=i.digestLength;O<p.length;O++){var B=p.charCodeAt(O),D=B&1^1,X=E?65534:0;y|=B&X,E=E&D,b+=E}if(y||p.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(b+1)};function ya(r,t,e){e||(e=dr.md.sha1.create());for(var n="",i=Math.ceil(t/e.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);e.start(),e.update(r+o),n+=e.digest().getBytes()}return n.substring(0,t)}});var qm=I((Y4,Du)=>{var rn=ft();$t();ma();ws();(function(){if(rn.prime){Du.exports=rn.prime;return}var r=Du.exports=rn.prime=rn.prime||{},t=rn.jsbn.BigInteger,e=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,h){return f|h};r.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||rn.random,y={nextBytes:function(g){for(var E=m.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=E.charCodeAt(b)}};if(p.name==="PRIMEINC")return s(f,y,p.options,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=l(f,h),y=0,g=u(m.bitLength());"millerRabinTests"in d&&(g=d.millerRabinTests);var E=10;"maxBlockTime"in d&&(E=d.maxBlockTime),a(m,f,h,y,g,E,p)}function a(f,h,d,p,m,y,g){var E=+new Date;do{if(f.bitLength()>h&&(f=l(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(e[p++%8],0)}while(y<0||+new Date-E<y);rn.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=l(f,h),y=d.workers,g=d.workLoad||100,E=g*30/8,b=d.workerScript||"forge/prime.worker.js";if(y===-1)return rn.util.estimateCores(function(B,D){B&&(D=2),y=D-1,O()});O();function O(){y=Math.max(1,y);for(var B=[],D=0;D<y;++D)B[D]=new Worker(b);for(var X=y,D=0;D<y;++D)B[D].addEventListener("message",Zt);var J=!1;function Zt(Ve){if(!J){--X;var Ee=Ve.data;if(Ee.found){for(var le=0;le<B.length;++le)B[le].terminate();return J=!0,p(null,new t(Ee.prime,16))}m.bitLength()>f&&(m=l(f,h));var ii=m.toString(16);Ve.target.postMessage({hex:ii,workLoad:g}),m.dAddOffset(E,0)}}}}function l(f,h){var d=new t(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(t.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function u(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 wa=I((W4,Qm)=>{var K=ft();gs();ma();ra();Vm();qm();ws();$t();typeof tt>"u"&&(tt=K.jsbn.BigInteger);var tt,Lu=K.util.isNodejs?Ln():null,x=K.asn1,Oe=K.util;K.pki=K.pki||{};Qm.exports=K.pki.rsa=K.rsa=K.rsa||{};var q=K.pki,o_=[6,4,2,4,2,4,6,2],a_={name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},c_={name:"RSAPrivateKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},l_={name:"RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},u_=K.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},f_={name:"DigestInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:x.Class.UNIVERSAL,type:x.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},h_=function(r){var t;if(r.algorithm in q.oids)t=q.oids[r.algorithm];else{var e=new Error("Unknown message digest algorithm.");throw e.algorithm=r.algorithm,e}var n=x.oidToDer(t).getBytes(),i=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]),s=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]);s.value.push(x.create(x.Class.UNIVERSAL,x.Type.OID,!1,n)),s.value.push(x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,""));var o=x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,r.digest().getBytes());return i.value.push(s),i.value.push(o),x.toDer(i).getBytes()},Ym=function(r,t,e){if(e)return r.modPow(t.e,t.n);if(!t.p||!t.q)return r.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(tt.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(tt.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new tt(K.util.bytesToHex(K.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(tt.ONE));r=r.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=r.mod(t.p).modPow(t.dP,t.p),s=r.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};q.rsa.encrypt=function(r,t,e){var n=e,i,s=Math.ceil(t.n.bitLength()/8);e!==!1&&e!==!0?(n=e===2,i=Wm(r,t,e)):(i=K.util.createBuffer(),i.putBytes(r));for(var o=new tt(i.toHex(),16),a=Ym(o,t,n),c=a.toString(16),l=K.util.createBuffer(),u=s-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(K.util.hexToBytes(c)),l.getBytes()};q.rsa.decrypt=function(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8);if(r.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=r.length,s.expected=i,s}var o=new tt(K.util.createBuffer(r).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Ym(o,t,e),c=a.toString(16),l=K.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(K.util.hexToBytes(c)),n!==!1?ga(l.getBytes(),t,e):l.getBytes()};q.rsa.createKeyPairGenerationState=function(r,t,e){typeof r=="string"&&(r=parseInt(r,10)),r=r||2048,e=e||{};var n=e.prng||K.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),l=0;l<a.length;++l)a[l]=c.charCodeAt(l)}},s=e.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:r,rng:i,eInt:t||65537,e:new tt(null),p:null,q:null,qBits:r>>1,pBits:r-(r>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};q.rsa.stepKeyPairGenerationState=function(r,t){"algorithm"in r||(r.algorithm="PRIMEINC");var e=new tt(null);e.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;r.keys===null&&(t<=0||a<t);){if(r.state===0){var c=r.p===null?r.pBits:r.qBits,l=c-1;r.pqState===0?(r.num=new tt(c,r.rng),r.num.testBit(l)||r.num.bitwiseTo(tt.ONE.shiftLeft(l),i,r.num),r.num.dAddOffset(31-r.num.mod(e).byteValue(),0),n=0,++r.pqState):r.pqState===1?r.num.bitLength()>c?r.pqState=0:r.num.isProbablePrime(p_(r.num.bitLength()))?++r.pqState:r.num.dAddOffset(o_[n++%8],0):r.pqState===2?r.pqState=r.num.subtract(tt.ONE).gcd(r.e).compareTo(tt.ONE)===0?3:0:r.pqState===3&&(r.pqState=0,r.p===null?r.p=r.num:r.q=r.num,r.p!==null&&r.q!==null&&++r.state,r.num=null)}else if(r.state===1)r.p.compareTo(r.q)<0&&(r.num=r.p,r.p=r.q,r.q=r.num),++r.state;else if(r.state===2)r.p1=r.p.subtract(tt.ONE),r.q1=r.q.subtract(tt.ONE),r.phi=r.p1.multiply(r.q1),++r.state;else if(r.state===3)r.phi.gcd(r.e).compareTo(tt.ONE)===0?++r.state:(r.p=null,r.q=null,r.state=0);else if(r.state===4)r.n=r.p.multiply(r.q),r.n.bitLength()===r.bits?++r.state:(r.q=null,r.state=0);else if(r.state===5){var u=r.e.modInverse(r.phi);r.keys={privateKey:q.rsa.setPrivateKey(r.n,r.e,u,r.p,r.q,u.mod(r.p1),u.mod(r.q1),r.q.modInverse(r.p)),publicKey:q.rsa.setPublicKey(r.n,r.e)}}o=+new Date,a+=o-s,s=o}return r.keys!==null};q.rsa.generateKeyPair=function(r,t,e,n){if(arguments.length===1?typeof r=="object"?(e=r,r=void 0):typeof r=="function"&&(n=r,r=void 0):arguments.length===2?typeof r=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(e=t,t=void 0):(e=r,n=t,r=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof e=="function"&&(n=e,e=void 0):(n=e,e=t,t=void 0)),e=e||{},r===void 0&&(r=e.bits||2048),t===void 0&&(t=e.e||65537),!K.options.usePureJavaScript&&!e.prng&&r>=256&&r<=16384&&(t===65537||t===3)){if(n){if($m("generateKeyPair"))return Lu.generateKeyPair("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,l){if(a)return n(a);n(null,{privateKey:q.privateKeyFromPem(l),publicKey:q.publicKeyFromPem(c)})});if(zm("generateKey")&&zm("exportKey"))return Oe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:Gm(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Oe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(x.fromDer(K.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(Hm("generateKey")&&Hm("exportKey")){var i=Oe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:Gm(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,l=Oe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);l.oncomplete=function(u){var f=u.target.result,h=q.privateKeyFromAsn1(x.fromDer(K.util.createBuffer(f)));n(null,{privateKey:h,publicKey:q.setRsaPublicKey(h.n,h.e)})},l.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if($m("generateKeyPairSync")){var s=Lu.generateKeyPairSync("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(s.privateKey),publicKey:q.publicKeyFromPem(s.publicKey)}}}var o=q.rsa.createKeyPairGenerationState(r,t,e);if(!n)return q.rsa.stepKeyPairGenerationState(o,0),o.keys;d_(o,e,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(r,t){var e={n:r,e:t};return e.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,l){return Wm(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return K.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,e,!0);return q.rsa.encrypt(o,e,!0)},e.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,l){l=ga(l,e,!0);var u=x.fromDer(l,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!x.validate(u,f_,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=x.derToOid(f.algorithmIdentifier);if(!(p===K.oids.md2||p===K.oids.md5||p===K.oids.sha1||p===K.oids.sha224||p===K.oids.sha256||p===K.oids.sha384||p===K.oids.sha512||p===K.oids["sha512-224"]||p===K.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===K.oids.md2||p===K.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,l){return l=ga(l,e,!0),c===l}});var a=q.rsa.decrypt(i,e,!0,!1);return s.verify(n,a,e.n.bitLength())},e};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(r,t,e,n,i,s,o,a){var c={n:r,e:t,d:e,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(l,u,f){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var h=q.rsa.decrypt(l,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:ga};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(d,p){return K.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(h,c,!1)},c.sign=function(l,u){var f=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:h_},f=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return l}},f=1);var h=u.encode(l,c.n.bitLength());return q.rsa.encrypt(h,c,f)},c};q.wrapRsaPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(q.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,x.toDer(r).getBytes())])};q.privateKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,a_,t,e)&&(r=x.fromDer(K.util.createBuffer(t.privateKey))),t={},e=[],!x.validate(r,c_,t,e)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=e,n}var i,s,o,a,c,l,u,f;return i=K.util.createBuffer(t.privateKeyModulus).toHex(),s=K.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=K.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=K.util.createBuffer(t.privateKeyPrime1).toHex(),c=K.util.createBuffer(t.privateKeyPrime2).toHex(),l=K.util.createBuffer(t.privateKeyExponent1).toHex(),u=K.util.createBuffer(t.privateKeyExponent2).toHex(),f=K.util.createBuffer(t.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new tt(i,16),new tt(s,16),new tt(o,16),new tt(a,16),new tt(c,16),new tt(l,16),new tt(u,16),new tt(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.e)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.d)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.p)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.q)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.dP)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.dQ)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.qInv))])};q.publicKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,u_,t,e)){var n=x.derToOid(t.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}r=t.rsaPublicKey}if(e=[],!x.validate(r,l_,t,e)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=e,i}var s=K.util.createBuffer(t.publicKeyModulus).toHex(),o=K.util.createBuffer(t.publicKeyExponent).toHex();return q.setRsaPublicKey(new tt(s,16),new tt(o,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(q.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(r)])])};q.publicKeyToRSAPublicKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,pr(r.e))])};function Wm(r,t,e){var n=K.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(r.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=r.length,s.max=i-11,s}n.putByte(0),n.putByte(e);var o=i-3-r.length,a;if(e===0||e===1){a=e===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var l=0,u=K.random.getBytes(o),c=0;c<o;++c)a=u.charCodeAt(c),a===0?++l:n.putByte(a);o=l}return n.putByte(0),n.putBytes(r),n}function ga(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8),s=K.util.createBuffer(r),o=s.getByte(),a=s.getByte();if(o!==0||e&&a!==0&&a!==1||!e&&a!=2||e&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var l=0;l<c;++l)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 u=s.getByte();if(u!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function d_(r,t,e){typeof t=="function"&&(e=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){s(r.pBits,function(a,c){if(a)return e(a);if(r.p=c,r.q!==null)return o(a,r.q);s(r.qBits,o)})}function s(a,c){K.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return e(a);if(r.q=c,r.p.compareTo(r.q)<0){var l=r.p;r.p=r.q,r.q=l}if(r.p.subtract(tt.ONE).gcd(r.e).compareTo(tt.ONE)!==0){r.p=null,i();return}if(r.q.subtract(tt.ONE).gcd(r.e).compareTo(tt.ONE)!==0){r.q=null,s(r.qBits,o);return}if(r.p1=r.p.subtract(tt.ONE),r.q1=r.q.subtract(tt.ONE),r.phi=r.p1.multiply(r.q1),r.phi.gcd(r.e).compareTo(tt.ONE)!==0){r.p=r.q=null,i();return}if(r.n=r.p.multiply(r.q),r.n.bitLength()!==r.bits){r.q=null,s(r.qBits,o);return}var u=r.e.modInverse(r.phi);r.keys={privateKey:q.rsa.setPrivateKey(r.n,r.e,u,r.p,r.q,u.mod(r.p1),u.mod(r.q1),r.q.modInverse(r.p)),publicKey:q.rsa.setPublicKey(r.n,r.e)},e(null,r.keys)}}function pr(r){var t=r.toString(16);t[0]>="8"&&(t="00"+t);var e=K.util.hexToBytes(t);return e.length>1&&(e.charCodeAt(0)===0&&!(e.charCodeAt(1)&128)||e.charCodeAt(0)===255&&(e.charCodeAt(1)&128)===128)?e.substr(1):e}function p_(r){return r<=100?27:r<=150?18:r<=200?15:r<=250?12:r<=300?9:r<=350?8:r<=400?7:r<=500?6:r<=600?5:r<=800?4:r<=1250?3:2}function $m(r){return K.util.isNodejs&&typeof Lu[r]=="function"}function zm(r){return typeof Oe.globalScope<"u"&&typeof Oe.globalScope.crypto=="object"&&typeof Oe.globalScope.crypto.subtle=="object"&&typeof Oe.globalScope.crypto.subtle[r]=="function"}function Hm(r){return typeof Oe.globalScope<"u"&&typeof Oe.globalScope.msCrypto=="object"&&typeof Oe.globalScope.msCrypto.subtle=="object"&&typeof Oe.globalScope.msCrypto.subtle[r]=="function"}function Gm(r){for(var t=K.util.hexToBytes(r.toString(16)),e=new Uint8Array(t.length),n=0;n<t.length;++n)e[n]=t.charCodeAt(n);return e}});var ey=I((Q4,ty)=>{var P=ft();aa();gs();om();Mn();ra();_u();dm();ws();Am();wa();$t();typeof Xm>"u"&&(Xm=P.jsbn.BigInteger);var Xm,v=P.asn1,H=P.pki=P.pki||{};ty.exports=H.pbe=P.pbe=P.pbe||{};var Kn=H.oids,m_={name:"EncryptedPrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},y_={name:"PBES2Algorithms",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},g_={name:"pkcs-12PbeParams",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"iterations"}]};H.encryptPrivateKeyInfo=function(r,t,e){e=e||{},e.saltSize=e.saltSize||8,e.count=e.count||2048,e.algorithm=e.algorithm||"aes128",e.prfAlgorithm=e.prfAlgorithm||"sha1";var n=P.random.getBytesSync(e.saltSize),i=e.count,s=v.integerToDer(i),o,a,c;if(e.algorithm.indexOf("aes")===0||e.algorithm==="des"){var l,u,f;switch(e.algorithm){case"aes128":o=16,l=16,u=Kn["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":o=24,l=16,u=Kn["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":o=32,l=16,u=Kn["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":o=8,l=8,u=Kn.desCBC,f=P.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=e.algorithm,h}var d="hmacWith"+e.prfAlgorithm.toUpperCase(),p=jm(d),m=P.pkcs5.pbkdf2(t,n,i,o,p),y=P.random.getBytesSync(l),g=f(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes();var E=w_(n,s,o,d);a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Kn.pkcs5PBES2).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Kn.pkcs5PBKDF2).getBytes()),E]),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(u).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,y)])])])}else if(e.algorithm==="3des"){o=24;var b=new P.util.ByteBuffer(n),m=H.pbe.generatePkcs12Key(t,b,1,i,o),y=H.pbe.generatePkcs12Key(t,b,2,i,o),g=P.des.createEncryptionCipher(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes(),a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Kn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,n),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=e.algorithm,h}var O=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[a,v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,c)]);return O};H.decryptPrivateKeyInfo=function(r,t){var e=null,n={},i=[];if(!v.validate(r,m_,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=v.derToOid(n.encryptionOid),a=H.pbe.getCipher(o,n.encryptionParams,t),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(e=v.fromDer(a.output)),e};H.encryptedPrivateKeyToPem=function(r,t){var e={type:"ENCRYPTED PRIVATE KEY",body:v.toDer(r).getBytes()};return P.pem.encode(e,{maxline:t})};H.encryptedPrivateKeyFromPem=function(r){var t=P.pem.decode(r)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var e=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw e.headerType=t.type,e}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return v.fromDer(t.body)};H.encryptRsaPrivateKey=function(r,t,e){if(e=e||{},!e.legacy){var n=H.wrapRsaPrivateKey(H.privateKeyToAsn1(r));return n=H.encryptPrivateKeyInfo(n,t,e),H.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(e.algorithm){case"aes128":i="AES-128-CBC",o=16,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+e.algorithm+'".');throw c.algorithm=e.algorithm,c}var l=P.pbe.opensslDeriveBytes(t,s.substr(0,8),o),u=a(l);u.start(s),u.update(v.toDer(H.privateKeyToAsn1(r))),u.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(s).toUpperCase()},body:u.output.getBytes()};return P.pem.encode(f)};H.decryptRsaPrivateKey=function(r,t){var e=null,n=P.pem.decode(r)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=P.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=P.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=P.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return P.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(t,a.substr(0,8),s),l=o(c);if(l.start(a),l.update(P.util.createBuffer(n.body)),l.finish())e=l.output.getBytes();else return e}else e=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?e=H.decryptPrivateKeyInfo(v.fromDer(e),t):e=v.fromDer(e),e!==null&&(e=H.privateKeyFromAsn1(e)),e};H.pbe.generatePkcs12Key=function(r,t,e,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');s=P.md.sha1.create()}var c=s.digestLength,l=s.blockLength,u=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(r!=null){for(a=0;a<r.length;a++)f.putInt16(r.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=t.length(),p=new P.util.ByteBuffer;p.fillWithByte(e,l);var m=l*Math.ceil(d/l),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%d));var g=l*Math.ceil(h/l),E=new P.util.ByteBuffer;for(a=0;a<g;a++)E.putByte(f.at(a%h));var b=y;b.putBuffer(E);for(var O=Math.ceil(i/c),B=1;B<=O;B++){var D=new P.util.ByteBuffer;D.putBytes(p.bytes()),D.putBytes(b.bytes());for(var X=0;X<n;X++)s.start(),s.update(D.getBytes()),D=s.digest();var J=new P.util.ByteBuffer;for(a=0;a<l;a++)J.putByte(D.at(a%c));var Zt=Math.ceil(d/l)+Math.ceil(h/l),Ve=new P.util.ByteBuffer;for(o=0;o<Zt;o++){var Ee=new P.util.ByteBuffer(b.getBytes(l)),le=511;for(a=J.length()-1;a>=0;a--)le=le>>8,le+=J.at(a)+Ee.at(a),Ee.setAt(a,le&255);Ve.putBuffer(Ee)}b=Ve,u.putBuffer(D)}return u.truncate(u.length()-i),u};H.pbe.getCipher=function(r,t,e){switch(r){case H.oids.pkcs5PBES2:return H.pbe.getCipherForPBES2(r,t,e);case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case H.oids["pbewithSHAAnd40BitRC2-CBC"]:return H.pbe.getCipherForPKCS12PBE(r,t,e);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=r,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};H.pbe.getCipherForPBES2=function(r,t,e){var n={},i=[];if(!v.validate(t,y_,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(r=v.derToOid(n.kdfOid),r!==H.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=r,s.supportedOids=["pkcs5PBKDF2"],s}if(r=v.derToOid(n.encOid),r!==H.oids["aes128-CBC"]&&r!==H.oids["aes192-CBC"]&&r!==H.oids["aes256-CBC"]&&r!==H.oids["des-EDE3-CBC"]&&r!==H.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=r,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,l;switch(H.oids[r]){case"aes128-CBC":c=16,l=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,l=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,l=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,l=P.des.createDecryptionCipher;break;case"desCBC":c=8,l=P.des.createDecryptionCipher;break}var u=Jm(n.prfOid),f=P.pkcs5.pbkdf2(e,o,a,c,u),h=n.encIv,d=l(f);return d.start(h),d};H.pbe.getCipherForPKCS12PBE=function(r,t,e){var n={},i=[];if(!v.validate(t,g_,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,l,u;switch(r){case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,l=8,u=P.des.startDecrypting;break;case H.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,l=8,u=function(m,y){var g=P.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=r,s}var f=Jm(n.prfOid),h=H.pbe.generatePkcs12Key(e,o,1,a,c,f);f.start();var d=H.pbe.generatePkcs12Key(e,o,2,a,l,f);return u(h,d)};H.pbe.opensslDeriveBytes=function(r,t,e,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}t===null&&(t="");for(var i=[Zm(n,r+t)],s=16,o=1;s<e;++o,s+=16)i.push(Zm(n,i[o-1]+r+t));return i.join("").substr(0,e)};function Zm(r,t){return r.start().update(t).digest().getBytes()}function Jm(r){var t;if(!r)t="hmacWithSHA1";else if(t=H.oids[v.derToOid(r)],!t){var e=new Error("Unsupported PRF OID.");throw e.oid=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}return jm(t)}function jm(r){var t=P.md;switch(r){case"hmacWithSHA224":t=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":r=r.substr(8).toLowerCase();break;default:var e=new Error("Unsupported PRF algorithm.");throw e.algorithm=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}if(!t||!(r in t))throw new Error("Unknown hash algorithm: "+r);return t[r].create()}function w_(r,t,e,n){var i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,r),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,P.util.hexToBytes(e.toString(16))),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(H.oids[n]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")])),i}});var fy=I((T8,uy)=>{var At=ft();Mn();$t();var xs=uy.exports=At.sha512=At.sha512||{};At.md.sha512=At.md.algorithms.sha512=xs;var cy=At.sha384=At.sha512.sha384=At.sha512.sha384||{};cy.create=function(){return xs.create("SHA-384")};At.md.sha384=At.md.algorithms.sha384=cy;At.sha512.sha256=At.sha512.sha256||{create:function(){return xs.create("SHA-512/256")}};At.md["sha512/256"]=At.md.algorithms["sha512/256"]=At.sha512.sha256;At.sha512.sha224=At.sha512.sha224||{create:function(){return xs.create("SHA-512/224")}};At.md["sha512/224"]=At.md.algorithms["sha512/224"]=At.sha512.sha224;xs.create=function(r){if(ly||v_(),typeof r>"u"&&(r="SHA-512"),!(r in Vn))throw new Error("Invalid SHA-512 algorithm: "+r);for(var t=Vn[r],e=null,n=At.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(r){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:r.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,l=0;l<c;++l)a.fullMessageLength.push(0);n=At.util.createBuffer(),e=new Array(t.length);for(var l=0;l<t.length;++l)e[l]=t[l].slice(0);return a},a.start(),a.update=function(c,l){l==="utf8"&&(c=At.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=u[1],u[1]=u[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),ay(e,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=At.util.createBuffer();c.putBytes(n.bytes());var l=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=l&a.blockLength-1;c.putBytes(Pu.substr(0,a.blockLength-u));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(e.length),p=0;p<e.length;++p)m[p]=e[p].slice(0);ay(m,i,c);var y=At.util.createBuffer(),g;r==="SHA-512"?g=m.length:r==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||r!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var Pu=null,ly=!1,Nu=null,Vn=null;function v_(){Pu=String.fromCharCode(128),Pu+=At.util.fillString(String.fromCharCode(0),128),Nu=[[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]],Vn={},Vn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Vn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Vn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Vn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],ly=!0}function ay(r,t,e){for(var n,i,s,o,a,c,l,u,f,h,d,p,m,y,g,E,b,O,B,D,X,J,Zt,Ve,Ee,le,ii,lo,Ht,de,V,Nc,kc,Oc,Mc,ih=e.length();ih>=128;){for(Ht=0;Ht<16;++Ht)t[Ht][0]=e.getInt32()>>>0,t[Ht][1]=e.getInt32()>>>0;for(;Ht<80;++Ht)Nc=t[Ht-2],de=Nc[0],V=Nc[1],n=((de>>>19|V<<13)^(V>>>29|de<<3)^de>>>6)>>>0,i=((de<<13|V>>>19)^(V<<3|de>>>29)^(de<<26|V>>>6))>>>0,Oc=t[Ht-15],de=Oc[0],V=Oc[1],s=((de>>>1|V<<31)^(de>>>8|V<<24)^de>>>7)>>>0,o=((de<<31|V>>>1)^(de<<24|V>>>8)^(de<<25|V>>>7))>>>0,kc=t[Ht-7],Mc=t[Ht-16],V=i+kc[1]+o+Mc[1],t[Ht][0]=n+kc[0]+s+Mc[0]+(V/4294967296>>>0)>>>0,t[Ht][1]=V>>>0;for(m=r[0][0],y=r[0][1],g=r[1][0],E=r[1][1],b=r[2][0],O=r[2][1],B=r[3][0],D=r[3][1],X=r[4][0],J=r[4][1],Zt=r[5][0],Ve=r[5][1],Ee=r[6][0],le=r[6][1],ii=r[7][0],lo=r[7][1],Ht=0;Ht<80;++Ht)l=((X>>>14|J<<18)^(X>>>18|J<<14)^(J>>>9|X<<23))>>>0,u=((X<<18|J>>>14)^(X<<14|J>>>18)^(J<<23|X>>>9))>>>0,f=(Ee^X&(Zt^Ee))>>>0,h=(le^J&(Ve^le))>>>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|b&(m^g))>>>0,p=(y&E|O&(y^E))>>>0,V=lo+u+h+Nu[Ht][1]+t[Ht][1],n=ii+l+f+Nu[Ht][0]+t[Ht][0]+(V/4294967296>>>0)>>>0,i=V>>>0,V=c+p,s=a+d+(V/4294967296>>>0)>>>0,o=V>>>0,ii=Ee,lo=le,Ee=Zt,le=Ve,Zt=X,Ve=J,V=D+i,X=B+n+(V/4294967296>>>0)>>>0,J=V>>>0,B=b,D=O,b=g,O=E,g=m,E=y,V=i+o,m=n+s+(V/4294967296>>>0)>>>0,y=V>>>0;V=r[0][1]+y,r[0][0]=r[0][0]+m+(V/4294967296>>>0)>>>0,r[0][1]=V>>>0,V=r[1][1]+E,r[1][0]=r[1][0]+g+(V/4294967296>>>0)>>>0,r[1][1]=V>>>0,V=r[2][1]+O,r[2][0]=r[2][0]+b+(V/4294967296>>>0)>>>0,r[2][1]=V>>>0,V=r[3][1]+D,r[3][0]=r[3][0]+B+(V/4294967296>>>0)>>>0,r[3][1]=V>>>0,V=r[4][1]+J,r[4][0]=r[4][0]+X+(V/4294967296>>>0)>>>0,r[4][1]=V>>>0,V=r[5][1]+Ve,r[5][0]=r[5][0]+Zt+(V/4294967296>>>0)>>>0,r[5][1]=V>>>0,V=r[6][1]+le,r[6][0]=r[6][0]+Ee+(V/4294967296>>>0)>>>0,r[6][1]=V>>>0,V=r[7][1]+lo,r[7][0]=r[7][0]+ii+(V/4294967296>>>0)>>>0,r[7][1]=V>>>0,ih-=128}}});var Yg=I(($3,Gg)=>{function GS(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}Gg.exports=GS});var tw=I(Zs=>{(function(){var r,t,e,n,i,s,o,a;a=function(c){var l,u,f,h;return l=(c&255<<24)>>>24,u=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[l,u,f,h].join(".")},o=function(c){var l,u,f,h,d,p;for(l=[],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=t(c),d=p[0],u=p[1],c=c.substring(u),l.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(l.length){case 1:if(l[0]>4294967295)throw new Error("Invalid IP");return l[0]>>>0;case 2:if(l[0]>255||l[1]>16777215)throw new Error("Invalid IP");return(l[0]<<24|l[1])>>>0;case 3:if(l[0]>255||l[1]>255||l[2]>65535)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2])>>>0;case 4:if(l[0]>255||l[1]>255||l[2]>255||l[3]>255)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2]<<8|l[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),s=e("a"),i=e("A"),t=function(c){var l,u,f,h,d;for(h=0,l=10,u="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,l=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,l=8,u="7")),d=f;f<c.length;){if("0"<=c[f]&&c[f]<=u)h=h*l+(e(c[f])-n)>>>0;else if(l===16)if("a"<=c[f]&&c[f]<="f")h=h*l+(10+e(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*l+(10+e(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]},r=function(){function c(l,u){var f,h,d,p;if(typeof l!="string")throw new Error("Missing `net' parameter");if(u||(p=l.split("/",2),l=p[0],u=p[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=o(u)}catch(m){throw f=m,new Error("Invalid mask: "+u)}for(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(u||u===0)this.bitmask=parseInt(u,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(l)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+l)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(l){return typeof l=="string"&&(l.indexOf("/")>0||l.split(".").length!==4)&&(l=new c(l)),l instanceof c?this.contains(l.base)&&this.contains(l.broadcast||l.last):(o(l)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(l){return l==null&&(l=1),new c(a(this.netLong+this.size*l),this.mask)},c.prototype.forEach=function(l){var u,f,h;for(h=o(this.first),f=o(this.last),u=0;h<=f;)l(a(h),h,u),u++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Zs.ip2long=o,Zs.long2ip=a,Zs.Netmask=r}).call(Zs)});var iw=I((nw,Xa)=>{(function(r){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",e={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${t}\\.${t}\\.${t}\\.${t}(${s})?$`,"i")};function c(d,p){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let m=0,y=-1,g=(d.match(a.zoneIndex)||[])[0],E,b;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(b=p-m,E=":";b--;)E+="0:";return d=d.replace("::",E),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),p=function(){let O=d.split(":"),B=[];for(let D=0;D<O.length;D++)B.push(parseInt(O[D],16));return B}(),{parts:p,zoneId:g}}function l(d,p,m,y){if(d.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,E;for(;y>0;){if(E=m-y,E<0&&(E=0),d[g]>>E!==p[g]>>E)return!1;y-=m,g+=1}return!0}function u(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,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 l(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,E,b;for(g=3;g>=0;g-=1)if(E=this.octets[g],E in y){if(b=y[E],m&&b!==0)return null;b!==8&&(m=!0),p+=b}else return null;return 32-p},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=[],E=0;for(;E<4;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},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,E;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},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(e.fourOctet))return function(){let g=p.slice(1,6),E=[];for(let b=0;b<g.length;b++)m=g[b],E.push(u(m));return E}();if(p=d.match(e.longValue)){if(y=u(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],E;for(E=0;E<=24;E+=8)g.push(y>>E&255);return g}().reverse()}else return(p=d.match(e.twoOctet))?function(){let g=p.slice(1,4),E=[];if(y=u(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return E.push(u(g[0])),E.push(y>>16&255),E.push(y>>8&255),E.push(y&255),E}():(p=d.match(e.threeOctet))?function(){let g=p.slice(1,5),E=[];if(y=u(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return E.push(u(g[0])),E.push(u(g[1])),E.push(y>>8&255),E.push(y&255),E}():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]]},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 l(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,E;for(let b=7;b>=0;b-=1)if(g=this.parts[b],g in y){if(E=y[g],m&&E!==0)return null;E!==16&&(m=!0),p+=E}else return null;return 128-p},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,E;for(;E=p.exec(m);)E[0].length>g&&(y=E.index,g=E[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},d.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<16;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},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,E;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},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,E,b;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))&&(b=y[6]||"",p=c(y[1].slice(0,-1)+b,6),p.parts)){for(E=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<E.length;m++)if(g=E[m],!(0<=g&&g<=255))return null;return p.parts.push(E[0]<<8|E[1]),p.parts.push(E[2]<<8|E[3]),{parts:p.parts,zoneId:p.zoneId}}return null},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,E,b;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(E=p[g],E[0]&&!(E[0]instanceof Array)&&(E=[E]),y=0;y<E.length;y++)if(b=E[y],d.kind()===b[0].kind()&&d.match.apply(d,b))return g}return m},typeof Xa<"u"&&Xa.exports?Xa.exports=h:r.ipaddr=h})(nw)});var mw=I((YP,bf)=>{"use strict";var iA=Object.prototype.hasOwnProperty,he="~";function js(){}Object.create&&(js.prototype=Object.create(null),new js().__proto__||(he=!1));function sA(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function pw(r,t,e,n,i){if(typeof e!="function")throw new TypeError("The listener must be a function");var s=new sA(e,n||r,i),o=he?he+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],s]:r._events[o].push(s):(r._events[o]=s,r._eventsCount++),r}function lc(r,t){--r._eventsCount===0?r._events=new js:delete r._events[t]}function ce(){this._events=new js,this._eventsCount=0}ce.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)iA.call(e,n)&&t.push(he?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};ce.prototype.listeners=function(t){var e=he?he+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};ce.prototype.listenerCount=function(t){var e=he?he+t:t,n=this._events[e];return n?n.fn?1:n.length:0};ce.prototype.emit=function(t,e,n,i,s,o){var a=he?he+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,i),!0;case 5:return c.fn.call(c.context,e,n,i,s),!0;case 6:return c.fn.call(c.context,e,n,i,s,o),!0}for(f=1,u=new Array(l-1);f<l;f++)u[f-1]=arguments[f];c.fn.apply(c.context,u)}else{var h=c.length,d;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),l){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,e);break;case 3:c[f].fn.call(c[f].context,e,n);break;case 4:c[f].fn.call(c[f].context,e,n,i);break;default:if(!u)for(d=1,u=new Array(l-1);d<l;d++)u[d-1]=arguments[d];c[f].fn.apply(c[f].context,u)}}return!0};ce.prototype.on=function(t,e,n){return pw(this,t,e,n,!1)};ce.prototype.once=function(t,e,n){return pw(this,t,e,n,!0)};ce.prototype.removeListener=function(t,e,n,i){var s=he?he+t:t;if(!this._events[s])return this;if(!e)return lc(this,s),this;var o=this._events[s];if(o.fn)o.fn===e&&(!i||o.once)&&(!n||o.context===n)&&lc(this,s);else{for(var a=0,c=[],l=o.length;a<l;a++)(o[a].fn!==e||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:lc(this,s)}return this};ce.prototype.removeAllListeners=function(t){var e;return t?(e=he?he+t:t,this._events[e]&&lc(this,e)):(this._events=new js,this._eventsCount=0),this};ce.prototype.off=ce.prototype.removeListener;ce.prototype.addListener=ce.prototype.on;ce.prefixed=he;ce.EventEmitter=ce;typeof bf<"u"&&(bf.exports=ce)});var kw=I((uk,Nw)=>{"use strict";Nw.exports=Pw;var hA=Uc(),xn=Pw.prototype,dA=new Date%1e9;function pA(){return(Math.random()*1e9>>>0)+dA++}function Pw(r){r=r||{},this.id=r.id||pA(),this.max=r.max||1/0,this.items=r.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(r.lastModified||new Date);for(var t,e,n=this.items.length;n--;)t=this.items[n],e=new Date(t.expires)-new Date,this._lookup[t.key]=t,e>0?this.expire(t.key,e):e<=0&&this.delete(t.key)}xn.has=function(r){return r in this._lookup};xn.get=function(r){if(!this.has(r))return null;var t=this._lookup[r];return t.refresh&&this.expire(r,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};xn.meta=function(r){if(!this.has(r))return null;var t=this._lookup[r];return"meta"in t?t.meta:null};xn.set=function(r,t,e){var n=this._lookup[r],i=this._lookup[r]={key:r,value:t};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),e&&("ttl"in e&&this.expire(r,e.ttl),"meta"in e&&(i.meta=e.meta),e.refresh&&(i.refresh=e.ttl)),this};xn.delete=function(r){var t=this._lookup[r];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[r],this.size--,this):!1};xn.expire=function(r,t){var e=t||0,n=this._lookup[r];if(!n)return this;if(typeof e=="string"&&(e=hA(t)),typeof e!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),e),n.expires=Number(new Date)+e,this};xn.clear=function(){for(var r=this.items.length;r--;)this.delete(this.items[r].key);return this};xn.toJSON=function(){for(var r=new Array(this.items.length),t,e=r.length;e--;)t=this.items[e],r[e]={key:t.key,meta:t.meta,value:t.value,expires:t.expires,refresh:t.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:r}}});var th=I((Vk,jf)=>{function zw(r){let t=new globalThis.AbortController;function e(){t.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",e)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){e();break}n.addEventListener("abort",e)}return t.signal}jf.exports=zw;jf.exports.anySignal=zw});var Gw=I(($k,Hw)=>{Hw.exports=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var Qw=I((Hk,Ww)=>{var Yw=Gw();Ww.exports=class{constructor(t){this.hwm=t||16,this.head=new Yw(this.hwm),this.tail=this.head}push(t){if(!this.head.push(t)){let e=this.head;this.head=e.next=new Yw(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next){let e=this.tail.next;return this.tail.next=null,this.tail=e,this.tail.shift()}return t}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var Zw=I((Gk,Xw)=>{"use strict";var xA=()=>{let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r};Xw.exports=xA});var eE=I((Wk,tE)=>{var Jw=Qw(),jw=Zw();tE.exports=class{constructor(){this._buffer=new Jw,this._waitingConsumers=new Jw}push(t){let{promise:e,resolve:n}=jw();return this._buffer.push({chunk:t,resolve:n}),this._consume(),e}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let t=this._waitingConsumers.shift(),e=this._buffer.shift();t.resolve(e.chunk),e.resolve()}}shift(){let{promise:t,resolve:e}=jw();return this._waitingConsumers.push({resolve:e}),this._consume(),t}isEmpty(){return this._buffer.isEmpty()}}});var SA={};se(SA,{createLibp2p:()=>_A});var tr=T(Fc(),1);var zc={};se(zc,{base58btc:()=>Ut,base58flickr:()=>LE});function IE(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var s=r.charAt(i),o=s.charCodeAt(0);if(e[o]!==255)throw new TypeError(s+" is ambiguous");e[o]=i}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,E=p.length;g!==E&&p[g]===0;)g++,m++;for(var b=(E-g)*u+1>>>0,O=new Uint8Array(b);g!==E;){for(var B=p[g],D=0,X=b-1;(B!==0||D<y)&&X!==-1;X--,D++)B+=256*O[X]>>>0,O[X]=B%a>>>0,B=B/a>>>0;if(B!==0)throw new Error("Non-zero carry");y=D,g++}for(var J=b-y;J!==b&&O[J]===0;)J++;for(var Zt=c.repeat(m);J<b;++J)Zt+=r.charAt(O[J]);return Zt}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 E=(p.length-m)*l+1>>>0,b=new Uint8Array(E);p[m];){var O=e[p.charCodeAt(m)];if(O===255)return;for(var B=0,D=E-1;(O!==0||B<g)&&D!==-1;D--,B++)O+=a*b[D]>>>0,b[D]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");g=B,m++}if(p[m]!==" "){for(var X=E-g;X!==E&&b[X]===0;)X++;for(var J=new Uint8Array(y+(E-X)),Zt=y;X!==E;)J[Zt++]=b[X++];return J}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var TE=IE,CE=TE,lh=CE;var CA=new Uint8Array(0);var uh=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},vr=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var fh=r=>new TextEncoder().encode(r),hh=r=>new TextDecoder().decode(r);var Kc=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Vc=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return ph(this,t)}},qc=class{constructor(t){this.decoders=t}or(t){return ph(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ph=(r,t)=>new qc({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),$c=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Kc(t,e,n),this.decoder=new Vc(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},ci=({name:r,prefix:t,encode:e,decode:n})=>new $c(r,t,e,n),zr=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=lh(e,t);return ci({prefix:r,name:t,encode:n,decode:s=>vr(i(s))})},BE=(r,t,e,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let o=new Uint8Array(s*e/8|0),a=0,c=0,l=0;for(let u=0;u<s;++u){let f=i[r[u]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|f,a+=e,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},DE=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,s+=t[i&a>>o];if(o&&(s+=t[i&a<<e-o]),n)for(;s.length*e&7;)s+="=";return s},Pt=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>ci({prefix:t,name:r,encode(i){return DE(i,n,e)},decode(i){return BE(i,n,e,r)}});var Ut=zr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),LE=zr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Hc={};se(Hc,{base32:()=>ve,base32hex:()=>OE,base32hexpad:()=>UE,base32hexpadupper:()=>FE,base32hexupper:()=>ME,base32pad:()=>NE,base32padupper:()=>kE,base32upper:()=>PE,base32z:()=>KE});var ve=Pt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),PE=Pt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),NE=Pt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),kE=Pt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),OE=Pt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ME=Pt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),UE=Pt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),FE=Pt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),KE=Pt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Gc={};se(Gc,{base64:()=>bn,base64pad:()=>VE,base64url:()=>qE,base64urlpad:()=>$E});var bn=Pt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),VE=Pt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),qE=Pt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),$E=Pt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});tr.default.formatters.b=r=>r==null?"undefined":Ut.baseEncode(r);tr.default.formatters.t=r=>r==null?"undefined":ve.baseEncode(r);tr.default.formatters.m=r=>r==null?"undefined":bn.baseEncode(r);tr.default.formatters.p=r=>r==null?"undefined":r.toString();tr.default.formatters.c=r=>r==null?"undefined":r.toString();tr.default.formatters.k=r=>r==null?"undefined":r.toString();function U(r){return Object.assign((0,tr.default)(r),{error:(0,tr.default)(`${r}:error`),trace:(0,tr.default)(`${r}:trace`)})}var _n=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},br,Nt=class extends EventTarget{constructor(){super(...arguments),br.set(this,new Map)}listenerCount(t){let e=_n(this,br,"f").get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=_n(this,br,"f").get(t);i==null&&(i=[],_n(this,br,"f").set(t,i)),i.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let i=_n(this,br,"f").get(t);i!=null&&(i=i.filter(({callback:s})=>s!==e),_n(this,br,"f").set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=_n(this,br,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),_n(this,br,"f").set(t.type,n)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new $(t,e))}};br=new WeakMap;var Yc=class extends Event{constructor(t,e){super(t,e),this.detail=e?.detail}},$=globalThis.CustomEvent??Yc;function _r(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}var po=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",l=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,t);if(!Number.isNaN(h))return h});if(u===void 0)break;if(s*=t,s+=u,s>l||(o+=1,e!==void 0&&o>e))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let i=n*2;if(n<e.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return e[i]=o[0],e[i+1]=o[1],e[i+2]=o[2],e[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];e[i]=s>>8,e[i+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,i]=t(e);if(n===16)return e;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=t(s.subarray(0,o));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var mh=45,zE=15,li=new po;function yh(r){if(!(r.length>zE))return li.new(r).parseWith(()=>li.readIPv4Addr())}function gh(r){if(!(r.length>mh))return li.new(r).parseWith(()=>li.readIPv6Addr())}function wh(r){if(!(r.length>mh))return li.new(r).parseWith(()=>li.readIPAddr())}function Eh(r){return!!yh(r)}function xh(r){return!!gh(r)}function ui(r){return!!wh(r)}var Wc={};se(Wc,{identity:()=>HE});var HE=ci({prefix:"\0",name:"identity",encode:r=>hh(r),decode:r=>fh(r)});var Qc={};se(Qc,{base2:()=>GE});var GE=Pt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xc={};se(Xc,{base8:()=>YE});var YE=Pt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Zc={};se(Zc,{base10:()=>WE});var WE=zr({prefix:"9",name:"base10",alphabet:"0123456789"});var Jc={};se(Jc,{base16:()=>QE,base16upper:()=>XE});var QE=Pt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),XE=Pt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var jc={};se(jc,{base36:()=>ZE,base36upper:()=>JE});var ZE=zr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),JE=zr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var tl={};se(tl,{base256emoji:()=>n1});var vh=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}"),jE=vh.reduce((r,t,e)=>(r[e]=t,r),[]),t1=vh.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function e1(r){return r.reduce((t,e)=>(t+=jE[e],t),"")}function r1(r){let t=[];for(let e of r){let n=t1[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var n1=ci({prefix:"\u{1F680}",name:"base256emoji",encode:e1,decode:r1});var il={};se(il,{sha256:()=>oe,sha512:()=>b1});var i1=Sh,bh=128,s1=127,o1=~s1,a1=Math.pow(2,31);function Sh(r,t,e){t=t||[],e=e||0;for(var n=e;r>=a1;)t[e++]=r&255|bh,r/=128;for(;r&o1;)t[e++]=r&255|bh,r>>>=7;return t[e]=r|0,Sh.bytes=e-n+1,t}var c1=el,l1=128,_h=127;function el(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw el.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&_h)<<i:(o&_h)*Math.pow(2,i),i+=7}while(o>=l1);return el.bytes=s-n,e}var u1=Math.pow(2,7),f1=Math.pow(2,14),h1=Math.pow(2,21),d1=Math.pow(2,28),p1=Math.pow(2,35),m1=Math.pow(2,42),y1=Math.pow(2,49),g1=Math.pow(2,56),w1=Math.pow(2,63),E1=function(r){return r<u1?1:r<f1?2:r<h1?3:r<d1?4:r<p1?5:r<m1?6:r<y1?7:r<g1?8:r<w1?9:10},x1={encode:i1,decode:c1,encodingLength:E1},v1=x1,Zi=v1;var Ji=(r,t=0)=>[Zi.decode(r,t),Zi.decode.bytes],fi=(r,t,e=0)=>(Zi.encode(r,t,e),t),hi=r=>Zi.encodingLength(r);var er=(r,t)=>{let e=t.byteLength,n=hi(r),i=n+hi(e),s=new Uint8Array(i+e);return fi(r,s,0),fi(e,s,n),s.set(t,i),new di(r,e,t,s)},Sn=r=>{let t=vr(r),[e,n]=Ji(t),[i,s]=Ji(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new di(e,i,o,t)},Ah=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&uh(r.bytes,e.bytes)}},di=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var nl=({name:r,code:t,encode:e})=>new rl(r,t,e),rl=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?er(this.code,e):e.then(n=>er(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ih=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),oe=nl({name:"sha2-256",code:18,encode:Ih("SHA-256")}),b1=nl({name:"sha2-512",code:19,encode:Ih("SHA-512")});var sl={};se(sl,{identity:()=>Hr});var Th=0,_1="identity",Ch=vr,S1=r=>er(Th,Ch(r)),Hr={code:Th,name:_1,encode:Ch,digest:S1};var aR=new TextEncoder,cR=new TextDecoder;var Bh=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return T1(e,ol(r),t||Ut.encoder);default:return C1(e,ol(r),t||ve.encoder)}};var Dh=new WeakMap,ol=r=>{let t=Dh.get(r);if(t==null){let e=new Map;return Dh.set(r,e),e}return t},xt=class{constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==ji)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==B1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return xt.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=er(t,e);return xt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return xt.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Ah(t.multihash,n.multihash)}toString(t){return Bh(this,t)}toJSON(){return{"/":Bh(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof xt)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:s,bytes:o}=e;return new xt(n,i,s,o||Lh(n,i,s.bytes))}else if(e[D1]===!0){let{version:n,multihash:i,code:s}=e,o=Sn(i);return xt.create(n,s,o)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==ji)throw new Error(`Version 0 CID must use dag-pb (code: ${ji}) block encoding`);return new xt(t,e,n,n.bytes)}case 1:{let i=Lh(t,e,n.bytes);return new xt(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return xt.create(0,ji,t)}static createV1(t,e){return xt.create(1,t,e)}static decode(t){let[e,n]=xt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=xt.inspectBytes(t),n=e.size-e.multihashSize,i=vr(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=i.subarray(e.multihashSize-e.digestSize),o=new di(e.multihashCode,e.digestSize,s,i);return[e.version===0?xt.createV0(o):xt.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[f,h]=Ji(t.subarray(e));return e+=h,f},i=n(),s=ji;if(i===18?(i=0,e=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=e,a=n(),c=n(),l=e+c,u=l-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(t,e){let[n,i]=I1(t,e),s=xt.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ol(s).set(n,t),s}},I1=(r,t)=>{switch(r[0]){case"Q":{let e=t||Ut;return[Ut.prefix,e.decode(`${Ut.prefix}${r}`)]}case Ut.prefix:{let e=t||Ut;return[Ut.prefix,e.decode(r)]}case ve.prefix:{let e=t||ve;return[ve.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},T1=(r,t,e)=>{let{prefix:n}=e;if(n!==Ut.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return i},C1=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let s=e.encode(r);return t.set(n,s),s}else return i},ji=112,B1=18,Lh=(r,t,e)=>{let n=hi(r),i=n+hi(t),s=new Uint8Array(i+e.byteLength);return fi(r,s,0),fi(t,s,n),s.set(e,i),s},D1=Symbol.for("@ipld/js-cid/CID");var Gr={...Wc,...Qc,...Xc,...Zc,...Jc,...Hc,...jc,...zc,...Gc,...tl},wR={...il,...sl};function Rn(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Sr(r=0){return globalThis.Buffer?.alloc!=null?Rn(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function Ar(r=0){return globalThis.Buffer?.allocUnsafe!=null?Rn(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Nh(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ph=Nh("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),al=Nh("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Ar(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),L1={utf8:Ph,"utf-8":Ph,hex:Gr.base16,latin1:al,ascii:al,binary:al,...Gr},yo=L1;function z(r,t="utf8"){let e=yo[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var kh=Eh,P1=xh,cl=function(r){let t=0;if(r=r.toString().trim(),kh(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(P1(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=kh(e[n]),o;s&&(o=cl(e[n]),e[n]=z(o.slice(0,2),"base16")),o!=null&&++n<8&&e.splice(n,0,z(o.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},Oh=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let i=[];for(let s=0;s<e;s++)i.push(r[t+s]);return i.join(".")}if(e===16){let i=[];for(let s=0;s<e;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ts={},ll={},k1=[[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"]];k1.forEach(r=>{let t=O1(...r);ll[t.code]=t,ts[t.name]=t});function O1(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:!!n,path:!!i}}function ot(r){if(typeof r=="number"){if(ll[r]!=null)return ll[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ts[r]!=null)return ts[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var rr=T(go(),1);function F(r,t="utf8"){let e=yo[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Rn(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Ft(r,t){t==null&&(t=r.reduce((i,s)=>i+s.length,0));let e=Ar(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return Rn(e)}function Xh(r,t){switch(ot(r).code){case 4:case 41:return Z1(t);case 42:return Wh(t);case 6:case 273:case 33:case 132:return Jh(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Wh(t);case 421:return ex(t);case 444:return Qh(t);case 445:return Qh(t);case 466:return tx(t);default:return z(t,"base16")}}function Zh(r,t){switch(ot(r).code){case 4:return Gh(t);case 41:return Gh(t);case 42:return Yh(t);case 6:case 273:case 33:case 132:return dl(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Yh(t);case 421:return J1(t);case 444:return rx(t);case 445:return nx(t);case 466:return j1(t);default:return F(t,"base16")}}var hl=Object.values(Gr).map(r=>r.decoder),X1=function(){let r=hl[0].or(hl[1]);return hl.slice(2).forEach(t=>r=r.or(t)),r}();function Gh(r){if(!ui(r))throw new Error("invalid ip address");return cl(r)}function Z1(r){let t=Oh(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!ui(t))throw new Error("invalid ip address");return t}function dl(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Jh(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Yh(r){let t=F(r),e=Uint8Array.from(rr.default.encode(t.length));return Ft([e,t],e.length+t.length)}function Wh(r){let t=rr.default.decode(r);if(r=r.slice(rr.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return z(r)}function J1(r){let t;r[0]==="Q"||r[0]==="1"?t=Sn(Ut.decode(`z${r}`)).bytes:t=xt.parse(r).multihash.bytes;let e=Uint8Array.from(rr.default.encode(t.length));return Ft([e,t],e.length+t.length)}function j1(r){let t=X1.decode(r),e=Uint8Array.from(rr.default.encode(t.length));return Ft([e,t],e.length+t.length)}function tx(r){let t=rr.default.decode(r),e=r.slice(rr.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+z(e,"base64url")}function ex(r){let t=rr.default.decode(r),e=r.slice(rr.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return z(e,"base58btc")}function rx(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=ve.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=dl(n);return Ft([e,i],e.length+i.length)}function nx(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=ve.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=dl(n);return Ft([e,i],e.length+i.length)}function Qh(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=z(t,"base32"),i=Jh(e);return`${n}:${i}`}var pi=T(go(),1);function ix(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let i=e[n],s=ot(i);if(s.size===0){t.push([i]);continue}if(n++,n>=e.length)throw t0("invalid address: "+r);if(s.path===!0){t.push([i,wl(e.slice(n).join("/"))]);break}t.push([i,e[n]])}return t}function sx(r){let t=[];return r.map(e=>{let n=xo(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),wl(t.join("/"))}function ox(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=xo(t);return t.length>1?[e.code,Zh(e.code,t[1])]:[e.code]})}function pl(r){return r.map(t=>{let e=xo(t);return t[1]!=null?[e.code,Xh(e.code,t[1])]:[e.code]})}function ml(r){return Eo(Ft(r.map(t=>{let e=xo(t),n=Uint8Array.from(pi.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=Ft([n,t[1]])),n})))}function yl(r,t){return r.size>0?r.size/8:r.size===0?0:pi.default.decode(t)+(pi.default.decode.bytes??0)}function wo(r){let t=[],e=0;for(;e<r.length;){let n=pi.default.decode(r,e),i=pi.default.decode.bytes??0,s=ot(n),o=yl(s,r.slice(e+i));if(o===0){t.push([n]),e+=i;continue}let a=r.slice(e+i,e+i+o);if(e+=o+i,e>r.length)throw t0("Invalid address Uint8Array: "+z(r,"base16"));t.push([n,a])}return t}function gl(r){let t=wo(r),e=pl(t);return sx(e)}function ax(r){r=wl(r);let t=ix(r),e=ox(t);return ml(e)}function jh(r){return ax(r)}function Eo(r){let t=cx(r);if(t!=null)throw t;return Uint8Array.from(r)}function cx(r){try{wo(r)}catch(t){return t}}function wl(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function t0(r){return new Error("Error parsing address: "+r)}function xo(r){return ot(r[0])}var xl=T(go(),1);var i0=T(ht(),1);function vt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var mi=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},El=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},es,rs,ns,n0,fx=Symbol.for("nodejs.util.inspect.custom"),hx=[ot("dns").code,ot("dns4").code,ot("dns6").code,ot("dnsaddr").code],vl=new Map,s0=Symbol.for("@multiformats/js-multiaddr/multiaddr");function o0(r,t){if(r==null)throw new Error("requires node address object");if(t==null)throw new Error("requires transport protocol");let e,n=r.address;switch(r.family){case 4:e="ip4";break;case 6:if(e="ip6",n.includes("%")){let i=n.split("%");if(i.length!==2)throw Error("Multiple ip6 zones in multiaddr");n=i[0],e=`/ip6zone/${i[1]}/ip6`}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new nr("/"+[e,n,t,r.port].join("/"))}function be(r){return!!r?.[s0]}var nr=class{constructor(t){if(es.set(this,void 0),rs.set(this,void 0),ns.set(this,void 0),this[n0]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=Eo(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=jh(t)}else if(be(t))this.bytes=Eo(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return mi(this,es,"f")==null&&El(this,es,gl(this.bytes),"f"),mi(this,es,"f")}toJSON(){return this.toString()}toOptions(){let t,e,n,i,s="",o=ot("tcp"),a=ot("udp"),c=ot("ip4"),l=ot("ip6"),u=ot("dns6"),f=ot("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(s=`%${p??""}`),hx.includes(d)&&(e=o.name,i=443,n=`${p??""}${s}`,t=d===u.code?6:4),(d===o.code||d===a.code)&&(e=ot(d).name,i=parseInt(p??"")),(d===c.code||d===l.code)&&(e=ot(d).name,n=`${p??""}${s}`,t=d===l.code?6:4);if(t==null||e==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},ot(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let i=xl.default.decode(e,n),s=xl.default.decode.bytes??0,o=ot(i),a=yl(o,e.slice(n+s));n+=a+s,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return mi(this,rs,"f")==null&&El(this,rs,wo(this.bytes),"f"),mi(this,rs,"f")}stringTuples(){return mi(this,ns,"f")==null&&El(this,ns,pl(this.tuples()),"f"),mi(this,ns,"f")}encapsulate(t){return t=new nr(t),new nr(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),i=n.lastIndexOf(e);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new nr(n.slice(0,i))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new nr(ml(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===ts.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?z(Ut.decode(`z${n}`),"base58btc"):z(xt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(e=>ot(e[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return vt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=vl.get(e.name);if(n==null)throw(0,i0.default)(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new nr(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[(es=new WeakMap,rs=new WeakMap,ns=new WeakMap,n0=s0,fx)](){return`Multiaddr(${gl(this.bytes)})`}};function Tt(r){return new nr(r)}async function bl(r){let t=[];for await(let e of r)t.push(e);return t}async function*vo(r,t){yield*(await bl(r)).sort(t)}async function qe(r){for await(let t of r);}async function*De(r,t){for await(let e of r)await t(e)&&(yield e)}async function*bo(r,t){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}var _o=class{async open(){}async close(){}async put(t,e,n){await Promise.reject(new Error(".put is not implemented"))}async get(t,e){return await Promise.reject(new Error(".get is not implemented"))}async has(t,e){return await Promise.reject(new Error(".has is not implemented"))}async delete(t,e){await Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,e={}){for await(let{key:n,value:i}of t)await this.put(n,i,e),yield{key:n,value:i}}async*getMany(t,e={}){for await(let n of t)yield this.get(n,e)}async*deleteMany(t,e={}){for await(let n of t)await this.delete(n,e),yield n}batch(){let t=[],e=[];return{put(n,i){t.push({key:n,value:i})},delete(n){e.push(n)},commit:async n=>{await qe(this.putMany(t,n)),t=[],await qe(this.deleteMany(e,n)),e=[]}}}async*_all(t,e){throw new Error("._all is not implemented")}async*_allKeys(t,e){throw new Error("._allKeys is not implemented")}query(t,e){let n=this._all(t,e);if(t.prefix!=null){let i=t.prefix;n=De(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>De(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>vo(i,s),n)),t.offset!=null){let i=0,s=t.offset;n=De(n,()=>i++>=s)}return t.limit!=null&&(n=bo(n,t.limit)),n}queryKeys(t,e){let n=this._allKeys(t,e);if(t.prefix!=null){let i=t.prefix;n=De(n,s=>s.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>De(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>vo(i,s),n)),t.offset!=null){let i=t.offset,s=0;n=De(n,()=>s++>=i)}return t.limit!=null&&(n=bo(n,t.limit)),n}};var So=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((t,e)=>(e&=63,e<36?t+=e.toString(36):e<62?t+=(e-26).toString(36).toUpperCase():e>62?t+="-":t+="_",t),"");var Rr="/",a0=new TextEncoder().encode(Rr),Ao=a0[0],kt=class{constructor(t,e){if(typeof t=="string")this._buf=F(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Ao)throw new Error("Invalid key")}toString(t="utf8"){return z(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new kt(t.join(Rr))}static random(){return new kt(So().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new kt(t):typeof t.uint8Array=="function"?new kt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=a0),this._buf[0]!==Ao){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Ao,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ao;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let i=0;i<e.length;i++){if(n.length<i+1)return!1;let s=e[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return e.length<n.length}reverse(){return kt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(Rr).slice(1)}type(){return dx(this.baseNamespace())}name(){return px(this.baseNamespace())}instance(t){return new kt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(Rr)||(t+=Rr),t+=this.type(),new kt(t)}parent(){let t=this.list();return t.length===1?new kt(Rr):new kt(t.slice(0,-1).join(Rr))}child(t){return this.toString()===Rr?t:t.toString()===Rr?this:new kt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return kt.withNamespaces([...this.namespaces(),...mx(t.map(e=>e.namespaces()))])}};function dx(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function px(r){let t=r.split(":");return t[t.length-1]}function mx(r){return[].concat(...r)}var c0=T(ht(),1);function l0(r){return r=r??new Error("Not Found"),(0,c0.default)(r,"ERR_NOT_FOUND")}var Ro=class extends _o{constructor(){super(),this.data=new Map}async put(t,e){this.data.set(t.toString(),e)}async get(t){let e=this.data.get(t.toString());if(e==null)throw l0();return e}async has(t){return this.data.has(t.toString())}async delete(t){this.data.delete(t.toString())}async*_all(){for(let[t,e]of this.data.entries())yield{key:new kt(t),value:e}}async*_allKeys(){for(let t of this.data.keys())yield new kt(t)}};var as=T(ht(),1);var W;(function(r){r.NOT_STARTED_YET="The libp2p node is not started yet",r.DHT_DISABLED="DHT is not available",r.PUBSUB_DISABLED="PubSub is not available",r.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",r.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",r.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",r.NOT_FOUND="Not found"})(W||(W={}));var _;(function(r){r.DHT_DISABLED="ERR_DHT_DISABLED",r.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",r.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",r.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",r.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",r.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",r.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",r.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",r.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",r.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",r.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",r.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",r.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",r.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",r.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",r.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",r.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",r.ERR_DIALED_SELF="ERR_DIALED_SELF",r.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",r.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",r.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",r.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",r.ERR_INVALID_KEY="ERR_INVALID_KEY",r.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_PEER="ERR_INVALID_PEER",r.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",r.ERR_NOT_FOUND="ERR_NOT_FOUND",r.ERR_TIMEOUT="ERR_TIMEOUT",r.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",r.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",r.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",r.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",r.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",r.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",r.ERR_FIND_SELF="ERR_FIND_SELF",r.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",r.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",r.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",r.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",r.ERR_INVALID_CMS="ERR_INVALID_CMS",r.ERR_MISSING_KEYS="ERR_MISSING_KEYS",r.ERR_NO_KEY="ERR_NO_KEY",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",r.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",r.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",r.ERR_INVALID_RECORD="ERR_INVALID_RECORD",r.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",r.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",r.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",r.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",r.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",r.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(_||(_={}));var u0=T(ht(),1);async function*is(r,t){for await(let e of r)yield t(e)}async function*ss(r,t){yield*is(r,async e=>(await t.addressBook.add(e.id,e.multiaddrs),e))}function Io(r){let t=new Set;return De(r,e=>t.has(e.id.toString())?!1:(t.add(e.id.toString()),!0))}async function*To(r,t=1){let e=0;for await(let n of r)e++,yield n;if(e<t)throw(0,u0.default)(new Error("not found"),"NOT_FOUND")}var B0=T(Ir(),1);var Bo=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},yi=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Bo(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new Bo(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function In(r={}){return Ex(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function Ex(r,t){t=t??{};let e=t.onEnd,n=new yi,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(r(n))}catch(E){y(E)}return i}}):r(n),c=m=>s!=null?s(m):(n.push(m),i),l=m=>(n=new yi,s!=null?s({error:m}):(n.push({error:m}),i)),u=m=>{if(o)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>o?i:(o=!0,m!=null?l(m):c({done:!0})),h=()=>(n=new yi,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:u,end:f,get readableLength(){return n.size}},e==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),e!=null&&(e(m),e=void 0),{done:!0}},return(){return p.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(m){return p.end(m),e!=null&&(e(m),e=void 0),i},get readableLength(){return p.readableLength}},i}async function*Tr(...r){let t=In({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async e=>{for await(let n of e)t.push(n)})),t.end()}catch(e){t.end(e)}}),yield*t}var xx=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},y0=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),Al=r=>r!=null&&typeof r.sink=="function"&&y0(r.source),vx=r=>t=>{let e=r.sink(t);if(e.then!=null){let n=In({objectMode:!0});return e.then(()=>{n.end()},s=>{n.end(s)}),Tr(n,async function*(){yield*r.source,n.end()}())}return r.source};function Kt(r,...t){if(Al(r)){let n=r;r=()=>n.source}else if(y0(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&Al(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)Al(e[n])&&(e[n]=vx(e[n]));return xx(...e)}async function ae(r){for await(let t of r)return t}var No=T(w0(),1),D0=T(ir(),1),C0=U("libp2p:peer-routing"),Po=class{constructor(t,e){this.components=t,this.routers=e.routers??[],this.refreshManagerInit=e.refreshManager??{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||this.routers.length===0||this.timeoutId!=null||this.refreshManagerInit.enabled===!1||(this.timeoutId=(0,No.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new B0.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,D0.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await qe(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(t){C0.error(t)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,No.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(t,e){if(this.routers.length===0)throw(0,as.default)(new Error("No peer routers available"),_.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw(0,as.default)(new Error("Should not try to find self"),_.ERR_FIND_SELF);let n=await Kt(Tr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,e)}catch(s){C0.error(s)}}())),i=>De(i,Boolean),i=>ss(i,this.components.peerStore),async i=>await ae(i));if(n!=null)return n;throw(0,as.default)(new Error(W.NOT_FOUND),_.ERR_NOT_FOUND)}async*getClosestPeers(t,e){if(this.routers.length===0)throw(0,as.default)(new Error("No peer routers available"),_.ERR_NO_ROUTERS_AVAILABLE);yield*Kt(Tr(...this.routers.map(n=>n.getClosestPeers(t,e))),n=>ss(n,this.components.peerStore),n=>Io(n),n=>To(n))}};var Yr=T(ht(),1);var ko=class{constructor(t,e){this.routers=e.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,e={}){if(this.routers.length===0)throw(0,Yr.default)(new Error("No content this.routers available"),_.ERR_NO_ROUTERS_AVAILABLE);yield*Kt(Tr(...this.routers.map(n=>n.findProviders(t,e))),n=>ss(n,this.components.peerStore),n=>Io(n),n=>To(n))}async provide(t,e={}){if(this.routers.length===0)throw(0,Yr.default)(new Error("No content routers available"),_.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(t,e)}))}async put(t,e,n){if(!this.isStarted())throw(0,Yr.default)(new Error(W.NOT_STARTED_YET),_.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await qe(i.put(t,e,n))}async get(t,e){if(!this.isStarted())throw(0,Yr.default)(new Error(W.NOT_STARTED_YET),_.DHT_NOT_STARTED);let n=this.components.dht;if(n!=null){for await(let i of n.get(t,e))if(i.name==="VALUE")return i.value}throw(0,Yr.default)(new Error(W.NOT_FOUND),_.ERR_NOT_FOUND)}async*getMany(t,e,n){if(!this.isStarted())throw(0,Yr.default)(new Error(W.NOT_STARTED_YET),_.DHT_NOT_STARTED);if(e==null||e===0)return;let i=0,s=this.components.dht;if(s!=null){for await(let o of s.get(t,n))if(o.name==="VALUE"&&(yield{from:o.from,val:o.value},i++,i===e))break}if(i===0)throw(0,Yr.default)(new Error(W.NOT_FOUND),_.ERR_NOT_FOUND)}};var C=class extends Error{constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Il=Symbol.for("@libp2p/peer-id");function Tn(r){return r!=null&&!!r[Il]}var Lx=Symbol.for("nodejs.util.inspect.custom"),L0=Object.values(Gr).map(r=>r.decoder).reduce((r,t)=>r.or(t),Gr.identity.decoder),P0=114,Tl=36,Cl=37,cs=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[Il](){return!0}toString(){return this.string==null&&(this.string=Ut.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return xt.createV1(P0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return vt(this.multihash.bytes,t);if(typeof t=="string")return at(t).equals(this);if(t?.multihash?.bytes!=null)return vt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Lx](){return`PeerId(${this.toString()})`}},Cn=class extends cs{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Bn=class extends cs{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Dn=class extends cs{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function Vt(r){if(r.type==="RSA")return new Cn(r);if(r.type==="Ed25519")return new Bn(r);if(r.type==="secp256k1")return new Dn(r);throw new C("Not a PeerId","ERR_INVALID_PARAMETERS")}function at(r,t){if(t=t??L0,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Sn(Ut.decode(`z${r}`));return r.startsWith("12D")?new Bn({multihash:e}):r.startsWith("16U")?new Dn({multihash:e}):new Cn({multihash:e})}return Wr(L0.decode(r))}function Wr(r){try{let t=Sn(r);if(t.code===Hr.code){if(t.digest.length===Tl)return new Bn({multihash:t});if(t.digest.length===Cl)return new Dn({multihash:t})}if(t.code===oe.code)return new Cn({multihash:t})}catch{return Px(xt.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Px(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==P0)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===oe.code)return new Cn({multihash:r.multihash});if(t.code===Hr.code){if(t.digest.length===Tl)return new Bn({multihash:r.multihash});if(t.digest.length===Cl)return new Dn({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Qr(r,t){return r.length===Tl?new Bn({multihash:er(Hr.code,r),privateKey:t}):r.length===Cl?new Dn({multihash:er(Hr.code,r),privateKey:t}):new Cn({multihash:await oe.digest(r),publicKey:r,privateKey:t})}var Nx=r=>r;function Bl(r,t){let e=r.getPeerId();return e!=null&&at(e).equals(t)&&(r=r.decapsulate(Tt(`/p2p/${t.toString()}`))),r}var Oo=class extends Nt{constructor(t,e){super();let{listen:n=[],announce:i=[]}=e;this.components=t,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=e.announceFilter??Nx}getListenAddrs(){return Array.from(this.listen).map(t=>Tt(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>Tt(t))}getObservedAddrs(){return Array.from(this.observed).map(([t])=>Tt(t))}addObservedAddr(t){t=Bl(t,this.components.peerId);let e=t.toString();this.observed.has(e)||this.observed.set(e,{confident:!1})}confirmObservedAddr(t){t=Bl(t,this.components.peerId);let e=t.toString(),i=(this.observed.get(e)??{confident:!1}).confident;this.observed.set(e,{confident:!0}),i||this.dispatchEvent(new $("change:addresses"))}removeObservedAddr(t){t=Bl(t,this.components.peerId);let e=t.toString();this.observed.delete(e)}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let e=new Set(t);return this.announceFilter(Array.from(e).map(n=>Tt(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Ho=T(ht(),1);var q0=T(V0(),1),Le=q0.default;var $0=U("libp2p:connection-manager:latency-monitor:visibility-change-emitter"),Fo=class extends Nt{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",globalThis.document!=null&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let t="hidden",e="visibilitychange";typeof globalThis.document.hidden<"u"?(t="hidden",e="visibilitychange"):typeof globalThis.document.mozHidden<"u"?(t="mozHidden",e="mozvisibilitychange"):typeof globalThis.document.msHidden<"u"?(t="msHidden",e="msvisibilitychange"):typeof globalThis.document.webkitHidden<"u"&&(t="webkitHidden",e="webkitvisibilitychange"),this.hidden=t,this.visibilityChange=e}_addVisibilityChangeListener(){typeof globalThis.document.addEventListener>"u"||typeof document[this.hidden]>"u"?$0("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this.hidden===void 0||document[this.hidden]===void 0))return document[this.hidden]==null}_handleVisibilityChange(){let t=globalThis.document[this.hidden]===!1;$0(t?"Page Visible":"Page Hidden"),this.dispatchEvent(new $("visibilityChange",{detail:t}))}};var Cr=U("libp2p:connection-manager:latency-monitor"),Ko=class extends Nt{constructor(t={}){super();let{latencyCheckIntervalMs:e,dataEmitIntervalMs:n,asyncTestFn:i,latencyRandomPercentage:s}=t;this.latencyCheckIntervalMs=e??500,this.latencyRandomPercentage=s??10,this.latencyCheckMultiply=2*(this.latencyRandomPercentage/100)*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=n===null||n===0?void 0:n??5*1e3,Cr("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),this.dataEmitIntervalMs!=null?Cr("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):Cr("Not emitting summaries"),this.asyncTestFn=i,globalThis.process?.hrtime!=null?(Cr("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=o=>{let a=this.now(o);return a[0]*1e3+a[1]/1e6}):typeof window<"u"&&window.performance?.now!=null?(Cr("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=o=>Math.round(this.now()-o)):(Cr("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=o=>this.now()-o),this.latencyData=this.initLatencyData()}start(){Kx()&&(this.visibilityChangeEmitter=new Fo,this.visibilityChangeEmitter.addEventListener("visibilityChange",t=>{let{detail:e}=t;e?this._startTimers():(this._emitSummary(),this._stopTimers())})),this.visibilityChangeEmitter?.isVisible()===!0&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this.checkLatencyID==null&&(this.checkLatency(),this.dataEmitIntervalMs!=null&&(this.emitIntervalID=setInterval(()=>{this._emitSummary()},this.dataEmitIntervalMs),typeof this.emitIntervalID.unref=="function"&&this.emitIntervalID.unref()))}_stopTimers(){this.checkLatencyID!=null&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),this.emitIntervalID!=null&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){let t=this.getSummary();t.events>0&&this.dispatchEvent(new $("data",{detail:t}))}getSummary(){let t={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),Cr.trace("Summary: %O",t),t}checkLatency(){let t=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,e={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+t),startTime:this.now()},n=()=>{if(this.checkLatencyID==null)return;let i=this.getDeltaMS(e.startTime)-e.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,i),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,i),this.latencyData.totalMs+=i,Cr.trace("MS: %s Data: %O",i,this.latencyData)};Cr.trace("localData: %O",e),this.checkLatencyID=setTimeout(()=>{this.asyncTestFn!=null?(e.deltaOffset=0,e.startTime=this.now(),this.asyncTestFn(n)):(e.deltaOffset-=1,n())},e.deltaOffset),typeof this.checkLatencyID.unref=="function"&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function Kx(){return typeof globalThis.window<"u"}var Go=T(ir(),1);var Vo="OPEN",Ll="CLOSING",qo="CLOSED";function Br(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return e}var ls=class{constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return Br(this.map.entries(),t=>[at(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,at(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return Br(this.map.keys(),t=>at(t))}values(){return this.map.values()}get size(){return this.map.size}};var Dr=class{constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return Br(this.set.entries(),t=>{let e=at(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=at(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Br(this.set.values(),t=>at(t))}intersection(t){let e=new Dr;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new Dr;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new Dr;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};var vi=class{constructor(t){if(this.list=[],t!=null)for(let e of t)this.list.push(e.toString())}[Symbol.iterator](){return Br(this.list.entries(),t=>at(t[1]))}concat(t){let e=new vi(this);for(let n of t)e.push(n);return e}entries(){return Br(this.list.entries(),t=>[t[0],at(t[1])])}every(t){return this.list.every((e,n)=>t(at(e),n,this))}filter(t){let e=new vi;return this.list.forEach((n,i)=>{let s=at(n);t(s,i,this)&&e.push(s)}),e}find(t){let e=this.list.find((n,i)=>t(at(n),i,this));if(e!=null)return at(e)}findIndex(t){return this.list.findIndex((e,n)=>t(at(e),n,this))}forEach(t){this.list.forEach((e,n)=>{t(at(e),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return at(t)}push(...t){for(let e of t)this.list.push(e.toString())}shift(){let t=this.list.shift();if(t!=null)return at(t)}unshift(...t){let e=this.list.length;for(let n=t.length-1;n>-1;n--)e=this.list.unshift(t[n].toString());return e}get length(){return this.list.length}};var Gl=T(Ir(),1);var z0="keep-alive";var Vd=T(Fd(),1);var Kd=T(ht(),1);function zo(r){if(Tn(r))return{peerId:r};if(be(r)){let t=r.getPeerId();return{multiaddr:r,peerId:t==null?void 0:at(t)}}throw(0,Kd.default)(new Error(`${r} is not a PeerId or a Multiaddr`),_.ERR_INVALID_MULTIADDR)}var Gt=U("libp2p:connection-manager"),_v={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10},Sv=6e4,Yo=class extends Nt{constructor(t,e){if(super(),this.opts=Le.call({ignoreUndefined:!0},_v,e),this.opts.maxConnections<this.opts.minConnections)throw(0,Ho.default)(new Error("Connection Manager maxConnections must be greater than minConnections"),_.ERR_INVALID_PARAMETERS);Gt("options: %o",this.opts),this.components=t,this.connections=new Map,this.started=!1,e.maxEventLoopDelay!=null&&e.maxEventLoopDelay>0&&e.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new Ko({latencyCheckIntervalMs:e.pollInterval,dataEmitIntervalMs:e.pollInterval}));try{(0,Go.setMaxListeners)?.(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=e.startupReconnectTimeout??Sv,this.dialTimeout=e.dialTimeout??3e4,this.allow=(e.allow??[]).map(n=>Tt(n)),this.deny=(e.deny??[]).map(n=>Tt(n)),this.inboundConnectionRateLimiter=new Vd.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){this.components.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let e of this.connections.values())for(let n of e)n.stat.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.components.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};for(let e of this.connections.values())for(let n of e)for(let i of n.streams){let s=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;t[s]=(t[s]??0)+1}return t}}),this.components.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.stat.direction} ${o.stat.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))t[o]=t[o]??[],t[o].push(a)}let e={};for(let[n,i]of Object.entries(t)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);e[n]=i[s]}return e}}),this.latencyMonitor?.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this.latencyMonitor?.addEventListener("data",this._onLatencyMeasure),this.started=!0,Gt("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then(async()=>{let t=[];for(let e of await this.components.peerStore.all())(await this.components.peerStore.getTags(e.id)).filter(s=>s.name===z0).length>0&&t.push(e.id);this.connectOnStartupController?.clear(),this.connectOnStartupController=new Gl.TimeoutController(this.startupReconnectTimeout);try{(0,Go.setMaxListeners)?.(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map(async e=>{await this.openConnection(e,{signal:this.connectOnStartupController?.signal}).catch(n=>{Gt.error(n)})}))}).catch(t=>{Gt.error(t)}).finally(()=>{this.connectOnStartupController?.clear()})}async beforeStop(){this.connectOnStartupController?.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){this.latencyMonitor?.removeEventListener("data",this._onLatencyMeasure),this.latencyMonitor?.stop(),this.started=!1,await this._close(),Gt("stopped")}async _close(){let t=[];for(let e of this.connections.values())for(let n of e)t.push((async()=>{try{await n.close()}catch(i){Gt.error(i)}})());Gt("closing %d connections",t.length),await Promise.all(t),this.connections.clear()}onConnect(t){this._onConnect(t).catch(e=>{Gt.error(e)})}async _onConnect(t){let{detail:e}=t;if(!this.started){await e.close();return}let n=e.remotePeer,i=n.toString(),s=this.connections.get(i);s!=null?s.push(e):this.connections.set(i,[e]),n.publicKey!=null&&await this.components.peerStore.keyBook.set(n,n.publicKey);let o=this.getConnections().length,a=o-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",o,a),this.dispatchEvent(new $("peer:connect",{detail:e}))}onDisconnect(t){let{detail:e}=t;if(!this.started)return;let n=e.remotePeer.toString(),i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==e.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.dispatchEvent(new $("peer:disconnect",{detail:e})))}getConnections(t){if(t!=null)return this.connections.get(t.toString())??[];let e=[];for(let n of this.connections.values())e=e.concat(n);return e}getConnectionsMap(){return this.connections}async openConnection(t,e={}){let{peerId:n,multiaddr:i}=zo(t);if(n==null&&i==null)throw(0,Ho.default)(new TypeError("Can only open connections to PeerIds or Multiaddrs"),_.ERR_INVALID_PARAMETERS);if(n!=null){Gt("dial to",n);let o=this.getConnections(n);if(o.length>0)return Gt("had an existing connection to %p",n),o[0]}let s;if(e?.signal==null){s=new Gl.TimeoutController(this.dialTimeout),e.signal=s.signal;try{(0,Go.setMaxListeners)?.(1/0,s.signal)}catch{}}try{let o=await this.components.dialer.dial(t,e),a=this.connections.get(o.remotePeer.toString());a==null&&(a=[],this.connections.set(o.remotePeer.toString(),a));let c=!1;for(let l of a)l.id===o.id&&(c=!0);return c||a.push(o),o}finally{s?.clear()}}async closeConnections(t){let e=this.connections.get(t.toString())??[];await Promise.all(e.map(async n=>{await n.close()}))}getAll(t){if(!Tn(t))throw(0,Ho.default)(new Error("peerId must be an instance of peer-id"),_.ERR_INVALID_PARAMETERS);let e=t.toString(),n=this.connections.get(e);return n!=null?n.filter(i=>i.stat.status===Vo):[]}_onLatencyMeasure(t){let{detail:e}=t;this._checkMaxLimit("maxEventLoopDelay",e.avgMs,1).catch(n=>{Gt.error(n)})}async _checkMaxLimit(t,e,n=1){let i=this.opts[t];if(i==null){Gt.trace("limit %s was not set so it cannot be applied",t);return}Gt.trace("checking limit of %s. current value: %d of %d",t,e,i),e>i&&(Gt("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,t,e,i,n),await this._pruneConnections(n))}async _pruneConnections(t){let e=this.getConnections(),n=new ls;for(let o of e){let a=o.remotePeer;if(n.has(a))continue;let c=await this.components.peerStore.getTags(a);n.set(a,c.reduce((l,u)=>l+u.value,0))}let i=e.sort((o,a)=>{let c=n.get(o.remotePeer)??0,l=n.get(a.remotePeer)??0;if(c>l)return 1;if(c<l)return-1;let u=o.stat.timeline.open,f=a.stat.timeline.open;return u<f?1:u>f?-1:0}),s=[];for(let o of i)if(Gt("too many connections open - closing a connection to %p",o.remotePeer),s.push(o),s.length===t)break;await Promise.all(s.map(async o=>{try{await o.close()}catch(a){Gt.error(a)}this.onDisconnect(new $("connectionEnd",{detail:o}))}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return Gt("connection from %s refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return Gt("connection from %s refused - incomingPendingConnections exceeded by peer %s",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return Gt("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,t.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):(Gt("connection from %s refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}};var Yl=T(Sl(),1),Ri=U("libp2p:connection-manager:auto-dialler"),Av={minConnections:0,autoDialInterval:1e4},Wo=class{constructor(t,e){this.components=t,this.options=Le.call({ignoreUndefined:!0},Av,e),this.running=!1,this._autoDial=this._autoDial.bind(this),Ri("options: %j",this.options)}isStarted(){return this.running}async start(){this.running=!0,this._autoDial().catch(t=>{Ri.error("could start autodial",t)}),Ri("started")}async stop(){this.running=!1,this.autoDialTimeout!=null&&this.autoDialTimeout.clear(),Ri("stopped")}async _autoDial(){this.autoDialTimeout!=null&&this.autoDialTimeout.clear();let t=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=t){this.autoDialTimeout=(0,Yl.default)(this._autoDial,this.options.autoDialInterval);return}let e=await this.components.peerStore.all();e=e.filter(n=>!(n.id.equals(this.components.peerId)||n.addresses.length===0)),e=e.sort(()=>Math.random()>.5?1:-1),e=e.sort((n,i)=>i.protocols.length>n.protocols.length||i.id.publicKey!=null&&n.id.publicKey==null?1:-1);for(let n=0;this.running&&n<e.length&&this.components.connectionManager.getConnections().length<t;n++){if(!this.running)return;let i=e[n];if(this.components.connectionManager.getConnections(i.id).length===0){Ri("connecting to a peerStore stored peer %p",i.id);try{await this.components.connectionManager.openConnection(i.id)}catch(s){Ri.error("could not connect to peerStore stored peer",s)}}}this.running&&(this.autoDialTimeout=(0,Yl.default)(this._autoDial,this.options.autoDialInterval))}};var cg=T(Xd(),1);var j;(function(r){r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(j||(j={}));var ou=T(Jl(),1),Mp=T(Cp(),1),Up=T(Nn(),1),au=T(su(),1),Fp=T(Op(),1);function Gv(){Up.default._configure(),ou.default._configure(Mp.default),au.default._configure(Fp.default)}Gv();var Kp=["uint64","int64","sint64","fixed64","sfixed64"];function Yv(r){for(let t of Kp){if(r[t]==null)continue;let e=r[t];r[t]=function(){return BigInt(e.call(this).toString())}}return r}function cu(r){return Yv(new ou.default(r))}function Wv(r){for(let t of Kp){if(r[t]==null)continue;let e=r[t];r[t]=function(n){return e.call(this,n.toString())}}return r}function lu(){return Wv(au.default.create())}function pt(r,t){let e=cu(r instanceof Uint8Array?r:r.subarray());return t.decode(e)}function mt(r,t){let e=lu();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Ti;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Ti||(Ti={}));function jo(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Jr(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return jo("enum",Ti.VARINT,e,n)}function yt(r,t){return jo("message",Ti.LENGTH_DELIMITED,r,t)}var Ct;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(Ct||(Ct={}));var uu;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(uu||(uu={}));(function(r){r.codec=()=>Jr(uu)})(Ct||(Ct={}));var ar;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Ct.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.Type=Ct.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(ar||(ar={}));var cr;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Ct.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.Type=Ct.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(cr||(cr={}));var gB=T(gs(),1),wB=T(ey(),1),La=T(ft(),1);var me={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var o8=T($t(),1),a8=T(ma(),1),ny=T(ft(),1);function Ye(r,t){let e=Uint8Array.from(r.abs().toByteArray());if(e=e[0]===0?e.subarray(1):e,t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Ft([new Uint8Array(t-e.length),e])}return z(e,"base64url")}function Se(r){let t=iy(r);return new ny.default.jsbn.BigInteger(z(t,"base16"),16)}function iy(r,t){let e=F(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Ft([new Uint8Array(t-e.length),e])}return e}var E_={"P-256":256,"P-384":384,"P-521":521},x_=Object.keys(E_),w8=x_.join(" / ");function Ea(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,i=r?.digest??"SHA-256",s=r?.saltLength??16,o=r?.iterations??32767,a=me.get();e*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:p};typeof h=="string"&&(h=F(h));let y={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},g=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),E=await a.subtle.deriveKey(y,g,{name:t,length:e},!0,["encrypt"]),b=await a.subtle.encrypt(m,E,f);return Ft([d,m.iv,new Uint8Array(b)])}async function l(f,h){let d=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:t,iv:p};typeof h=="string"&&(h=F(h));let g={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},E=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),b=await a.subtle.deriveKey(g,E,{name:t,length:e},!0,["decrypt"]),O=await a.subtle.decrypt(y,b,m);return new Uint8Array(O)}return{encrypt:c,decrypt:l}}async function oy(r,t){let e=bn.decode(r);return await Ea().decrypt(e,t)}var $u={};se($u,{RsaPrivateKey:()=>Ki,RsaPublicKey:()=>Rs,fromJwk:()=>H_,generateKeyPair:()=>G_,unmarshalRsaPrivateKey:()=>$_,unmarshalRsaPublicKey:()=>z_});var j8=T(fy(),1),As=T(ft(),1);var b_=T(Ln(),1);var et=BigInt(0),Rt=BigInt(1),sn=BigInt(2),bs=BigInt(3),hy=BigInt(8),Ot=Object.freeze({a:et,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:Rt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),dy=(r,t)=>(r+t/sn)/t,xa={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(r){let{n:t}=Ot,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Rt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,o=BigInt("0x100000000000000000000000000000000"),a=dy(s*r,t),c=dy(-n*r,t),l=N(r-a*e-c*i,t),u=N(-a*n-c*s,t),f=l>o,h=u>o;if(f&&(l=t-l),h&&(u=t-u),l>o||u>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+r);return{k1neg:f,k1:l,k2neg:h,k2:u}}},We=32,ki=32,__=32,py=We+1,my=2*We+1;function yy(r){let{a:t,b:e}=Ot,n=N(r*r),i=N(n*r);return N(i+t*r+e)}var va=Ot.a===et,Sa=class extends Error{constructor(t){super(t)}};function gy(r){if(!(r instanceof st))throw new TypeError("JacobianPoint expected")}var st=class{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof ct))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(ct.ZERO)?st.ZERO:new st(t.x,t.y,Rt)}static toAffineBatch(t){let e=T_(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return st.toAffineBatch(t).map(st.fromAffine)}equals(t){gy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=N(i*i),l=N(a*a),u=N(e*l),f=N(s*c),h=N(N(n*a)*l),d=N(N(o*i)*c);return u===f&&h===d}negate(){return new st(this.x,N(-this.y),this.z)}double(){let{x:t,y:e,z:n}=this,i=N(t*t),s=N(e*e),o=N(s*s),a=t+s,c=N(sn*(N(a*a)-i-o)),l=N(bs*i),u=N(l*l),f=N(u-sn*c),h=N(l*(c-f)-hy*o),d=N(sn*e*n);return new st(f,h,d)}add(t){gy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t;if(s===et||o===et)return this;if(e===et||n===et)return t;let c=N(i*i),l=N(a*a),u=N(e*l),f=N(s*c),h=N(N(n*a)*l),d=N(N(o*i)*c),p=N(f-u),m=N(d-h);if(p===et)return m===et?this.double():st.ZERO;let y=N(p*p),g=N(p*y),E=N(u*y),b=N(m*m-g-sn*E),O=N(m*(E-b)-h*g),B=N(i*a*p);return new st(b,O,B)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let e=st.ZERO;if(typeof t=="bigint"&&t===et)return e;let n=xy(t);if(n===Rt)return this;if(!va){let f=e,h=this;for(;n>et;)n&Rt&&(f=f.add(h)),h=h.double(),n>>=Rt;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=xa.splitScalar(n),c=e,l=e,u=this;for(;s>et||a>et;)s&Rt&&(c=c.add(u)),a&Rt&&(l=l.add(u)),u=u.double(),s>>=Rt,a>>=Rt;return i&&(c=c.negate()),o&&(l=l.negate()),l=new st(N(l.x*xa.beta),l.y,l.z),c.add(l)}precomputeWindow(t){let e=va?128/t+1:256/t+1,n=[],i=this,s=i;for(let o=0;o<e;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,e){!e&&this.equals(st.BASE)&&(e=ct.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&Ou.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=st.normalizeZ(i),Ou.set(e,i)));let s=st.ZERO,o=st.BASE,a=1+(va?128/n:256/n),c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=Rt);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,E=p<0;p===0?o=o.add(ba(g,i[m])):s=s.add(ba(E,i[y]))}return{p:s,f:o}}multiply(t,e){let n=xy(t),i,s;if(va){let{k1neg:o,k1:a,k2neg:c,k2:l}=xa.splitScalar(n),{p:u,f}=this.wNAF(a,e),{p:h,f:d}=this.wNAF(l,e);u=ba(o,u),h=ba(c,h),h=new st(N(h.x*xa.beta),h.y,h.z),i=u.add(h),s=f.add(d)}else{let{p:o,f:a}=this.wNAF(n,e);i=o,s=a}return st.normalizeZ([i,s])[0]}toAffine(t){let{x:e,y:n,z:i}=this,s=this.equals(st.ZERO);t==null&&(t=s?hy:Ui(i));let o=t,a=N(o*o),c=N(a*o),l=N(e*a),u=N(n*c),f=N(i*o);if(s)return ct.ZERO;if(f!==Rt)throw new Error("invZ was invalid");return new ct(l,u)}};st.BASE=new st(Ot.Gx,Ot.Gy,Rt);st.ZERO=new st(et,Rt,et);function ba(r,t){let e=t.negate();return r?e:t}var Ou=new WeakMap,ct=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Ou.delete(this)}hasEvenY(){return this.y%sn===et}static fromCompressedHex(t){let e=t.length===32,n=on(e?t:t.subarray(1));if(!ku(n))throw new Error("Point is not on curve");let i=yy(n),s=I_(i),o=(s&Rt)===Rt;e?o&&(s=N(-s)):(t[0]&1)===1!==o&&(s=N(-s));let a=new ct(n,s);return a.assertValidity(),a}static fromUncompressedHex(t){let e=on(t.subarray(1,We+1)),n=on(t.subarray(We+1,We*2+1)),i=new ct(e,n);return i.assertValidity(),i}static fromHex(t){let e=Mi(t),n=e.length,i=e[0];if(n===We)return this.fromCompressedHex(e);if(n===py&&(i===2||i===3))return this.fromCompressedHex(e);if(n===my&&i===4)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${py} compressed bytes or ${my} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return ct.BASE.multiply(Ra(t))}static fromSignature(t,e,n){let{r:i,s}=vy(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Fu(Mi(t)),{n:a}=Ot,c=n===2||n===3?i+a:i,l=Ui(c,a),u=N(-o*l,a),f=N(s*l,a),h=n&1?"03":"02",d=ct.fromHex(h+Pi(c)),p=ct.BASE.multiplyAndAddUnsafe(d,u,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return qn(this.toHex(t))}toHex(t=!1){let e=Pi(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${Pi(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:e,y:n}=this;if(!ku(e)||!ku(n))throw new Error(t);let i=N(n*n),s=yy(e);if(N(i-s)!==et)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ct(this.x,N(-this.y))}double(){return st.fromAffine(this).double().toAffine()}add(t){return st.fromAffine(this).add(st.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return st.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){let i=st.fromAffine(this),s=e===et||e===Rt||this!==ct.BASE?i.multiplyUnsafe(e):i.multiply(e),o=st.fromAffine(t).multiplyUnsafe(n),a=s.add(o);return a.equals(st.ZERO)?void 0:a.toAffine()}};ct.BASE=new ct(Ot.Gx,Ot.Gy);ct.ZERO=new ct(et,et);function wy(r){return Number.parseInt(r[0],16)>=8?"00"+r:r}function Ey(r){if(r.length<2||r[0]!==2)throw new Error(`Invalid signature integer tag: ${Oi(r)}`);let t=r[1],e=r.subarray(2,t+2);if(!t||e.length!==t)throw new Error("Invalid signature integer: wrong length");if(e[0]===0&&e[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:on(e),left:r.subarray(t+2)}}function S_(r){if(r.length<2||r[0]!=48)throw new Error(`Invalid signature tag: ${Oi(r)}`);if(r[1]!==r.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:e}=Ey(r.subarray(2)),{data:n,left:i}=Ey(e);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Oi(i)}`);return{r:t,s:n}}var mr=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){let e=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=e?Oi(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new mr(Aa(i.slice(0,64)),Aa(i.slice(64,128)))}static fromDER(t){let e=t instanceof Uint8Array;if(typeof t!="string"&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=S_(e?t:qn(t));return new mr(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:e}=this;if(!Ss(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Ss(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Ot.n>>Rt;return this.s>t}normalizeS(){return this.hasHighS()?new mr(this.r,N(-this.s,Ot.n)):this}toDERRawBytes(){return qn(this.toDERHex())}toDERHex(){let t=wy(vs(this.s)),e=wy(vs(this.r)),n=t.length/2,i=e.length/2,s=vs(n),o=vs(i);return`30${vs(i+n+4)}02${o}${e}02${s}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return qn(this.toCompactHex())}toCompactHex(){return Pi(this.r)+Pi(this.s)}};function nn(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let s=r[n];e.set(s,i),i+=s.length}return e}var A_=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Oi(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let e=0;e<r.length;e++)t+=A_[r[e]];return t}var R_=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Pi(r){if(typeof r!="bigint")throw new Error("Expected bigint");if(!(et<=r&&r<R_))throw new Error("Expected number 0 <= n < 2^256");return r.toString(16).padStart(64,"0")}function Mu(r){let t=qn(Pi(r));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function vs(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Aa(r){if(typeof r!="string")throw new TypeError("hexToNumber: expected string, got "+typeof r);return BigInt(`0x${r}`)}function qn(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+r.length);let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[e]=s}return t}function on(r){return Aa(Oi(r))}function Mi(r){return r instanceof Uint8Array?Uint8Array.from(r):qn(r)}function xy(r){if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)return BigInt(r);if(typeof r=="bigint"&&Ss(r))return r;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(r,t=Ot.P){let e=r%t;return e>=et?e:t+e}function Me(r,t){let{P:e}=Ot,n=r;for(;t-- >et;)n*=n,n%=e;return n}function I_(r){let{P:t}=Ot,e=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=r*r*r%t,l=c*c*r%t,u=Me(l,bs)*l%t,f=Me(u,bs)*l%t,h=Me(f,sn)*c%t,d=Me(h,n)*h%t,p=Me(d,i)*d%t,m=Me(p,o)*p%t,y=Me(m,a)*m%t,g=Me(y,o)*p%t,E=Me(g,bs)*l%t,b=Me(E,s)*d%t,O=Me(b,e)*c%t,B=Me(O,sn);if(B*B%t!==r)throw new Error("Cannot find square root");return B}function Ui(r,t=Ot.P){if(r===et||t<=et)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=N(r,t),n=t,i=et,s=Rt,o=Rt,a=et;for(;e!==et;){let l=n/e,u=n%e,f=i-o*l,h=s-a*l;n=e,e=u,i=o,s=a,o=f,a=h}if(n!==Rt)throw new Error("invert: does not exist");return N(i,t)}function T_(r,t=Ot.P){let e=new Array(r.length),n=r.reduce((s,o,a)=>o===et?s:(e[a]=s,N(s*o,t)),Rt),i=Ui(n,t);return r.reduceRight((s,o,a)=>o===et?s:(e[a]=N(s*e[a],t),N(s*o,t)),i),e}function C_(r){let t=r.length*8-ki*8,e=on(r);return t>0?e>>BigInt(t):e}function Fu(r,t=!1){let e=C_(r);if(t)return e;let{n}=Ot;return e>=n?e-n:e}var Ni,_s,Uu=class{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Qe.hmacSha256(this.k,...t)}hmacSync(...t){return _s(this.k,...t)}checkSync(){if(typeof _s!="function")throw new Sa("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return nn(...e)}generateSync(){this.checkSync(),this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return nn(...e)}};function Ss(r){return et<r&&r<Ot.n}function ku(r){return et<r&&r<Ot.P}function B_(r,t,e,n=!0){let{n:i}=Ot,s=Fu(r,!0);if(!Ss(s))return;let o=Ui(s,i),a=ct.BASE.multiply(s),c=N(a.x,i);if(c===et)return;let l=N(o*N(t+e*c,i),i);if(l===et)return;let u=new mr(c,l),f=(a.x===u.r?0:2)|Number(a.y&Rt);return n&&u.hasHighS()&&(u=u.normalizeS(),f^=1),{sig:u,recovery:f}}function Ra(r){let t;if(typeof r=="bigint")t=r;else if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)t=BigInt(r);else if(typeof r=="string"){if(r.length!==2*ki)throw new Error("Expected 32 bytes of private key");t=Aa(r)}else if(r instanceof Uint8Array){if(r.length!==ki)throw new Error("Expected 32 bytes of private key");t=on(r)}else throw new TypeError("Expected valid private key");if(!Ss(t))throw new Error("Expected private key: 0 < key < n");return t}function D_(r){return r instanceof ct?(r.assertValidity(),r):ct.fromHex(r)}function vy(r){if(r instanceof mr)return r.assertValidity(),r;try{return mr.fromDER(r)}catch{return mr.fromCompact(r)}}function Ku(r,t=!1){return ct.fromPrivateKey(r).toRawBytes(t)}function by(r){let t=r.length>We?r.slice(0,We):r;return on(t)}function L_(r){let t=by(r),e=N(t,Ot.n);return _y(e<et?t:e)}function _y(r){return Mu(r)}function P_(r,t,e){if(r==null)throw new Error(`sign: expected valid message hash, not "${r}"`);let n=Mi(r),i=Ra(t),s=[_y(i),L_(n)];if(e!=null){e===!0&&(e=Qe.randomBytes(We));let c=Mi(e);if(c.length!==We)throw new Error(`sign: Expected ${We} bytes of extra data`);s.push(c)}let o=nn(...s),a=by(n);return{seed:o,m:a,d:i}}function N_(r,t){let{sig:e,recovery:n}=r,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},t),o=i?e.toDERRawBytes():e.toCompactRawBytes();return s?[o,n]:o}async function Sy(r,t,e={}){let{seed:n,m:i,d:s}=P_(r,t,e.extraEntropy),o=new Uu(__,ki);await o.reseed(n);let a;for(;!(a=B_(await o.generate(),i,s,e.canonical));)await o.reseed();return N_(a,e)}var k_={strict:!0};function Ay(r,t,e,n=k_){let i;try{i=vy(r),t=Mi(t)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Fu(t),c;try{c=D_(e)}catch{return!1}let{n:l}=Ot,u=Ui(o,l),f=N(a*u,l),h=N(s*u,l),d=ct.BASE.multiplyAndAddUnsafe(c,f,h);return d?N(d.x,l)===s:!1}ct.BASE._setWindowSize(8);var Ae={node:b_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var _a={},Qe={bytesToHex:Oi,hexToBytes:qn,concatBytes:nn,mod:N,invert:Ui,isValidPrivateKey(r){try{return Ra(r),!0}catch{return!1}},_bigintTo32Bytes:Mu,_normalizePrivateKey:Ra,hashToPrivateKey:r=>{r=Mi(r);let t=ki+8;if(r.length<t||r.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let e=N(on(r),Ot.n-Rt)+Rt;return Mu(e)},randomBytes:(r=32)=>{if(Ae.web)return Ae.web.getRandomValues(new Uint8Array(r));if(Ae.node){let{randomBytes:t}=Ae.node;return Uint8Array.from(t(r))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Qe.hashToPrivateKey(Qe.randomBytes(ki+8)),precompute(r=8,t=ct.BASE){let e=t===ct.BASE?t:new ct(t.x,t.y);return e._setWindowSize(r),e.multiply(bs),e},sha256:async(...r)=>{if(Ae.web){let t=await Ae.web.subtle.digest("SHA-256",nn(...r));return new Uint8Array(t)}else if(Ae.node){let{createHash:t}=Ae.node,e=t("sha256");return r.forEach(n=>e.update(n)),Uint8Array.from(e.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(r,...t)=>{if(Ae.web){let e=await Ae.web.subtle.importKey("raw",r,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=nn(...t),i=await Ae.web.subtle.sign("HMAC",e,n);return new Uint8Array(i)}else if(Ae.node){let{createHmac:e}=Ae.node,n=e("sha256",r);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(r,...t)=>{let e=_a[r];if(e===void 0){let n=await Qe.sha256(Uint8Array.from(r,i=>i.charCodeAt(0)));e=nn(n,n),_a[r]=e}return Qe.sha256(e,...t)},taggedHashSync:(r,...t)=>{if(typeof Ni!="function")throw new Sa("sha256Sync is undefined, you need to set it");let e=_a[r];if(e===void 0){let n=Ni(Uint8Array.from(r,i=>i.charCodeAt(0)));e=nn(n,n),_a[r]=e}return Ni(e,...t)},_JacobianPoint:st};Object.defineProperties(Qe,{sha256Sync:{configurable:!1,get(){return Ni},set(r){Ni||(Ni=r)}},hmacSha256Sync:{configurable:!1,get(){return _s},set(r){_s||(_s=r)}}});function kr(r){if(isNaN(r)||r<=0)throw new C("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Qe.randomBytes(r)}var $n={};se($n,{jwkToPkcs1:()=>U_,jwkToPkix:()=>K_,pkcs1ToJwk:()=>M_,pkixToJwk:()=>F_});var L8=T(gs(),1),P8=T(wa(),1),Or=T(ft(),1);function M_(r){let t=Or.default.asn1.fromDer(z(r,"ascii")),e=Or.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ye(e.n),e:Ye(e.e),d:Ye(e.d),p:Ye(e.p),q:Ye(e.q),dp:Ye(e.dP),dq:Ye(e.dQ),qi:Ye(e.qInv),alg:"RS256"}}function U_(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Or.default.pki.privateKeyToAsn1({n:Se(r.n),e:Se(r.e),d:Se(r.d),p:Se(r.p),q:Se(r.q),dP:Se(r.dp),dQ:Se(r.dq),qInv:Se(r.qi)});return F(Or.default.asn1.toDer(t).getBytes(),"ascii")}function F_(r){let t=Or.default.asn1.fromDer(z(r,"ascii")),e=Or.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ye(e.n),e:Ye(e.e)}}function K_(r){if(r.n==null||r.e==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Or.default.pki.publicKeyToAsn1({n:Se(r.n),e:Se(r.e)});return F(Or.default.asn1.toDer(t).getBytes(),"ascii")}var U8=T(wa(),1),Vu=T(ft(),1);function Ry(r,t){return t.map(e=>Se(r[e]))}function Iy(r){return Vu.default.pki.setRsaPrivateKey(...Ry(r,["n","e","d","p","q","dp","dq","qi"]))}function Ty(r){return Vu.default.pki.setRsaPublicKey(...Ry(r,["n","e"]))}async function Cy(r){let t=await me.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Ly(t);return{privateKey:e[0],publicKey:e[1]}}async function qu(r){let e=[await me.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await V_(r)],n=await Ly({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function By(r,t){let e=await me.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await me.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function Dy(r,t,e){let n=await me.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await me.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e)}async function Ly(r){if(r.privateKey==null||r.publicKey==null)throw new C("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([me.get().subtle.exportKey("jwk",r.privateKey),me.get().subtle.exportKey("jwk",r.publicKey)])}async function V_(r){return await me.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Py(r,t,e,n){let i=t?Ty(r):Iy(r),s=z(Uint8Array.from(e),"ascii"),o=n(s,i);return F(o,"ascii")}function Ny(r,t){return Py(r,!0,t,(e,n)=>n.encrypt(e))}function ky(r,t){return Py(r,!1,t,(e,n)=>n.decrypt(e))}async function Fi(r,t){let n=await Ea().encrypt(r,t);return bn.encode(n)}var Rs=class{constructor(t){this._key=t}async verify(t,e){return await Dy(this._key,e,t)}marshal(){return $n.jwkToPkix(this._key)}get bytes(){return ar.encode({Type:Ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Ny(this._key,t)}equals(t){return vt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await oe.digest(this.bytes);return t}},Ki=class{constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return kr(16)}async sign(t){return await By(this._key,t)}get public(){if(this._publicKey==null)throw new C("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Rs(this._publicKey)}decrypt(t){return ky(this._key,t)}marshal(){return $n.jwkToPkcs1(this._key)}get bytes(){return cr.encode({Type:Ct.RSA,Data:this.marshal()}).subarray()}equals(t){return vt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await oe.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8"){let n=new As.default.util.ByteBuffer(this.marshal()),i=As.default.asn1.fromDer(n),s=As.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return As.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(e==="libp2p-key")return await Fi(this.bytes,t);throw new C(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function $_(r){let t=$n.pkcs1ToJwk(r),e=await qu(t);return new Ki(e.privateKey,e.publicKey)}function z_(r){let t=$n.pkixToJwk(r);return new Rs(t)}async function H_(r){let t=await qu(r);return new Ki(t.privateKey,t.publicKey)}async function G_(r){let t=await Cy(r);return new Ki(t.privateKey,t.publicKey)}var Ju={};se(Ju,{Ed25519PrivateKey:()=>Hn,Ed25519PublicKey:()=>Ds,generateKeyPair:()=>dS,generateKeyPairFromSeed:()=>Xy,unmarshalEd25519PrivateKey:()=>fS,unmarshalEd25519PublicKey:()=>hS});var Y_=T(Ln(),1);var ie=BigInt(0),rt=BigInt(1),ln=BigInt(2),W_=BigInt(8),Oy=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),It=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Oy,n:Oy,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Vy=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Is=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),eB=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Q_=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),X_=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Z_=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),J_=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Z=class{constructor(t,e,n,i){this.x=t,this.y=e,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof Dt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(Dt.ZERO)?Z.ZERO:new Z(t.x,t.y,rt,A(t.x*t.y))}static toAffineBatch(t){let e=eS(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){Uy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=A(e*a),l=A(s*i),u=A(n*a),f=A(o*i);return c===l&&u===f}negate(){return new Z(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:t,y:e,z:n}=this,{a:i}=It,s=A(t*t),o=A(e*e),a=A(ln*A(n*n)),c=A(i*s),l=t+e,u=A(A(l*l)-s-o),f=c+o,h=f-a,d=c-o,p=A(u*h),m=A(f*d),y=A(u*d),g=A(h*f);return new Z(p,m,g,y)}add(t){Uy(t);let{x:e,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:l}=t,u=A((n-e)*(a+o)),f=A((n+e)*(a-o)),h=A(f-u);if(h===ie)return this.double();let d=A(i*ln*l),p=A(s*ln*c),m=p+d,y=f+u,g=p-d,E=A(m*h),b=A(y*g),O=A(m*g),B=A(h*y);return new Z(E,b,B,O)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let e=1+256/t,n=[],i=this,s=i;for(let o=0;o<e;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,e){!e&&this.equals(Z.BASE)&&(e=Dt.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&Wu.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=Z.normalizeZ(i),Wu.set(e,i)));let s=Z.ZERO,o=Z.BASE,a=1+256/n,c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=rt);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,E=p<0;p===0?o=o.add(My(g,i[m])):s=s.add(My(E,i[y]))}return Z.normalizeZ([s,o])[0]}multiply(t,e){return this.wNAF(Ta(t,It.l),e)}multiplyUnsafe(t){let e=Ta(t,It.l,!1),n=Z.BASE,i=Z.ZERO;if(e===ie)return i;if(this.equals(i)||e===rt)return this;if(this.equals(n))return this.wNAF(e);let s=i,o=this;for(;e>ie;)e&rt&&(s=s.add(o)),o=o.double(),e>>=rt;return s}isSmallOrder(){return this.multiplyUnsafe(It.h).equals(Z.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(It.l/ln).double();return It.l%ln&&(t=t.add(this)),t.equals(Z.ZERO)}toAffine(t){let{x:e,y:n,z:i}=this,s=this.equals(Z.ZERO);t==null&&(t=s?W_:Ca(i));let o=A(e*t),a=A(n*t),c=A(i*t);if(s)return Dt.ZERO;if(c!==rt)throw new Error("invZ was invalid");return new Dt(o,a)}fromRistrettoBytes(){Hu()}toRistrettoBytes(){Hu()}fromRistrettoHash(){Hu()}};Z.BASE=new Z(It.Gx,It.Gy,rt,A(It.Gx*It.Gy));Z.ZERO=new Z(ie,rt,rt,ie);function My(r,t){let e=t.negate();return r?e:t}function Uy(r){if(!(r instanceof Z))throw new TypeError("ExtendedPoint expected")}function zu(r){if(!(r instanceof ye))throw new TypeError("RistrettoPoint expected")}function Hu(){throw new Error("Legacy method: switch to RistrettoPoint")}var ye=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:e}=It,n=A(Is*t*t),i=A((n+rt)*Z_),s=BigInt(-1),o=A((s-e*n)*A(n+e)),{isValid:a,value:c}=Xu(i,o),l=A(c*t);cn(l)||(l=A(-l)),a||(c=l),a||(s=n);let u=A(s*(n-rt)*J_-o),f=c*c,h=A((c+c)*o),d=A(u*Q_),p=A(rt-f),m=A(rt+f);return new Z(A(h*m),A(p*d),A(d*m),A(h*p))}static hashToCurve(t){t=un(t,64);let e=Gu(t.slice(0,32)),n=this.calcElligatorRistrettoMap(e),i=Gu(t.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new ye(n.add(s))}static fromHex(t){t=un(t,32);let{a:e,d:n}=It,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Gu(t);if(!nS(Ts(s),t)||cn(s))throw new Error(i);let o=A(s*s),a=A(rt+e*o),c=A(rt-e*o),l=A(a*a),u=A(c*c),f=A(e*n*l-u),{isValid:h,value:d}=Ky(A(f*u)),p=A(d*c),m=A(d*p*f),y=A((s+s)*p);cn(y)&&(y=A(-y));let g=A(a*m),E=A(y*g);if(!h||cn(E)||g===ie)throw new Error(i);return new ye(new Z(y,g,rt,E))}toRawBytes(){let{x:t,y:e,z:n,t:i}=this.ep,s=A(A(n+e)*A(n-e)),o=A(t*e),a=A(o*o),{value:c}=Ky(A(s*a)),l=A(c*s),u=A(c*o),f=A(l*u*i),h;if(cn(i*f)){let p=A(e*Is),m=A(t*Is);t=p,e=m,h=A(l*X_)}else h=u;cn(t*f)&&(e=A(-e));let d=A((n-e)*h);return cn(d)&&(d=A(-d)),Ts(d)}toHex(){return Cs(this.toRawBytes())}toString(){return this.toHex()}equals(t){zu(t);let e=this.ep,n=t.ep,i=A(e.x*n.y)===A(e.y*n.x),s=A(e.y*n.y)===A(e.x*n.x);return i||s}add(t){return zu(t),new ye(this.ep.add(t.ep))}subtract(t){return zu(t),new ye(this.ep.subtract(t.ep))}multiply(t){return new ye(this.ep.multiply(t))}multiplyUnsafe(t){return new ye(this.ep.multiplyUnsafe(t))}};ye.BASE=new ye(Z.BASE);ye.ZERO=new ye(Z.ZERO);var Wu=new WeakMap,Dt=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Wu.delete(this)}static fromHex(t,e=!0){let{d:n,P:i}=It;t=un(t,32);let s=t.slice();s[31]=t[31]&-129;let o=Bs(s);if(e&&o>=i)throw new Error("Expected 0 < hex < P");if(!e&&o>=Vy)throw new Error("Expected 0 < hex < 2**256");let a=A(o*o),c=A(a-rt),l=A(n*a+rt),{isValid:u,value:f}=Xu(c,l);if(!u)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&rt)===rt;return(t[31]&128)!==0!==h&&(f=A(-f)),new Dt(f,o)}static async fromPrivateKey(t){return(await Ba(t)).point}toRawBytes(){let t=Ts(this.y);return t[31]|=this.x&rt?128:0,t}toHex(){return Cs(this.toRawBytes())}toX25519(){let{y:t}=this,e=A((rt+t)*Ca(rt-t));return Ts(e)}isTorsionFree(){return Z.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Dt(A(-this.x),this.y)}add(t){return Z.fromAffine(this).add(Z.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Z.fromAffine(this).multiply(t,this).toAffine()}};Dt.BASE=new Dt(It.Gx,It.Gy);Dt.ZERO=new Dt(ie,rt);var zn=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){let e=un(t,64),n=Dt.fromHex(e.slice(0,32),!1),i=Bs(e.slice(32,64));return new zn(n,i)}assertValidity(){let{r:t,s:e}=this;if(!(t instanceof Dt))throw new Error("Expected Point instance");return Ta(e,It.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(Ts(this.s),32),t}toHex(){return Cs(this.toRawBytes())}};function Fy(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let s=r[n];e.set(s,i),i+=s.length}return e}var j_=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Cs(r){if(!(r instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let e=0;e<r.length;e++)t+=j_[r[e]];return t}function Qu(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[e]=s}return t}function qy(r){let e=r.toString(16).padStart(64,"0");return Qu(e)}function Ts(r){return qy(r).reverse()}function cn(r){return(A(r)&rt)===rt}function Bs(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Cs(Uint8Array.from(r).reverse()))}var tS=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Gu(r){return A(Bs(r)&tS)}function A(r,t=It.P){let e=r%t;return e>=ie?e:t+e}function Ca(r,t=It.P){if(r===ie||t<=ie)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=A(r,t),n=t,i=ie,s=rt,o=rt,a=ie;for(;e!==ie;){let l=n/e,u=n%e,f=i-o*l,h=s-a*l;n=e,e=u,i=o,s=a,o=f,a=h}if(n!==rt)throw new Error("invert: does not exist");return A(i,t)}function eS(r,t=It.P){let e=new Array(r.length),n=r.reduce((s,o,a)=>o===ie?s:(e[a]=s,A(s*o,t)),rt),i=Ca(n,t);return r.reduceRight((s,o,a)=>o===ie?s:(e[a]=A(s*e[a],t),A(s*o,t)),i),e}function yr(r,t){let{P:e}=It,n=r;for(;t-- >ie;)n*=n,n%=e;return n}function rS(r){let{P:t}=It,e=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=r*r%t*r%t,l=yr(c,ln)*c%t,u=yr(l,rt)*r%t,f=yr(u,e)*u%t,h=yr(f,n)*f%t,d=yr(h,i)*h%t,p=yr(d,s)*d%t,m=yr(p,o)*p%t,y=yr(m,o)*p%t,g=yr(y,n)*f%t;return{pow_p_5_8:yr(g,ln)*r%t,b2:c}}function Xu(r,t){let e=A(t*t*t),n=A(e*e*t),i=rS(r*n).pow_p_5_8,s=A(r*e*i),o=A(t*s*s),a=s,c=A(s*Is),l=o===r,u=o===A(-r),f=o===A(-r*Is);return l&&(s=a),(u||f)&&(s=c),cn(s)&&(s=A(-s)),{isValid:l||u,value:s}}function Ky(r){return Xu(rt,r)}function Ia(r){return A(Bs(r),It.l)}function nS(r,t){if(r.length!==t.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!==t[e])return!1;return!0}function un(r,t){let e=r instanceof Uint8Array?Uint8Array.from(r):Qu(r);if(typeof t=="number"&&e.length!==t)throw new Error(`Expected ${t} bytes`);return e}function Ta(r,t,e=!0){if(!t)throw new TypeError("Specify max value");if(typeof r=="number"&&Number.isSafeInteger(r)&&(r=BigInt(r)),typeof r=="bigint"&&r<t){if(e){if(ie<r)return r}else if(ie<=r)return r}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function iS(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function sS(r){if(r=typeof r=="bigint"||typeof r=="number"?qy(Ta(r,Vy)):un(r),r.length!==32)throw new Error("Expected 32 bytes");return r}function oS(r){let t=iS(r.slice(0,32)),e=r.slice(32,64),n=Ia(t),i=Dt.BASE.multiply(n),s=i.toRawBytes();return{head:t,prefix:e,scalar:n,point:i,pointBytes:s}}var Yu;async function Ba(r){return oS(await fn.sha512(sS(r)))}async function Zu(r){return(await Ba(r)).pointBytes}async function $y(r,t){r=un(r);let{prefix:e,scalar:n,pointBytes:i}=await Ba(t),s=Ia(await fn.sha512(e,r)),o=Dt.BASE.multiply(s),a=Ia(await fn.sha512(o.toRawBytes(),i,r)),c=A(s+a*n,It.l);return new zn(o,c).toRawBytes()}function aS(r,t,e){t=un(t),e instanceof Dt||(e=Dt.fromHex(e,!1));let{r:n,s:i}=r instanceof zn?r.assertValidity():zn.fromHex(r),s=Z.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:e,msg:t}}function cS(r,t,e,n){let i=Ia(n),s=Z.fromAffine(r).multiplyUnsafe(i);return Z.fromAffine(t).add(s).subtract(e).multiplyUnsafe(It.h).equals(Z.ZERO)}async function zy(r,t,e){let{r:n,SB:i,msg:s,pub:o}=aS(r,t,e),a=await fn.sha512(n.toRawBytes(),o.toRawBytes(),s);return cS(o,n,i,a)}Dt.BASE._setWindowSize(8);var an={node:Y_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},fn={bytesToHex:Cs,hexToBytes:Qu,concatBytes:Fy,getExtendedPublicKey:Ba,mod:A,invert:Ca,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:r=>{if(r=un(r),r.length<40||r.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(Bs(r),It.l-rt)+rt},randomBytes:(r=32)=>{if(an.web)return an.web.getRandomValues(new Uint8Array(r));if(an.node){let{randomBytes:t}=an.node;return new Uint8Array(t(r).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>fn.randomBytes(32),sha512:async(...r)=>{let t=Fy(...r);if(an.web){let e=await an.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(an.node)return Uint8Array.from(an.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(r=8,t=Dt.BASE){let e=t.equals(Dt.BASE)?t:new Dt(t.x,t.y);return e._setWindowSize(r),e.multiply(ln),e},sha512Sync:void 0};Object.defineProperties(fn,{sha512Sync:{configurable:!1,get(){return Yu},set(r){Yu||(Yu=r)}}});var Vi=32,Mr=64,Da=32;async function Hy(){let r=fn.randomPrivateKey(),t=await Zu(r);return{privateKey:Qy(r,t),publicKey:t}}async function Gy(r){if(r.length!==Da)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=await Zu(t);return{privateKey:Qy(t,e),publicKey:e}}async function Yy(r,t){let e=r.subarray(0,Da);return await $y(t,e)}async function Wy(r,t,e){return await zy(t,e,r)}function Qy(r,t){let e=new Uint8Array(Mr);for(let n=0;n<Da;n++)e[n]=r[n],e[Da+n]=t[n];return e}var Ds=class{constructor(t){this._key=qi(t,Vi)}async verify(t,e){return await Wy(this._key,e,t)}marshal(){return this._key}get bytes(){return ar.encode({Type:Ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return vt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await oe.digest(this.bytes);return t}},Hn=class{constructor(t,e){this._key=qi(t,Mr),this._publicKey=qi(e,Vi)}async sign(t){return await Yy(this._key,t)}get public(){return new Ds(this._publicKey)}marshal(){return this._key}get bytes(){return cr.encode({Type:Ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return vt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await oe.digest(this.bytes);return t}async id(){let t=Hr.digest(this.public.bytes);return Ut.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Fi(this.bytes,t);throw new C(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function fS(r){if(r.length>Mr){r=qi(r,Mr+Vi);let n=r.subarray(0,Mr),i=r.subarray(Mr,r.length);return new Hn(n,i)}r=qi(r,Mr);let t=r.subarray(0,Mr),e=r.subarray(Vi);return new Hn(t,e)}function hS(r){return r=qi(r,Vi),new Ds(r)}async function dS(){let{privateKey:r,publicKey:t}=await Hy();return new Hn(r,t)}async function Xy(r){let{privateKey:t,publicKey:e}=await Gy(r);return new Hn(t,e)}function qi(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new C(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}var tf={};se(tf,{Secp256k1PrivateKey:()=>Ps,Secp256k1PublicKey:()=>Ls,generateKeyPair:()=>gS,unmarshalSecp256k1PrivateKey:()=>mS,unmarshalSecp256k1PublicKey:()=>yS});function Zy(){return Qe.randomPrivateKey()}async function Jy(r,t){let{digest:e}=await oe.digest(t);try{return await Sy(e,r)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}async function jy(r,t,e){try{let{digest:n}=await oe.digest(e);return Ay(t,n,r)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}function tg(r){return ct.fromHex(r).toRawBytes(!0)}function eg(r){try{Ku(r,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}function ju(r){try{ct.fromHex(r)}catch(t){throw new C(String(t),"ERR_INVALID_PUBLIC_KEY")}}function rg(r){try{return Ku(r,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Ls=class{constructor(t){ju(t),this._key=t}async verify(t,e){return await jy(this._key,e,t)}marshal(){return tg(this._key)}get bytes(){return ar.encode({Type:Ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return vt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await oe.digest(this.bytes);return t}},Ps=class{constructor(t,e){this._key=t,this._publicKey=e??rg(t),eg(this._key),ju(this._publicKey)}async sign(t){return await Jy(this._key,t)}get public(){return new Ls(this._publicKey)}marshal(){return this._key}get bytes(){return cr.encode({Type:Ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return vt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await oe.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Fi(this.bytes,t);throw new C(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function mS(r){return new Ps(r)}function yS(r){return new Ls(r)}async function gS(){let r=Zy();return new Ps(r)}var Ur={rsa:$u,ed25519:Ju,secp256k1:tf};function ef(r){let t=Object.keys(Ur).join(" / ");return new C(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function rf(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return Ur[r];throw ef(r)}async function Pa(r,t){return await rf(r).generateKeyPair(t??2048)}function Ns(r){let t=ar.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Ct.RSA:return Ur.rsa.unmarshalRsaPublicKey(e);case Ct.Ed25519:return Ur.ed25519.unmarshalEd25519PublicKey(e);case Ct.Secp256k1:return Ur.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw ef(t.Type??"RSA")}}function ng(r,t){return t=(t??"rsa").toLowerCase(),rf(t),r.bytes}async function $i(r){let t=cr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Ct.RSA:return await Ur.rsa.unmarshalRsaPrivateKey(e);case Ct.Ed25519:return Ur.ed25519.unmarshalEd25519PrivateKey(e);case Ct.Secp256k1:return Ur.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw ef(t.Type??"RSA")}}function ig(r,t){return t=(t??"rsa").toLowerCase(),rf(t),r.bytes}async function ks(r,t){try{let i=await oy(r,t);return await $i(i)}catch{}let e=La.default.pki.decryptRsaPrivateKey(r,t);if(e===null)throw new C("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=La.default.asn1.toDer(La.default.pki.privateKeyToAsn1(e));return n=F(n.getBytes(),"ascii"),await Ur.rsa.unmarshalRsaPrivateKey(n)}var SB=T(aa(),1),ES=T(ft(),1);var og=T(_u(),1),ag=T($t(),1);var sg={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Os(r,t,e,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(sg).join(" / ");throw new C(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=sg[i],o=(0,og.default)(r,t,e,n,s);return ag.default.encode64(o,null)}var Na=U("libp2p:keychain"),bS="/pkcs8/",lg="/info/",Gn=new WeakMap,Yn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},nf={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Fr(r){return r==null||typeof r!="string"?!1:r===(0,cg.default)(r.trim())&&r.length>0}async function gt(){let e=Math.random()*800+200;await new Promise(n=>setTimeout(n,e))}function gr(r){return new kt(bS+r)}function hn(r){return new kt(lg+r)}var Wn=class{constructor(t,e){if(this.components=t,this.init=Le(nf,e),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Yn.minKeyLength)throw new Error(`dek.keyLength must be least ${Yn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Yn.minSaltLength)throw new Error(`dek.saltLength must be least ${Yn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Yn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Yn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Os(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Gn.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},nf),e=Math.ceil(Yn.minSaltLength/3)*3;return t.dek.salt=z(kr(e),"base64"),t}static get options(){return nf}async createKey(t,e,n=2048){if(!Fr(t)||t==="self")throw await gt(),new C("Invalid key name",j.ERR_INVALID_KEY_NAME);if(typeof e!="string")throw await gt(),new C("Invalid key type",j.ERR_INVALID_KEY_TYPE);let i=gr(t);if(await this.components.datastore.has(i))throw await gt(),new C("Key name already exists",j.ERR_KEY_ALREADY_EXISTS);switch(e.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await gt(),new C("Invalid RSA key size",j.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await Pa(e,n),c=await a.id(),l=Gn.get(this);if(l==null)throw new C("dek missing",j.ERR_INVALID_PARAMETERS);let u=l.dek,f=await a.export(u);o={name:t,id:c};let h=this.components.datastore.batch();h.put(i,F(f)),h.put(hn(t),F(JSON.stringify(o))),await h.commit()}catch(a){throw await gt(),a}return o}async listKeys(){let t={prefix:lg},e=[];for await(let n of this.components.datastore.query(t))e.push(JSON.parse(z(n.value)));return e}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw new C(`Key with id '${t}' does not exist.`,j.ERR_KEY_NOT_FOUND);return n}catch(e){throw await gt(),e}}async findKeyByName(t){if(!Fr(t))throw await gt(),new C(`Invalid key name '${t}'`,j.ERR_INVALID_KEY_NAME);let e=hn(t);try{let n=await this.components.datastore.get(e);return JSON.parse(z(n))}catch(n){throw await gt(),Na.error(n),new C(`Key '${t}' does not exist.`,j.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!Fr(t)||t==="self")throw await gt(),new C(`Invalid key name '${t}'`,j.ERR_INVALID_KEY_NAME);let e=gr(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(e),i.delete(hn(t)),await i.commit(),n}async renameKey(t,e){if(!Fr(t)||t==="self")throw await gt(),new C(`Invalid old key name '${t}'`,j.ERR_OLD_KEY_NAME_INVALID);if(!Fr(e)||e==="self")throw await gt(),new C(`Invalid new key name '${e}'`,j.ERR_NEW_KEY_NAME_INVALID);let n=gr(t),i=gr(e),s=hn(t),o=hn(e);if(await this.components.datastore.has(i))throw await gt(),new C(`Key '${e}' already exists`,j.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),l=await this.components.datastore.get(s),u=JSON.parse(z(l));u.name=e;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,F(JSON.stringify(u))),f.delete(n),f.delete(s),await f.commit(),u}catch(c){throw await gt(),c}}async exportKey(t,e){if(!Fr(t))throw await gt(),new C(`Invalid key name '${t}'`,j.ERR_INVALID_KEY_NAME);if(e==null)throw await gt(),new C("Password is required",j.ERR_PASSWORD_REQUIRED);let n=gr(t);try{let i=await this.components.datastore.get(n),s=z(i),o=Gn.get(this);if(o==null)throw new C("dek missing",j.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await ks(s,a)).export(e)}catch(i){throw await gt(),i}}async exportPeerId(t){let e="temporary-password",n=await this.exportKey(t,e),i=await ks(n,e);return await Qr(i.public.bytes,i.bytes)}async importKey(t,e,n){if(!Fr(t)||t==="self")throw await gt(),new C(`Invalid key name '${t}'`,j.ERR_INVALID_KEY_NAME);if(e==null)throw await gt(),new C("PEM encoded key is required",j.ERR_PEM_REQUIRED);let i=gr(t);if(await this.components.datastore.has(i))throw await gt(),new C(`Key '${t}' already exists`,j.ERR_KEY_ALREADY_EXISTS);let o;try{o=await ks(e,n)}catch{throw await gt(),new C("Cannot read the key, most likely the password is wrong",j.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let u=Gn.get(this);if(u==null)throw new C("dek missing",j.ERR_INVALID_PARAMETERS);let f=u.dek;e=await o.export(f)}catch(u){throw await gt(),u}let c={name:t,id:a},l=this.components.datastore.batch();return l.put(i,F(e)),l.put(hn(t),F(JSON.stringify(c))),await l.commit(),c}async importPeer(t,e){try{if(!Fr(t))throw new C(`Invalid key name '${t}'`,j.ERR_INVALID_KEY_NAME);if(e==null)throw new C("PeerId is required",j.ERR_MISSING_PRIVATE_KEY);if(e.privateKey==null)throw new C("PeerId.privKey is required",j.ERR_MISSING_PRIVATE_KEY);let n=await $i(e.privateKey),i=gr(t);if(await this.components.datastore.has(i))throw await gt(),new C(`Key '${t}' already exists`,j.ERR_KEY_ALREADY_EXISTS);let o=Gn.get(this);if(o==null)throw new C("dek missing",j.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),l={name:t,id:e.toString()},u=this.components.datastore.batch();return u.put(i,F(c)),u.put(hn(t),F(JSON.stringify(l))),await u.commit(),l}catch(n){throw await gt(),n}}async getPrivateKey(t){if(!Fr(t))throw await gt(),new C(`Invalid key name '${t}'`,j.ERR_INVALID_KEY_NAME);try{let e=gr(t),n=await this.components.datastore.get(e);return z(n)}catch(e){throw await gt(),Na.error(e),new C(`Key '${t}' does not exist.`,j.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,e){if(typeof t!="string")throw await gt(),new C(`Invalid old pass type '${typeof t}'`,j.ERR_INVALID_OLD_PASS_TYPE);if(typeof e!="string")throw await gt(),new C(`Invalid new pass type '${typeof e}'`,j.ERR_INVALID_NEW_PASS_TYPE);if(e.length<20)throw await gt(),new C(`Invalid pass length ${e.length}`,j.ERR_INVALID_PASS_LENGTH);Na("recreating keychain");let n=Gn.get(this);if(n==null)throw new C("dek missing",j.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=e;let s=e!=null&&this.init.dek?.salt!=null?Os(e,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Gn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(gr(a.name)),l=z(c),u=await ks(l,i),f=s.toString(),h=await u.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(gr(a.name),F(h)),d.put(hn(a.name),F(JSON.stringify(p))),await d.commit()}Na("keychain reconstructed")}};var zi=T(ht(),1);var QB=Symbol.for("@libp2p/transport");var dn;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(dn||(dn={}));var sf=class extends Map{constructor(t){super();let{name:e,metrics:n}=t;this.metric=n.registerMetric(e),this.updateComponentMetric()}set(t,e){return super.set(t,e),this.updateComponentMetric(),this}delete(t){let e=super.delete(t);return this.updateComponentMetric(),e}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Ms(r){let{name:t,metrics:e}=r,n;return e!=null?n=new sf({name:t,metrics:e}):n=new Map,n}var Qn=U("libp2p:transports"),ka=class extends Nt{constructor(t,e={}){super(),this.components=t,this.started=!1,this.transports=new Map,this.listeners=Ms({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=e.faultTolerance??dn.FATAL_ALL}add(t){let e=t[Symbol.toStringTag];if(e==null)throw(0,zi.default)(new Error("Transport must have a valid tag"),_.ERR_INVALID_KEY);if(this.transports.has(e))throw(0,zi.default)(new Error(`There is already a transport with the tag ${e}`),_.ERR_DUPLICATE_TRANSPORT);Qn("adding transport %s",e),this.transports.set(e,t),this.listeners.has(e)||this.listeners.set(e,[])}isStarted(){return this.started}async start(){let t=this.components.addressManager.getListenAddrs();await this.listen(t),this.started=!0}async stop(){let t=[];for(let[e,n]of this.listeners)for(Qn("closing listeners for %s",e);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),Qn("all listeners closed");for(let e of this.listeners.keys())this.listeners.set(e,[]);this.started=!1}async dial(t,e){let n=this.transportForMultiaddr(t);if(n==null)throw(0,zi.default)(new Error(`No transport available for address ${String(t)}`),_.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...e,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=_.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let e of this.listeners.values())for(let n of e)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(t){for(let e of this.transports.values())if(e.filter([t]).length>0)return e}async listen(t){if(t==null||t.length===0){Qn("no addresses were provided for listening, this node is dial only");return}let e=[];for(let[n,i]of this.transports.entries()){let s=i.filter(t),o=[];for(let l of s){Qn("creating listener for %s on %s",n,l);let u=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(u),u.addEventListener("listening",()=>{this.dispatchEvent(new $("listener:listening",{detail:u}))}),u.addEventListener("close",()=>{this.dispatchEvent(new $("listener:close",{detail:u}))}),o.push(u.listen(l))}if(o.length===0){e.push(n);continue}if((await Promise.allSettled(o)).find(l=>l.status==="fulfilled")==null&&this.faultTolerance!==dn.NO_FATAL)throw(0,zi.default)(new Error(`Transport (${n}) could not listen on any available address`),_.ERR_NO_VALID_ADDRESSES)}if(e.length===this.transports.size){let n=`no valid addresses were provided for transports [${e.join(", ")}]`;if(this.faultTolerance===dn.FATAL_ALL)throw(0,zi.default)(new Error(n),_.ERR_NO_VALID_ADDRESSES);Qn(`libp2p in dial mode only: ${n}`)}}async remove(t){Qn("removing %s",t);for(let e of this.listeners.get(t)??[])await e.close();this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let e of this.transports.keys())t.push(this.remove(e));await Promise.all(t)}};var Jt=T(ht(),1);var Kr="/multistream/1.0.0";var wg=T(ht(),1);var fg=Symbol.for("@achingbrain/uint8arraylist");function ug(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function Oa(r){return!!r?.[fg]}var Mt=class{constructor(...t){Object.defineProperty(this,fg,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(Oa(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(Oa(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ug(this.bufs,t);return e.buf[e.index]}set(t,e){let n=ug(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(Oa(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return Ft(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Ft(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),s=new Mt;return s.length=i,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,t>=c)continue;let l=t>=a&&t<c,u=e>a&&e<=c;if(l&&u){if(t===a&&e===c){n.push(o);break}let f=t-a;n.push(o.subarray(f,f+(e-t)));break}if(l){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(u){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Oa(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let f=e;f<=c;f+=u){u=0;for(let h=l;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){u=Math.max(1,h-a[d]);break}}if(u===0)return f}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Ar(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=Sr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Ar(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=Sr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Mt)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!vt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new Mt;return n.bufs=t,e==null&&(e=t.reduce((i,s)=>i+s.byteLength,0)),n.length=e,n}};function Ma(r){return r instanceof Uint8Array?{get(t){return r[t]},set(t,e){r[t]=e}}:{get(t){return r.get(t)},set(t,e){r.set(t,e)}}}var hg=4294967296,Re=class{constructor(t=0,e=0){this.hi=t,this.lo=e}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),e=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Re(n,e)}zzEncode(){let t=this.hi>>31,e=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Re(e,n)}toBytes(t,e=0){let n=Ma(t);for(;this.hi>0;)n.set(e++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(e++,this.lo&127|128),this.lo=this.lo>>>7;n.set(e++,this.lo)}static fromBigInt(t){if(t===0n)return new Re;let e=t<0;e&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return e&&(n=~n>>>0,i=~i>>>0,++i>hg&&(i=0,++n>hg&&(n=0))),new Re(n,i)}static fromNumber(t){if(t===0)return new Re;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Re(i,n)}static fromBytes(t,e=0){let n=Ma(t),i=new Re,s=0;if(t.length-e>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i;if(i.lo=(i.lo|(n.get(e)&127)<<28)>>>0,i.hi=(i.hi|(n.get(e)&127)>>4)>>>0,n.get(e++)<128)return i;s=0}else for(;s<4;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i}if(t.length-e>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}else if(e<t.byteLength)for(;s<5;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}throw RangeError("invalid varint encoding")}};var _S=Math.pow(2,7),SS=Math.pow(2,14),AS=Math.pow(2,21),RS=Math.pow(2,28),IS=Math.pow(2,35),TS=Math.pow(2,42),CS=Math.pow(2,49),BS=Math.pow(2,56),DS=Math.pow(2,63),Xe={encodingLength(r){return r<_S?1:r<SS?2:r<AS?3:r<RS?4:r<IS?5:r<TS?6:r<CS?7:r<BS?8:r<DS?9:10},encode(r,t,e=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=Ar(Xe.encodingLength(r))),Re.fromNumber(r).toBytes(t,e),t},decode(r,t=0){return Re.fromBytes(r,t).toNumber(!0)}};function dg(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var Ua=r=>{let t=Xe.encodingLength(r),e=dg(t);return Xe.encode(r,e),Ua.bytes=t,e};Ua.bytes=0;function Ie(r){r=r??{};let t=r.lengthEncoder??Ua;return async function*(n){for await(let i of n){let s=t(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}}}Ie.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Ua;return new Mt(e(r.byteLength),r)};var Us=T(ht(),1),LS=8,PS=1024*1024*4,Xn;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Xn||(Xn={}));var of=r=>{let t=Xe.decode(r);return of.bytes=Xe.encodingLength(t),t};of.bytes=0;function ge(r){return async function*(e){let n=new Mt,i=Xn.LENGTH,s=-1,o=r?.lengthDecoder??of,a=r?.maxLengthLength??LS,c=r?.maxDataLength??PS;for await(let l of e)for(n.append(l);n.byteLength>0;){if(i===Xn.LENGTH)try{if(s=o(n),s<0)throw(0,Us.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>c)throw(0,Us.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;n.consume(u),r?.onLength!=null&&r.onLength(s),i=Xn.DATA}catch(u){if(u instanceof RangeError){if(n.byteLength>a)throw(0,Us.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(i===Xn.DATA){if(n.byteLength<s)break;let u=n.sublist(0,s);n.consume(s),r?.onData!=null&&r.onData(u),yield u,i=Xn.LENGTH}}if(n.byteLength>0)throw(0,Us.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}ge.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:s,value:o}=await r.next(e);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{e=1}}();return ge({...t??{},onLength:s=>{e=s}})(n)};var af=T(ht(),1);var Fs=class extends Error{constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function pg(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function Ka(r,t,e){let n=e??{},i=pg(r);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:u,abortCode:f}=n;throw new Fs(u,f)}let l=new Promise((u,f)=>{o=()=>{let{abortMessage:h,abortCode:d}=n;f(new Fs(h,d))}});c=await Promise.race([l,i.next()]),o=null}catch(l){t.removeEventListener("abort",a);let u=l.type==="aborted"&&t.aborted;if(u&&n.onAbort!=null&&await n.onAbort(r),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(u&&n.returnOnAbort===!0)return;throw l}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return s()}function NS(r,t,e){return n=>r(Ka(n,t,e))}function we(r,t,e){return{sink:NS(r.sink,t,{...e,onAbort:void 0}),source:Ka(r.source,t,e)}}var OS=U("libp2p:mss"),mg=F(`
38
+ `);function Ks(r){let t=new Mt(r,mg);return Ie.single(t)}function Zn(r,t,e={}){let n=Ks(t);e.writeBytes===!0?r.push(n.subarray()):r.push(n)}function yg(r,t,e={}){let n=new Mt;for(let i of t)n.append(Ks(i));e.writeBytes===!0?r.push(n.subarray()):r.push(n)}async function MS(r,t){let e=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await r.next(e)},i=n;t?.signal!=null&&(i=Ka(n,t.signal));let o=await Kt(i,ge({onLength:a=>{e=a},maxDataLength:1024}),async a=>await ae(a));if(o==null||o.length===0)throw(0,af.default)(new Error("no buffer returned"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==mg[0])throw OS.error("Invalid mss message - missing newline - %s",o.subarray()),(0,af.default)(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Hi(r,t){let e=await MS(r,t);return z(e.subarray())}function cf(r){let t=async function*(){let e=yield,n=new Mt;for await(let i of r){if(e==null){n.append(i),e=yield n,n=new Mt;continue}for(n.append(i);n.length>=e;){let s=n.sublist(0,e);if(n.consume(e),e=yield s,e==null){n.length>0&&(e=yield n,n=new Mt);break}}}if(e!=null)throw Object.assign(new Error(`stream ended before ${e} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function pn(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}function Va(r){let t=In(),e=cf(r.source),n=pn(),i,s=r.sink(async function*(){yield*t,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:e,writer:t,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await s),source:e},rest:()=>t.end(),write:t.push,read:async()=>{let a=await e.next();if(a.value!=null)return a.value}}}var Vs=U("libp2p:mss:select");async function qs(r,t,e={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:s,stream:o}=Va(r),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");Vs('select: write ["%s", "%s"]',Kr,a);let c=F(Kr),l=F(a);yg(i,[c,l],e);let u=await Hi(n,e);if(Vs('select: read "%s"',u),u===Kr&&(u=await Hi(n,e),Vs('select: read "%s"',u)),u===a)return s(),{stream:o,protocol:a};for(let f of t){Vs('select: write "%s"',f),Zn(i,F(f),e);let h=await Hi(n,e);if(Vs('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),(0,wg.default)(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}var $s=U("libp2p:mss:handle");async function zs(r,t,e){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:s,stream:o}=Va(r);for(;;){let a=await Hi(i,e);if($s('read "%s"',a),a===Kr){$s('respond with "%s" for "%s"',Kr,a),Zn(n,F(Kr),e);continue}if(t.includes(a))return Zn(n,F(a),e),$s('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){Zn(n,new Mt(...t.map(c=>Ks(F(c)))),e),$s('respond with "%s" for %s',t,a);continue}Zn(n,F("na"),e),$s('respond with "na" for "%s"',a)}}var lf=T(ht(),1);var Eg=Symbol.for("@libp2p/connection");var FS=U("libp2p:connection"),uf=class{constructor(t){let{remoteAddr:e,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=e,this.remotePeer=n,this.stat={...a,status:Vo},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[Eg](){return!0}get streams(){return this._getStreams()}async newStream(t,e){if(this.stat.status===Ll)throw(0,lf.default)(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===qo)throw(0,lf.default)(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(t)||(t=[t]);let n=await this._newStream(t,e);return n.stat.direction="outbound",n}addStream(t){t.stat.direction="inbound"}removeStream(t){}async close(){if(!(this.stat.status===qo||this._closing)){this.stat.status=Ll;try{this.streams.forEach(t=>{t.close()})}catch(t){FS.error(t)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=qo}}};function xg(r){return new uf(r)}var qa=T(ht(),1);var KS=Symbol.for("@libp2p/topology");function vg(r){return r!=null&&!!r[KS]}var ff=U("libp2p:registrar"),hf=32,df=64,$a=class{constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(t){let e=this.handlers.get(t);if(e==null)throw(0,qa.default)(new Error(`No handler registered for protocol ${t}`),_.ERR_NO_HANDLER_FOR_PROTOCOL);return e}getTopologies(t){let e=this.topologies.get(t);return e==null?[]:[...e.values()]}async handle(t,e,n){if(this.handlers.has(t))throw(0,qa.default)(new Error(`Handler already registered for protocol ${t}`),_.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Le.bind({ignoreUndefined:!0})({maxInboundStreams:hf,maxOutboundStreams:df},n);this.handlers.set(t,{handler:e,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[t])}async unhandle(t){let e=Array.isArray(t)?t:[t];e.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,e)}async register(t,e){if(!vg(e))throw ff.error("topology must be an instance of interfaces/topology"),(0,qa.default)(new Error("topology must be an instance of interfaces/topology"),_.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,e),await e.setRegistrar(this),n}unregister(t){for(let[e,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(e))}_onDisconnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(e.remotePeer)}}).catch(n=>{ff.error(n)})}_onConnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onConnect(e.remotePeer,e)}}).catch(n=>{ff.error(n)})}_onProtocolChange(t){let{peerId:e,protocols:n,oldProtocols:i}=t.detail,s=i.filter(a=>!n.includes(a)),o=n.filter(a=>!i.includes(a));for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let l of c.values())l.onDisconnect(e)}for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let l of c.values()){let u=this.components.connectionManager.getConnections(e)[0];u!=null&&l.onConnect(e,u)}}}};var pf=T(Ir(),1);var mf=T(ir(),1),_t=U("libp2p:upgrader");function VS(r,t){try{let{options:e}=t.getHandler(r);return e.maxInboundStreams}catch(e){if(e.code!==_.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return hf}function qS(r,t){try{let{options:e}=t.getHandler(r);return e.maxOutboundStreams}catch(e){if(e.code!==_.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return df}function bg(r,t,e){let n=0;return e.streams.forEach(i=>{i.stat.direction===t&&i.stat.protocol===r&&n++}),n}var za=class extends Nt{constructor(t,e){super(),this.components=t,this.connectionEncryption=new Map,e.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,e.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=e.inboundUpgradeTimeout}async upgradeInbound(t,e){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw(0,Jt.default)(new Error("connection denied"),_.ERR_CONNECTION_DENIED);let i,s,o,a,c,l=new pf.TimeoutController(this.inboundUpgradeTimeout);try{(0,mf.setMaxListeners)?.(1/0,l.signal)}catch{}try{let u=we(t,l.signal);if(t.source=u.source,t.sink=u.sink,await this.components.connectionGater.denyInboundConnection?.(t)===!0)throw(0,Jt.default)(new Error("The multiaddr connection is blocked by gater.acceptConnection"),_.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),_t("starting the inbound connection upgrade");let f=t;if(e?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(_t("protecting the inbound connection"),f=await h.protect(t))}try{if(i=f,e?.skipEncryption!==!0){if({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection?.(s,{...f,...i})===!0)throw(0,Jt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED)}else{let h=t.remoteAddr.getPeerId();if(h==null)throw(0,Jt.default)(new Error("inbound connection that skipped encryption must have a peer id"),_.ERR_INVALID_MULTIADDR);let d=at(h);c="native",s=d}if(o=i,e?.muxerFactory!=null)a=e.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 _t.error("Failed to upgrade inbound connection",h),h}if(await this.components.connectionGater.denyInboundUpgradedConnection?.(s,{...f,...i})===!0)throw(0,Jt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED);return _t("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),l.clear()}}async upgradeOutbound(t,e){let n=t.remoteAddr.getPeerId(),i;if(n!=null&&(i=at(n),await this.components.connectionGater.denyOutboundConnection?.(i,t)===!0))throw(0,Jt.default)(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),_.ERR_CONNECTION_INTERCEPTED);let s,o,a,c,l;this.components.metrics?.trackMultiaddrConnection(t),_t("Starting the outbound connection upgrade");let u=t;if(e?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(u=await f.protect(t))}try{if(s=u,e?.skipEncryption!==!0){if({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(u,i),await this.components.connectionGater.denyOutboundEncryptedConnection?.(o,{...u,...s})===!0)throw(0,Jt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED)}else{if(i==null)throw(0,Jt.default)(new Error("Encryption was skipped but no peer id was passed"),_.ERR_INVALID_PEER);c="native",o=i}if(a=s,e?.muxerFactory!=null)l=e.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...u,...s},this.muxers);l=f.muxerFactory,a=f.stream}}catch(f){throw _t.error("Failed to upgrade outbound connection",f),await t.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection?.(o,{...u,...s})===!0)throw(0,Jt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED);return _t("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:l,remotePeer:o})}_createConnection(t){let{cryptoProtocol:e,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=t,c,l,u;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{u!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await zs(d,p);if(_t("%s: incoming stream opened on %s",n,y),u==null)return;let g=VS(y,this.components.registrar);if(bg(y,"inbound",u)===g){d.abort((0,Jt.default)(new Error(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`),_.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}d.source=m.source,d.sink=m.sink,d.stat.protocol=y,this.components.peerStore.protoBook.add(o,[y]).catch(b=>{_t.error(b)}),u.addStream(d),this.components.metrics?.trackProtocolStream(d,u),this._onStream({connection:u,stream:d,protocol:y})}).catch(p=>{_t.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{u?.removeStream(d.id)}}),l=async(d,p={})=>{if(c==null)throw(0,Jt.default)(new Error("Stream is not multiplexed"),_.ERR_MUXER_UNAVAILABLE);_t("%s: starting new stream on %s",n,d);let m=await c.newStream(),y;try{if(p.signal==null){_t("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),y=new pf.TimeoutController(3e4),p.signal=y.signal;try{(0,mf.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:E}=await qs(m,d,p),b=qS(E,this.components.registrar);if(bg(E,"outbound",u)===b){let B=(0,Jt.default)(new Error(`Too many outbound protocol streams for protocol "${E}" - limit ${b}`),_.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(B),B}return this.components.peerStore.protoBook.add(o,[E]).catch(B=>{_t.error(B)}),m.source=g.source,m.sink=g.sink,m.stat.protocol=E,this.components.metrics?.trackProtocolStream(m,u),m}catch(g){throw _t.error("could not create new stream",g),m.stat.timeline.close==null&&m.close(),g.code!=null?g:(0,Jt.default)(g,_.ERR_UNSUPPORTED_PROTOCOL)}finally{y?.clear()}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(d=>{_t.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(u!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{u.stat.status==="OPEN"&&await u.close()}catch(p){_t.error(p)}finally{this.dispatchEvent(new $("connectionEnd",{detail:u}))}})().catch(p=>{_t.error(p)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let h=()=>{throw(0,Jt.default)(new Error("connection is not multiplexed"),_.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=xg({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:e},newStream:l??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.dispatchEvent(new $("connection",{detail:u})),u}_onStream(t){let{connection:e,stream:n,protocol:i}=t,{handler:s}=this.components.registrar.getHandler(i);s({connection:e,stream:n})}async _encryptInbound(t){let e=Array.from(this.connectionEncryption.keys());_t("handling inbound crypto protocol selection",e);try{let{stream:n,protocol:i}=await zs(t,e,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return _t("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw(0,Jt.default)(n,_.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,e){let n=Array.from(this.connectionEncryption.keys());_t("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await qs(t,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return _t("encrypting outbound connection to %p",e),{...await o.secureOutbound(this.components.peerId,i,e),protocol:s}}catch(i){throw(0,Jt.default)(i,_.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,e){let n=Array.from(e.keys());_t("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await qs(t,n,{writeBytes:!0});_t("%s selected as muxer protocol",s);let o=e.get(s);return{stream:i,muxerFactory:o}}catch(i){throw _t.error("error multiplexing outbound stream",i),(0,Jt.default)(i,_.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,e){let n=Array.from(e.keys());_t("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await zs(t,n,{writeBytes:!0}),o=e.get(s);return{stream:i,muxerFactory:o}}catch(i){throw _t.error("error multiplexing inbound stream",i),(0,Jt.default)(i,_.ERR_MUXER_UNAVAILABLE)}}};var jn=T(ht(),1);var Jn;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.protocolVersion!=null&&(n.uint32(42),n.string(e.protocolVersion)),e.agentVersion!=null&&(n.uint32(50),n.string(e.agentVersion)),e.publicKey!=null&&(n.uint32(10),n.bytes(e.publicKey)),e.listenAddrs!=null)for(let s of e.listenAddrs)n.uint32(18),n.bytes(s);if(e.observedAddr!=null&&(n.uint32(34),n.bytes(e.observedAddr)),e.protocols!=null)for(let s of e.protocols)n.uint32(26),n.string(s);e.signedPeerRecord!=null&&(n.uint32(66),n.bytes(e.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={listenAddrs:[],protocols:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 5:i.protocolVersion=e.string();break;case 6:i.agentVersion=e.string();break;case 1:i.publicKey=e.bytes();break;case 2:i.listenAddrs.push(e.bytes());break;case 4:i.observedAddr=e.bytes();break;case 3:i.protocols.push(e.string());break;case 8:i.signedPeerRecord=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(Jn||(Jn={}));var _g={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Hs;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.publicKey!=null&&e.publicKey.byteLength>0&&(n.uint32(10),n.bytes(e.publicKey)),e.payloadType!=null&&e.payloadType.byteLength>0&&(n.uint32(18),n.bytes(e.payloadType)),e.payload!=null&&e.payload.byteLength>0&&(n.uint32(26),n.bytes(e.payload)),e.signature!=null&&e.signature.byteLength>0&&(n.uint32(42),n.bytes(e.signature)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.publicKey=e.bytes();break;case 2:i.payloadType=e.bytes();break;case 3:i.payload=e.bytes();break;case 5:i.signature=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(Hs||(Hs={}));var $S,jt=class{constructor(t){let{peerId:e,payloadType:n,payload:i,signature:s}=t;this.peerId=e,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Hs.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return vt(this.marshal(),t.marshal())}async validate(t){let e=Sg(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await Ns(this.peerId.publicKey).verify(e.subarray(),this.signature)}};$S=jt;jt.createFromProtobuf=async r=>{let t=Hs.decode(r),e=await Qr(t.publicKey);return new jt({peerId:e,payloadType:t.payloadType,payload:t.payload,signature:t.signature})};jt.seal=async(r,t)=>{if(t.privateKey==null)throw new Error("Missing private key");let e=r.domain,n=r.codec,i=r.marshal(),s=Sg(e,n,i),a=await(await $i(t.privateKey)).sign(s.subarray());return new jt({peerId:t,payloadType:n,payload:i,signature:a})};jt.openAndCertify=async(r,t)=>{let e=await jt.createFromProtobuf(r);if(!await e.validate(t))throw new C("envelope signature is not valid for the given domain",_g.ERR_SIGNATURE_NOT_VALID);return e};var Sg=(r,t,e)=>{let n=F(r),i=Xe.encode(n.byteLength),s=Xe.encode(t.length),o=Xe.encode(e.length);return new Mt(i,n,s,t,o,e)};function Ag(r,t){let e=(n,i)=>n.toString().localeCompare(i.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,i)=>t[i].equals(n)))}var Gs;(function(r){let t;(function(n){let i;n.codec=()=>(i==null&&(i=yt((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 l=s.uint32();switch(l>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(l&7);break}}return a})),i),n.encode=s=>mt(s,n.codec()),n.decode=s=>pt(s,n.codec())})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=yt((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),r.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(r.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),e),r.encode=n=>mt(n,r.codec()),r.decode=n=>pt(n,r.codec())})(Gs||(Gs={}));var Rg="libp2p-peer-record",Ig=Uint8Array.from([3,1]);var Yt=class{constructor(t){this.domain=Yt.DOMAIN,this.codec=Yt.CODEC;let{peerId:e,multiaddrs:n,seqNumber:i}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Gs.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof Yt)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!Ag(this.multiaddrs,t.multiaddrs))}};Yt.createFromProtobuf=r=>{let t=Gs.decode(r),e=Wr(t.peerId),n=(t.addresses??[]).map(s=>Tt(s.multiaddr)),i=t.seq;return new Yt({peerId:e,multiaddrs:n,seqNumber:i})};Yt.DOMAIN=Rg;Yt.CODEC=Ig;var Ha="0.0.0",Tg="libp2p";var yf=`js-libp2p/${Ha}`;var Cg="0.1.0",Bg="id",Dg="id/push",Lg="1.0.0",Pg="1.0.0";var Ys=T(Ir(),1);var Ws=T(ir(),1),wt=U("libp2p:identify"),Ng=1024*8,Gi=class{constructor(t,e){this.components=t,this.started=!1,this.init=e,this.identifyProtocolStr=`/${e.protocolPrefix}/${Bg}/${Lg}`,this.identifyPushProtocolStr=`/${e.protocolPrefix}/${Dg}/${Pg}`,this.host={protocolVersion:`${e.protocolPrefix}/${Cg}`,...e.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(wt.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{wt.error(s)})}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{wt.error(s)})})}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",F(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",F(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,t=>{this._handleIdentify(t).catch(e=>{wt.error(e)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,t=>{this._handlePush(t).catch(e=>{wt.error(e)})},{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(t){let e=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(o=>o.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),s=t.map(async o=>{let a,c=new Ys.TimeoutController(this.init.timeout);try{(0,Ws.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await o.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await we(a,c.signal).sink(Kt([Jn.encode({listenAddrs:n,signedPeerRecord:e,protocols:i})],Ie()))}catch(l){wt.error("could not push identify update to peer",l)}finally{a?.close(),c.clear()}});await Promise.all(s)}async pushToPeerStore(){if(!this.isStarted())return;let t=[];for(let e of this.components.connectionManager.getConnections()){let n=e.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&t.push(e)}await this.push(t)}async _identify(t,e={}){let n,i=e.signal,s;if(i==null){n=new Ys.TimeoutController(this.init.timeout),i=n.signal;try{(0,Ws.setMaxListeners)?.(1/0,n.signal)}catch{}}try{s=await t.newStream([this.identifyProtocolStr],{signal:i});let o=we(s,i),a=await Kt([],o,ge({maxDataLength:this.init.maxIdentifyMessageSize??Ng}),async c=>await ae(c));if(a==null)throw(0,jn.default)(new Error("No data could be retrieved"),_.ERR_CONNECTION_ENDED);try{return Jn.decode(a)}catch(c){throw(0,jn.default)(c,_.ERR_INVALID_MESSAGE)}}finally{n?.clear(),s?.close()}}async identify(t,e={}){let n=await this._identify(t,e),{publicKey:i,listenAddrs:s,protocols:o,observedAddr:a,signedPeerRecord:c,agentVersion:l,protocolVersion:u}=n;if(i==null)throw(0,jn.default)(new Error("public key was missing from identify message"),_.ERR_MISSING_PUBLIC_KEY);let f=await Qr(i);if(!t.remotePeer.equals(f))throw(0,jn.default)(new Error("identified peer does not match the expected peer"),_.ERR_INVALID_PEER);if(this.components.peerId.equals(f))throw(0,jn.default)(new Error("identified peer is our own peer id?"),_.ERR_INVALID_PEER);let h=Gi.getCleanMultiaddr(a);if(c!=null){wt("received signed peer record from %p",f);try{let d=await jt.openAndCertify(c,Yt.DOMAIN);if(!d.peerId.equals(f))throw(0,jn.default)(new Error("identified peer does not match the expected peer"),_.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(d)){await this.components.peerStore.protoBook.set(f,o),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(u)),wt("identify completed for peer %p and protocols %o",f,o);return}}catch(d){wt("received invalid envelope, discard it and fallback to listenAddrs is available",d)}}else wt("no signed peer record received from %p",f);wt("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,s.map(d=>Tt(d)))}catch(d){wt.error("received invalid addrs",d)}await this.components.peerStore.protoBook.set(f,o),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(u)),wt("identify completed for peer %p and protocols %o",f,o),wt("our observed address is %s",h),h!=null&&this.components.addressManager.getObservedAddrs().length<(this.init.maxObservedAddresses??1/0)&&(wt("storing our observed address %s",h?.toString()),this.components.addressManager.addObservedAddr(h))}async _handleIdentify(t){let{connection:e,stream:n}=t,i=new Ys.TimeoutController(this.init.timeout);try{(0,Ws.setMaxListeners)?.(1/0,i.signal)}catch{}try{let s=this.components.peerId.publicKey??new Uint8Array(0),o=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(h=>h.decapsulateCode(ot("p2p").code)),c=o.peerRecordEnvelope;if(a.length>0&&c==null){let h=new Yt({peerId:this.components.peerId,multiaddrs:a}),d=await jt.seal(h,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(d),c=d.marshal().subarray()}let l=Jn.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:s,listenAddrs:a.map(h=>h.bytes),signedPeerRecord:c,observedAddr:e.remoteAddr.bytes,protocols:o.protocols}),u=we(n,i.signal),f=Kt([l],Ie());await u.sink(f)}catch(s){wt.error("could not respond to identify request",s)}finally{n.close(),i.clear()}}async _handlePush(t){let{connection:e,stream:n}=t,i=new Ys.TimeoutController(this.init.timeout);try{(0,Ws.setMaxListeners)?.(1/0,i.signal)}catch{}let s;try{let a=we(n,i.signal),c=await Kt([],a,ge({maxDataLength:this.init.maxIdentifyMessageSize??Ng}),async l=>await ae(l));c!=null&&(s=Jn.decode(c))}catch(a){wt.error("received invalid message",a);return}finally{n.close(),i.clear()}if(s==null){wt.error("received invalid message");return}let o=e.remotePeer;if(this.components.peerId.equals(o)){wt("received push from ourselves?");return}if(wt("received push from %p",o),s.signedPeerRecord!=null){wt("received signedPeerRecord in push");try{let a=await jt.openAndCertify(s.signedPeerRecord,Yt.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){wt("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(o,s.protocols);return}else wt("failed to consume signedPeerRecord sent in push")}catch(a){wt("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else wt("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(o,s.listenAddrs.map(a=>Tt(a)))}catch(a){wt.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(o,s.protocols)}catch(a){wt.error("received invalid protocols",a)}wt("handled push from %p",o)}static getCleanMultiaddr(t){if(t!=null&&t.length>0)try{return Tt(t)}catch{}}};var Yi=T(ht(),1);var Qs;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier!==""&&(n.uint32(10),n.string(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={identifier:""},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.identifier=e.string();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(Qs||(Qs={}));var Ze;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>Jr(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=yt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.status!=null&&e[i.status]!==0&&(s.uint32(8),r.StatusCode.codec().encode(i.status,s)),i.data!=null&&i.data.byteLength>0&&(s.uint32(18),s.bytes(i.data)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={status:t.OK,data:new Uint8Array(0)},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.status=r.StatusCode.codec().decode(i);break;case 2:o.data=i.bytes();break;default:i.skipType(c&7);break}}return o})),n),r.encode=i=>mt(i,r.codec()),r.decode=i=>pt(i,r.codec())})(Ze||(Ze={}));var kg="0.0.1",Og="fetch";var Mg=T(Ir(),1),Ug=T(ir(),1);var Ue=U("libp2p:fetch"),Ga=class{constructor(t,e){this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${Og}/${kg}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).catch(e=>{Ue.error(e)}).finally(()=>{t.stream.close()})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,e,n={}){Ue("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),s,o=n.signal,a;if(o==null){Ue("using default timeout of %d ms",this.init.timeout),s=new Mg.TimeoutController(this.init.timeout),o=s.signal;try{(0,Ug.setMaxListeners)?.(1/0,s.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:o});let c=we(a,o);return Ue("fetch %s",e),await Kt([Qs.encode({identifier:e})],Ie(),c,ge(),async function(u){let f=await ae(u);if(f==null)throw(0,Yi.default)(new Error("No data received"),_.ERR_INVALID_MESSAGE);let h=Ze.decode(f);switch(h.status){case Ze.StatusCode.OK:return Ue("received status for %s ok",e),h.data;case Ze.StatusCode.NOT_FOUND:return Ue("received status for %s not found",e),null;case Ze.StatusCode.ERROR:{Ue("received status for %s error",e);let d=z(h.data);throw(0,Yi.default)(new Error("Error in fetch protocol response: "+d),_.ERR_INVALID_PARAMETERS)}default:throw Ue("received status for %s unknown",e),(0,Yi.default)(new Error("Unknown response status"),_.ERR_INVALID_MESSAGE)}})??null}finally{s?.clear(),a?.close()}}async handleMessage(t){let{stream:e}=t,n=this;await Kt(e,ge(),async function*(i){let s=await ae(i);if(s==null)throw(0,Yi.default)(new Error("No data received"),_.ERR_INVALID_MESSAGE);let o=Qs.decode(s),a,c=n._getLookupFunction(o.identifier);if(c!=null){Ue("look up data with identifier %s",o.identifier);let l=await c(o.identifier);l!=null?(Ue("sending status for %s ok",o.identifier),a={status:Ze.StatusCode.OK,data:l}):(Ue("sending status for %s not found",o.identifier),a={status:Ze.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{Ue("sending status for %s error",o.identifier);let l=F(`No lookup function registered for key: ${o.identifier}`);a={status:Ze.StatusCode.ERROR,data:l}}yield Ze.encode(a)},Ie(),e)}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e))return this.lookupFunctions.get(e)}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw(0,Yi.default)(new Error("Fetch protocol handler for key prefix '"+t+"' already registered"),_.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};var qg=T(ht(),1);var Fg="1.0.0",Kg="ping";var $g=T(Ir(),1),zg=T(ir(),1),Vg=U("libp2p:ping"),Ya=class{constructor(t,e){this.components=t,this.started=!1,this.protocol=`/${e.protocolPrefix}/${Kg}/${Fg}`,this.init=e}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(t){let{stream:e}=t;Kt(e,e).catch(n=>{Vg.error(n)})}async ping(t,e={}){Vg("dialing %s to %p",this.protocol,t);let n=Date.now(),i=kr(32),s=await this.components.connectionManager.openConnection(t,e),o,a=e.signal,c;if(a==null){o=new $g.TimeoutController(this.init.timeout),a=o.signal;try{(0,zg.setMaxListeners)?.(1/0,o.signal)}catch{}}try{c=await s.newStream([this.protocol],{signal:a});let l=we(c,a),u=await Kt([i],l,async h=>await ae(h)),f=Date.now();if(u==null||!vt(i,u.subarray()))throw(0,qg.default)(new Error("Received wrong ping ack"),_.ERR_WRONG_PING_ACK);return f-n}finally{o?.clear(),c?.close()}}};async function Hg(){throw new Error("Not supported in browsers")}var Wg=T(Yg(),1),gf=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Wa=(0,Wg.default)(),Xs=gf&&!Wa,Qg=Wa&&!gf,Xg=Wa&&gf,Zg=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Wa,Jg=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,z3=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",jg=typeof navigator<"u"&&navigator.product==="ReactNative";var ow=T(tw(),1);var ew="[a-fA-F\\d:]",mn=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${ew})|(?<=${ew})(?=\\s|$))`:"",Je="(?: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}",Wt="[a-fA-F\\d]{1,4}",Qa=`
38
39
  (?:
39
- (?:${re}:){7}(?:${re}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
- (?:${re}:){6}(?:${lr}|:${re}|:)| // 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
- (?:${re}:){5}(?::${lr}|(?::${re}){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
- (?:${re}:){4}(?:(?::${re}){0,1}:${lr}|(?::${re}){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
- (?:${re}:){3}(?:(?::${re}){0,2}:${lr}|(?::${re}){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
- (?:${re}:){2}(?:(?::${re}){0,3}:${lr}|(?::${re}){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
- (?:${re}:){1}(?:(?::${re}){0,4}:${lr}|(?::${re}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
- (?::(?:(?::${re}){0,5}:${lr}|(?::${re}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
40
+ (?:${Wt}:){7}(?:${Wt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
41
+ (?:${Wt}:){6}(?:${Je}|:${Wt}|:)| // 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
42
+ (?:${Wt}:){5}(?::${Je}|(?::${Wt}){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
43
+ (?:${Wt}:){4}(?:(?::${Wt}){0,1}:${Je}|(?::${Wt}){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
44
+ (?:${Wt}:){3}(?:(?::${Wt}){0,2}:${Je}|(?::${Wt}){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
45
+ (?:${Wt}:){2}(?:(?::${Wt}){0,3}:${Je}|(?::${Wt}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
46
+ (?:${Wt}:){1}(?:(?::${Wt}){0,4}:${Je}|(?::${Wt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
47
+ (?::(?:(?::${Wt}){0,5}:${Je}|(?::${Wt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
47
48
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
48
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),zv=new RegExp(`(?:^${lr}$)|(?:^${Wa}$)`),$v=new RegExp(`^${lr}$`),Hv=new RegExp(`^${Wa}$`),Vl=e=>e&&e.exact?zv:new RegExp(`(?:${Rn(e)}${lr}${Rn(e)})|(?:${Rn(e)}${Wa}${Rn(e)})`,"g");Vl.v4=e=>e&&e.exact?$v:new RegExp(`${Rn(e)}${lr}${Rn(e)}`,"g");Vl.v6=e=>e&&e.exact?Hv:new RegExp(`${Rn(e)}${Wa}${Rn(e)}`,"g");var Sp=Vl;var Ya=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,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,t);if(!Number.isNaN(d))return d});if(l===void 0)break;if(o*=t,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 t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let 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]=t(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]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Ap=45,Gv=15,yo=new Ya;function Rp(e){if(!(e.length>Gv))return yo.new(e).parseWith(()=>yo.readIPv4Addr())}function Ip(e){if(!(e.length>Ap))return yo.new(e).parseWith(()=>yo.readIPv6Addr())}function Tp(e){if(!(e.length>Ap))return yo.new(e).parseWith(()=>yo.readIPAddr())}function Cp(e){return Boolean(Rp(e))}function Bp(e){return Boolean(Ip(e))}function go(e){return Boolean(Tp(e))}var kp=R(Dp(),1),{isValid:Wv,parse:Yv}=kp.default,Qv=["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"],Xv=Qv.map(e=>new Pp.Netmask(e));function Zv(e){for(let t of Xv)if(t.contains(e))return!0;return!1}function Np(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var Op=e=>{if(Wv(e)){let t=Yv(e);if(t.kind()==="ipv4")return Zv(t.toNormalizedString());if(t.kind()==="ipv6")return Np(e)}else if(go(e)&&Sp.v6().test(e))return Np(e)};var Xa=Op;function ql(e){let{address:t}=e.nodeAddress();return Boolean(Xa(t))}function wo(e,t){let r=ql(e.multiaddr),n=ql(t.multiaddr);return r&&!n?1:!r&&n||e.isCertified&&!t.isCertified?-1:!e.isCertified&&t.isCertified?1:0}var bw=R(gt(),1);var zl={};ve(zl,{identity:()=>Jv});var Jv=lo({prefix:"\0",name:"identity",encode:e=>ep(e),decode:e=>tp(e)});var $l={};ve($l,{base2:()=>t_});var t_=Kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Hl={};ve(Hl,{base8:()=>e_});var e_=Kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Gl={};ve(Gl,{base10:()=>r_});var r_=An({prefix:"9",name:"base10",alphabet:"0123456789"});var Wl={};ve(Wl,{base16:()=>n_,base16upper:()=>i_});var n_=Kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),i_=Kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Yl={};ve(Yl,{base36:()=>o_,base36upper:()=>s_});var o_=An({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),s_=An({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ql={};ve(Ql,{base256emoji:()=>f_});var Fp=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}"),a_=Fp.reduce((e,t,r)=>(e[r]=t,e),[]),c_=Fp.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function u_(e){return e.reduce((t,r)=>(t+=a_[r],t),"")}function l_(e){let t=[];for(let r of e){let n=c_[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var f_=lo({prefix:"\u{1F680}",name:"base256emoji",encode:u_,decode:l_});var Xl={};ve(Xl,{identity:()=>In});var Kp=0,h_="identity",Vp=Jr,d_=e=>Tr(Kp,Vp(e)),In={code:Kp,name:h_,encode:Vp,digest:d_};var JB=new TextEncoder,t8=new TextDecoder;var Tn={...zl,...$l,...Hl,...Gl,...Wl,...Dl,...Yl,...Ll,...Nl,...Ql},o8={...Ul,...Xl};function yi(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function rn(e=0){return globalThis.Buffer?.alloc!=null?yi(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function nn(e=0){return globalThis.Buffer?.allocUnsafe!=null?yi(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function zp(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var qp=zp("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Zl=zp("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=nn(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),y_={utf8:qp,"utf-8":qp,hex:Tn.base16,latin1:Zl,ascii:Zl,binary:Zl,...Tn},Za=y_;function q(e,t="utf8"){let r=Za[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?yi(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function Rt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var ff=R(rf(),1),_m=R(mm(),1),hf=R(lf(),1),Sm=R(vm(),1),Am=R(wi(),1);function A_(){Am.default._configure(),ff.default._configure(_m.default),hf.default._configure(Sm.default)}A_();var Rm=["uint64","int64","sint64","fixed64","sfixed64"];function R_(e){for(let t of Rm){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function df(e){return R_(new ff.default(e))}function I_(e){for(let t of Rm){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function pf(){return I_(hf.default.create())}function rc(e,t){let r=df(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function nc(e,t){let r=pf();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var xo;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(xo||(xo={}));function ic(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function mf(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return ic("enum",xo.VARINT,r,n)}function oc(e,t){return ic("message",xo.LENGTH_DELIMITED,e,t)}var Ot;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Ot||(Ot={}));var yf;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(yf||(yf={}));(function(e){e.codec=()=>mf(yf)})(Ot||(Ot={}));var Lr;(function(e){let t;e.codec=()=>(t==null&&(t=oc((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ot.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=Ot.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>nc(r,e.codec()),e.decode=r=>rc(r,e.codec())})(Lr||(Lr={}));var Dr;(function(e){let t;e.codec=()=>(t==null&&(t=oc((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ot.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=Ot.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>nc(r,e.codec()),e.decode=r=>rc(r,e.codec())})(Dr||(Dr={}));var $L=R(As(),1),HL=R(Vy(),1),Uc=R(bt(),1);var H=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};function Wt(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=nn(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return yi(r)}var De={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var N3=R(Gt(),1),P3=R(bc(),1),zy=R(bt(),1);function Q(e,t="utf8"){let r=Za[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function mr(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Wt([new Uint8Array(t-r.length),r])}return Q(r,"base64url")}function Me(e){let t=$y(e);return new zy.default.jsbn.BigInteger(Q(t,"base16"),16)}function $y(e,t){let r=q(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Wt([new Uint8Array(t-r.length),r])}return r}var jA={"P-256":256,"P-384":384,"P-521":521},JA=Object.keys(jA),H3=JA.join(" / ");function Ac(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=De.get();r*=8;async function c(f,d){let h=a.getRandomValues(new Uint8Array(o)),p=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:p};typeof d=="string"&&(d=q(d));let y={name:"PBKDF2",salt:h,iterations:s,hash:{name:i}},g=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),E=await a.subtle.deriveKey(y,g,{name:t,length:r},!0,["encrypt"]),_=await a.subtle.encrypt(m,E,f);return Wt([h,m.iv,new Uint8Array(_)])}async function u(f,d){let h=f.subarray(0,o),p=f.subarray(o,o+n),m=f.subarray(o+n),y={name:t,iv:p};typeof d=="string"&&(d=q(d));let g={name:"PBKDF2",salt:h,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),_=await a.subtle.deriveKey(g,E,{name:t,length:r},!0,["decrypt"]),O=await a.subtle.decrypt(y,_,m);return new Uint8Array(O)}return{encrypt:c,decrypt:u}}async function Gy(e,t){let r=fi.decode(e);return await Ac().decrypt(r,t)}var Qf={};ve(Qf,{RsaPrivateKey:()=>Do,RsaPublicKey:()=>Ps,fromJwk:()=>SR,generateKeyPair:()=>AR,unmarshalRsaPrivateKey:()=>vR,unmarshalRsaPublicKey:()=>_R});var RL=R(Zy(),1),Ns=R(bt(),1);var eR=R(vi(),1);var st=BigInt(0),Pt=BigInt(1),On=BigInt(2),Bs=BigInt(3),jy=BigInt(8),Vt=Object.freeze({a:st,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:Pt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Jy=(e,t)=>(e+t/On)/t,Rc={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=Vt,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Pt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Jy(o*e,t),c=Jy(-n*e,t),u=N(e-a*r-c*i,t),l=N(-a*n-c*o,t),f=u>s,d=l>s;if(f&&(u=t-u),d&&(l=t-l),u>s||l>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:f,k1:u,k2neg:d,k2:l}}},yr=32,Io=32,rR=32,tg=yr+1,eg=2*yr+1;function rg(e){let{a:t,b:r}=Vt,n=N(e*e),i=N(n*e);return N(i+t*e+r)}var Ic=Vt.a===st,Bc=class extends Error{constructor(t){super(t)}};function ng(e){if(!(e instanceof ft))throw new TypeError("JacobianPoint expected")}var ft=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof wt))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(wt.ZERO)?ft.ZERO:new ft(t.x,t.y,Pt)}static toAffineBatch(t){let r=aR(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return ft.toAffineBatch(t).map(ft.fromAffine)}equals(t){ng(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=N(i*i),u=N(a*a),l=N(r*u),f=N(o*c),d=N(N(n*a)*u),h=N(N(s*i)*c);return l===f&&d===h}negate(){return new ft(this.x,N(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=N(t*t),o=N(r*r),s=N(o*o),a=t+o,c=N(On*(N(a*a)-i-s)),u=N(Bs*i),l=N(u*u),f=N(l-On*c),d=N(u*(c-f)-jy*s),h=N(On*r*n);return new ft(f,d,h)}add(t){ng(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===st||s===st)return this;if(r===st||n===st)return t;let c=N(i*i),u=N(a*a),l=N(r*u),f=N(o*c),d=N(N(n*a)*u),h=N(N(s*i)*c),p=N(f-l),m=N(h-d);if(p===st)return m===st?this.double():ft.ZERO;let y=N(p*p),g=N(p*y),E=N(l*y),_=N(m*m-g-On*E),O=N(m*(E-_)-d*g),C=N(i*a*p);return new ft(_,O,C)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=ft.ZERO;if(typeof t=="bigint"&&t===st)return r;let n=sg(t);if(n===Pt)return this;if(!Ic){let f=r,d=this;for(;n>st;)n&Pt&&(f=f.add(d)),d=d.double(),n>>=Pt;return f}let{k1neg:i,k1:o,k2neg:s,k2:a}=Rc.splitScalar(n),c=r,u=r,l=this;for(;o>st||a>st;)o&Pt&&(c=c.add(l)),a&Pt&&(u=u.add(l)),l=l.double(),o>>=Pt,a>>=Pt;return i&&(c=c.negate()),s&&(u=u.negate()),u=new ft(N(u.x*Rc.beta),u.y,u.z),c.add(u)}precomputeWindow(t){let r=Ic?128/t+1:256/t+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(ft.BASE)&&(r=wt.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&&qf.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=ft.normalizeZ(i),qf.set(r,i)));let o=ft.ZERO,s=ft.BASE,a=1+(Ic?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&u);t>>=f,p>c&&(p-=l,t+=Pt);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?s=s.add(Tc(g,i[m])):o=o.add(Tc(E,i[y]))}return{p:o,f:s}}multiply(t,r){let n=sg(t),i,o;if(Ic){let{k1neg:s,k1:a,k2neg:c,k2:u}=Rc.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:d,f:h}=this.wNAF(u,r);l=Tc(s,l),d=Tc(c,d),d=new ft(N(d.x*Rc.beta),d.y,d.z),i=l.add(d),o=f.add(h)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return ft.normalizeZ([i,o])[0]}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(ft.ZERO);t==null&&(t=o?jy:Bo(i));let s=t,a=N(s*s),c=N(a*s),u=N(r*a),l=N(n*c),f=N(i*s);if(o)return wt.ZERO;if(f!==Pt)throw new Error("invZ was invalid");return new wt(u,l)}};ft.BASE=new ft(Vt.Gx,Vt.Gy,Pt);ft.ZERO=new ft(st,Pt,st);function Tc(e,t){let r=t.negate();return e?r:t}var qf=new WeakMap,wt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,qf.delete(this)}hasEvenY(){return this.y%On===st}static fromCompressedHex(t){let r=t.length===32,n=Mn(r?t:t.subarray(1));if(!Vf(n))throw new Error("Point is not on curve");let i=rg(n),o=sR(i),s=(o&Pt)===Pt;r?s&&(o=N(-o)):(t[0]&1)===1!==s&&(o=N(-o));let a=new wt(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let r=Mn(t.subarray(1,yr+1)),n=Mn(t.subarray(yr+1,yr*2+1)),i=new wt(r,n);return i.assertValidity(),i}static fromHex(t){let r=Co(t),n=r.length,i=r[0];if(n===yr)return this.fromCompressedHex(r);if(n===tg&&(i===2||i===3))return this.fromCompressedHex(r);if(n===eg&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${tg} compressed bytes or ${eg} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return wt.BASE.multiply(Dc(t))}static fromSignature(t,r,n){let{r:i,s:o}=ag(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=Hf(Co(t)),{n:a}=Vt,c=n===2||n===3?i+a:i,u=Bo(c,a),l=N(-s*u,a),f=N(o*u,a),d=n&1?"03":"02",h=wt.fromHex(d+Ao(c)),p=wt.BASE.multiplyAndAddUnsafe(h,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return Ii(this.toHex(t))}toHex(t=!1){let r=Ao(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Ao(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Vf(r)||!Vf(n))throw new Error(t);let i=N(n*n),o=rg(r);if(N(i-o)!==st)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new wt(this.x,N(-this.y))}double(){return ft.fromAffine(this).double().toAffine()}add(t){return ft.fromAffine(this).add(ft.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return ft.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=ft.fromAffine(this),o=r===st||r===Pt||this!==wt.BASE?i.multiplyUnsafe(r):i.multiply(r),s=ft.fromAffine(t).multiplyUnsafe(n),a=o.add(s);return a.equals(ft.ZERO)?void 0:a.toAffine()}};wt.BASE=new wt(Vt.Gx,Vt.Gy);wt.ZERO=new wt(st,st);function ig(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function og(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${To(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)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:Mn(r),left:e.subarray(t+2)}}function nR(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${To(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=og(e.subarray(2)),{data:n,left:i}=og(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${To(i)}`);return{r:t,s:n}}var Fr=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?To(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Fr(Lc(i.slice(0,64)),Lc(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=nR(r?t:Ii(t));return new Fr(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!Ds(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Ds(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Vt.n>>Pt;return this.s>t}normalizeS(){return this.hasHighS()?new Fr(this.r,N(-this.s,Vt.n)):this}toDERRawBytes(){return Ii(this.toDERHex())}toDERHex(){let t=ig(Cs(this.s)),r=ig(Cs(this.r)),n=t.length/2,i=r.length/2,o=Cs(n),s=Cs(i);return`30${Cs(i+n+4)}02${s}${r}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Ii(this.toCompactHex())}toCompactHex(){return Ao(this.r)+Ao(this.s)}};function kn(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var iR=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function To(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=iR[e[r]];return t}var oR=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Ao(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(st<=e&&e<oR))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function zf(e){let t=Ii(Ao(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function Cs(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Lc(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function Ii(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function Mn(e){return Lc(To(e))}function Co(e){return e instanceof Uint8Array?Uint8Array.from(e):Ii(e)}function sg(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&Ds(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(e,t=Vt.P){let r=e%t;return r>=st?r:t+r}function Ze(e,t){let{P:r}=Vt,n=e;for(;t-- >st;)n*=n,n%=r;return n}function sR(e){let{P:t}=Vt,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=e*e*e%t,u=c*c*e%t,l=Ze(u,Bs)*u%t,f=Ze(l,Bs)*u%t,d=Ze(f,On)*c%t,h=Ze(d,n)*d%t,p=Ze(h,i)*h%t,m=Ze(p,s)*p%t,y=Ze(m,a)*m%t,g=Ze(y,s)*p%t,E=Ze(g,Bs)*u%t,_=Ze(E,o)*h%t,O=Ze(_,r)*c%t,C=Ze(O,On);if(C*C%t!==e)throw new Error("Cannot find square root");return C}function Bo(e,t=Vt.P){if(e===st||t<=st)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=N(e,t),n=t,i=st,o=Pt,s=Pt,a=st;for(;r!==st;){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!==Pt)throw new Error("invert: does not exist");return N(i,t)}function aR(e,t=Vt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===st?o:(r[a]=o,N(o*s,t)),Pt),i=Bo(n,t);return e.reduceRight((o,s,a)=>s===st?o:(r[a]=N(o*r[a],t),N(o*s,t)),i),r}function cR(e){let t=e.length*8-Io*8,r=Mn(e);return t>0?r>>BigInt(t):r}function Hf(e,t=!1){let r=cR(e);if(t)return r;let{n}=Vt;return r>=n?r-n:r}var Ro,Ls,$f=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<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(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return gr.hmacSha256(this.k,...t)}hmacSync(...t){return Ls(this.k,...t)}checkSync(){if(typeof Ls!="function")throw new Bc("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return kn(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return kn(...r)}};function Ds(e){return st<e&&e<Vt.n}function Vf(e){return st<e&&e<Vt.P}function uR(e,t,r,n=!0){let{n:i}=Vt,o=Hf(e,!0);if(!Ds(o))return;let s=Bo(o,i),a=wt.BASE.multiply(o),c=N(a.x,i);if(c===st)return;let u=N(s*N(t+r*c,i),i);if(u===st)return;let l=new Fr(c,u),f=(a.x===l.r?0:2)|Number(a.y&Pt);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function Dc(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Io)throw new Error("Expected 32 bytes of private key");t=Lc(e)}else if(e instanceof Uint8Array){if(e.length!==Io)throw new Error("Expected 32 bytes of private key");t=Mn(e)}else throw new TypeError("Expected valid private key");if(!Ds(t))throw new Error("Expected private key: 0 < key < n");return t}function lR(e){return e instanceof wt?(e.assertValidity(),e):wt.fromHex(e)}function ag(e){if(e instanceof Fr)return e.assertValidity(),e;try{return Fr.fromDER(e)}catch{return Fr.fromCompact(e)}}function Gf(e,t=!1){return wt.fromPrivateKey(e).toRawBytes(t)}function cg(e){let t=e.length>yr?e.slice(0,yr):e;return Mn(t)}function fR(e){let t=cg(e),r=N(t,Vt.n);return ug(r<st?t:r)}function ug(e){return zf(e)}function hR(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Co(e),i=Dc(t),o=[ug(i),fR(n)];if(r!=null){r===!0&&(r=gr.randomBytes(yr));let c=Co(r);if(c.length!==yr)throw new Error(`sign: Expected ${yr} bytes of extra data`);o.push(c)}let s=kn(...o),a=cg(n);return{seed:s,m:a,d:i}}function dR(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},t),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function lg(e,t,r={}){let{seed:n,m:i,d:o}=hR(e,t,r.extraEntropy),s=new $f(rR,Io);await s.reseed(n);let a;for(;!(a=uR(await s.generate(),i,o,r.canonical));)await s.reseed();return dR(a,r)}var pR={strict:!0};function fg(e,t,r,n=pR){let i;try{i=ag(e),t=Co(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=Hf(t),c;try{c=lR(r)}catch{return!1}let{n:u}=Vt,l=Bo(s,u),f=N(a*l,u),d=N(o*l,u),h=wt.BASE.multiplyAndAddUnsafe(c,f,d);return h?N(h.x,u)===o:!1}wt.BASE._setWindowSize(8);var Ue={node:eR,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var Cc={},gr={bytesToHex:To,hexToBytes:Ii,concatBytes:kn,mod:N,invert:Bo,isValidPrivateKey(e){try{return Dc(e),!0}catch{return!1}},_bigintTo32Bytes:zf,_normalizePrivateKey:Dc,hashToPrivateKey:e=>{e=Co(e);let t=Io+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=N(Mn(e),Vt.n-Pt)+Pt;return zf(r)},randomBytes:(e=32)=>{if(Ue.web)return Ue.web.getRandomValues(new Uint8Array(e));if(Ue.node){let{randomBytes:t}=Ue.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>gr.hashToPrivateKey(gr.randomBytes(Io+8)),precompute(e=8,t=wt.BASE){let r=t===wt.BASE?t:new wt(t.x,t.y);return r._setWindowSize(e),r.multiply(Bs),r},sha256:async(...e)=>{if(Ue.web){let t=await Ue.web.subtle.digest("SHA-256",kn(...e));return new Uint8Array(t)}else if(Ue.node){let{createHash:t}=Ue.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(Ue.web){let r=await Ue.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=kn(...t),i=await Ue.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(Ue.node){let{createHmac:r}=Ue.node,n=r("sha256",e);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=Cc[e];if(r===void 0){let n=await gr.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=kn(n,n),Cc[e]=r}return gr.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Ro!="function")throw new Bc("sha256Sync is undefined, you need to set it");let r=Cc[e];if(r===void 0){let n=Ro(Uint8Array.from(e,i=>i.charCodeAt(0)));r=kn(n,n),Cc[e]=r}return Ro(r,...t)},_JacobianPoint:ft};Object.defineProperties(gr,{sha256Sync:{configurable:!1,get(){return Ro},set(e){Ro||(Ro=e)}},hmacSha256Sync:{configurable:!1,get(){return Ls},set(e){Ls||(Ls=e)}}});function cn(e){if(isNaN(e)||e<=0)throw new H("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return gr.randomBytes(e)}var Ti={};ve(Ti,{jwkToPkcs1:()=>gR,jwkToPkix:()=>ER,pkcs1ToJwk:()=>yR,pkixToJwk:()=>wR});var oL=R(As(),1),sL=R(Sc(),1),un=R(bt(),1);function yR(e){let t=un.default.asn1.fromDer(Q(e,"ascii")),r=un.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:mr(r.n),e:mr(r.e),d:mr(r.d),p:mr(r.p),q:mr(r.q),dp:mr(r.dP),dq:mr(r.dQ),qi:mr(r.qInv),alg:"RS256"}}function gR(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new H("JWK was missing components","ERR_INVALID_PARAMETERS");let t=un.default.pki.privateKeyToAsn1({n:Me(e.n),e:Me(e.e),d:Me(e.d),p:Me(e.p),q:Me(e.q),dP:Me(e.dp),dQ:Me(e.dq),qInv:Me(e.qi)});return q(un.default.asn1.toDer(t).getBytes(),"ascii")}function wR(e){let t=un.default.asn1.fromDer(Q(e,"ascii")),r=un.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:mr(r.n),e:mr(r.e)}}function ER(e){if(e.n==null||e.e==null)throw new H("JWK was missing components","ERR_INVALID_PARAMETERS");let t=un.default.pki.publicKeyToAsn1({n:Me(e.n),e:Me(e.e)});return q(un.default.asn1.toDer(t).getBytes(),"ascii")}var fL=R(Sc(),1),Wf=R(bt(),1);function hg(e,t){return t.map(r=>Me(e[r]))}function dg(e){return Wf.default.pki.setRsaPrivateKey(...hg(e,["n","e","d","p","q","dp","dq","qi"]))}function pg(e){return Wf.default.pki.setRsaPublicKey(...hg(e,["n","e"]))}async function mg(e){let t=await De.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await wg(t);return{privateKey:r[0],publicKey:r[1]}}async function Yf(e){let r=[await De.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await xR(e)],n=await wg({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function yg(e,t){let r=await De.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await De.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function gg(e,t,r){let n=await De.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await De.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function wg(e){if(e.privateKey==null||e.publicKey==null)throw new H("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([De.get().subtle.exportKey("jwk",e.privateKey),De.get().subtle.exportKey("jwk",e.publicKey)])}async function xR(e){return await De.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Eg(e,t,r,n){let i=t?pg(e):dg(e),o=Q(Uint8Array.from(r),"ascii"),s=n(o,i);return q(s,"ascii")}function xg(e,t){return Eg(e,!0,t,(r,n)=>n.encrypt(r))}function bg(e,t){return Eg(e,!1,t,(r,n)=>n.decrypt(r))}async function Lo(e,t){let n=await Ac().encrypt(e,t);return fi.encode(n)}var Ps=class{constructor(t){this._key=t}async verify(t,r){return await gg(this._key,r,t)}marshal(){return Ti.jwkToPkix(this._key)}get bytes(){return Lr.encode({Type:Ot.RSA,Data:this.marshal()}).subarray()}encrypt(t){return xg(this._key,t)}equals(t){return Rt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await fe.digest(this.bytes);return t}},Do=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return cn(16)}async sign(t){return await yg(this._key,t)}get public(){if(this._publicKey==null)throw new H("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Ps(this._publicKey)}decrypt(t){return bg(this._key,t)}marshal(){return Ti.jwkToPkcs1(this._key)}get bytes(){return Dr.encode({Type:Ot.RSA,Data:this.marshal()}).subarray()}equals(t){return Rt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await fe.digest(this.bytes);return t}async id(){let t=await this.public.hash();return Q(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ns.default.util.ByteBuffer(this.marshal()),i=Ns.default.asn1.fromDer(n),o=Ns.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ns.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return await Lo(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function vR(e){let t=Ti.pkcs1ToJwk(e),r=await Yf(t);return new Do(r.privateKey,r.publicKey)}function _R(e){let t=Ti.pkixToJwk(e);return new Ps(t)}async function SR(e){let t=await Yf(e);return new Do(t.privateKey,t.publicKey)}async function AR(e){let t=await mg(e);return new Do(t.privateKey,t.publicKey)}var ih={};ve(ih,{Ed25519PrivateKey:()=>Bi,Ed25519PublicKey:()=>Fs,generateKeyPair:()=>GR,generateKeyPairFromSeed:()=>Og,unmarshalEd25519PrivateKey:()=>$R,unmarshalEd25519PublicKey:()=>HR});var RR=R(vi(),1);var we=BigInt(0),at=BigInt(1),Kn=BigInt(2),IR=BigInt(8),vg=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),kt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:vg,n:vg,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Ig=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),ks=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),TL=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),TR=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),CR=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),BR=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),LR=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),nt=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof Ut))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(Ut.ZERO)?nt.ZERO:new nt(t.x,t.y,at,I(t.x*t.y))}static toAffineBatch(t){let r=PR(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){Sg(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=I(r*a),u=I(o*i),l=I(n*a),f=I(s*i);return c===u&&l===f}negate(){return new nt(I(-this.x),this.y,this.z,I(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=kt,o=I(t*t),s=I(r*r),a=I(Kn*I(n*n)),c=I(i*o),u=t+r,l=I(I(u*u)-o-s),f=c+s,d=f-a,h=c-s,p=I(l*d),m=I(f*h),y=I(l*h),g=I(d*f);return new nt(p,m,g,y)}add(t){Sg(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=t,l=I((n-r)*(a+s)),f=I((n+r)*(a-s)),d=I(f-l);if(d===we)return this.double();let h=I(i*Kn*u),p=I(o*Kn*c),m=p+h,y=f+l,g=p-h,E=I(m*d),_=I(y*g),O=I(m*g),C=I(d*y);return new nt(E,_,C,O)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(nt.BASE)&&(r=Ut.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&&th.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=nt.normalizeZ(i),th.set(r,i)));let o=nt.ZERO,s=nt.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&u);t>>=f,p>c&&(p-=l,t+=at);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?s=s.add(_g(g,i[m])):o=o.add(_g(E,i[y]))}return nt.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(Pc(t,kt.l),r)}multiplyUnsafe(t){let r=Pc(t,kt.l,!1),n=nt.BASE,i=nt.ZERO;if(r===we)return i;if(this.equals(i)||r===at)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>we;)r&at&&(o=o.add(s)),s=s.double(),r>>=at;return o}isSmallOrder(){return this.multiplyUnsafe(kt.h).equals(nt.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(kt.l/Kn).double();return kt.l%Kn&&(t=t.add(this)),t.equals(nt.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(nt.ZERO);t==null&&(t=o?IR:kc(i));let s=I(r*t),a=I(n*t),c=I(i*t);if(o)return Ut.ZERO;if(c!==at)throw new Error("invZ was invalid");return new Ut(s,a)}fromRistrettoBytes(){Zf()}toRistrettoBytes(){Zf()}fromRistrettoHash(){Zf()}};nt.BASE=new nt(kt.Gx,kt.Gy,at,I(kt.Gx*kt.Gy));nt.ZERO=new nt(we,at,at,we);function _g(e,t){let r=t.negate();return e?r:t}function Sg(e){if(!(e instanceof nt))throw new TypeError("ExtendedPoint expected")}function Xf(e){if(!(e instanceof Ne))throw new TypeError("RistrettoPoint expected")}function Zf(){throw new Error("Legacy method: switch to RistrettoPoint")}var Ne=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=kt,n=I(ks*t*t),i=I((n+at)*BR),o=BigInt(-1),s=I((o-r*n)*I(n+r)),{isValid:a,value:c}=rh(i,s),u=I(c*t);Fn(u)||(u=I(-u)),a||(c=u),a||(o=n);let l=I(o*(n-at)*LR-s),f=c*c,d=I((c+c)*s),h=I(l*TR),p=I(at-f),m=I(at+f);return new nt(I(d*m),I(p*h),I(h*m),I(d*p))}static hashToCurve(t){t=Vn(t,64);let r=jf(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=jf(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Ne(n.add(o))}static fromHex(t){t=Vn(t,32);let{a:r,d:n}=kt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=jf(t);if(!OR(Os(o),t)||Fn(o))throw new Error(i);let s=I(o*o),a=I(at+r*s),c=I(at-r*s),u=I(a*a),l=I(c*c),f=I(r*n*u-l),{isValid:d,value:h}=Rg(I(f*l)),p=I(h*c),m=I(h*p*f),y=I((o+o)*p);Fn(y)&&(y=I(-y));let g=I(a*m),E=I(y*g);if(!d||Fn(E)||g===we)throw new Error(i);return new Ne(new nt(y,g,at,E))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=I(I(n+r)*I(n-r)),s=I(t*r),a=I(s*s),{value:c}=Rg(I(o*a)),u=I(c*o),l=I(c*s),f=I(u*l*i),d;if(Fn(i*f)){let p=I(r*ks),m=I(t*ks);t=p,r=m,d=I(u*CR)}else d=l;Fn(t*f)&&(r=I(-r));let h=I((n-r)*d);return Fn(h)&&(h=I(-h)),Os(h)}toHex(){return Ms(this.toRawBytes())}toString(){return this.toHex()}equals(t){Xf(t);let r=this.ep,n=t.ep,i=I(r.x*n.y)===I(r.y*n.x),o=I(r.y*n.y)===I(r.x*n.x);return i||o}add(t){return Xf(t),new Ne(this.ep.add(t.ep))}subtract(t){return Xf(t),new Ne(this.ep.subtract(t.ep))}multiply(t){return new Ne(this.ep.multiply(t))}multiplyUnsafe(t){return new Ne(this.ep.multiplyUnsafe(t))}};Ne.BASE=new Ne(nt.BASE);Ne.ZERO=new Ne(nt.ZERO);var th=new WeakMap,Ut=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,th.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=kt;t=Vn(t,32);let o=t.slice();o[31]=t[31]&-129;let s=Us(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=Ig)throw new Error("Expected 0 < hex < 2**256");let a=I(s*s),c=I(a-at),u=I(n*a+at),{isValid:l,value:f}=rh(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&at)===at;return(t[31]&128)!==0!==d&&(f=I(-f)),new Ut(f,s)}static async fromPrivateKey(t){return(await Oc(t)).point}toRawBytes(){let t=Os(this.y);return t[31]|=this.x&at?128:0,t}toHex(){return Ms(this.toRawBytes())}toX25519(){let{y:t}=this,r=I((at+t)*kc(at-t));return Os(r)}isTorsionFree(){return nt.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Ut(I(-this.x),this.y)}add(t){return nt.fromAffine(this).add(nt.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return nt.fromAffine(this).multiply(t,this).toAffine()}};Ut.BASE=new Ut(kt.Gx,kt.Gy);Ut.ZERO=new Ut(we,at);var Ci=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=Vn(t,64),n=Ut.fromHex(r.slice(0,32),!1),i=Us(r.slice(32,64));return new Ci(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof Ut))throw new Error("Expected Point instance");return Pc(r,kt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(Os(this.s),32),t}toHex(){return Ms(this.toRawBytes())}};function Ag(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var DR=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ms(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=DR[e[r]];return t}function eh(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function Tg(e){let r=e.toString(16).padStart(64,"0");return eh(r)}function Os(e){return Tg(e).reverse()}function Fn(e){return(I(e)&at)===at}function Us(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Ms(Uint8Array.from(e).reverse()))}var NR=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function jf(e){return I(Us(e)&NR)}function I(e,t=kt.P){let r=e%t;return r>=we?r:t+r}function kc(e,t=kt.P){if(e===we||t<=we)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=I(e,t),n=t,i=we,o=at,s=at,a=we;for(;r!==we;){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!==at)throw new Error("invert: does not exist");return I(i,t)}function PR(e,t=kt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===we?o:(r[a]=o,I(o*s,t)),at),i=kc(n,t);return e.reduceRight((o,s,a)=>s===we?o:(r[a]=I(o*r[a],t),I(o*s,t)),i),r}function Kr(e,t){let{P:r}=kt,n=e;for(;t-- >we;)n*=n,n%=r;return n}function kR(e){let{P:t}=kt,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=e*e%t*e%t,u=Kr(c,Kn)*c%t,l=Kr(u,at)*e%t,f=Kr(l,r)*l%t,d=Kr(f,n)*f%t,h=Kr(d,i)*d%t,p=Kr(h,o)*h%t,m=Kr(p,s)*p%t,y=Kr(m,s)*p%t,g=Kr(y,n)*f%t;return{pow_p_5_8:Kr(g,Kn)*e%t,b2:c}}function rh(e,t){let r=I(t*t*t),n=I(r*r*t),i=kR(e*n).pow_p_5_8,o=I(e*r*i),s=I(t*o*o),a=o,c=I(o*ks),u=s===e,l=s===I(-e),f=s===I(-e*ks);return u&&(o=a),(l||f)&&(o=c),Fn(o)&&(o=I(-o)),{isValid:u||l,value:o}}function Rg(e){return rh(at,e)}function Nc(e){return I(Us(e),kt.l)}function OR(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Vn(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):eh(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function Pc(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(we<e)return e}else if(we<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function MR(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function UR(e){if(e=typeof e=="bigint"||typeof e=="number"?Tg(Pc(e,Ig)):Vn(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function FR(e){let t=MR(e.slice(0,32)),r=e.slice(32,64),n=Nc(t),i=Ut.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var Jf;async function Oc(e){return FR(await qn.sha512(UR(e)))}async function nh(e){return(await Oc(e)).pointBytes}async function Cg(e,t){e=Vn(e);let{prefix:r,scalar:n,pointBytes:i}=await Oc(t),o=Nc(await qn.sha512(r,e)),s=Ut.BASE.multiply(o),a=Nc(await qn.sha512(s.toRawBytes(),i,e)),c=I(o+a*n,kt.l);return new Ci(s,c).toRawBytes()}function KR(e,t,r){t=Vn(t),r instanceof Ut||(r=Ut.fromHex(r,!1));let{r:n,s:i}=e instanceof Ci?e.assertValidity():Ci.fromHex(e),o=nt.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function VR(e,t,r,n){let i=Nc(n),o=nt.fromAffine(e).multiplyUnsafe(i);return nt.fromAffine(t).add(o).subtract(r).multiplyUnsafe(kt.h).equals(nt.ZERO)}async function Bg(e,t,r){let{r:n,SB:i,msg:o,pub:s}=KR(e,t,r),a=await qn.sha512(n.toRawBytes(),s.toRawBytes(),o);return VR(s,n,i,a)}Ut.BASE._setWindowSize(8);var Un={node:RR,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},qn={bytesToHex:Ms,hexToBytes:eh,concatBytes:Ag,getExtendedPublicKey:Oc,mod:I,invert:kc,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=Vn(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return I(Us(e),kt.l-at)+at},randomBytes:(e=32)=>{if(Un.web)return Un.web.getRandomValues(new Uint8Array(e));if(Un.node){let{randomBytes:t}=Un.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>qn.randomBytes(32),sha512:async(...e)=>{let t=Ag(...e);if(Un.web){let r=await Un.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(Un.node)return Uint8Array.from(Un.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=Ut.BASE){let r=t.equals(Ut.BASE)?t:new Ut(t.x,t.y);return r._setWindowSize(e),r.multiply(Kn),r},sha512Sync:void 0};Object.defineProperties(qn,{sha512Sync:{configurable:!1,get(){return Jf},set(e){Jf||(Jf=e)}}});var No=32,ln=64,Mc=32;async function Lg(){let e=qn.randomPrivateKey(),t=await nh(e);return{privateKey:kg(e,t),publicKey:t}}async function Dg(e){if(e.length!==Mc)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await nh(t);return{privateKey:kg(t,r),publicKey:r}}async function Ng(e,t){let r=e.subarray(0,Mc);return await Cg(t,r)}async function Pg(e,t,r){return await Bg(t,r,e)}function kg(e,t){let r=new Uint8Array(ln);for(let n=0;n<Mc;n++)r[n]=e[n],r[Mc+n]=t[n];return r}var Fs=class{constructor(t){this._key=Po(t,No)}async verify(t,r){return await Pg(this._key,r,t)}marshal(){return this._key}get bytes(){return Lr.encode({Type:Ot.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Rt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await fe.digest(this.bytes);return t}},Bi=class{constructor(t,r){this._key=Po(t,ln),this._publicKey=Po(r,No)}async sign(t){return await Ng(this._key,t)}get public(){return new Fs(this._publicKey)}marshal(){return this._key}get bytes(){return Dr.encode({Type:Ot.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Rt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await fe.digest(this.bytes);return t}async id(){let t=await In.digest(this.public.bytes);return $t.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Lo(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function $R(e){if(e.length>ln){e=Po(e,ln+No);let n=e.subarray(0,ln),i=e.subarray(ln,e.length);return new Bi(n,i)}e=Po(e,ln);let t=e.subarray(0,ln),r=e.subarray(No);return new Bi(t,r)}function HR(e){return e=Po(e,No),new Fs(e)}async function GR(){let{privateKey:e,publicKey:t}=await Lg();return new Bi(e,t)}async function Og(e){let{privateKey:t,publicKey:r}=await Dg(e);return new Bi(t,r)}function Po(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new H(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var sh={};ve(sh,{Secp256k1PrivateKey:()=>Vs,Secp256k1PublicKey:()=>Ks,generateKeyPair:()=>XR,unmarshalSecp256k1PrivateKey:()=>YR,unmarshalSecp256k1PublicKey:()=>QR});function Mg(){return gr.randomPrivateKey()}async function Ug(e,t){let{digest:r}=await fe.digest(t);try{return await lg(r,e)}catch(n){throw new H(String(n),"ERR_INVALID_INPUT")}}async function Fg(e,t,r){try{let{digest:n}=await fe.digest(r);return fg(t,n,e)}catch(n){throw new H(String(n),"ERR_INVALID_INPUT")}}function Kg(e){return wt.fromHex(e).toRawBytes(!0)}function Vg(e){try{Gf(e,!0)}catch(t){throw new H(String(t),"ERR_INVALID_PRIVATE_KEY")}}function oh(e){try{wt.fromHex(e)}catch(t){throw new H(String(t),"ERR_INVALID_PUBLIC_KEY")}}function qg(e){try{return Gf(e,!0)}catch(t){throw new H(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Ks=class{constructor(t){oh(t),this._key=t}async verify(t,r){return await Fg(this._key,r,t)}marshal(){return Kg(this._key)}get bytes(){return Lr.encode({Type:Ot.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Rt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await fe.digest(this.bytes);return t}},Vs=class{constructor(t,r){this._key=t,this._publicKey=r??qg(t),Vg(this._key),oh(this._publicKey)}async sign(t){return await Ug(this._key,t)}get public(){return new Ks(this._publicKey)}marshal(){return this._key}get bytes(){return Dr.encode({Type:Ot.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Rt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await fe.digest(this.bytes);return t}async id(){let t=await this.public.hash();return Q(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Lo(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function YR(e){return new Vs(e)}function QR(e){return new Ks(e)}async function XR(){let e=await Mg();return new Vs(e)}var fn={rsa:Qf,ed25519:ih,secp256k1:sh};function ah(e){let t=Object.keys(fn).join(" / ");return new H(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function ch(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return fn[e];throw ah(e)}async function Fc(e,t){return await ch(e).generateKeyPair(t??2048)}function qs(e){let t=Lr.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Ot.RSA:return fn.rsa.unmarshalRsaPublicKey(r);case Ot.Ed25519:return fn.ed25519.unmarshalEd25519PublicKey(r);case Ot.Secp256k1:return fn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ah(t.Type??"RSA")}}function zg(e,t){return t=(t??"rsa").toLowerCase(),ch(t),e.bytes}async function ko(e){let t=Dr.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Ot.RSA:return await fn.rsa.unmarshalRsaPrivateKey(r);case Ot.Ed25519:return fn.ed25519.unmarshalEd25519PrivateKey(r);case Ot.Secp256k1:return fn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ah(t.Type??"RSA")}}function $g(e,t){return t=(t??"rsa").toLowerCase(),ch(t),e.bytes}async function zs(e,t){try{let i=await Gy(e,t);return await ko(i)}catch{}let r=Uc.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new H("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Uc.default.asn1.toDer(Uc.default.pki.privateKeyToAsn1(r));return n=q(n.getBytes(),"ascii"),await fn.rsa.unmarshalRsaPrivateKey(n)}var Hg={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var xh=R(hh(),1),hw=R(iw(),1),bh=R(Eh(),1),dw=R(fw(),1),pw=R(Di(),1);function iI(){pw.default._configure(),xh.default._configure(hw.default),bh.default._configure(dw.default)}iI();var mw=["uint64","int64","sint64","fixed64","sfixed64"];function oI(e){for(let t of mw){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function vh(e){return oI(new xh.default(e))}function sI(e){for(let t of mw){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function _h(){return sI(bh.default.create())}function Oo(e,t){let r=vh(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Mo(e,t){let r=_h();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Gs;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Gs||(Gs={}));function Sh(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Uo(e,t){return Sh("message",Gs.LENGTH_DELIMITED,e,t)}var Ws;(function(e){let t;e.codec=()=>(t==null&&(t=Uo((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||r.publicKey!=null&&r.publicKey.byteLength>0)&&(n.uint32(10),n.bytes(r.publicKey)),(i.writeDefaults===!0||r.payloadType!=null&&r.payloadType.byteLength>0)&&(n.uint32(18),n.bytes(r.payloadType)),(i.writeDefaults===!0||r.payload!=null&&r.payload.byteLength>0)&&(n.uint32(26),n.bytes(r.payload)),(i.writeDefaults===!0||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})),t),e.encode=r=>Mo(r,e.codec()),e.decode=r=>Oo(r,e.codec())})(Ws||(Ws={}));var Ah=Symbol.for("@libp2p/peer-id");function Pi(e){return e!=null&&Boolean(e[Ah])}var aI=Symbol.for("nodejs.util.inspect.custom"),yw=Object.values(Tn).map(e=>e.decoder).reduce((e,t)=>e.or(t),Tn.identity.decoder),gw=114,Rh=36,Ih=37,Ys=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[Ah](){return!0}toString(){return this.string==null&&(this.string=$t.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return xt.createV1(gw,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Rt(this.multihash.bytes,t);if(typeof t=="string")return rt(t).equals(this);if(t?.multihash?.bytes!=null)return Rt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[aI](){return`PeerId(${this.toString()})`}},ki=class extends Ys{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Oi=class extends Ys{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Mi=class extends Ys{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function Qt(e){if(e.type==="RSA")return new ki(e);if(e.type==="Ed25519")return new Oi(e);if(e.type==="secp256k1")return new Mi(e);throw new H("Not a PeerId","ERR_INVALID_PARAMETERS")}function rt(e,t){if(t=t??yw,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=hi($t.decode(`z${e}`));return e.startsWith("12D")?new Oi({multihash:r}):e.startsWith("16U")?new Mi({multihash:r}):new ki({multihash:r})}return Hn(yw.decode(e))}function Hn(e){try{let t=hi(e);if(t.code===In.code){if(t.digest.length===Rh)return new Oi({multihash:t});if(t.digest.length===Ih)return new Mi({multihash:t})}if(t.code===fe.code)return new ki({multihash:t})}catch{return cI(xt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function cI(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==gw)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===fe.code)return new ki({multihash:e.multihash});if(t.code===In.code){if(t.digest.length===Rh)return new Oi({multihash:e.multihash});if(t.digest.length===Ih)return new Mi({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Gn(e,t){return e.length===Rh?new Oi({multihash:Tr(In.code,e),privateKey:t}):e.length===Ih?new Mi({multihash:Tr(In.code,e),privateKey:t}):new ki({multihash:await fe.digest(e),publicKey:e,privateKey:t})}var Ew=Symbol.for("@achingbrain/uint8arraylist");function ww(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function qc(e){return Boolean(e?.[Ew])}var qt=class{constructor(...t){Object.defineProperty(this,Ew,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(qc(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(qc(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=ww(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ww(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(qc(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Wt(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Wt(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new qt;return o.length=i,o.bufs=n,o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],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,t>=c)continue;let u=t>=a&&t<c,l=r>a&&r<=c;if(u&&l){if(t===a&&r===c){n.push(s);break}let f=t-a;n.push(s.subarray(f,f+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-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-t}}indexOf(t,r=0){if(!qc(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let 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 h=this.get(f+d);if(n[d]!==h){l=Math.max(1,d-a[h]);break}}if(l===0)return f}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=nn(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=rn(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=rn(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=rn(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=nn(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=rn(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=rn(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=rn(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=rn(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=rn(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof qt)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Rt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new qt;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function zc(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var xw=4294967296,Fe=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!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(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Fe(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Fe(r,n)}toBytes(t,r=0){let n=zc(t);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(t){if(t===0n)return new Fe;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>xw&&(i=0,++n>xw&&(n=0))),new Fe(n,i)}static fromNumber(t){if(t===0)return new Fe;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Fe(i,n)}static fromBytes(t,r=0){let n=zc(t),i=new Fe,o=0;if(t.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>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(t.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<t.byteLength)for(;o<5;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.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 uI=Math.pow(2,7),lI=Math.pow(2,14),fI=Math.pow(2,21),hI=Math.pow(2,28),dI=Math.pow(2,35),pI=Math.pow(2,42),mI=Math.pow(2,49),yI=Math.pow(2,56),gI=Math.pow(2,63),Er={encodingLength(e){return e<uI?1:e<lI?2:e<fI?3:e<hI?4:e<dI?5:e<pI?6:e<mI?7:e<yI?8:e<gI?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=nn(Er.encodingLength(e))),Fe.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return Fe.fromBytes(e,t).toNumber(!0)}};var wI,Xt=class{constructor(t){let{peerId:r,payloadType:n,payload:i,signature:o}=t;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=Ws.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return Rt(this.marshal(),t.marshal())}async validate(t){let r=vw(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await qs(this.peerId.publicKey).verify(r.subarray(),this.signature)}};wI=Xt;Xt.createFromProtobuf=async e=>{let t=Ws.decode(e),r=await Gn(t.publicKey);return new Xt({peerId:r,payloadType:t.payloadType,payload:t.payload,signature:t.signature})};Xt.seal=async(e,t)=>{if(t.privateKey==null)throw new Error("Missing private key");let r=e.domain,n=e.codec,i=e.marshal(),o=vw(r,n,i),a=await(await ko(t.privateKey)).sign(o.subarray());return new Xt({peerId:t,payloadType:n,payload:i,signature:a})};Xt.openAndCertify=async(e,t)=>{let r=await Xt.createFromProtobuf(e);if(!await r.validate(t))throw(0,bw.default)(new Error("envelope signature is not valid for the given domain"),Hg.ERR_SIGNATURE_NOT_VALID);return r};var vw=(e,t,r)=>{let n=q(e),i=Er.encode(n.byteLength),o=Er.encode(t.length),s=Er.encode(r.length);return new qt(i,n,o,t,s,r)};var _w=Cp,EI=Bp,Th=function(e){let t=0;if(e=e.toString().trim(),_w(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(EI(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=_w(r[n]),s;o&&(s=Th(r[n]),r[n]=Q(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Q(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(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},Sw=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Qs={},Ch={},bI=[[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"],[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"],[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"]];bI.forEach(e=>{let t=vI(...e);Ch[t.code]=t,Qs[t.name]=t});function vI(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:Boolean(n),path:Boolean(i)}}function vt(e){if(typeof e=="number"){if(Ch[e]!=null)return Ch[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Qs[e]!=null)return Qs[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var zr=R($c(),1);function Uw(e,t){switch(vt(e).code){case 4:case 41:return MI(t);case 42:return Ow(t);case 6:case 273:case 33:case 132:return Kw(t).toString();case 53:case 54:case 55:case 56:case 400:case 777:return Ow(t);case 421:return VI(t);case 444:return Mw(t);case 445:return Mw(t);case 466:return KI(t);default:return Q(t,"base16")}}function Fw(e,t){switch(vt(e).code){case 4:return Pw(t);case 41:return Pw(t);case 42:return kw(t);case 6:case 273:case 33:case 132:return Nh(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 777:return kw(t);case 421:return UI(t);case 444:return qI(t);case 445:return zI(t);case 466:return FI(t);default:return q(t,"base16")}}var Dh=Object.values(Tn).map(e=>e.decoder),OI=function(){let e=Dh[0].or(Dh[1]);return Dh.slice(2).forEach(t=>e=e.or(t)),e}();function Pw(e){if(!go(e))throw new Error("invalid ip address");return Th(e)}function MI(e){let t=Sw(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!go(t))throw new Error("invalid ip address");return t}function Nh(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Kw(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function kw(e){let t=q(e),r=Uint8Array.from(zr.default.encode(t.length));return Wt([r,t],r.length+t.length)}function Ow(e){let t=zr.default.decode(e);if(e=e.slice(zr.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return Q(e)}function UI(e){let t;e[0]==="Q"||e[0]==="1"?t=hi($t.decode(`z${e}`)).bytes:t=xt.parse(e).multihash.bytes;let r=Uint8Array.from(zr.default.encode(t.length));return Wt([r,t],r.length+t.length)}function FI(e){let t=OI.decode(e),r=Uint8Array.from(zr.default.encode(t.length));return Wt([r,t],r.length+t.length)}function KI(e){let t=zr.default.decode(e),r=e.slice(zr.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+Q(r,"base64url")}function VI(e){let t=zr.default.decode(e),r=e.slice(zr.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return Q(r,"base58btc")}function qI(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Oe.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Nh(n);return Wt([r,i],r.length+i.length)}function zI(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Oe.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Nh(n);return Wt([r,i],r.length+i.length)}function Mw(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=Q(t,"base32"),i=Kw(r);return`${n}:${i}`}var Fo=R($c(),1);function $I(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=vt(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw qw("invalid address: "+e);if(o.path===!0){t.push([i,Uh(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function HI(e){let t=[];return e.map(r=>{let n=Wc(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Uh(t.join("/"))}function GI(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=Wc(t);return t.length>1?[r.code,Fw(r.code,t[1])]:[r.code]})}function Ph(e){return e.map(t=>{let r=Wc(t);return t[1]!=null?[r.code,Uw(r.code,t[1])]:[r.code]})}function kh(e){return Gc(Wt(e.map(t=>{let r=Wc(t),n=Uint8Array.from(Fo.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=Wt([n,t[1]])),n})))}function Oh(e,t){return e.size>0?e.size/8:e.size===0?0:Fo.default.decode(t)+(Fo.default.decode.bytes??0)}function Hc(e){let t=[],r=0;for(;r<e.length;){let n=Fo.default.decode(e,r),i=Fo.default.decode.bytes??0,o=vt(n),s=Oh(o,e.slice(r+i));if(s===0){t.push([n]),r+=i;continue}let a=e.slice(r+i,r+i+s);if(r+=s+i,r>e.length)throw qw("Invalid address Uint8Array: "+Q(e,"base16"));t.push([n,a])}return t}function Mh(e){let t=Hc(e),r=Ph(t);return HI(r)}function WI(e){e=Uh(e);let t=$I(e),r=GI(t);return kh(r)}function Vw(e){return WI(e)}function Gc(e){let t=YI(e);if(t!=null)throw t;return Uint8Array.from(e)}function YI(e){try{Hc(e)}catch(t){return t}}function Uh(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function qw(e){return new Error("Error parsing address: "+e)}function Wc(e){return vt(e[0])}var Kh=R($c(),1);var $w=R(gt(),1);var Ko=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Fh=function(e,t,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 t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},Xs,Zs,js,zw,XI=Symbol.for("nodejs.util.inspect.custom"),ZI=[vt("dns").code,vt("dns4").code,vt("dns6").code,vt("dnsaddr").code],Vh=new Map,Hw=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Gw(e,t){if(e==null)throw new Error("requires node address object");if(t==null)throw new Error("requires transport protocol");let r,n=e.address;switch(e.family){case 4:r="ip4";break;case 6:if(r="ip6",n.includes("%")){let i=n.split("%");if(i.length!==2)throw Error("Multiple ip6 zones in multiaddr");n=i[0],r=`/ip6zone/${i[1]}/ip6`}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new $r("/"+[r,n,t,e.port].join("/"))}function Ke(e){return Boolean(e?.[Hw])}var $r=class{constructor(t){if(Xs.set(this,void 0),Zs.set(this,void 0),js.set(this,void 0),this[zw]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=Gc(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Vw(t)}else if(Ke(t))this.bytes=Gc(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Ko(this,Xs,"f")==null&&Fh(this,Xs,Mh(this.bytes),"f"),Ko(this,Xs,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=vt("tcp"),a=vt("udp"),c=vt("ip4"),u=vt("ip6"),l=vt("dns6"),f=vt("ip6zone");for(let[h,p]of this.stringTuples())h===f.code&&(o=`%${p??""}`),ZI.includes(h)&&(r=s.name,i=443,n=`${p??""}${o}`,t=h===l.code?6:4),(h===s.code||h===a.code)&&(r=vt(h).name,i=parseInt(p??"")),(h===c.code||h===u.code)&&(r=vt(h).name,n=`${p??""}${o}`,t=h===u.code?6:4);if(t==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:t,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},vt(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=Kh.default.decode(r,n),o=Kh.default.decode.bytes??0,s=vt(i),a=Oh(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return Ko(this,Zs,"f")==null&&Fh(this,Zs,Hc(this.bytes),"f"),Ko(this,Zs,"f")}stringTuples(){return Ko(this,js,"f")==null&&Fh(this,js,Ph(this.tuples()),"f"),Ko(this,js,"f")}encapsulate(t){return t=new $r(t),new $r(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new $r(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new $r(kh(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Qs.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?Q($t.decode(`z${n}`),"base58btc"):Q(xt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(r=>vt(r[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return Rt(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Vh.get(r.name);if(n==null)throw(0,$w.default)(new Error(`no available resolver for ${r.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new $r(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Xs=new WeakMap,Zs=new WeakMap,js=new WeakMap,zw=Hw,XI)](){return`Multiaddr(${Mh(this.bytes)})`}};function J(e){return new $r(e)}function Ww(e,t){let r=(n,i)=>n.toString().localeCompare(i.toString());return e.length!==t.length?!1:(t.sort(r),e.sort(r).every((n,i)=>t[i].equals(n)))}var Js;(function(e){let t;(function(n){let i;n.codec=()=>(i==null&&(i=Uo((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),(a.writeDefaults===!0||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=>Mo(o,n.codec()),n.decode=o=>Oo(o,n.codec())})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=Uo((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),(o.writeDefaults===!0||n.peerId!=null&&n.peerId.byteLength>0)&&(i.uint32(10),i.bytes(n.peerId)),(o.writeDefaults===!0||n.seq!==0n)&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),e.AddressInfo.codec().encode(s,i,{writeDefaults:!0});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(e.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),e.encode=n=>Mo(n,e.codec()),e.decode=n=>Oo(n,e.codec())})(Js||(Js={}));var Yw="libp2p-peer-record",Qw=Uint8Array.from([3,1]);var ne=class{constructor(t){this.domain=ne.DOMAIN,this.codec=ne.CODEC;let{peerId:r,multiaddrs:n,seqNumber:i}=t;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Js.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof ne)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!Ww(this.multiaddrs,t.multiaddrs))}};ne.createFromProtobuf=e=>{let t=Js.decode(e),r=Hn(t.peerId),n=(t.addresses??[]).map(o=>J(o.multiaddr)),i=t.seq;return new ne({peerId:r,multiaddrs:n,seqNumber:i})};ne.DOMAIN=Yw;ne.CODEC=Qw;var Jh=R(Hh(),1),y1=R(c1(),1),g1=R(Fi(),1),td=R(jh(),1),w1=R(m1(),1);function iT(){g1.default._configure(),Jh.default._configure(y1.default),td.default._configure(w1.default)}iT();var E1=["uint64","int64","sint64","fixed64","sfixed64"];function oT(e){for(let t of E1){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function ed(e){return oT(new Jh.default(e))}function sT(e){for(let t of E1){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function rd(){return sT(td.default.create())}function ie(e,t){let r=ed(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function oe(e,t){let r=rd();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Vo;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Vo||(Vo={}));function Xc(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Vi(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Xc("enum",Vo.VARINT,r,n)}function se(e,t){return Xc("message",Vo.LENGTH_DELIMITED,e,t)}var It;(function(e){let t;(function(i){i.RESERVE="RESERVE",i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.RESERVE=0]="RESERVE",i[i.CONNECT=1]="CONNECT",i[i.STATUS=2]="STATUS"})(r||(r={})),function(i){i.codec=()=>Vi(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=se((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.peer!=null&&(o.uint32(18),qo.codec().encode(i.peer,o)),i.reservation!=null&&(o.uint32(26),Zc.codec().encode(i.reservation,o)),i.limit!=null&&(o.uint32(34),zo.codec().encode(i.limit,o)),i.status!=null&&(o.uint32(40),pt.codec().encode(i.status,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.peer=qo.codec().decode(i,i.uint32());break;case 3:s.reservation=Zc.codec().decode(i,i.uint32());break;case 4:s.limit=zo.codec().decode(i,i.uint32());break;case 5:s.status=pt.codec().decode(i);break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>oe(i,e.codec()),e.decode=i=>ie(i,e.codec())})(It||(It={}));var Ve;(function(e){let t;(function(i){i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.CONNECT=0]="CONNECT",i[i.STATUS=1]="STATUS"})(r||(r={})),function(i){i.codec=()=>Vi(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=se((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.peer!=null&&(o.uint32(18),qo.codec().encode(i.peer,o)),i.limit!=null&&(o.uint32(26),zo.codec().encode(i.limit,o)),i.status!=null&&(o.uint32(32),pt.codec().encode(i.status,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.peer=qo.codec().decode(i,i.uint32());break;case 3:s.limit=zo.codec().decode(i,i.uint32());break;case 4:s.status=pt.codec().decode(i);break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>oe(i,e.codec()),e.decode=i=>ie(i,e.codec())})(Ve||(Ve={}));var qo;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.id!=null&&r.id.byteLength>0&&(n.uint32(10),n.bytes(r.id)),r.addrs!=null)for(let o of r.addrs)n.uint32(18),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={id:new Uint8Array(0),addrs:[]},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.addrs.push(r.bytes());break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(qo||(qo={}));var Zc;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.expire!=null&&r.expire!==0n&&(n.uint32(8),n.uint64(r.expire)),r.addrs!=null)for(let o of r.addrs)n.uint32(18),n.bytes(o);r.voucher!=null&&(n.uint32(26),n.bytes(r.voucher)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={expire:0n,addrs:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.expire=r.uint64();break;case 2:i.addrs.push(r.bytes());break;case 3:i.voucher=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(Zc||(Zc={}));var zo;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.duration!=null&&(n.uint32(8),n.uint32(r.duration)),r.data!=null&&(n.uint32(16),n.uint64(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.duration=r.uint32();break;case 2:i.data=r.uint64();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(zo||(zo={}));var pt;(function(e){e.UNUSED="UNUSED",e.OK="OK",e.RESERVATION_REFUSED="RESERVATION_REFUSED",e.RESOURCE_LIMIT_EXCEEDED="RESOURCE_LIMIT_EXCEEDED",e.PERMISSION_DENIED="PERMISSION_DENIED",e.CONNECTION_FAILED="CONNECTION_FAILED",e.NO_RESERVATION="NO_RESERVATION",e.MALFORMED_MESSAGE="MALFORMED_MESSAGE",e.UNEXPECTED_MESSAGE="UNEXPECTED_MESSAGE"})(pt||(pt={}));var nd;(function(e){e[e.UNUSED=0]="UNUSED",e[e.OK=100]="OK",e[e.RESERVATION_REFUSED=200]="RESERVATION_REFUSED",e[e.RESOURCE_LIMIT_EXCEEDED=201]="RESOURCE_LIMIT_EXCEEDED",e[e.PERMISSION_DENIED=202]="PERMISSION_DENIED",e[e.CONNECTION_FAILED=203]="CONNECTION_FAILED",e[e.NO_RESERVATION=204]="NO_RESERVATION",e[e.MALFORMED_MESSAGE=400]="MALFORMED_MESSAGE",e[e.UNEXPECTED_MESSAGE=401]="UNEXPECTED_MESSAGE"})(nd||(nd={}));(function(e){e.codec=()=>Vi(nd)})(pt||(pt={}));var jc;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.relay!=null&&r.relay.byteLength>0&&(n.uint32(10),n.bytes(r.relay)),r.peer!=null&&r.peer.byteLength>0&&(n.uint32(18),n.bytes(r.peer)),r.expiration!=null&&r.expiration!==0n&&(n.uint32(24),n.uint64(r.expiration)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={relay:new Uint8Array(0),peer:new Uint8Array(0),expiration:0n},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.relay=r.bytes();break;case 2:i.peer=r.bytes();break;case 3:i.expiration=r.uint64();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(jc||(jc={}));function id(e){let t=async function*(){let r=yield,n=new qt;for await(let i of e){if(r==null){n.append(i),r=yield n,n=new qt;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 qt);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function ra(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}function $o(e){let t=mi(),r=id(e.source),n=ra(),i,o=e.sink(async function*(){yield*t,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:r,writer:t,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await o),source:r},rest:()=>t.end(),write:t.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}function x1(e){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}var Jc=e=>{let t=Er.encodingLength(e),r=x1(t);return Er.encode(e,r),Jc.bytes=t,r};Jc.bytes=0;function tr(e){e=e??{};let t=e.lengthEncoder??Jc;return async function*(n){for await(let i of n){let o=t(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}tr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Jc;return new qt(r(e.byteLength),e)};var na=R(gt(),1),cT=8,uT=1024*1024*4,qi;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(qi||(qi={}));var od=e=>{let t=Er.decode(e);return od.bytes=Er.encodingLength(t),t};od.bytes=0;function qe(e){return async function*(r){let n=new qt,i=qi.LENGTH,o=-1,s=e?.lengthDecoder??od,a=e?.maxLengthLength??cT,c=e?.maxDataLength??uT;for await(let u of r)for(n.append(u);n.byteLength>0;){if(i===qi.LENGTH)try{if(o=s(n),o<0)throw(0,na.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>c)throw(0,na.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=s.bytes;n.consume(l),e?.onLength!=null&&e.onLength(o),i=qi.DATA}catch(l){if(l instanceof RangeError){if(n.byteLength>a)throw(0,na.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(i===qi.DATA){if(n.byteLength<o)break;let l=n.sublist(0,o);n.consume(o),e?.onData!=null&&e.onData(l),yield l,i=qi.LENGTH}}if(n.byteLength>0)throw(0,na.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}qe.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.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 qe({...t??{},onLength:o=>{r=o}})(n)};function Qn(e,t={}){let r=$o(e),n=qe.fromReader(r.reader,t),i={read:async o=>{let{value:s}=await r.reader.next(o);if(s==null)throw new Error("Value is null");return s},readLP:async()=>{let{value:o}=await n.next();if(o==null)throw new Error("Value is null");return o},readPB:async o=>{let s=await i.readLP();if(s==null)throw new Error("Value is null");let a=s instanceof Uint8Array?s:s.subarray();return o.decode(a)},write:o=>{o instanceof Uint8Array?r.writer.push(o):r.writer.push(o.subarray())},writeLP:o=>{i.write(tr.single(o,t))},writePB:(o,s)=>{i.writeLP(s.encode(o))},pb:o=>({read:async()=>await i.readPB(o),write:s=>{i.writePB(s,o)}}),unwrap:()=>(r.rest(),e.source=r.stream.source,e.sink=r.stream.sink,e)};return i}var Xn=P("libp2p:circuit:v2:stop"),lT=e=>{if(e.peer==null)return!1;try{e.peer.addrs.forEach(J)}catch{return!1}return!0};async function b1({connection:e,request:t,pbstr:r}){let n=r.pb(Ve);if(Xn("new circuit relay v2 stop stream from %s",e.remotePeer),t.type!==Ve.Type.CONNECT){Xn.error("invalid stop connect request via peer %s",e.remotePeer),n.write({type:Ve.Type.STATUS,status:pt.UNEXPECTED_MESSAGE});return}if(!lT(t)){Xn.error("invalid stop connect request via peer %s",e.remotePeer),n.write({type:Ve.Type.STATUS,status:pt.MALFORMED_MESSAGE});return}return n.write({type:Ve.Type.STATUS,status:pt.OK}),r.unwrap()}async function v1({connection:e,request:t}){let r=await e.newStream([cs]);Xn("starting circuit relay v2 stop request to %s",e.remotePeer);let n=Qn(r),i=n.pb(Ve);i.write(t);let o;try{o=await i.read()}catch{Xn.error("error parsing stop message response from %s",e.remotePeer)}if(o==null){Xn.error("could not read response from %s",e.remotePeer),r.close();return}if(o.status===pt.OK)return Xn("stop request to %s was successful",e.remotePeer),n.unwrap();Xn("stop request failed with code %d",o.status),r.close()}var Ho=class{constructor({relay:t,peer:r,expiration:n}){this.domain="libp2p-relay-rsvp",this.codec=new Uint8Array([3,2]),this.relay=t,this.peer=r,this.expiration=n}marshal(){return jc.encode({relay:this.relay.toBytes(),peer:this.peer.toBytes(),expiration:BigInt(this.expiration)})}equals(t){return!(!(t instanceof Ho)||!this.peer.equals(t.peer)||!this.relay.equals(t.relay)||this.expiration!==t.expiration)}};var he=P("libp2p:circuit:v2:hop");async function _1(e){let{stream:t,request:r}=e;switch(he("received hop message"),r.type){case It.Type.RESERVE:await hT(e);break;case It.Type.CONNECT:await dT(e);break;default:he.error("invalid hop request type %s via peer %s",e.request.type,e.connection.remotePeer),t.pb(It).write({type:It.Type.STATUS,status:pt.UNEXPECTED_MESSAGE})}}async function S1(e){he("requesting reservation from %s",e.remotePeer);let t=await e.newStream([tn]),n=Qn(t).pb(It);n.write({type:It.Type.RESERVE});let i;try{i=await n.read()}catch(s){throw he.error("error passing reserve message response from %s because",e.remotePeer,s.message),t.close(),s}if(i.status===pt.OK&&i.reservation!=null)return i.reservation;let o=`reservation failed with status ${i.status??"undefined"}`;throw he.error(o),new Error(o)}var fT=e=>e.protoCodes().includes(290);async function hT({connection:e,stream:t,relayPeer:r,relayAddrs:n,acl:i,reservationStore:o,peerStore:s}){let a=t.pb(It);if(he("hop reserve request from %s",e.remotePeer),fT(e.remoteAddr)){he.error("relay reservation over circuit connection denied for peer: %p",e.remotePeer),a.write({type:It.Type.STATUS,status:pt.PERMISSION_DENIED});return}if(await i?.allowReserve?.(e.remotePeer,e.remoteAddr)===!1){he.error("acl denied reservation to %s",e.remotePeer),a.write({type:It.Type.STATUS,status:pt.PERMISSION_DENIED});return}let c=await o.reserve(e.remotePeer,e.remoteAddr);if(c.status!==pt.OK){a.write({type:It.Type.STATUS,status:c.status});return}try{if(c.expire!=null){let u=new Date().getTime()-c.expire;await s.tagPeer(r,Ep,{value:1,ttl:u})}a.write({type:It.Type.STATUS,status:pt.OK,reservation:await pT(n,r,e.remotePeer,BigInt(c.expire??0)),limit:(await o.get(r))?.limit}),he("sent confirmation response to %s",e.remotePeer)}catch{he.error("failed to send confirmation response to %s",e.remotePeer),await o.removeReservation(e.remotePeer)}}async function dT(e){let{connection:t,stream:r,request:n,reservationStore:i,connectionManager:o,acl:s}=e,a=r.pb(It);he("hop connect request from %s",t.remotePeer);let c;try{if(n.peer==null)throw he.error("no peer info in hop connect request"),new Error("no peer info in request");n.peer.addrs.forEach(J),c=Hn(n.peer.id)}catch(p){he.error("invalid hop connect request via peer %p %s",t.remotePeer,p),a.write({type:It.Type.STATUS,status:pt.MALFORMED_MESSAGE});return}if(s?.allowConnect!==void 0){let p=await s.allowConnect(t.remotePeer,t.remoteAddr,c);if(p!==pt.OK){he.error("hop connect denied for %s with status %s",t.remotePeer,p),a.write({type:It.Type.STATUS,status:p});return}}if(!await i.hasReservation(c)){he.error("hop connect denied for %s with status %s",t.remotePeer,pt.NO_RESERVATION),a.write({type:It.Type.STATUS,status:pt.NO_RESERVATION});return}let u=o.getConnections(c);if(u.length===0){he("hop connect denied for %s as there is no destination connection",t.remotePeer),a.write({type:It.Type.STATUS,status:pt.NO_RESERVATION});return}let l=u[0];he("hop connect request from %s to %s is valid",t.remotePeer,c);let f=await v1({connection:l,request:{type:Ve.Type.CONNECT,peer:{id:t.remotePeer.toBytes(),addrs:[J("/p2p/"+t.remotePeer.toString()).bytes]}}});if(f==null){he.error("failed to open stream to destination peer %s",l?.remotePeer),a.write({type:It.Type.STATUS,status:pt.CONNECTION_FAILED});return}a.write({type:It.Type.STATUS,status:pt.OK});let d=r.unwrap();he("connection to destination established, short circuiting streams...");let h=(await i.get(c))?.limit;return gp(d,f,h)}async function pT(e,t,r,n){let i=[];for(let s of e)i.push(s.bytes);let o=await Xt.seal(new Ho({peer:r,relay:t,expiration:Number(n)}),t);return{addrs:i,expire:n,voucher:o.marshal()}}var zi=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},hn,Bt=class extends EventTarget{constructor(){super(...arguments),hn.set(this,new Map)}listenerCount(t){let r=zi(this,hn,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=zi(this,hn,"f").get(t);i==null&&(i=[],zi(this,hn,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=zi(this,hn,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),zi(this,hn,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=zi(this,hn,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),zi(this,hn,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new G(t,r))}};hn=new WeakMap;var ad=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},G=globalThis.CustomEvent??ad;function dn(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var pn=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return dn(this.map.entries(),t=>[rt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,rt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return dn(this.map.keys(),t=>rt(t))}values(){return this.map.values()}get size(){return this.map.size}};var br=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return dn(this.set.entries(),t=>{let r=rt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=rt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return dn(this.set.values(),t=>rt(t))}intersection(t){let r=new br;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new br;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new br;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var mn=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return dn(this.list.entries(),t=>rt(t[1]))}concat(t){let r=new mn(this);for(let n of t)r.push(n);return r}entries(){return dn(this.list.entries(),t=>[t[0],rt(t[1])])}every(t){return this.list.every((r,n)=>t(rt(r),n,this))}filter(t){let r=new mn;return this.list.forEach((n,i)=>{let o=rt(n);t(o,i,this)&&r.push(o)}),r}find(t){let r=this.list.find((n,i)=>t(rt(n),i,this));if(r!=null)return rt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(rt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(rt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return rt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return rt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var _e=P("libp2p:circuit:client"),yT=()=>{},eu=class extends Bt{constructor(t,r){super(),this.createOrRefreshReservation=async n=>{try{let i=this.components.connectionManager.getConnections(n);if(i.length===0)throw new Error("No connections to peer");let o=i[0],s=await S1(o),a=this.createOrRefreshReservation;if(s!=null){_e("new reservation on %p",n);let c=this.reservationMap.get(n);c!=null&&clearTimeout(c);let u=setTimeout(l=>{a(l).catch(f=>{_e.error("error refreshing reservation for %p",l,f)})},Math.max(wp(s.expire)-100,0),n);this.reservationMap.set(n,u),this.dispatchEvent(new G("relay:reservation"))}}catch(i){_e.error(i),await this._removeListenRelay(n)}},this.started=!1,this.components=t,this.addressSorter=r.addressSorter??wo,this.maxReservations=r.maxReservations??1,this.relays=new br,this.reservationMap=new pn,this.onError=r.onError??yT,this._onProtocolChange=this._onProtocolChange.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this),this._onPeerConnect=this._onPeerConnect.bind(this),this.components.peerStore.addEventListener("change:protocols",n=>{this._onProtocolChange(n.detail).catch(i=>{_e.error("handling protocol change failed",i)})}),this.components.connectionManager.addEventListener("peer:disconnect",this._onPeerDisconnected),this.components.connectionManager.addEventListener("peer:connect",this._onPeerConnect)}isStarted(){return this.started}start(){this._listenOnAvailableHopRelays().catch(t=>{_e.error("error listening on relays",t)}),this.started=!0}async stop(){this.reservationMap.forEach(t=>clearTimeout(t)),this.reservationMap.clear(),this.relays.clear()}async _onProtocolChange({peerId:t,protocols:r}){if(t.equals(this.components.peerId))return;let n=r.includes(tn);if(_e.trace("Peer %p protocol change %p",t,this.components.peerId),!n){this.relays.has(t)&&await this._removeListenRelay(t);return}if(!this.relays.has(t))try{let i=this.components.connectionManager.getConnections(t);if(i.length===0){this._tryToListenOnRelay(t);return}let o=i[0];if(o.remoteAddr.protoCodes().includes(290)){_e("relayed connection to %p will not be used to hop on",t);return}await this._addListenRelay(o,t)}catch(i){_e.error("could not add %p as relay",t),this.onError(i)}}_onPeerConnect({detail:t}){this.components.peerStore.protoBook.get(t.remotePeer).then(r=>{this._onProtocolChange({peerId:t.remotePeer,protocols:r}).catch(n=>_e.error("handling reconnect failed",n))},r=>{_e.trace("could not fetch protocols for peer: %p",t.remotePeer,r)})}_onPeerDisconnected(t){let n=t.detail.remotePeer;clearTimeout(this.reservationMap.get(n)),this.reservationMap.delete(n),this.relays.has(n)&&this._removeListenRelay(n).catch(i=>{_e.error(i)})}async _addListenRelay(t,r){_e.trace("peerId %p is being added as relay",r);try{if(this.relays.size>=this.maxReservations)return;await this.createOrRefreshReservation(r);let n=await ee(await this.components.peerStore.addressBook.get(t.remotePeer),o=>Fl(o,this.addressSorter),async o=>await pi(o));(await Promise.all(n.map(async o=>{let s=o.multiaddr;s.getPeerId()==null&&(s=s.encapsulate(`/p2p/${t.remotePeer.toString()}`)),s=s.encapsulate("/p2p-circuit");try{return await this.components.transportManager.listen([s]),!0}catch(a){_e.error("error listening on circuit address",s,a),this.onError(a)}return!1}))).includes(!0)&&this.relays.add(r)}catch(n){this.relays.delete(r),_e.error("error adding relay for %p %s",r,n),this.onError(n)}}async _removeListenRelay(t){let r=this.relays.has(t);this.relays.delete(t),r&&await this._listenOnAvailableHopRelays(new mn([t]))}async _listenOnAvailableHopRelays(t=new mn([])){if(this.relays.size>=this.maxReservations)return;let r=[],n=(await this.components.peerStore.all()).filter(({id:i,protocols:o})=>o.includes(tn)&&!this.relays.has(i)&&!t.includes(i)).map(({id:i})=>{let o=this.components.connectionManager.getConnections(i);return o.length===0?(r.push(i),[i,null]):[i,o[0]]}).sort(()=>Math.random()-.5);for(let[i,o]of n)if(await this._addListenRelay(o,i),this.relays.size>=this.maxReservations)return;for(let i of r){if(this.relays.size>=this.maxReservations)return;await this._tryToListenOnRelay(i)}try{let i=await $a(Ha);for await(let o of this.components.contentRouting.findProviders(i))if(o.multiaddrs.length>0&&!o.id.equals(this.components.peerId)){let s=o.id;if(await this.components.peerStore.addressBook.add(s,o.multiaddrs),await this._tryToListenOnRelay(s),this.relays.size>=this.maxReservations)return}}catch(i){_e.error("failed when finding relays on the network",i),this.onError(i)}}async _tryToListenOnRelay(t){try{if(t.equals(this.components.peerId)){_e.trace("Skipping dialling self %p",t.toString());return}let r=await this.components.connectionManager.openConnection(t);await this._addListenRelay(r,t)}catch(r){_e.error("Could not connect and listen on relay %p",t,r),this.onError(r)}}};function yn(e){return e!=null&&typeof e.start=="function"&&typeof e.stop=="function"}var cd=(e,t)=>async function*(){yield*(await pi(e)).sort(t)}();async function vr(e){for await(let t of e);}async function*er(e,t){for await(let r of e)await t(r)&&(yield r)}async function*ru(e,t){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}var nu=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(t,r,n){return Promise.reject(new Error(".put is not implemented"))}get(t,r){return Promise.reject(new Error(".get is not implemented"))}has(t,r){return Promise.reject(new Error(".has is not implemented"))}delete(t,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,r={}){for await(let{key:n,value:i}of t)await this.put(n,i,r),yield{key:n,value:i}}async*getMany(t,r={}){for await(let n of t)yield this.get(n,r)}async*deleteMany(t,r={}){for await(let n of t)await this.delete(n,r),yield n}batch(){let t=[],r=[];return{put(n,i){t.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await vr(this.putMany(t,n)),t=[],await vr(this.deleteMany(r,n)),r=[]}}}async*_all(t,r){throw new Error("._all is not implemented")}async*_allKeys(t,r){throw new Error("._allKeys is not implemented")}query(t,r){let n=this._all(t,r);if(t.prefix!=null&&(n=er(n,i=>i.key.toString().startsWith(t.prefix))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,o)=>er(i,o),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,o)=>cd(i,o),n)),t.offset!=null){let i=0;n=er(n,()=>i++>=t.offset)}return t.limit!=null&&(n=ru(n,t.limit)),n}queryKeys(t,r){let n=this._allKeys(t,r);if(t.prefix!=null&&(n=er(n,i=>i.toString().startsWith(t.prefix))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,o)=>er(i,o),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,o)=>cd(i,o),n)),t.offset!=null){let i=0;n=er(n,()=>i++>=t.offset)}return t.limit!=null&&(n=ru(n,t.limit)),n}};var iu=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var gn="/",A1=new TextEncoder().encode(gn),ou=A1[0],zt=class{constructor(t,r){if(typeof t=="string")this._buf=q(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==ou)throw new Error("Invalid key")}toString(t="utf8"){return Q(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new zt(t.join(gn))}static random(){return new zt(iu().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new zt(t):typeof t.uint8Array=="function"?new zt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=A1),this._buf[0]!==ou){let t=new Uint8Array(this._buf.byteLength+1);t.fill(ou,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===ou;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.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 zt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(gn).slice(1)}type(){return gT(this.baseNamespace())}name(){return wT(this.baseNamespace())}instance(t){return new zt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(gn)||(t+=gn),t+=this.type(),new zt(t)}parent(){let t=this.list();return t.length===1?new zt(gn):new zt(t.slice(0,-1).join(gn))}child(t){return this.toString()===gn?t:t.toString()===gn?this:new zt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return zt.withNamespaces([...this.namespaces(),...ET(t.map(r=>r.namespaces()))])}};function gT(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function wT(e){let t=e.split(":");return t[t.length-1]}function ET(e){return[].concat(...e)}var R1=R(gt(),1);function I1(e){return e=e||new Error("Not Found"),(0,R1.default)(e,"ERR_NOT_FOUND")}var su=class extends nu{constructor(){super(),this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(t,r){this.data[t.toString()]=r}async get(t){if(!await this.has(t))throw I1();return this.data[t.toString()]}async has(t){return this.data[t.toString()]!==void 0}async delete(t){delete this.data[t.toString()]}async*_all(){yield*Object.entries(this.data).map(([t,r])=>({key:new zt(t),value:r}))}async*_allKeys(){yield*Object.entries(this.data).map(([t])=>new zt(t))}};var sa=R(gt(),1);var tt;(function(e){e.NOT_STARTED_YET="The libp2p node is not started yet",e.DHT_DISABLED="DHT is not available",e.PUBSUB_DISABLED="PubSub is not available",e.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",e.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",e.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",e.NOT_FOUND="Not found"})(tt||(tt={}));var v;(function(e){e.DHT_DISABLED="ERR_DHT_DISABLED",e.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",e.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",e.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",e.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",e.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",e.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",e.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",e.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",e.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",e.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",e.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",e.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",e.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",e.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",e.ERR_DIALED_SELF="ERR_DIALED_SELF",e.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",e.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",e.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",e.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",e.ERR_INVALID_KEY="ERR_INVALID_KEY",e.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_PEER="ERR_INVALID_PEER",e.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",e.ERR_NOT_FOUND="ERR_NOT_FOUND",e.ERR_TIMEOUT="ERR_TIMEOUT",e.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",e.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",e.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",e.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",e.ERR_FIND_SELF="ERR_FIND_SELF",e.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",e.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",e.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",e.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",e.ERR_INVALID_CMS="ERR_INVALID_CMS",e.ERR_MISSING_KEYS="ERR_MISSING_KEYS",e.ERR_NO_KEY="ERR_NO_KEY",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",e.ERR_INVALID_RECORD="ERR_INVALID_RECORD",e.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",e.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",e.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(v||(v={}));var T1=R(gt(),1);async function*ud(e,t){for await(let r of e)yield t(r)}async function*ia(e,t){yield*ud(e,async r=>(await t.addressBook.add(r.id,r.multiaddrs),r))}function au(e){let t=new Set;return er(e,r=>t.has(r.id.toString())?!1:(t.add(r.id.toString()),!0))}async function*cu(e,t=1){let r=0;for await(let n of e)r++,yield n;if(r<t)throw(0,T1.default)(new Error("not found"),"NOT_FOUND")}var G1=R(Zn(),1);async function ze(e){for await(let t of e)return t}var du=R(hd(),1),W1=R(wn(),1),H1=P("libp2p:peer-routing"),hu=class{constructor(t,r){this.components=t,this.routers=r.routers??[],this.refreshManagerInit=r.refreshManager??{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||this.routers.length===0||this.timeoutId!=null||this.refreshManagerInit.enabled===!1||(this.timeoutId=(0,du.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new G1.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,W1.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await vr(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(t){H1.error(t)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,du.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(t,r){if(this.routers.length===0)throw(0,sa.default)(new Error("No peer routers available"),v.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw(0,sa.default)(new Error("Should not try to find self"),v.ERR_FIND_SELF);let n=await ee(en(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,r)}catch(o){H1.error(o)}}())),i=>er(i,Boolean),i=>ia(i,this.components.peerStore),async i=>await ze(i));if(n!=null)return n;throw(0,sa.default)(new Error(tt.NOT_FOUND),v.ERR_NOT_FOUND)}async*getClosestPeers(t,r){if(this.routers.length===0)throw(0,sa.default)(new Error("No peer routers available"),v.ERR_NO_ROUTERS_AVAILABLE);yield*ee(en(...this.routers.map(n=>n.getClosestPeers(t,r))),n=>ia(n,this.components.peerStore),n=>au(n),n=>cu(n))}};var jn=R(gt(),1);var pu=class{constructor(t,r){this.routers=r.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,r={}){if(this.routers.length===0)throw(0,jn.default)(new Error("No content this.routers available"),v.ERR_NO_ROUTERS_AVAILABLE);yield*ee(en(...this.routers.map(n=>n.findProviders(t,r))),n=>ia(n,this.components.peerStore),n=>au(n),n=>cu(n))}async provide(t,r={}){if(this.routers.length===0)throw(0,jn.default)(new Error("No content routers available"),v.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>await n.provide(t,r)))}async put(t,r,n){if(!this.isStarted())throw(0,jn.default)(new Error(tt.NOT_STARTED_YET),v.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await vr(i.put(t,r,n))}async get(t,r){if(!this.isStarted())throw(0,jn.default)(new Error(tt.NOT_STARTED_YET),v.DHT_NOT_STARTED);let n=this.components.dht;if(n!=null){for await(let i of n.get(t,r))if(i.name==="VALUE")return i.value}throw(0,jn.default)(new Error(tt.NOT_FOUND),v.ERR_NOT_FOUND)}async*getMany(t,r,n){if(!this.isStarted())throw(0,jn.default)(new Error(tt.NOT_STARTED_YET),v.DHT_NOT_STARTED);if(r==null||r===0)return;let i=0,o=this.components.dht;if(o!=null){for await(let s of o.get(t,n))if(s.name==="VALUE"&&(yield{from:s.from,val:s.value},i++,i===r))break}if(i===0)throw(0,jn.default)(new Error(tt.NOT_FOUND),v.ERR_NOT_FOUND)}};var NT=e=>e,mu=class extends Bt{constructor(t,r){super();let{listen:n=[],announce:i=[]}=r;this.components=t,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Set,this.announceFilter=r.announceFilter??NT}getListenAddrs(){return Array.from(this.listen).map(t=>J(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>J(t))}getObservedAddrs(){return Array.from(this.observed).map(t=>J(t))}confirmObservedAddr(t){}removeObservedAddr(t){}addObservedAddr(t){let r=J(t),n=r.getPeerId();n!=null&&rt(n).equals(this.components.peerId)&&(r=r.decapsulate(J(`/p2p/${this.components.peerId.toString()}`)));let i=r.toString();this.observed.has(i)||(this.observed.add(i),this.dispatchEvent(new G("change:addresses")))}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(this.getObservedAddrs().map(n=>n.toString()));let r=new Set(t);return this.announceFilter(Array.from(r).map(n=>J(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Su=R(gt(),1);var rE=R(eE(),1),rr=rE.default;var nE=P("libp2p:connection-manager:latency-monitor:visibility-change-emitter"),wu=class extends Bt{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",globalThis.document!=null&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let t="hidden",r="visibilitychange";typeof globalThis.document.hidden<"u"?(t="hidden",r="visibilitychange"):typeof globalThis.document.mozHidden<"u"?(t="mozHidden",r="mozvisibilitychange"):typeof globalThis.document.msHidden<"u"?(t="msHidden",r="msvisibilitychange"):typeof globalThis.document.webkitHidden<"u"&&(t="webkitHidden",r="webkitvisibilitychange"),this.hidden=t,this.visibilityChange=r}_addVisibilityChangeListener(){typeof globalThis.document.addEventListener>"u"||typeof document[this.hidden]>"u"?nE("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this.hidden===void 0||document[this.hidden]===void 0))return document[this.hidden]==null}_handleVisibilityChange(){let t=globalThis.document[this.hidden]===!1;nE(t?"Page Visible":"Page Hidden"),this.dispatchEvent(new G("visibilityChange",{detail:t}))}};var En=P("libp2p:connection-manager:latency-monitor"),Eu=class extends Bt{constructor(t={}){super();let{latencyCheckIntervalMs:r,dataEmitIntervalMs:n,asyncTestFn:i,latencyRandomPercentage:o}=t;this.latencyCheckIntervalMs=r??500,this.latencyRandomPercentage=o??10,this.latencyCheckMultiply=2*(this.latencyRandomPercentage/100)*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=n===null||n===0?void 0:n??5*1e3,En("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),this.dataEmitIntervalMs!=null?En("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):En("Not emitting summaries"),this.asyncTestFn=i,globalThis.process?.hrtime!=null?(En("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=s=>{let a=this.now(s);return a[0]*1e3+a[1]/1e6}):typeof window<"u"&&window.performance?.now!=null?(En("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=s=>Math.round(this.now()-s)):(En("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=s=>this.now()-s),this.latencyData=this.initLatencyData()}start(){FT()&&(this.visibilityChangeEmitter=new wu,this.visibilityChangeEmitter.addEventListener("visibilityChange",t=>{let{detail:r}=t;r?this._startTimers():(this._emitSummary(),this._stopTimers())})),this.visibilityChangeEmitter?.isVisible()===!0&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this.checkLatencyID==null&&(this.checkLatency(),this.dataEmitIntervalMs!=null&&(this.emitIntervalID=setInterval(()=>this._emitSummary(),this.dataEmitIntervalMs),typeof this.emitIntervalID.unref=="function"&&this.emitIntervalID.unref()))}_stopTimers(){this.checkLatencyID!=null&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),this.emitIntervalID!=null&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){let t=this.getSummary();t.events>0&&this.dispatchEvent(new G("data",{detail:t}))}getSummary(){let t={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),En.trace("Summary: %O",t),t}checkLatency(){let t=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,r={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+t),startTime:this.now()},n=()=>{if(this.checkLatencyID==null)return;let i=this.getDeltaMS(r.startTime)-r.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,i),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,i),this.latencyData.totalMs+=i,En.trace("MS: %s Data: %O",i,this.latencyData)};En.trace("localData: %O",r),this.checkLatencyID=setTimeout(()=>{this.asyncTestFn!=null?(r.deltaOffset=0,r.startTime=this.now(),this.asyncTestFn(n)):(r.deltaOffset-=1,n())},r.deltaOffset),typeof this.checkLatencyID.unref=="function"&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function FT(){return typeof globalThis.window<"u"}var Au=R(wn(),1);var xu="OPEN",md="CLOSING",bu="CLOSED";var Cd=R(Zn(),1);var iE="keep-alive";var e2=R(JE(),1);var t2=R(gt(),1);function _u(e){if(Pi(e))return{peerId:e};if(Ke(e)){let t=e.getPeerId();return{multiaddr:e,peerId:t==null?void 0:rt(t)}}throw(0,t2.default)(new Error(`${e} is not a PeerId or a Multiaddr`),v.ERR_INVALID_MULTIADDR)}var ae=P("libp2p:connection-manager"),v4={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10},_4=6e4,Ru=class extends Bt{constructor(t,r){if(super(),this.opts=rr.call({ignoreUndefined:!0},v4,r),this.opts.maxConnections<this.opts.minConnections)throw(0,Su.default)(new Error("Connection Manager maxConnections must be greater than minConnections"),v.ERR_INVALID_PARAMETERS);ae("options: %o",this.opts),this.components=t,this.connections=new Map,this.started=!1,r.maxEventLoopDelay!=null&&r.maxEventLoopDelay>0&&r.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new Eu({latencyCheckIntervalMs:r.pollInterval,dataEmitIntervalMs:r.pollInterval}));try{(0,Au.setMaxListeners)?.(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=r.startupReconnectTimeout??_4,this.dialTimeout=r.dialTimeout??3e4,this.allow=(r.allow??[]).map(n=>J(n)),this.deny=(r.deny??[]).map(n=>J(n)),this.inboundConnectionRateLimiter=new e2.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){this.components.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.components.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};for(let 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"}`;t[o]=(t[o]??0)+1}return t}}),this.components.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};for(let n of this.connections.values())for(let i of n){let 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))t[s]=t[s]??[],t[s].push(a)}let r={};for(let[n,i]of Object.entries(t)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);r[n]=i[o]}return r}}),this.latencyMonitor?.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this.latencyMonitor?.addEventListener("data",this._onLatencyMeasure),this.started=!0,ae("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then(async()=>{let t=[];for(let r of await this.components.peerStore.all())(await this.components.peerStore.getTags(r.id)).filter(o=>o.name===iE).length>0&&t.push(r.id);this.connectOnStartupController?.clear(),this.connectOnStartupController=new Cd.TimeoutController(this.startupReconnectTimeout);try{(0,Au.setMaxListeners)?.(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map(async r=>{await this.openConnection(r,{signal:this.connectOnStartupController?.signal}).catch(n=>{ae.error(n)})}))}).catch(t=>{ae.error(t)}).finally(()=>{this.connectOnStartupController?.clear()})}async beforeStop(){this.connectOnStartupController?.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){this.latencyMonitor?.removeEventListener("data",this._onLatencyMeasure),this.latencyMonitor?.stop(),this.started=!1,await this._close(),ae("stopped")}async _close(){let t=[];for(let r of this.connections.values())for(let n of r)t.push((async()=>{try{await n.close()}catch(i){ae.error(i)}})());ae("closing %d connections",t.length),await Promise.all(t),this.connections.clear()}onConnect(t){this._onConnect(t).catch(r=>{ae.error(r)})}async _onConnect(t){let{detail:r}=t;if(!this.started){await r.close();return}let n=r.remotePeer,i=n.toString(),o=this.connections.get(i);o!=null?o.push(r):this.connections.set(i,[r]),n.publicKey!=null&&await this.components.peerStore.keyBook.set(n,n.publicKey);let s=this.getConnections().length,a=s-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",s,a),this.dispatchEvent(new G("peer:connect",{detail:r}))}onDisconnect(t){let{detail:r}=t;if(!this.started)return;let n=r.remotePeer.toString(),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.dispatchEvent(new G("peer:disconnect",{detail:r})))}getConnections(t){if(t!=null)return this.connections.get(t.toString())??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(t,r={}){let{peerId:n,multiaddr:i}=_u(t);if(n==null&&i==null)throw(0,Su.default)(new TypeError("Can only open connections to PeerIds or Multiaddrs"),v.ERR_INVALID_PARAMETERS);if(n!=null){ae("dial to",n);let s=this.getConnections(n);if(s.length>0)return ae("had an existing connection to %p",n),s[0]}let o;if(r?.signal==null){o=new Cd.TimeoutController(this.dialTimeout),r.signal=o.signal;try{(0,Au.setMaxListeners)?.(1/0,o.signal)}catch{}}try{let s=await this.components.dialer.dial(t,r),a=this.connections.get(s.remotePeer.toString());a==null&&(a=[],this.connections.set(s.remotePeer.toString(),a));let c=!1;for(let u of a)u.id===s.id&&(c=!0);return c||a.push(s),s}finally{o?.clear()}}async closeConnections(t){let r=this.connections.get(t.toString())??[];await Promise.all(r.map(async n=>await n.close()))}getAll(t){if(!Pi(t))throw(0,Su.default)(new Error("peerId must be an instance of peer-id"),v.ERR_INVALID_PARAMETERS);let r=t.toString(),n=this.connections.get(r);return n!=null?n.filter(i=>i.stat.status===xu):[]}_onLatencyMeasure(t){let{detail:r}=t;this._checkMaxLimit("maxEventLoopDelay",r.avgMs,1).catch(n=>{ae.error(n)})}async _checkMaxLimit(t,r,n=1){let i=this.opts[t];if(i==null){ae.trace("limit %s was not set so it cannot be applied",t);return}ae.trace("checking limit of %s. current value: %d of %d",t,r,i),r>i&&(ae("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,t,r,i,n),await this._pruneConnections(n))}async _pruneConnections(t){let r=this.getConnections(),n=new pn;for(let s of r){let a=s.remotePeer;if(n.has(a))continue;let c=await this.components.peerStore.getTags(a);n.set(a,c.reduce((u,l)=>u+l.value,0))}let i=r.sort((s,a)=>{let c=n.get(s.remotePeer)??0,u=n.get(a.remotePeer)??0;if(c>u)return 1;if(c<u)return-1;let l=s.stat.timeline.open,f=a.stat.timeline.open;return l<f?1:l>f?-1:0}),o=[];for(let s of i)if(ae("too many connections open - closing a connection to %p",s.remotePeer),o.push(s),o.length===t)break;await Promise.all(o.map(async s=>{try{await s.close()}catch(a){ae.error(a)}this.onDisconnect(new G("connectionEnd",{detail:s}))}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return ae("connection from %s refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return ae("connection from %s refused - incomingPendingConnections exceeded by peer %s",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return ae("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,t.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):(ae("connection from %s refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}};var Bd=R(fd(),1),Jn=P("libp2p:connection-manager:auto-dialler"),S4={enabled:!0,minConnections:0,autoDialInterval:1e4},Iu=class{constructor(t,r){this.components=t,this.options=rr.call({ignoreUndefined:!0},S4,r),this.running=!1,this._autoDial=this._autoDial.bind(this),Jn("options: %j",this.options)}isStarted(){return this.running}async start(){if(!this.options.enabled){Jn("not enabled");return}this.running=!0,this._autoDial().catch(t=>{Jn.error("could start autodial",t)}),Jn("started")}async stop(){if(!this.options.enabled){Jn("not enabled");return}this.running=!1,this.autoDialTimeout!=null&&this.autoDialTimeout.clear(),Jn("stopped")}async _autoDial(){this.autoDialTimeout!=null&&this.autoDialTimeout.clear();let t=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=t){this.autoDialTimeout=(0,Bd.default)(this._autoDial,this.options.autoDialInterval);return}let r=await this.components.peerStore.all();r=r.filter(n=>!(n.id.equals(this.components.peerId)||n.addresses.length===0)),r=r.sort(()=>Math.random()>.5?1:-1),r=r.sort((n,i)=>i.protocols.length>n.protocols.length||i.id.publicKey!=null&&n.id.publicKey==null?1:-1);for(let n=0;this.running&&n<r.length&&this.components.connectionManager.getConnections().length<t;n++){if(!this.running)return;let i=r[n];if(this.components.connectionManager.getConnections(i.id).length===0){Jn("connecting to a peerStore stored peer %p",i.id);try{await this.components.connectionManager.openConnection(i.id)}catch(o){Jn.error("could not connect to peerStore stored peer",o)}}}this.running&&(this.autoDialTimeout=(0,Bd.default)(this._autoDial,this.options.autoDialInterval))}};var Tu=class{constructor(t){this.reservations=new pn,this._started=!1,this.init={maxReservations:t?.maxReservations??15,reservationClearInterval:t?.reservationClearInterval??300*1e3,applyDefaultLimit:t?.applyDefaultLimit!==!1,reservationTtl:t?.reservationTtl??2*60*60*1e3,defaultDurationLimit:t?.defaultDurationLimit??12e4,defaultDataLimit:t?.defaultDataLimit??xp}}isStarted(){return this._started}start(){this._started||(this._started=!0,this.interval=setInterval(()=>{let t=new Date().getTime();this.reservations.forEach((r,n)=>{r.expire.getTime()<t&&this.reservations.delete(n)})},this.init.reservationClearInterval))}stop(){clearInterval(this.interval)}reserve(t,r,n){if(this.reservations.size>=this.init.maxReservations&&!this.reservations.has(t))return{status:pt.RESERVATION_REFUSED};let i=new Date(Date.now()+this.init.reservationTtl),o;return this.init.applyDefaultLimit&&(o=n??{data:this.init.defaultDataLimit,duration:this.init.defaultDurationLimit}),this.reservations.set(t,{addr:r,expire:i,limit:o}),{status:pt.OK,expire:i.getTime()}}removeReservation(t){this.reservations.delete(t)}hasReservation(t){return this.reservations.has(t)}get(t){return this.reservations.get(t)}};var kd=R(gt(),1);var R4=K("dns4"),I4=K("dns6"),T4=K("dnsaddr"),Hi=Se(K("dns"),T4,R4,I4),Cu=Se(K("ip4"),K("ip6")),ts=Se(Y(Cu,K("tcp")),Y(Hi,K("tcp"))),Nd=Y(Cu,K("udp")),C4=Y(Nd,K("utp")),B4=Y(Nd,K("quic")),ua=Se(Y(ts,K("ws")),Y(Hi,K("ws"))),la=Se(Y(ts,K("wss")),Y(Hi,K("wss")),Y(ts,K("tls"),K("ws")),Y(Hi,K("tls"),K("ws"))),Ld=Se(Y(ts,K("http")),Y(Cu,K("http")),Y(Hi,K("http"))),Dd=Se(Y(ts,K("https")),Y(Cu,K("https")),Y(Hi,K("https"))),r2=Y(Nd,K("webrtc"),K("certhash")),i2=Se(Y(r2,K("p2p")),r2),o2=Se(Y(ua,K("p2p-webrtc-star"),K("p2p")),Y(la,K("p2p-webrtc-star"),K("p2p")),Y(ua,K("p2p-webrtc-star")),Y(la,K("p2p-webrtc-star"))),IO=Se(Y(ua,K("p2p-websocket-star"),K("p2p")),Y(la,K("p2p-websocket-star"),K("p2p")),Y(ua,K("p2p-websocket-star")),Y(la,K("p2p-websocket-star"))),s2=Se(Y(Ld,K("p2p-webrtc-direct"),K("p2p")),Y(Dd,K("p2p-webrtc-direct"),K("p2p")),Y(Ld,K("p2p-webrtc-direct")),Y(Dd,K("p2p-webrtc-direct"))),fa=Se(ua,la,Ld,Dd,o2,s2,ts,C4,B4,Hi,i2),TO=Se(Y(fa,K("p2p-stardust"),K("p2p")),Y(fa,K("p2p-stardust"))),ti=Se(Y(fa,K("p2p")),o2,s2,i2,K("p2p")),n2=Se(Y(ti,K("p2p-circuit"),ti),Y(ti,K("p2p-circuit")),Y(K("p2p-circuit"),ti),Y(fa,K("p2p-circuit")),Y(K("p2p-circuit"),fa),K("p2p-circuit")),a2=()=>Se(Y(n2,a2),n2),$i=a2(),CO=Se(Y($i,ti,$i),Y(ti,$i),Y($i,ti),$i,ti);function c2(e){function t(r){let n;try{n=J(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function Y(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:c2(t),partialMatch:t}}function Se(...e){function t(n){let i=null;return e.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:c2(t),partialMatch:t}}function K(e){let t=e;function r(i){let o;try{o=J(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var ha=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function u2(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Gi(e,t,r){let n=r??{},i=u2(e);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:l,abortCode:f}=n;throw new ha(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:d,abortCode:h}=n;f(new ha(d,h))}});c=await Promise.race([u,i.next()]),s=null}catch(u){t.removeEventListener("abort",a);let l=u.type==="aborted"&&t.aborted;if(l&&n.onAbort!=null&&await n.onAbort(e),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return o()}function D4(e,t,r){return n=>e(Gi(n,t,r))}function _r(e,t,r){return{sink:D4(e.sink,t,{...r,onAbort:void 0}),source:Gi(e.source,t,r)}}var N4=P("libp2p:stream:converter");function Pd(e,t={}){let{stream:r,remoteAddr:n}=e,{sink:i,source:o}=r,s=async function*(){for await(let u of o)yield*u}(),a={async sink(u){t.signal!=null&&(u=Gi(u,t.signal));try{await i(u),await c()}catch(l){l.type!=="aborted"&&N4(l)}},source:t.signal!=null?Gi(s,t.signal):s,remoteAddr:n,timeline:{open:Date.now(),close:void 0},async close(){await i(async function*(){yield new Uint8Array(0)}()),await c()}};async function c(){return a.timeline.close==null&&(a.timeline.close=Date.now()),await Promise.resolve()}return a}function l2(e){let t=new Map;async function r(o){let s=o.toString().split("/p2p-circuit").find(d=>d!==""),a=J(s),c=a.getPeerId();if(c==null)throw new Error("Could not determine relay peer from multiaddr");let u=rt(c);await e.peerStore.addressBook.add(u,[a]);let l=await e.connectionManager.openConnection(u),f=l.remoteAddr.encapsulate("/p2p-circuit");t.set(l.remotePeer.toString(),f),i.dispatchEvent(new G("listening"))}function n(){let o=[];for(let s of t.values())o.push(s);return o}let i=Object.assign(new Bt,{close:async()=>await Promise.resolve(),listen:r,getAddrs:n});return e.connectionManager.addEventListener("peer:disconnect",o=>{let{detail:s}=o;t.delete(s.remotePeer.toString())&&i.dispatchEvent(new G("close"))}),i}var f2=Symbol.for("@libp2p/transport");var ei;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(ei||(ei={}));var ir=P("libp2p:circuit"),Bu=class{constructor(t,r){this.components=t,this._init=r,this.reservationStore=new Tu({defaultDataLimit:r.hop?.limit?.data,defaultDurationLimit:r.hop?.limit?.duration}),this._started=!1}isStarted(){return this._started}async start(){this._started||(this._started=!0,this._init.hop.enabled===!0&&this.components.registrar.handle(tn,t=>{this.onHop(t).catch(r=>{ir.error(r)})}).catch(t=>{ir.error(t)}),this.components.registrar.handle(cs,t=>{this.onStop(t).catch(r=>{ir.error(r)})}).catch(t=>{ir.error(t)}),this._init.hop.enabled===!0&&this.reservationStore.start())}async stop(){this._init.hop.enabled===!0&&(this.reservationStore.stop(),await this.components.registrar.unhandle(tn)),await this.components.registrar.unhandle(cs)}get[f2](){return!0}get[Symbol.toStringTag](){return"libp2p/circuit-relay-v2"}async onHop({connection:t,stream:r}){ir("received circuit v2 hop protocol stream from %s",t.remotePeer);let n=ra(),i=setTimeout(()=>{n.reject("timed out")},this._init.hop.timeout),o=Qn(r);try{let s=await Promise.race([o.pb(It).read(),n.promise]);if(s?.type==null)throw new Error("request was invalid, could not read from stream");await Promise.race([_1({connection:t,stream:o,connectionManager:this.components.connectionManager,relayPeer:this.components.peerId,relayAddrs:this.components.addressManager.getListenAddrs(),reservationStore:this.reservationStore,peerStore:this.components.peerStore,request:s}),n.promise])}catch(s){o.pb(It).write({type:It.Type.STATUS,status:pt.MALFORMED_MESSAGE}),r.abort(s)}finally{clearTimeout(i)}}async onStop({connection:t,stream:r}){let n=Qn(r),i=await n.readPB(Ve);if(ir("received circuit v2 stop protocol request from %s",t.remotePeer),i?.type===void 0)return;let o=await b1({connection:t,pbstr:n,request:i});if(o!=null){let s=J(i.peer?.addrs?.[0]),a=this.components.transportManager.getAddrs()[0],c=Pd({stream:o,remoteAddr:s,localAddr:a});ir("new inbound connection %s",c.remoteAddr);let u=await this.components.upgrader.upgradeInbound(c);ir("%s connection %s upgraded","inbound",c.remoteAddr),this.handler?.(u)}}async dial(t,r={}){let n=t.toString().split("/p2p-circuit"),i=J(n[0]),o=J(n[n.length-1]),s=i.getPeerId(),a=o.getPeerId();if(s==null||a==null){let h="Circuit relay dial failed as addresses did not have peer id";throw ir.error(h),(0,kd.default)(new Error(h),v.ERR_RELAYED_DIAL)}let c=rt(s),u=rt(a),l=!1,d=this.components.connectionManager.getConnections(c)[0];d==null&&(await this.components.peerStore.addressBook.add(c,[i]),d=await this.components.connectionManager.openConnection(c,r),l=!0);try{let h=await d.newStream([tn]);return await this.connectV2({stream:h,connection:d,destinationPeer:u,destinationAddr:o,relayAddr:i,ma:t,disconnectOnFailure:l})}catch(h){throw ir.error("Circuit relay dial failed",h),l&&await d.close(),h}}async connectV2({stream:t,connection:r,destinationPeer:n,destinationAddr:i,relayAddr:o,ma:s,disconnectOnFailure:a}){try{let c=Qn(t),u=c.pb(It);u.write({type:It.Type.CONNECT,peer:{id:n.toBytes(),addrs:[J(i).bytes]}});let l=await u.read();if(l.status!==pt.OK)throw(0,kd.default)(new Error(`failed to connect via relay with status ${l?.status?.toString()??"undefined"}`),v.ERR_HOP_REQUEST_FAILED);let f=o;f=f.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`);let d=Pd({stream:c.unwrap(),remoteAddr:s,localAddr:f});return ir("new outbound connection %s",d.remoteAddr),await this.components.upgrader.upgradeOutbound(d)}catch(c){throw ir.error("Circuit relay dial failed",c),a&&await r.close(),c}}createListener(t){return this.handler=t.handler,l2({connectionManager:this.components.connectionManager,peerStore:this.components.peerStore})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(r=>$i.matches(r))}};var Lu=R(hd(),1);var h2=P("libp2p:circuit:relay"),da=class{constructor(t,r){this.components=t,this.started=!1,this.init=r,this._advertiseService=this._advertiseService.bind(this)}isStarted(){return this.started}async start(){this.init.hop.enabled===!0&&this.init.advertise.enabled===!0&&(this.timeout=(0,Lu.setDelayedInterval)(this._advertiseService,this.init.advertise.ttl,this.init.advertise.bootDelay)),this.started=!0}async stop(){try{(0,Lu.clearDelayedInterval)(this.timeout)}catch{}this.started=!1}async _advertiseService(){try{let t=await $a(Ha);await this.components.contentRouting.provide(t)}catch(t){t.code===v.ERR_NO_ROUTERS_AVAILABLE?(h2.error("a content router, such as a DHT, must be provided in order to advertise the relay service",t),await this.stop()):h2.error("could not advertise service: ",t)}}};var A2=R(b2(),1);var yt=R(gt(),1);var ct;(function(e){e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(ct||(ct={}));var m5=R(dc(),1),G4=R(bt(),1);var _2=R(Cf(),1),S2=R(Gt(),1);var v2={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function pa(e,t,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(v2).join(" / ");throw new H(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=v2[i],s=(0,_2.default)(e,t,r,n,o);return S2.default.encode64(s,null)}var Du=P("libp2p:keychain"),Q4="/pkcs8/",R2="/info/",Wi=new WeakMap,Yi={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Od={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function xn(e){return e==null||typeof e!="string"?!1:e===(0,A2.default)(e.trim())&&e.length>0}async function St(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Wr(e){return new zt(Q4+e)}function ri(e){return new zt(R2+e)}var Qi=class{constructor(t,r){if(this.components=t,this.init=rr(Od,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<Yi.minKeyLength)throw new Error(`dek.keyLength must be least ${Yi.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Yi.minSaltLength)throw new Error(`dek.saltLength must be least ${Yi.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Yi.minIterationCount)throw new Error(`dek.iterationCount must be least ${Yi.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?pa(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Wi.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},Od),r=Math.ceil(Yi.minSaltLength/3)*3;return t.dek.salt=Q(cn(r),"base64"),t}static get options(){return Od}async createKey(t,r,n=2048){if(!xn(t)||t==="self")throw await St(),(0,yt.default)(new Error("Invalid key name"),ct.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await St(),(0,yt.default)(new Error("Invalid key type"),ct.ERR_INVALID_KEY_TYPE);let i=Wr(t);if(await this.components.datastore.has(i))throw await St(),(0,yt.default)(new Error("Key name already exists"),ct.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await St(),(0,yt.default)(new Error("Invalid RSA key size"),ct.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await Fc(r,n),c=await a.id(),u=Wi.get(this);if(u==null)throw(0,yt.default)(new Error("dek missing"),ct.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:t,id:c};let d=this.components.datastore.batch();d.put(i,q(f)),d.put(ri(t),q(JSON.stringify(s))),await d.commit()}catch(a){throw await St(),a}return s}async listKeys(){let t={prefix:R2},r=[];for await(let n of this.components.datastore.query(t))r.push(JSON.parse(Q(n.value)));return r}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw(0,yt.default)(new Error(`Key with id '${t}' does not exist.`),ct.ERR_KEY_NOT_FOUND);return n}catch(r){throw await St(),r}}async findKeyByName(t){if(!xn(t))throw await St(),(0,yt.default)(new Error(`Invalid key name '${t}'`),ct.ERR_INVALID_KEY_NAME);let r=ri(t);try{let n=await this.components.datastore.get(r);return JSON.parse(Q(n))}catch(n){throw await St(),Du.error(n),(0,yt.default)(new Error(`Key '${t}' does not exist.`),ct.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!xn(t)||t==="self")throw await St(),(0,yt.default)(new Error(`Invalid key name '${t}'`),ct.ERR_INVALID_KEY_NAME);let r=Wr(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(r),i.delete(ri(t)),await i.commit(),n}async renameKey(t,r){if(!xn(t)||t==="self")throw await St(),(0,yt.default)(new Error(`Invalid old key name '${t}'`),ct.ERR_OLD_KEY_NAME_INVALID);if(!xn(r)||r==="self")throw await St(),(0,yt.default)(new Error(`Invalid new key name '${r}'`),ct.ERR_NEW_KEY_NAME_INVALID);let n=Wr(t),i=Wr(r),o=ri(t),s=ri(r);if(await this.components.datastore.has(i))throw await St(),(0,yt.default)(new Error(`Key '${r}' already exists`),ct.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(Q(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,q(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await St(),c}}async exportKey(t,r){if(!xn(t))throw await St(),(0,yt.default)(new Error(`Invalid key name '${t}'`),ct.ERR_INVALID_KEY_NAME);if(r==null)throw await St(),(0,yt.default)(new Error("Password is required"),ct.ERR_PASSWORD_REQUIRED);let n=Wr(t);try{let i=await this.components.datastore.get(n),o=Q(i),s=Wi.get(this);if(s==null)throw(0,yt.default)(new Error("dek missing"),ct.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await zs(o,a)).export(r)}catch(i){throw await St(),i}}async exportPeerId(t){let r="temporary-password",n=await this.exportKey(t,r),i=await zs(n,r);return await Gn(i.public.bytes,i.bytes)}async importKey(t,r,n){if(!xn(t)||t==="self")throw await St(),(0,yt.default)(new Error(`Invalid key name '${t}'`),ct.ERR_INVALID_KEY_NAME);if(r==null)throw await St(),(0,yt.default)(new Error("PEM encoded key is required"),ct.ERR_PEM_REQUIRED);let i=Wr(t);if(await this.components.datastore.has(i))throw await St(),(0,yt.default)(new Error(`Key '${t}' already exists`),ct.ERR_KEY_ALREADY_EXISTS);let s;try{s=await zs(r,n)}catch{throw await St(),(0,yt.default)(new Error("Cannot read the key, most likely the password is wrong"),ct.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=Wi.get(this);if(l==null)throw(0,yt.default)(new Error("dek missing"),ct.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await St(),l}let c={name:t,id:a},u=this.components.datastore.batch();return u.put(i,q(r)),u.put(ri(t),q(JSON.stringify(c))),await u.commit(),c}async importPeer(t,r){try{if(!xn(t))throw(0,yt.default)(new Error(`Invalid key name '${t}'`),ct.ERR_INVALID_KEY_NAME);if(r==null)throw(0,yt.default)(new Error("PeerId is required"),ct.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw(0,yt.default)(new Error("PeerId.privKey is required"),ct.ERR_MISSING_PRIVATE_KEY);let n=await ko(r.privateKey),i=Wr(t);if(await this.components.datastore.has(i))throw await St(),(0,yt.default)(new Error(`Key '${t}' already exists`),ct.ERR_KEY_ALREADY_EXISTS);let s=Wi.get(this);if(s==null)throw(0,yt.default)(new Error("dek missing"),ct.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:t,id:r.toString()},l=this.components.datastore.batch();return l.put(i,q(c)),l.put(ri(t),q(JSON.stringify(u))),await l.commit(),u}catch(n){throw await St(),n}}async getPrivateKey(t){if(!xn(t))throw await St(),(0,yt.default)(new Error(`Invalid key name '${t}'`),ct.ERR_INVALID_KEY_NAME);try{let r=Wr(t),n=await this.components.datastore.get(r);return Q(n)}catch(r){throw await St(),Du.error(r),(0,yt.default)(new Error(`Key '${t}' does not exist.`),ct.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,r){if(typeof t!="string")throw await St(),(0,yt.default)(new Error(`Invalid old pass type '${typeof t}'`),ct.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await St(),(0,yt.default)(new Error(`Invalid new pass type '${typeof r}'`),ct.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await St(),(0,yt.default)(new Error(`Invalid pass length ${r.length}`),ct.ERR_INVALID_PASS_LENGTH);Du("recreating keychain");let n=Wi.get(this);if(n==null)throw(0,yt.default)(new Error("dek missing"),ct.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?pa(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Wi.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(Wr(a.name)),u=Q(c),l=await zs(u,i),f=o.toString(),d=await l.export(f),h=this.components.datastore.batch(),p={name:a.name,id:a.id};h.put(Wr(a.name),q(d)),h.put(ri(a.name),q(JSON.stringify(p))),await h.commit()}Du("keychain reconstructed")}};var es=R(gt(),1);var Md=class extends Map{constructor(t){super();let{name:r,metrics:n}=t;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(t,r){return super.set(t,r),this.updateComponentMetric(),this}delete(t){let r=super.delete(t);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function ma(e){let{name:t,metrics:r}=e,n;return r!=null?n=new Md({name:t,metrics:r}):n=new Map,n}var Xi=P("libp2p:transports"),Nu=class extends Bt{constructor(t,r={}){super(),this.components=t,this.started=!1,this.transports=new Map,this.listeners=ma({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??ei.FATAL_ALL}add(t){let r=t[Symbol.toStringTag];if(r==null)throw(0,es.default)(new Error("Transport must have a valid tag"),v.ERR_INVALID_KEY);if(this.transports.has(r))throw(0,es.default)(new Error("There is already a transport with this tag"),v.ERR_DUPLICATE_TRANSPORT);Xi("adding transport %s",r),this.transports.set(r,t),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}async start(){let t=this.components.addressManager.getListenAddrs();await this.listen(t),this.started=!0}async stop(){let t=[];for(let[r,n]of this.listeners)for(Xi("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),Xi("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(t,r){let n=this.transportForMultiaddr(t);if(n==null)throw(0,es.default)(new Error(`No transport available for address ${String(t)}`),v.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=v.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let r of this.listeners.values())for(let n of r)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(t){for(let r of this.transports.values())if(r.filter([t]).length>0)return r}async listen(t){if(t==null||t.length===0){Xi("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(t),s=[];for(let u of o){Xi("creating listener for %s on %s",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.dispatchEvent(new G("listener:listening",{detail:l}))}),l.addEventListener("close",()=>{this.dispatchEvent(new G("listener: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!==ei.NO_FATAL)throw(0,es.default)(new Error(`Transport (${n}) could not listen on any available address`),v.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===ei.FATAL_ALL)throw(0,es.default)(new Error(n),v.ERR_NO_VALID_ADDRESSES);Xi(`libp2p in dial mode only: ${n}`)}}async remove(t){Xi("removing %s",t);for(let r of this.listeners.get(t)??[])await r.close();this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let r of this.transports.keys())t.push(this.remove(r));await Promise.all(t)}};var de=R(gt(),1);var bn="/multistream/1.0.0";var B2=R(gt(),1);var Ud=R(gt(),1);var Z4=P("libp2p:mss"),I2=q(`
49
- `);function ya(e){let t=new qt(e,I2);return tr.single(t)}function Zi(e,t,r={}){let n=ya(t);r.writeBytes===!0?e.push(n.subarray()):e.push(n)}function T2(e,t,r={}){let n=new qt;for(let i of t)n.append(ya(i));r.writeBytes===!0?e.push(n.subarray()):e.push(n)}async function j4(e,t){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await e.next(r)},i=n;t?.signal!=null&&(i=Gi(n,t.signal));let s=await ee(i,qe({onLength:a=>{r=a},maxDataLength:1024}),async a=>await ze(a));if(s==null||s.length===0)throw(0,Ud.default)(new Error("no buffer returned"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==I2[0])throw Z4.error("Invalid mss message - missing newline - %s",s.subarray()),(0,Ud.default)(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function rs(e,t){let r=await j4(e,t);return Q(r.subarray())}var ga=P("libp2p:mss:select");async function wa(e,t,r={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:o,stream:s}=$o(e),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");ga('select: write ["%s", "%s"]',bn,a);let c=q(bn),u=q(a);T2(i,[c,u],r);let l=await rs(n,r);if(ga('select: read "%s"',l),l===bn&&(l=await rs(n,r),ga('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of t){ga('select: write "%s"',f),Zi(i,q(f),r);let d=await rs(n,r);if(ga('select: read "%s" for "%s"',d,f),d===f)return o(),{stream:s,protocol:f}}throw o(),(0,B2.default)(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}var Ea=P("libp2p:mss:handle");async function xa(e,t,r){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:o,stream:s}=$o(e);for(;;){let a=await rs(i,r);if(Ea('read "%s"',a),a===bn){Ea('respond with "%s" for "%s"',bn,a),Zi(n,q(bn),r);continue}if(t.includes(a))return Zi(n,q(a),r),Ea('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){Zi(n,new qt(...t.map(c=>ya(q(c)))),r),Ea('respond with "%s" for %s',t,a);continue}Zi(n,q("na"),r),Ea('respond with "na" for "%s"',a)}}var Fd=R(gt(),1);var L2=Symbol.for("@libp2p/connection");var tC=P("libp2p:connection"),Kd=class{constructor(t){let{remoteAddr:r,remotePeer:n,newStream:i,close:o,getStreams:s,stat:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:xu},this._newStream=i,this._close=o,this._getStreams=s,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[L2](){return!0}get streams(){return this._getStreams()}async newStream(t,r){if(this.stat.status===md)throw(0,Fd.default)(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===bu)throw(0,Fd.default)(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(t)||(t=[t]);let n=await this._newStream(t,r);return n.stat.direction="outbound",n}addStream(t){t.stat.direction="inbound"}removeStream(t){}async close(){if(!(this.stat.status===bu||this._closing)){this.stat.status=md;try{this.streams.forEach(t=>t.close())}catch(t){tC.error(t)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=bu}}};function D2(e){return new Kd(e)}var Pu=R(gt(),1);var eC=Symbol.for("@libp2p/topology");function N2(e){return e!=null&&Boolean(e[eC])}var Vd=P("libp2p:registrar"),qd=32,zd=64,ku=class{constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(t){let r=this.handlers.get(t);if(r==null)throw(0,Pu.default)(new Error(`No handler registered for protocol ${t}`),v.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(t){let r=this.topologies.get(t);return r==null?[]:[...r.values()]}async handle(t,r,n){if(this.handlers.has(t))throw(0,Pu.default)(new Error(`Handler already registered for protocol ${t}`),v.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=rr.bind({ignoreUndefined:!0})({maxInboundStreams:qd,maxOutboundStreams:zd},n);this.handlers.set(t,{handler:r,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[t])}async unhandle(t){let r=Array.isArray(t)?t:[t];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,r)}async register(t,r){if(!N2(r))throw Vd.error("topology must be an instance of interfaces/topology"),(0,Pu.default)(new Error("topology must be an instance of interfaces/topology"),v.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(t){for(let[r,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(r))}_onDisconnect(t){let r=t.detail;this.components.peerStore.protoBook.get(r.remotePeer).then(n=>{for(let i of n){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect(r.remotePeer)}}).catch(n=>{Vd.error(n)})}_onConnect(t){let r=t.detail;this.components.peerStore.protoBook.get(r.remotePeer).then(n=>{for(let i of n){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onConnect(r.remotePeer,r)}}).catch(n=>{Vd.error(n)})}_onProtocolChange(t){let{peerId:r,protocols:n,oldProtocols:i}=t.detail,o=i.filter(a=>!n.includes(a)),s=n.filter(a=>!i.includes(a));for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let u of c.values())u.onDisconnect(r)}for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let u of c.values()){let l=this.components.connectionManager.getConnections(r)[0];l!=null&&u.onConnect(r,l)}}}};var $d=R(Zn(),1);var Hd=R(wn(),1),Lt=P("libp2p:upgrader");function rC(e,t){try{let{options:r}=t.getHandler(e);return r.maxInboundStreams}catch(r){if(r.code!==v.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return qd}function nC(e,t){try{let{options:r}=t.getHandler(e);return r.maxOutboundStreams}catch(r){if(r.code!==v.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return zd}function P2(e,t,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===t&&i.stat.protocol===e&&n++}),n}var Ou=class extends Bt{constructor(t,r){super(),this.components=t,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}async upgradeInbound(t,r){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw(0,de.default)(new Error("connection denied"),v.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=new $d.TimeoutController(this.inboundUpgradeTimeout);try{(0,Hd.setMaxListeners)?.(1/0,u.signal)}catch{}try{let l=_r(t,u.signal);if(t.source=l.source,t.sink=l.sink,await this.components.connectionGater.denyInboundConnection(t))throw(0,de.default)(new Error("The multiaddr connection is blocked by gater.acceptConnection"),v.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),Lt("starting the inbound connection upgrade");let f=t;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(Lt("protecting the inbound connection"),f=await d.protect(t))}try{if(i=f,r?.skipEncryption!==!0){if({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection(o,{...f,...i}))throw(0,de.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),v.ERR_CONNECTION_INTERCEPTED)}else{let d=t.remoteAddr.getPeerId();if(d==null)throw(0,de.default)(new Error("inbound connection that skipped encryption must have a peer id"),v.ERR_INVALID_MULTIADDR);let h=rt(d);c="native",o=h}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 Lt.error("Failed to upgrade inbound connection",d),d}if(await this.components.connectionGater.denyInboundUpgradedConnection(o,{...f,...i}))throw(0,de.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),v.ERR_CONNECTION_INTERCEPTED);return Lt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:s,muxerFactory:a,remotePeer:o})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(t,r){let n=t.remoteAddr.getPeerId(),i;if(n!=null&&(i=rt(n),await this.components.connectionGater.denyOutboundConnection(i,t)))throw(0,de.default)(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),v.ERR_CONNECTION_INTERCEPTED);let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(t),Lt("Starting the outbound connection upgrade");let l=t;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(t))}try{if(o=l,r?.skipEncryption!==!0){if({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(l,i),await this.components.connectionGater.denyOutboundEncryptedConnection(s,{...l,...o}))throw(0,de.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),v.ERR_CONNECTION_INTERCEPTED)}else{if(i==null)throw(0,de.default)(new Error("Encryption was skipped but no peer id was passed"),v.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 Lt.error("Failed to upgrade outbound connection",f),await t.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection(s,{...l,...o}))throw(0,de.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),v.ERR_CONNECTION_INTERCEPTED);return Lt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:u,remotePeer:s})}_createConnection(t){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a}=t,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:h=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await xa(h,p);if(Lt("%s: incoming stream opened on %s",n,y),l==null)return;let g=rC(y,this.components.registrar);if(P2(y,"inbound",l)===g){h.abort((0,de.default)(new Error(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`),v.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}h.source=m.source,h.sink=m.sink,h.stat.protocol=y,this.components.peerStore.protoBook.add(s,[y]).catch(_=>Lt.error(_)),l.addStream(h),this.components.metrics?.trackProtocolStream(h,l),this._onStream({connection:l,stream:h,protocol:y})}).catch(p=>{Lt.error(p),h.stat.timeline.close==null&&h.close()})},onStreamEnd:h=>{l?.removeStream(h.id)}}),u=async(h,p={})=>{if(c==null)throw(0,de.default)(new Error("Stream is not multiplexed"),v.ERR_MUXER_UNAVAILABLE);Lt("%s: starting new stream on %s",n,h);let m=await c.newStream(),y;try{if(p.signal==null){Lt("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h),y=new $d.TimeoutController(3e4),p.signal=y.signal;try{(0,Hd.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:E}=await wa(m,h,p),_=nC(E,this.components.registrar);if(P2(E,"outbound",l)===_){let C=(0,de.default)(new Error(`Too many outbound protocol streams for protocol "${E}" - limit ${_}`),v.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(C),C}return this.components.peerStore.protoBook.add(s,[E]).catch(C=>Lt.error(C)),m.source=g.source,m.sink=g.sink,m.stat.protocol=E,this.components.metrics?.trackProtocolStream(m,l),m}catch(g){throw Lt.error("could not create new stream",g),m.stat.timeline.close==null&&m.close(),g.code!=null?g:(0,de.default)(g,v.ERR_UNSUPPORTED_PROTOCOL)}finally{y?.clear()}},Promise.all([c.sink(o.source),o.sink(c.source)]).catch(h=>{Lt.error(h)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...h)=>(l!=null&&h[1]==="close"&&h[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){Lt.error(p)}finally{this.dispatchEvent(new G("connectionEnd",{detail:l}))}})().catch(p=>{Lt.error(p)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let d=()=>{throw(0,de.default)(new Error("connection is not multiplexed"),v.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=D2({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.dispatchEvent(new G("connection",{detail:l})),l}_onStream(t){let{connection:r,stream:n,protocol:i}=t,{handler:o}=this.components.registrar.getHandler(i);o({connection:r,stream:n})}async _encryptInbound(t){let r=Array.from(this.connectionEncryption.keys());Lt("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await xa(t,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return Lt("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw(0,de.default)(n,v.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,r){let n=Array.from(this.connectionEncryption.keys());Lt("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await wa(t,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return Lt("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw(0,de.default)(i,v.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,r){let n=Array.from(r.keys());Lt("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await wa(t,n,{writeBytes:!0});Lt("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Lt.error("error multiplexing outbound stream",i),(0,de.default)(i,v.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,r){let n=Array.from(r.keys());Lt("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await xa(t,n,{writeBytes:!0}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Lt.error("error multiplexing inbound stream",i),(0,de.default)(i,v.ERR_MUXER_UNAVAILABLE)}}};var Ji=R(gt(),1);var ji;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.protocolVersion!=null&&(n.uint32(42),n.string(r.protocolVersion)),r.agentVersion!=null&&(n.uint32(50),n.string(r.agentVersion)),r.publicKey!=null&&(n.uint32(10),n.bytes(r.publicKey)),r.listenAddrs!=null)for(let o of r.listenAddrs)n.uint32(18),n.bytes(o);if(r.observedAddr!=null&&(n.uint32(34),n.bytes(r.observedAddr)),r.protocols!=null)for(let o of r.protocols)n.uint32(26),n.string(o);r.signedPeerRecord!=null&&(n.uint32(66),n.bytes(r.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={listenAddrs:[],protocols:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 5:i.protocolVersion=r.string();break;case 6:i.agentVersion=r.string();break;case 1:i.publicKey=r.bytes();break;case 2:i.listenAddrs.push(r.bytes());break;case 4:i.observedAddr=r.bytes();break;case 3:i.protocols.push(r.string());break;case 8:i.signedPeerRecord=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(ji||(ji={}));var Mu="0.0.0",k2="libp2p";var Gd=`js-libp2p/${Mu}`;var O2="0.1.0",M2="id",U2="id/push",F2="1.0.0",K2="1.0.0";var ba=R(Zn(),1);var va=R(wn(),1),Tt=P("libp2p:identify"),V2=1024*8,ns=class{constructor(t,r){this.components=t,this.started=!1,this.init=r,this.identifyProtocolStr=`/${r.protocolPrefix}/${M2}/${F2}`,this.identifyPushProtocolStr=`/${r.protocolPrefix}/${U2}/${K2}`,this.host={protocolVersion:`${r.protocolPrefix}/${O2}`,...r.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(Tt.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(o=>Tt.error(o))}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(o=>Tt.error(o))})}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",q(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",q(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,t=>{this._handleIdentify(t).catch(r=>{Tt.error(r)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,t=>{this._handlePush(t).catch(r=>{Tt.error(r)})},{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(t){let r=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(s=>s.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),o=t.map(async s=>{let a,c=new ba.TimeoutController(this.init.timeout);try{(0,va.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await s.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await _r(a,c.signal).sink(ee([ji.encode({listenAddrs:n,signedPeerRecord:r,protocols:i})],tr()))}catch(u){Tt.error("could not push identify update to peer",u)}finally{a?.close(),c.clear()}});await Promise.all(o)}async pushToPeerStore(){if(!this.isStarted())return;let t=[];for(let r of this.components.connectionManager.getConnections()){let n=r.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&t.push(r)}await this.push(t)}async _identify(t,r={}){let n,i=r.signal,o;if(i==null){n=new ba.TimeoutController(this.init.timeout),i=n.signal;try{(0,va.setMaxListeners)?.(1/0,n.signal)}catch{}}try{o=await t.newStream([this.identifyProtocolStr],{signal:i});let s=_r(o,i),a=await ee([],s,qe({maxDataLength:this.init.maxIdentifyMessageSize??V2}),async c=>await ze(c));if(a==null)throw(0,Ji.default)(new Error("No data could be retrieved"),v.ERR_CONNECTION_ENDED);try{return ji.decode(a)}catch(c){throw(0,Ji.default)(c,v.ERR_INVALID_MESSAGE)}}finally{n?.clear(),o?.close()}}async identify(t,r={}){let n=await this._identify(t,r),{publicKey:i,listenAddrs:o,protocols:s,observedAddr:a,signedPeerRecord:c,agentVersion:u,protocolVersion:l}=n;if(i==null)throw(0,Ji.default)(new Error("public key was missing from identify message"),v.ERR_MISSING_PUBLIC_KEY);let f=await Gn(i);if(!t.remotePeer.equals(f))throw(0,Ji.default)(new Error("identified peer does not match the expected peer"),v.ERR_INVALID_PEER);if(this.components.peerId.equals(f))throw(0,Ji.default)(new Error("identified peer is our own peer id?"),v.ERR_INVALID_PEER);let d=ns.getCleanMultiaddr(a);if(c!=null){Tt("received signed peer record from %p",f);try{let h=await Xt.openAndCertify(c,ne.DOMAIN);if(!h.peerId.equals(f))throw(0,Ji.default)(new Error("identified peer does not match the expected peer"),v.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(h)){await this.components.peerStore.protoBook.set(f,s),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",q(u)),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",q(l)),Tt("identify completed for peer %p and protocols %o",f,s);return}}catch(h){Tt("received invalid envelope, discard it and fallback to listenAddrs is available",h)}}else Tt("no signed peer record received from %p",f);Tt("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,o.map(h=>J(h)))}catch(h){Tt.error("received invalid addrs",h)}await this.components.peerStore.protoBook.set(f,s),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",q(u)),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",q(l)),Tt("identify completed for peer %p and protocols %o",f,s),Tt("received observed address of %s",d?.toString())}async _handleIdentify(t){let{connection:r,stream:n}=t,i=new ba.TimeoutController(this.init.timeout);try{(0,va.setMaxListeners)?.(1/0,i.signal)}catch{}try{let o=this.components.peerId.publicKey??new Uint8Array(0),s=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(d=>d.decapsulateCode(vt("p2p").code)),c=s.peerRecordEnvelope;if(a.length>0&&c==null){let d=new ne({peerId:this.components.peerId,multiaddrs:a}),h=await Xt.seal(d,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(h),c=h.marshal().subarray()}let u=ji.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:o,listenAddrs:a.map(d=>d.bytes),signedPeerRecord:c,observedAddr:r.remoteAddr.bytes,protocols:s.protocols}),l=_r(n,i.signal),f=ee([u],tr());await l.sink(f)}catch(o){Tt.error("could not respond to identify request",o)}finally{n.close(),i.clear()}}async _handlePush(t){let{connection:r,stream:n}=t,i=new ba.TimeoutController(this.init.timeout);try{(0,va.setMaxListeners)?.(1/0,i.signal)}catch{}let o;try{let a=_r(n,i.signal),c=await ee([],a,qe({maxDataLength:this.init.maxIdentifyMessageSize??V2}),async u=>await ze(u));c!=null&&(o=ji.decode(c))}catch(a){return Tt.error("received invalid message",a)}finally{n.close(),i.clear()}if(o==null)return Tt.error("received invalid message");let s=r.remotePeer;if(this.components.peerId.equals(s)){Tt("received push from ourselves?");return}if(Tt("received push from %p",s),o.signedPeerRecord!=null){Tt("received signedPeerRecord in push");try{let a=await Xt.openAndCertify(o.signedPeerRecord,ne.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){Tt("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(s,o.protocols);return}else Tt("failed to consume signedPeerRecord sent in push")}catch(a){Tt("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else Tt("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(s,o.listenAddrs.map(a=>J(a)))}catch(a){Tt.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(s,o.protocols)}catch(a){Tt.error("received invalid protocols",a)}Tt("handled push from %p",s)}static getCleanMultiaddr(t){if(t!=null&&t.length>0)try{return J(t)}catch{}}};var is=R(gt(),1);var _a;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identifier!=null&&r.identifier!==""&&(n.uint32(10),n.string(r.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identifier:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.identifier=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(_a||(_a={}));var Sr;(function(e){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=e.StatusCode||(e.StatusCode={}));let r;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(r||(r={})),function(i){i.codec=()=>Vi(r)}(t=e.StatusCode||(e.StatusCode={}));let n;e.codec=()=>(n==null&&(n=se((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.status!=null&&r[i.status]!==0&&(o.uint32(8),e.StatusCode.codec().encode(i.status,o)),i.data!=null&&i.data.byteLength>0&&(o.uint32(18),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={status:t.OK,data:new Uint8Array(0)},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.status=e.StatusCode.codec().decode(i);break;case 2:s.data=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>oe(i,e.codec()),e.decode=i=>ie(i,e.codec())})(Sr||(Sr={}));var q2="0.0.1",z2="fetch";var $2=R(Zn(),1),H2=R(wn(),1);var or=P("libp2p:fetch"),Uu=class{constructor(t,r){this.started=!1,this.components=t,this.protocol=`/${r.protocolPrefix??"libp2p"}/${z2}/${q2}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=r}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).catch(r=>{or.error(r)}).finally(()=>{t.stream.close()})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,r,n={}){or("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),o,s=n.signal,a;if(s==null){or("using default timeout of %d ms",this.init.timeout),o=new $2.TimeoutController(this.init.timeout),s=o.signal;try{(0,H2.setMaxListeners)?.(1/0,o.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:s});let c=_r(a,s);return or("fetch %s",r),await ee([_a.encode({identifier:r})],tr(),c,qe(),async function(l){let f=await ze(l);if(f==null)throw(0,is.default)(new Error("No data received"),v.ERR_INVALID_MESSAGE);let d=Sr.decode(f);switch(d.status){case Sr.StatusCode.OK:return or("received status for %s ok",r),d.data;case Sr.StatusCode.NOT_FOUND:return or("received status for %s not found",r),null;case Sr.StatusCode.ERROR:{or("received status for %s error",r);let h=Q(d.data);throw(0,is.default)(new Error("Error in fetch protocol response: "+h),v.ERR_INVALID_PARAMETERS)}default:throw or("received status for %s unknown",r),(0,is.default)(new Error("Unknown response status"),v.ERR_INVALID_MESSAGE)}})??null}finally{o?.clear(),a?.close()}}async handleMessage(t){let{stream:r}=t,n=this;await ee(r,qe(),async function*(i){let o=await ze(i);if(o==null)throw(0,is.default)(new Error("No data received"),v.ERR_INVALID_MESSAGE);let s=_a.decode(o),a,c=n._getLookupFunction(s.identifier);if(c!=null){or("look up data with identifier %s",s.identifier);let u=await c(s.identifier);u!=null?(or("sending status for %s ok",s.identifier),a={status:Sr.StatusCode.OK,data:u}):(or("sending status for %s not found",s.identifier),a={status:Sr.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{or("sending status for %s error",s.identifier);let u=q(`No lookup function registered for key: ${s.identifier}`);a={status:Sr.StatusCode.ERROR,data:u}}yield Sr.encode(a)},tr(),r)}_getLookupFunction(t){for(let r of this.lookupFunctions.keys())if(t.startsWith(r))return this.lookupFunctions.get(r)}registerLookupFunction(t,r){if(this.lookupFunctions.has(t))throw(0,is.default)(new Error("Fetch protocol handler for key prefix '"+t+"' already registered"),v.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(t,r)}unregisterLookupFunction(t,r){r!=null&&this.lookupFunctions.get(t)!==r||this.lookupFunctions.delete(t)}};var Q2=R(gt(),1);var G2="1.0.0",W2="ping";var X2=R(Zn(),1),Z2=R(wn(),1),Y2=P("libp2p:ping"),Fu=class{constructor(t,r){this.components=t,this.started=!1,this.protocol=`/${r.protocolPrefix}/${W2}/${G2}`,this.init=r}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(t){let{stream:r}=t;ee(r,r).catch(n=>{Y2.error(n)})}async ping(t,r={}){Y2("dialing %s to %p",this.protocol,t);let n=Date.now(),i=cn(32),o=await this.components.connectionManager.openConnection(t,r),s,a=r.signal,c;if(a==null){s=new X2.TimeoutController(this.init.timeout),a=s.signal;try{(0,Z2.setMaxListeners)?.(1/0,s.signal)}catch{}}try{c=await o.newStream([this.protocol],{signal:a});let u=_r(c,a),l=await ee([i],u,async d=>await ze(d)),f=Date.now();if(l==null||!Rt(i,l.subarray()))throw(0,Q2.default)(new Error("Received wrong ping ack"),v.ERR_WRONG_PING_ACK);return f-n}finally{s?.clear(),c?.close()}}};async function j2(){throw new Error("Not supported in browsers")}var ex=R(tx(),1),Wd=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Ku=(0,ex.default)(),Sa=Wd&&!Ku,rx=Ku&&!Wd,nx=Ku&&Wd,ix=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Ku,ox=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,TU=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",sx=typeof navigator<"u"&&navigator.product==="ReactNative";var ux=R(gt(),1);function ax(e){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(e)||/^::1$/.test(e)}function cx(e){let{address:t}=e.nodeAddress();return ax(t)}var Yd=P("libp2p:nat"),Qd=7200;function aC(e=1024,t=65535){return Math.floor(Math.random()*(t-e+1)+e)}var Vu=class{constructor(t,r){if(this.components=t,this.started=!1,this.enabled=r.enabled,this.externalAddress=r.externalAddress,this.localAddress=r.localAddress,this.description=r.description??`${k2}@${Mu} ${this.components.peerId.toString()}`,this.ttl=r.ttl??Qd,this.keepAlive=r.keepAlive??!0,this.gateway=r.gateway,this.ttl<Qd)throw(0,ux.default)(new Error(`NatManager ttl should be at least ${Qd} seconds`),v.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){Sa||!this.enabled||this.started||(this.started=!0,this._start().catch(t=>{Yd.error(t)}))}async _start(){let t=this.components.transportManager.getAddrs();for(let r of t){let{family:n,host:i,port:o,transport:s}=r.toOptions();if(!r.isThinWaistAddress()||s!=="tcp"||cx(r)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),u=Xa(c);if(u===!0)throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);if(u==null)throw new Error(`${c} is not an IP address`);let l=aC();Yd(`opening uPnP connection from ${c}:${l} to ${i}:${o}`),await a.map({publicPort:l,localPort:o,localAddress:this.localAddress,protocol:s.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(Gw({family:4,address:c,port:l},s))}}async _getClient(){return this.client!=null?this.client:(this.client=await j2({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(Sa||this.client==null))try{await this.client.close(),this.client=void 0}catch(t){Yd.error(t)}}};var cC=P("libp2p:peer-record-updater"),qu=class{constructor(t){this.components=t,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then(async()=>{let t=new ne({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(vt("p2p").code))}),r=await Xt.seal(t,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(r)}).catch(t=>{cC.error("Could not update self peer record: %o",t)})}};var lx=R(gt(),1);var zu=class{constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw(0,lx.default)(new Error(tt.NOT_FOUND),v.ERR_NOT_FOUND)}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}};var Z={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};var At=P("libp2p:peer-store:address-book"),$u="change:multiaddrs";async function uC(){return!0}var Hu=class{constructor(t,r,n){this.dispatchEvent=t,this.store=r,this.addressFilter=n??uC}async consumePeerRecord(t){At.trace("consumePeerRecord await write lock");let r=await this.store.lock.writeLock();At.trace("consumePeerRecord got write lock");let n,i,o;try{let s;try{s=ne.createFromProtobuf(t.payload)}catch{return At.error("invalid peer record received"),!1}n=s.peerId;let a=s.multiaddrs;if(!n.equals(t.peerId))return At("signing key does not match PeerId in the PeerRecord"),!1;if(a==null||a.length===0)return!1;if(await this.store.has(n)&&(i=await this.store.load(n),i.peerRecordEnvelope!=null)){let u=await Xt.createFromProtobuf(i.peerRecordEnvelope),l=ne.createFromProtobuf(u.payload);if(l.seqNumber>=s.seqNumber)return At("sequence number was lower or equal to existing sequence number - stored: %d received: %d",l.seqNumber,s.seqNumber),!1}let c=await Xd(n,a,this.addressFilter,!0);o=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:t.marshal().subarray()}),At("stored provided peer record for %p",s.peerId)}finally{At.trace("consumePeerRecord release write lock"),r()}return this.dispatchEvent(new G($u,{detail:{peerId:n,multiaddrs:o.addresses.map(({multiaddr:s})=>s),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:s})=>s)}})),!0}async getRawEnvelope(t){At.trace("getRawEnvelope await read lock");let r=await this.store.lock.readLock();At.trace("getRawEnvelope got read lock");try{return(await this.store.load(t)).peerRecordEnvelope}catch(n){if(n.code!==Z.ERR_NOT_FOUND)throw n}finally{At.trace("getRawEnvelope release read lock"),r()}}async getPeerRecord(t){let r=await this.getRawEnvelope(t);if(r!=null)return await Xt.createFromProtobuf(r)}async get(t){t=Qt(t),At.trace("get wait for read lock");let r=await this.store.lock.readLock();At.trace("get got read lock");try{return(await this.store.load(t)).addresses}catch(n){if(n.code!==Z.ERR_NOT_FOUND)throw n}finally{At.trace("get release read lock"),r()}return[]}async set(t,r){if(t=Qt(t),!Array.isArray(r))throw At.error("multiaddrs must be an array of Multiaddrs"),new H("multiaddrs must be an array of Multiaddrs",Z.ERR_INVALID_PARAMETERS);At.trace("set await write lock");let n=await this.store.lock.writeLock();At.trace("set got write lock");let i=!1,o,s;try{let a=await Xd(t,r,this.addressFilter);if(a.length===0)return;try{if(o=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...o.addresses.map(({multiaddr:c})=>c.toString())]).size===o.addresses.length&&a.length===o.addresses.length)return}catch(c){if(c.code!==Z.ERR_NOT_FOUND)throw c}s=await this.store.patchOrCreate(t,{addresses:a}),At("set multiaddrs for %p",t)}finally{At.trace("set multiaddrs for %p",t),At("set release write lock"),n()}this.dispatchEvent(new G($u,{detail:{peerId:t,multiaddrs:s.addresses.map(a=>a.multiaddr),oldMultiaddrs:o==null?[]:o.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new G("peer",{detail:{id:t,multiaddrs:s.addresses.map(a=>a.multiaddr),protocols:s.protocols}}))}async add(t,r){if(t=Qt(t),!Array.isArray(r))throw At.error("multiaddrs must be an array of Multiaddrs"),new H("multiaddrs must be an array of Multiaddrs",Z.ERR_INVALID_PARAMETERS);At.trace("add await write lock");let n=await this.store.lock.writeLock();At.trace("add got write lock");let i,o,s;try{let a=await Xd(t,r,this.addressFilter);if(a.length===0)return;try{if(o=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...o.addresses.map(({multiaddr:c})=>c.toString())]).size===o.addresses.length)return}catch(c){if(c.code!==Z.ERR_NOT_FOUND)throw c}s=await this.store.mergeOrCreate(t,{addresses:a}),At("added multiaddrs for %p",t)}finally{At.trace("set release write lock"),n()}this.dispatchEvent(new G($u,{detail:{peerId:t,multiaddrs:s.addresses.map(a=>a.multiaddr),oldMultiaddrs:o==null?[]:o.addresses.map(({multiaddr:a})=>a)}})),i===!0&&this.dispatchEvent(new G("peer",{detail:{id:t,multiaddrs:s.addresses.map(a=>a.multiaddr),protocols:s.protocols}}))}async delete(t){t=Qt(t),At.trace("delete await write lock");let r=await this.store.lock.writeLock();At.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Z.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{addresses:[]})}finally{At.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new G($u,{detail:{peerId:t,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function Xd(e,t,r,n=!1){let i=[];return await Promise.all(t.map(async o=>{if(!Ke(o))throw At.error("multiaddr must be an instance of Multiaddr"),new H("multiaddr must be an instance of Multiaddr",Z.ERR_INVALID_PARAMETERS);await r(e,o)&&i.push({multiaddr:o,isCertified:n})})),i}var Yr=P("libp2p:peer-store:key-book"),fx="change:pubkey",Gu=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async set(t,r){if(t=Qt(t),!(r instanceof Uint8Array))throw Yr.error("publicKey must be an instance of Uint8Array to store data"),new H("publicKey must be an instance of PublicKey",Z.ERR_INVALID_PARAMETERS);Yr.trace("set await write lock");let n=await this.store.lock.writeLock();Yr.trace("set got write lock");let i=!1,o;try{try{if(o=await this.store.load(t),o.pubKey!=null&&Rt(o.pubKey,r))return}catch(s){if(s.code!==Z.ERR_NOT_FOUND)throw s}await this.store.patchOrCreate(t,{pubKey:r}),i=!0}finally{Yr.trace("set release write lock"),n()}i&&this.dispatchEvent(new G(fx,{detail:{peerId:t,publicKey:r,oldPublicKey:o?.pubKey}}))}async get(t){t=Qt(t),Yr.trace("get await write lock");let r=await this.store.lock.readLock();Yr.trace("get got write lock");try{return(await this.store.load(t)).pubKey}catch(n){if(n.code!==Z.ERR_NOT_FOUND)throw n}finally{Yr("get release write lock"),r()}}async delete(t){t=Qt(t),Yr.trace("delete await write lock");let r=await this.store.lock.writeLock();Yr.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Z.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{pubKey:void 0})}catch(i){if(i.code!==Z.ERR_NOT_FOUND)throw i}finally{Yr.trace("delete release write lock"),r()}this.dispatchEvent(new G(fx,{detail:{peerId:t,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var ce=P("libp2p:peer-store:metadata-book"),Wu="change:metadata",Yu=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async get(t){t=Qt(t),ce.trace("get await read lock");let r=await this.store.lock.readLock();ce.trace("get got read lock");try{return(await this.store.load(t)).metadata}catch(n){if(n.code!==Z.ERR_NOT_FOUND)throw n}finally{ce.trace("get release read lock"),r()}return new Map}async getValue(t,r){t=Qt(t),ce.trace("getValue await read lock");let n=await this.store.lock.readLock();ce.trace("getValue got read lock");try{return(await this.store.load(t)).metadata.get(r)}catch(i){if(i.code!==Z.ERR_NOT_FOUND)throw i}finally{ce.trace("getValue release write lock"),n()}}async set(t,r){if(t=Qt(t),!(r instanceof Map))throw ce.error("valid metadata must be provided to store data"),new H("valid metadata must be provided",Z.ERR_INVALID_PARAMETERS);ce.trace("set await write lock");let n=await this.store.lock.writeLock();ce.trace("set got write lock");let i;try{try{i=await this.store.load(t)}catch(o){if(o.code!==Z.ERR_NOT_FOUND)throw o}await this.store.mergeOrCreate(t,{metadata:r})}finally{ce.trace("set release write lock"),n()}this.dispatchEvent(new G(Wu,{detail:{peerId:t,metadata:r,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(t,r,n){if(t=Qt(t),typeof r!="string"||!(n instanceof Uint8Array))throw ce.error("valid key and value must be provided to store data"),new H("valid key and value must be provided",Z.ERR_INVALID_PARAMETERS);ce.trace("setValue await write lock");let i=await this.store.lock.writeLock();ce.trace("setValue got write lock");let o,s;try{try{o=await this.store.load(t);let a=o.metadata.get(r);if(a!=null&&Rt(n,a))return}catch(a){if(a.code!==Z.ERR_NOT_FOUND)throw a}s=await this.store.mergeOrCreate(t,{metadata:new Map([[r,n]])})}finally{ce.trace("setValue release write lock"),i()}this.dispatchEvent(new G(Wu,{detail:{peerId:t,metadata:s.metadata,oldMetadata:o==null?new Map:o.metadata}}))}async delete(t){t=Qt(t),ce.trace("delete await write lock");let r=await this.store.lock.writeLock();ce.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Z.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(t,{metadata:new Map})}finally{ce.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new G(Wu,{detail:{peerId:t,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(t,r){t=Qt(t),ce.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();ce.trace("deleteValue got write lock");let i,o;try{o=await this.store.load(t),i=o.metadata,i.delete(r),await this.store.patch(t,{metadata:i})}catch(s){if(s.code!==Z.ERR_NOT_FOUND)throw s}finally{ce.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new G(Wu,{detail:{peerId:t,metadata:i,oldMetadata:o==null?new Map:o.metadata}}))}};var ue=P("libp2p:peer-store:proto-book"),Qu="change:protocols",Xu=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async get(t){ue.trace("get wait for read lock");let r=await this.store.lock.readLock();ue.trace("get got read lock");try{return(await this.store.load(t)).protocols}catch(n){if(n.code!==Z.ERR_NOT_FOUND)throw n}finally{ue.trace("get release read lock"),r()}return[]}async set(t,r){if(t=Qt(t),!Array.isArray(r))throw ue.error("protocols must be provided to store data"),new H("protocols must be provided",Z.ERR_INVALID_PARAMETERS);ue.trace("set await write lock");let n=await this.store.lock.writeLock();ue.trace("set got write lock");let i,o;try{try{if(i=await this.store.load(t),new Set([...r]).size===i.protocols.length)return}catch(s){if(s.code!==Z.ERR_NOT_FOUND)throw s}o=await this.store.patchOrCreate(t,{protocols:r}),ue("stored provided protocols for %p",t)}finally{ue.trace("set release write lock"),n()}this.dispatchEvent(new G(Qu,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(t,r){if(t=Qt(t),!Array.isArray(r))throw ue.error("protocols must be provided to store data"),new H("protocols must be provided",Z.ERR_INVALID_PARAMETERS);ue.trace("add await write lock");let n=await this.store.lock.writeLock();ue.trace("add got write lock");let i,o;try{try{if(i=await this.store.load(t),new Set([...i.protocols,...r]).size===i.protocols.length)return}catch(s){if(s.code!==Z.ERR_NOT_FOUND)throw s}o=await this.store.mergeOrCreate(t,{protocols:r}),ue("added provided protocols for %p",t)}finally{ue.trace("add release write lock"),n()}this.dispatchEvent(new G(Qu,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(t,r){if(t=Qt(t),!Array.isArray(r))throw ue.error("protocols must be provided to store data"),new H("protocols must be provided",Z.ERR_INVALID_PARAMETERS);ue.trace("remove await write lock");let n=await this.store.lock.writeLock();ue.trace("remove got write lock");let i,o;try{try{i=await this.store.load(t);let s=new Set(i.protocols);for(let a of r)s.delete(a);if(i.protocols.length===s.size)return;r=Array.from(s)}catch(s){if(s.code!==Z.ERR_NOT_FOUND)throw s}o=await this.store.patchOrCreate(t,{protocols:r})}finally{ue.trace("remove release write lock"),n()}this.dispatchEvent(new G(Qu,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(t){t=Qt(t),ue.trace("delete await write lock");let r=await this.store.lock.writeLock();ue.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Z.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{protocols:[]})}finally{ue.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new G(Qu,{detail:{peerId:t,protocols:[],oldProtocols:n.protocols}}))}};var Aa;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.addresses!=null)for(let o of r.addresses)n.uint32(10),Zu.codec().encode(o,n);if(r.protocols!=null)for(let o of r.protocols)n.uint32(18),n.string(o);if(r.metadata!=null)for(let o of r.metadata)n.uint32(26),ju.codec().encode(o,n);r.pubKey!=null&&(n.uint32(34),n.bytes(r.pubKey)),r.peerRecordEnvelope!=null&&(n.uint32(42),n.bytes(r.peerRecordEnvelope)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={addresses:[],protocols:[],metadata:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.addresses.push(Zu.codec().decode(r,r.uint32()));break;case 2:i.protocols.push(r.string());break;case 3:i.metadata.push(ju.codec().decode(r,r.uint32()));break;case 4:i.pubKey=r.bytes();break;case 5:i.peerRecordEnvelope=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(Aa||(Aa={}));var Zu;(function(e){let t;e.codec=()=>(t==null&&(t=se((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})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(Zu||(Zu={}));var ju;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key!==""&&(n.uint32(10),n.string(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:"",value: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.key=r.string();break;case 2:i.value=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(ju||(ju={}));var vx=R(dx(),1);var Ia=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},jd=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},px=e=>globalThis.DOMException===void 0?new jd(e):new DOMException(e),mx=e=>{let t=e.reason===void 0?px("This operation was aborted."):e.reason;return t instanceof Error?t:px(t)};function Jd(e,t,r,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(mx(c)),c.addEventListener("abort",()=>{a(mx(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 ${t} milliseconds`,u=r instanceof Error?r:new Ia(c);typeof e.cancel=="function"&&e.cancel(),a(u)},t),(async()=>{try{s(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function t0(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var to=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},vn,Ta=class{constructor(){vn.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&to(this,vn,"f")[this.size-1].priority>=r.priority){to(this,vn,"f").push(n);return}let i=t0(to(this,vn,"f"),n,(o,s)=>s.priority-o.priority);to(this,vn,"f").splice(i,0,n)}dequeue(){let t=to(this,vn,"f").shift();return t?.run}filter(t){return to(this,vn,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return to(this,vn,"f").length}};vn=new WeakMap;var Ft=function(e,t,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 t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},k=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},jt,Ba,La,ii,ol,Da,tl,Ar,Ca,He,el,Ge,Na,ni,rl,yx,gx,xx,wx,Ex,nl,e0,r0,sl,bx,il,al=class extends Error{},os=class extends vx.default{constructor(t){var r,n,i,o;if(super(),jt.add(this),Ba.set(this,void 0),La.set(this,void 0),ii.set(this,0),ol.set(this,void 0),Da.set(this,void 0),tl.set(this,0),Ar.set(this,void 0),Ca.set(this,void 0),He.set(this,void 0),el.set(this,void 0),Ge.set(this,0),Na.set(this,void 0),ni.set(this,void 0),rl.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Ta,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);Ft(this,Ba,t.carryoverConcurrencyCount,"f"),Ft(this,La,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Ft(this,ol,t.intervalCap,"f"),Ft(this,Da,t.interval,"f"),Ft(this,He,new t.queueClass,"f"),Ft(this,el,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Ft(this,rl,t.throwOnTimeout===!0,"f"),Ft(this,ni,t.autoStart===!1,"f")}get concurrency(){return k(this,Na,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);Ft(this,Na,t,"f"),k(this,jt,"m",sl).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,rl,"f"),...r},new Promise((n,i)=>{k(this,He,"f").enqueue(async()=>{var o,s,a;Ft(this,Ge,(s=k(this,Ge,"f"),s++,s),"f"),Ft(this,ii,(a=k(this,ii,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new al("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=Jd(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,jt,"m",bx).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Ia&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,jt,"m",xx).call(this)}},r),this.emit("add"),k(this,jt,"m",nl).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,ni,"f")?(Ft(this,ni,!1,"f"),k(this,jt,"m",sl).call(this),this):this}pause(){Ft(this,ni,!0,"f")}clear(){Ft(this,He,new(k(this,el,"f")),"f")}async onEmpty(){k(this,He,"f").size!==0&&await k(this,jt,"m",il).call(this,"empty")}async onSizeLessThan(t){k(this,He,"f").size<t||await k(this,jt,"m",il).call(this,"next",()=>k(this,He,"f").size<t)}async onIdle(){k(this,Ge,"f")===0&&k(this,He,"f").size===0||await k(this,jt,"m",il).call(this,"idle")}get size(){return k(this,He,"f").size}sizeBy(t){return k(this,He,"f").filter(t).length}get pending(){return k(this,Ge,"f")}get isPaused(){return k(this,ni,"f")}};Ba=new WeakMap,La=new WeakMap,ii=new WeakMap,ol=new WeakMap,Da=new WeakMap,tl=new WeakMap,Ar=new WeakMap,Ca=new WeakMap,He=new WeakMap,el=new WeakMap,Ge=new WeakMap,Na=new WeakMap,ni=new WeakMap,rl=new WeakMap,jt=new WeakSet,yx=function(){return k(this,La,"f")||k(this,ii,"f")<k(this,ol,"f")},gx=function(){return k(this,Ge,"f")<k(this,Na,"f")},xx=function(){var t;Ft(this,Ge,(t=k(this,Ge,"f"),t--,t),"f"),k(this,jt,"m",nl).call(this),this.emit("next")},wx=function(){k(this,jt,"m",r0).call(this),k(this,jt,"m",e0).call(this),Ft(this,Ca,void 0,"f")},Ex=function(){let t=Date.now();if(k(this,Ar,"f")===void 0){let r=k(this,tl,"f")-t;if(r<0)Ft(this,ii,k(this,Ba,"f")?k(this,Ge,"f"):0,"f");else return k(this,Ca,"f")===void 0&&Ft(this,Ca,setTimeout(()=>{k(this,jt,"m",wx).call(this)},r),"f"),!0}return!1},nl=function(){if(k(this,He,"f").size===0)return k(this,Ar,"f")&&clearInterval(k(this,Ar,"f")),Ft(this,Ar,void 0,"f"),this.emit("empty"),k(this,Ge,"f")===0&&this.emit("idle"),!1;if(!k(this,ni,"f")){let t=!k(this,jt,"a",Ex);if(k(this,jt,"a",yx)&&k(this,jt,"a",gx)){let r=k(this,He,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,jt,"m",e0).call(this),!0):!1}}return!1},e0=function(){k(this,La,"f")||k(this,Ar,"f")!==void 0||(Ft(this,Ar,setInterval(()=>{k(this,jt,"m",r0).call(this)},k(this,Da,"f")),"f"),Ft(this,tl,Date.now()+k(this,Da,"f"),"f"))},r0=function(){k(this,ii,"f")===0&&k(this,Ge,"f")===0&&k(this,Ar,"f")&&(clearInterval(k(this,Ar,"f")),Ft(this,Ar,void 0,"f")),Ft(this,ii,k(this,Ba,"f")?k(this,Ge,"f"):0,"f"),k(this,jt,"m",sl).call(this)},sl=function(){for(;k(this,jt,"m",nl).call(this););},bx=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new al("The task was aborted."))},{once:!0})})},il=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var n0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},i0=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},_x=e=>globalThis.DOMException===void 0?new i0(e):new DOMException(e),Sx=e=>{let t=e.reason===void 0?_x("This operation was aborted."):e.reason;return t instanceof Error?t:_x(t)};function o0(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,a=new Promise((c,u)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(r===Number.POSITIVE_INFINITY){c(e);return}if(t.signal){let{signal:f}=t;f.aborted&&u(Sx(f)),f.addEventListener("abort",()=>{u(Sx(f))})}let l=new n0;s=o.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){u(f)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${r} milliseconds`,u(l))},r),(async()=>{try{c(await e)}catch(f){u(f)}finally{o.clearTimeout.call(void 0,s)}})()});return a.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},a}var s0="lock:worker:request-read",a0="lock:worker:release-read",c0="lock:master:grant-read",u0="lock:worker:request-write",l0="lock:worker:release-write",f0="lock:master:grant-write";var oi={},ss=e=>{e.addEventListener("message",t=>{ss.dispatchEvent("message",e,t)}),e.port!=null&&e.port.addEventListener("message",t=>{ss.dispatchEvent("message",e,t)})};ss.addEventListener=(e,t)=>{oi[e]==null&&(oi[e]=[]),oi[e].push(t)};ss.removeEventListener=(e,t)=>{oi[e]!=null&&(oi[e]=oi[e].filter(r=>r===t))};ss.dispatchEvent=function(e,t,r){oi[e]!=null&&oi[e].forEach(n=>n(t,r))};var h0=ss;var Ax=(e,t,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};e.dispatchEvent(new MessageEvent(t,{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)}))}}))},Rx=(e,t,r,n)=>async()=>{let i=iu();return globalThis.postMessage({type:t,identifier:i,name:e}),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:e})}))};globalThis.addEventListener("message",s)})},hC={singleProcess:!1},Ix=e=>{if(e=Object.assign({},hC,e),Boolean(globalThis.document)||e.singleProcess){let r=new EventTarget;return h0.addEventListener("message",Ax(r,"requestReadLock",s0,a0,c0)),h0.addEventListener("message",Ax(r,"requestWriteLock",u0,l0,f0)),r}return{isWorker:!0,readLock:r=>Rx(r,s0,c0,a0),writeLock:r=>Rx(r,u0,f0,l0)}};var eo={},si;async function d0(e,t){let r,n=new Promise(i=>{r=i});return e.add(async()=>await o0((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var dC=(e,t)=>{if(si.isWorker===!0)return{readLock:si.readLock(e,t),writeLock:si.writeLock(e,t)};let r=new os({concurrency:1}),n;return{async readLock(){if(n!=null)return await d0(n,t);n=new os({concurrency:t.concurrency,autoStart:!1});let i=n,o=d0(n,t);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await d0(r,t)}}},pC={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function p0(e){let t=Object.assign({},pC,e);return si==null&&(si=Ix(t),si.isWorker!==!0&&(si.addEventListener("requestReadLock",r=>{eo[r.data.name]!=null&&eo[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),si.addEventListener("requestWriteLock",async r=>{eo[r.data.name]!=null&&eo[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),eo[t.name]==null&&(eo[t.name]=dC(t.name,t)),eo[t.name]}var Tx=P("libp2p:peer-store:store"),Cx="/peers/",cl=class{constructor(t){this.components=t,this.lock=p0({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(t){if(t.type==null)throw Tx.error("peerId must be an instance of peer-id to store data"),new H("peerId must be an instance of peer-id",Z.ERR_INVALID_PARAMETERS);let r=t.toCID().toString();return new zt(`${Cx}${r}`)}async has(t){return await this.components.datastore.has(this._peerIdToDatastoreKey(t))}async delete(t){await this.components.datastore.delete(this._peerIdToDatastoreKey(t))}async load(t){let r=await this.components.datastore.get(this._peerIdToDatastoreKey(t)),n=Aa.decode(r),i=new Map;for(let o of n.metadata)i.set(o.key,o.value);return{...n,id:t,addresses:n.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:J(o),isCertified:s??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(t){if(t.pubKey!=null&&t.id.publicKey!=null&&!Rt(t.pubKey,t.id.publicKey))throw Tx.error("peer publicKey bytes do not match peer id publicKey bytes"),new H("publicKey bytes do not match peer id publicKey bytes",Z.ERR_INVALID_PARAMETERS);let r=new Set,n=t.addresses.filter(s=>r.has(s.multiaddr.toString())?!1:(r.add(s.multiaddr.toString()),!0)).sort((s,a)=>s.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:s,isCertified:a})=>({multiaddr:s.bytes,isCertified:a})),i=[];[...t.metadata.keys()].sort().forEach(s=>{let a=t.metadata.get(s);a!=null&&i.push({key:s,value:a})});let o=Aa.encode({addresses:n,protocols:t.protocols.sort(),pubKey:t.pubKey,metadata:i,peerRecordEnvelope:t.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(t.id),o.subarray()),await this.load(t.id)}async patch(t,r){let n=await this.load(t);return await this._patch(t,r,n)}async patchOrCreate(t,r){let n;try{n=await this.load(t)}catch(i){if(i.code!==Z.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._patch(t,r,n)}async _patch(t,r,n){return await this.save({...n,...r,id:t})}async merge(t,r){let n=await this.load(t);return await this._merge(t,r,n)}async mergeOrCreate(t,r){let n;try{n=await this.load(t)}catch(i){if(i.code!==Z.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._merge(t,r,n)}async _merge(t,r,n){let i=new Map;return n.addresses.forEach(o=>{i.set(o.multiaddr.toString(),o.isCertified)}),(r.addresses??[]).forEach(o=>{let s=o.multiaddr.toString(),c=Boolean(i.get(s))||o.isCertified;i.set(s,c)}),await this.save({id:t,addresses:Array.from(i.entries()).map(([o,s])=>({multiaddr:J(o),isCertified:s})),protocols:Array.from(new Set([...n.protocols??[],...r.protocols??[]])),metadata:new Map([...n.metadata?.entries()??[],...r.metadata?.entries()??[]]),pubKey:r.pubKey??n?.pubKey,peerRecordEnvelope:r.peerRecordEnvelope??n?.peerRecordEnvelope})}async*all(){for await(let t of this.components.datastore.queryKeys({prefix:Cx})){let r=t.toString().split("/")[2],n=Oe.decode(r);yield this.load(Hn(n))}}};var _n;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.tags!=null)for(let o of r.tags)n.uint32(10),ul.codec().encode(o,n);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={tags:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.tags.push(ul.codec().decode(r,r.uint32()));break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(_n||(_n={}));var ul;(function(e){let t;e.codec=()=>(t==null&&(t=se((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.name!=null&&r.name!==""&&(n.uint32(10),n.string(r.name)),r.value!=null&&(n.uint32(16),n.uint32(r.value)),r.expiry!=null&&(n.uint32(24),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={name:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.name=r.string();break;case 2:i.value=r.uint32();break;case 3:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>oe(r,e.codec()),e.decode=r=>ie(r,e.codec())})(ul||(ul={}));var sr=P("libp2p:peer-store"),ll=class extends Bt{constructor(t,r={}){super(),this.components=t,this.store=new cl(t),this.addressBook=new Hu(this.dispatchEvent.bind(this),this.store,r.addressFilter),this.keyBook=new Gu(this.dispatchEvent.bind(this),this.store),this.metadataBook=new Yu(this.dispatchEvent.bind(this),this.store),this.protoBook=new Xu(this.dispatchEvent.bind(this),this.store)}async forEach(t){sr.trace("getPeers await read lock");let r=await this.store.lock.readLock();sr.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||t(n)}finally{sr.trace("getPeers release read lock"),r()}}async all(){let t=[];return await this.forEach(r=>{t.push(r)}),t}async delete(t){sr.trace("delete await write lock");let r=await this.store.lock.writeLock();sr.trace("delete got write lock");try{await this.store.delete(t)}finally{sr.trace("delete release write lock"),r()}}async get(t){sr.trace("get await read lock");let r=await this.store.lock.readLock();sr.trace("get got read lock");try{return await this.store.load(t)}finally{sr.trace("get release read lock"),r()}}async has(t){sr.trace("has await read lock");let r=await this.store.lock.readLock();sr.trace("has got read lock");try{return await this.store.has(t)}finally{sr.trace("has release read lock"),r()}}async tagPeer(t,r,n={}){let i=n.value??0,o=Math.round(i),s=n.ttl??void 0;if(o!==i||o<0||o>100)throw new H("Tag value must be between 0-100","ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(t,"tags"),c=[];a!=null&&(c=_n.decode(a).tags),c=c.filter(u=>u.name!==r),c.push({name:r,value:o,expiry:s==null?void 0:BigInt(Date.now()+s)}),await this.metadataBook.setValue(t,"tags",_n.encode({tags:c}).subarray())}async unTagPeer(t,r){let n=await this.metadataBook.getValue(t,"tags"),i=[];n!=null&&(i=_n.decode(n).tags),i=i.filter(o=>o.name!==r),await this.metadataBook.setValue(t,"tags",_n.encode({tags:i}).subarray())}async getTags(t){let r=await this.metadataBook.getValue(t,"tags"),n=[];r!=null&&(n=_n.decode(r).tags);let i=BigInt(Date.now()),o=n.filter(s=>s.expiry==null||s.expiry>i);return o.length!==n.length&&await this.metadataBook.setValue(t,"tags",_n.encode({tags:o}).subarray()),o.map(s=>({name:s.name,value:s.value??0}))}};var Bx=R(gt(),1),fl=class{constructor(t){this.dht=t}async provide(t){await vr(this.dht.provide(t))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await vr(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw(0,Bx.default)(new Error("Not found"),"ERR_NOT_FOUND")}};var We=R(gt(),1);var hl=class{constructor(t={}){this._started=!1,this._peerId=t.peerId,this._addressManager=t.addressManager,this._peerStore=t.peerStore,this._upgrader=t.upgrader,this._metrics=t.metrics,this._registrar=t.registrar,this._connectionManager=t.connectionManager,this._transportManager=t.transportManager,this._connectionGater=t.connectionGater,this._contentRouting=t.contentRouting,this._peerRouting=t.peerRouting,this._datastore=t.datastore,this._connectionProtector=t.connectionProtector,this._dht=t.dht,this._pubsub=t.pubsub,this._dialer=t.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(t=>yn(t)).map(async t=>{t.beforeStart!=null&&await t.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(t=>yn(t)).map(async t=>{await t.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(t=>yn(t)).map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(t=>yn(t)).map(async t=>{t.beforeStop!=null&&await t.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(t=>yn(t)).map(async t=>{await t.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(t=>yn(t)).map(async t=>{t.afterStop!=null&&await t.afterStop()}))}get peerId(){if(this._peerId==null)throw(0,We.default)(new Error("peerId not set"),"ERR_SERVICE_MISSING");return this._peerId}set peerId(t){this._peerId=t}get addressManager(){if(this._addressManager==null)throw(0,We.default)(new Error("addressManager not set"),"ERR_SERVICE_MISSING");return this._addressManager}set addressManager(t){this._addressManager=t}get peerStore(){if(this._peerStore==null)throw(0,We.default)(new Error("peerStore not set"),"ERR_SERVICE_MISSING");return this._peerStore}set peerStore(t){this._peerStore=t}get upgrader(){if(this._upgrader==null)throw(0,We.default)(new Error("upgrader not set"),"ERR_SERVICE_MISSING");return this._upgrader}set upgrader(t){this._upgrader=t}get registrar(){if(this._registrar==null)throw(0,We.default)(new Error("registrar not set"),"ERR_SERVICE_MISSING");return this._registrar}set registrar(t){this._registrar=t}get connectionManager(){if(this._connectionManager==null)throw(0,We.default)(new Error("connectionManager not set"),"ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(t){this._connectionManager=t}get transportManager(){if(this._transportManager==null)throw(0,We.default)(new Error("transportManager not set"),"ERR_SERVICE_MISSING");return this._transportManager}set transportManager(t){this._transportManager=t}get connectionGater(){if(this._connectionGater==null)throw(0,We.default)(new Error("connectionGater not set"),"ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(t){this._connectionGater=t}get contentRouting(){if(this._contentRouting==null)throw(0,We.default)(new Error("contentRouting not set"),"ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(t){this._contentRouting=t}get peerRouting(){if(this._peerRouting==null)throw(0,We.default)(new Error("peerRouting not set"),"ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(t){this._peerRouting=t}get datastore(){if(this._datastore==null)throw(0,We.default)(new Error("datastore not set"),"ERR_SERVICE_MISSING");return this._datastore}set datastore(t){this._datastore=t}get connectionProtector(){return this._connectionProtector}set connectionProtector(t){this._connectionProtector=t}get dialer(){if(this._dialer==null)throw(0,We.default)(new Error("dialer not set"),"ERR_SERVICE_MISSING");return this._dialer}set dialer(t){this._dialer=t}get metrics(){return this._metrics}set metrics(t){this._metrics=t}get dht(){return this._dht}set dht(t){this._dht=t}get pubsub(){return this._pubsub}set pubsub(t){this._pubsub=t}};var y0=R(Rl(),1),g0=R(Nx(),1);var Px=globalThis.fetch,kx=globalThis.Headers,g9=globalThis.Request,w9=globalThis.Response;function dl(e,t,r){return`${e}?name=${t}&type=${r}`}async function Ox(e,t){return await(await Px(e,{headers:new kx({accept:"application/dns-json"}),signal:t})).json()}function ro(e,t){return`${t}_${e}`}var m0=Object.assign((0,y0.default)("dns-over-http-resolver"),{error:(0,y0.default)("dns-over-http-resolver:error")}),w0=class{constructor(t={}){this._cache=new g0.default({max:t?.maxCache??100}),this._TXTcache=new g0.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??Ox,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>t.abort())}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let r=t.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=t[r];t[r]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,r="A"){switch(r){case"A":return await this.resolve4(t);case"AAAA":return await this.resolve6(t);case"TXT":return await this.resolveTxt(t);default:throw new Error(`${r} is not supported`)}}async resolve4(t){let r="A",n=this._cache.get(ro(t,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(dl(o,t,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(ro(t,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),m0.error(`${o} could not resolve ${t} 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 ${t} record ${r}`)}async resolve6(t){let r="AAAA",n=this._cache.get(ro(t,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(dl(o,t,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(ro(t,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),m0.error(`${o} could not resolve ${t} 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 ${t} record ${r}`)}async resolveTxt(t){let r="TXT",n=this._TXTcache.get(ro(t,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(dl(o,t,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(ro(t,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),m0.error(`${o} could not resolve ${t} 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 ${t} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Mx=w0;var Ux=Mx;var{code:EC}=vt("dnsaddr");async function Fx(e,t={}){let r=new Ux;t.signal!=null&&t.signal.addEventListener("abort",()=>{r.cancel()});let n=e.getPeerId(),[,i]=e.stringTuples().find(([a])=>a===EC)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var pl=R(gt(),1);var SC={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:e=>e},connectionManager:{maxConnections:300,minConnections:50,autoDial:!0,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:Fx},addressSorter:wo},connectionGater:{},transportManager:{faultTolerance:ei.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},relay:{enabled:!0,advertise:{bootDelay:9e5,enabled:!1,ttl:18e5},hop:{enabled:!1,timeout:3e4},reservationManager:{enabled:!1,maxReservations:2}},identify:{protocolPrefix:"ipfs",host:{agentVersion:Gd},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1},ping:{protocolPrefix:"ipfs",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4}};function Kx(e){let t=rr(SC,e);if(t.transports==null||t.transports.length<1)throw(0,pl.default)(new Error(tt.ERR_TRANSPORTS_REQUIRED),v.ERR_TRANSPORTS_REQUIRED);if(t.connectionEncryption==null||t.connectionEncryption.length===0)throw(0,pl.default)(new Error(tt.CONN_ENCRYPTION_REQUIRED),v.CONN_ENCRYPTION_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw(0,pl.default)(new Error(tt.ERR_PROTECTOR_REQUIRED),v.ERR_PROTECTOR_REQUIRED);return t.identify.host.agentVersion===Gd&&(ix||rx?t.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(Sa||ox||nx||sx)&&(t.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),t}var N0=R(A0(),1),ab=R(Jx(),1),P0=R(D0(),1),cb=R(sb(),1),ub=R(io(),1);function LC(){ub.default._configure(),N0.default._configure(ab.default),P0.default._configure(cb.default)}LC();var lb=["uint64","int64","sint64","fixed64","sfixed64"];function DC(e){for(let t of lb){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function k0(e){return DC(new N0.default(e))}function NC(e){for(let t of lb){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function O0(){return NC(P0.default.create())}function M0(e,t){let r=k0(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function U0(e,t){let r=O0();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Oa;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Oa||(Oa={}));function F0(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function K0(e,t){return F0("message",Oa.LENGTH_DELIMITED,e,t)}var V0;(function(e){let t;e.codec=()=>(t==null&&(t=K0((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||r.id!=null&&r.id.byteLength>0)&&(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={id: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.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})),t),e.encode=r=>U0(r,e.codec()),e.decode=r=>M0(r,e.codec())})(V0||(V0={}));var fb=async()=>{let e=await Fc("Ed25519"),t=await PC(e);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function PC(e){return await Gn(zg(e.public),$g(e))}var Ua=R(gt(),1);var cr=R(gt(),1);var hb=Symbol.for("@libp2p/peer-discovery");var gl=class extends Bt{get[hb](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}get lan(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}get(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}findProviders(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}findPeer(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}getClosestPeers(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}provide(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}put(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}async getMode(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}async setMode(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}async refreshRoutingTable(){throw(0,cr.default)(new Error(tt.DHT_DISABLED),v.DHT_DISABLED)}};var Sn=R(gt(),1);var wl=class extends Bt{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw(0,Sn.default)(new Error(tt.PUBSUB_DISABLED),v.ERR_PUBSUB_DISABLED)}get multicodecs(){throw(0,Sn.default)(new Error(tt.PUBSUB_DISABLED),v.ERR_PUBSUB_DISABLED)}getPeers(){throw(0,Sn.default)(new Error(tt.PUBSUB_DISABLED),v.ERR_PUBSUB_DISABLED)}getTopics(){throw(0,Sn.default)(new Error(tt.PUBSUB_DISABLED),v.ERR_PUBSUB_DISABLED)}subscribe(){throw(0,Sn.default)(new Error(tt.PUBSUB_DISABLED),v.ERR_PUBSUB_DISABLED)}unsubscribe(){throw(0,Sn.default)(new Error(tt.PUBSUB_DISABLED),v.ERR_PUBSUB_DISABLED)}getSubscribers(){throw(0,Sn.default)(new Error(tt.PUBSUB_DISABLED),v.ERR_PUBSUB_DISABLED)}async publish(){throw(0,Sn.default)(new Error(tt.PUBSUB_DISABLED),v.ERR_PUBSUB_DISABLED)}};var as=R(gt(),1);var Cb=R(Zn(),1),H0=R(z0(),1),Bb=R(wn(),1);var Ma=R(gt(),1),Rb=R(z0(),1),Ib=R(Sb(),1),$0=R(wn(),1);var Ab=P("libp2p:dialer:dial-request"),El=class{constructor(t){let{addrs:r,dialAction:n,dialer:i}=t;this.addrs=r,this.dialer=i,this.dialAction=n}async run(t={}){let r=this.dialer.getTokens(this.addrs.length);if(r.length<1)throw(0,Ma.default)(new Error("No dial tokens available"),v.ERR_NO_DIAL_TOKENS);let n=new Ib.default;for(let a of r)n.push(a).catch(c=>{Ab.error(c)});let i=this.addrs.map(()=>{let a=new AbortController;try{(0,$0.setMaxListeners)?.(1/0,a.signal)}catch{}return a});if(t.signal!=null)try{(0,$0.setMaxListeners)?.(1/0,t.signal)}catch{}let o=0,s=!1;try{return await Promise.any(this.addrs.map(async(a,c)=>{let u=await n.shift();if(s)throw this.dialer.releaseToken(r.splice(r.indexOf(u),1)[0]),(0,Ma.default)(new Error("dialAction already succeeded"),v.ERR_ALREADY_SUCCEEDED);let l=i[c];if(l==null)throw(0,Ma.default)(new Error("dialAction did not come with an AbortController"),v.ERR_INVALID_PARAMETERS);let f;try{let d=l.signal;f=await this.dialAction(a,{...t,signal:t.signal!=null?(0,Rb.anySignal)([d,t.signal]):d}),i[c]=void 0}finally{o++,this.addrs.length-o>=r.length?n.push(u).catch(d=>{Ab.error(d)}):this.dialer.releaseToken(r.splice(r.indexOf(u),1)[0])}if(f==null)throw(0,Ma.default)(new Error("dialAction led to empty object"),v.ERR_TRANSPORT_DIAL_FAILED);return s=!0,f}))}catch(a){throw this.addrs.length===1&&a.name==="AggregateError"?a.errors[0]:a}finally{i.forEach(a=>{a!==void 0&&a.abort()}),r.forEach(a=>this.dialer.releaseToken(a))}}};var Zr=P("libp2p:dialer"),xl=class{constructor(t,r={}){this.started=!1,this.addressSorter=r.addressSorter??wo,this.maxAddrsToDial=r.maxAddrsToDial??25,this.timeout=r.dialTimeout??3e4,this.maxDialsPerPeer=r.maxDialsPerPeer??4,this.tokens=[...new Array(r.maxParallelDials??100)].map((n,i)=>i),this.components=t,this.pendingDials=ma({name:"libp2p_dialler_pending_dials",metrics:t.metrics}),this.pendingDialTargets=ma({name:"libp2p_dialler_pending_dial_targets",metrics:t.metrics});for(let[n,i]of Object.entries(r.resolvers??{}))Vh.set(n,i)}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(let t of this.pendingDials.values())try{t.controller.abort()}catch(r){Zr.error(r)}this.pendingDials.clear();for(let t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(t,r={}){let{peerId:n,multiaddr:i}=_u(t);if(n!=null){if(this.components.peerId.equals(n))throw(0,as.default)(new Error("Tried to dial self"),v.ERR_DIALED_SELF);if(i!=null&&(Zr("storing multiaddrs %p",n,i),await this.components.peerStore.addressBook.add(n,[i])),await this.components.connectionGater.denyDialPeer(n))throw(0,as.default)(new Error("The dial request is blocked by gater.allowDialPeer"),v.ERR_PEER_DIAL_INTERCEPTED)}Zr("creating dial target for %p",n);let o=new AbortController,s=Tb();this.pendingDialTargets.set(s,o);let a=o.signal;r.signal!=null&&(a=(0,H0.anySignal)([a,r.signal]));let c;try{c=await this._createDialTarget({peerId:n,multiaddr:i},{...r,signal:a})}finally{this.pendingDialTargets.delete(s)}if(c.addrs.length===0)throw(0,as.default)(new Error("The dial request has no valid addresses"),v.ERR_NO_VALID_ADDRESSES);let u=this.pendingDials.get(c.id)??this._createPendingDial(c,r);try{let l=await u.promise;return Zr("dial succeeded to %s",c.id),l}catch(l){throw Zr("dial failed to %s",c.id,l),u.controller.signal.aborted&&(l.code=v.ERR_TIMEOUT),Zr.error(l),l}finally{u.destroy()}}getPendingDialTargets(){return this.pendingDialTargets}hasPendingDial(t){return Ke(t)?this.pendingDials.has(t.getPeerId()??""):this.pendingDials.has(t.toString())}async _createDialTarget(t,r){let n=[];if(Ke(t.multiaddr)&&n.push(t.multiaddr),!Ke(t.multiaddr)&&Pi(t.peerId)&&n.push(...await this._loadAddresses(t.peerId)),n=(await Promise.all(n.map(async o=>await this._resolve(o,r)))).flat().filter(o=>Boolean(this.components.transportManager.transportForMultiaddr(o))),n=[...new Set(n.map(o=>o.toString()))].map(o=>J(o)),n.length>this.maxAddrsToDial)throw(0,as.default)(new Error("dial with more addresses than allowed"),v.ERR_TOO_MANY_ADDRESSES);let i=Pi(t.peerId)?t.peerId:void 0;if(i!=null){let o=`/p2p/${i.toString()}`;n=n.map(s=>{let a=s.getPeerId();return a==null||!i.equals(a)?s.encapsulate(o):s})}return{id:i==null?Tb():i.toString(),addrs:n}}async _loadAddresses(t){let r=await this.components.peerStore.addressBook.get(t);return(await Promise.all(r.map(async n=>await this.components.connectionGater.denyDialMultiaddr(t,n.multiaddr)?!1:n))).filter(MC).sort(this.addressSorter).map(n=>n.multiaddr)}_createPendingDial(t,r={}){let n=async(u,l={})=>{if(l.signal?.aborted===!0)throw(0,as.default)(new Error("already aborted"),v.ERR_ALREADY_ABORTED);return await this.components.transportManager.dial(u,l).catch(f=>{throw Zr.error("dial to %s failed",u,f),f})},i=new El({addrs:t.addrs,dialAction:n,dialer:this}),o=new Cb.TimeoutController(this.timeout),s=[o.signal];r.signal!=null&&s.push(r.signal);let a=(0,H0.anySignal)(s);try{(0,Bb.setMaxListeners)?.(1/0,a)}catch{}let c={dialRequest:i,controller:o,promise:i.run({...r,signal:a}),destroy:()=>{o.clear(),this.pendingDials.delete(t.id)}};return this.pendingDials.set(t.id,c),c}getTokens(t){let r=Math.min(t,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,r);return Zr("%d tokens request, returning %d, %d remaining",t,r,this.tokens.length),n}releaseToken(t){this.tokens.includes(t)||(Zr("token %d released",t),this.tokens.push(t))}async _resolve(t,r){if(!t.protoNames().includes("dnsaddr"))return[t];let i=await this._resolveRecord(t,r);return(await Promise.all(i.map(async a=>await this._resolve(a,r)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[])}async _resolveRecord(t,r){try{return t=J(t.toString()),await t.resolve(r)}catch(n){return Zr.error(`multiaddr ${t.toString()} could not be resolved`,n),[]}}};function MC(e){return Boolean(e)}function Tb(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var jr=P("libp2p"),G0=class extends Bt{constructor(t){super(),this.started=!1,this.peerId=t.peerId;let r=this.components=new hl({peerId:t.peerId,datastore:t.datastore??new su,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...t.connectionGater}});r.peerStore=new ll(r,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore}),this.services=[r],t.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(t.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",s=>{let{detail:a}=s;this.dispatchEvent(new G("peer:discovery",{detail:a}))}),t.connectionProtector!=null&&(this.components.connectionProtector=t.connectionProtector(r)),this.components.upgrader=new Ou(this.components,{connectionEncryption:(t.connectionEncryption??[]).map(s=>this.configureComponent(s(this.components))),muxers:(t.streamMuxers??[]).map(s=>this.configureComponent(s(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new xl(this.components,t.connectionManager),this.connectionManager=this.components.connectionManager=new Ru(this.components,t.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",s=>{this.dispatchEvent(new G("peer:disconnect",{detail:s.detail}))}),this.components.connectionManager.addEventListener("peer:connect",s=>{this.dispatchEvent(new G("peer:connect",{detail:s.detail}))}),this.registrar=this.components.registrar=new ku(this.components),this.components.transportManager=new Nu(this.components,t.transportManager),this.components.addressManager=new mu(this.components,t.addresses),this.configureComponent(new qu(this.components)),this.configureComponent(new Iu(this.components,{enabled:t.connectionManager.autoDial,minConnections:t.connectionManager.minConnections,autoDialInterval:t.connectionManager.autoDialInterval}));let n=Qi.generateOptions();this.keychain=this.configureComponent(new Qi(this.components,{...n,...t.keychain})),this.services.push(new Vu(this.components,t.nat)),t.transports.forEach(s=>{this.components.transportManager.add(this.configureComponent(s(this.components)))}),this.identifyService=new ns(this.components,{...t.identify}),this.configureComponent(this.identifyService),t.relay.reservationManager.enabled===!0&&(this.circuitService=new eu(this.components,{addressSorter:t.connectionManager.addressSorter,...t.relay.reservationManager}),this.services.push(this.circuitService)),t.dht!=null?this.dht=this.components.dht=t.dht(this.components):this.dht=new gl,t.pubsub!=null?this.pubsub=this.components.pubsub=t.pubsub(this.components):this.pubsub=new wl;let i=(t.peerRouters??[]).map(s=>this.configureComponent(s(this.components)));t.dht!=null&&(i.push(this.configureComponent(new zu(this.dht))),this.dht.addEventListener("peer",s=>{this.onDiscoveryPeer(s)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new hu(this.components,{...t.peerRouting,routers:i}));let o=(t.contentRouters??[]).map(s=>this.configureComponent(s(this.components)));t.dht!=null&&o.push(this.configureComponent(new fl(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new pu(this.components,{routers:o})),t.relay.enabled&&(this.components.transportManager.add(this.configureComponent(new Bu(this.components,t.relay))),this.configureComponent(new da(this.components,{...t.relay}))),this.fetchService=this.configureComponent(new Uu(this.components,{...t.fetch})),this.pingService=this.configureComponent(new Fu(this.components,{...t.ping}));for(let s of t.peerDiscovery??[])this.configureComponent(s(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)})}configureComponent(t){return yn(t)&&this.services.push(t),t}async start(){if(this.started)return;this.started=!0,jr("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(jr("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await Promise.all(this.services.map(async r=>{r.beforeStart!=null&&await r.beforeStart()})),await Promise.all(this.services.map(async r=>await r.start())),await Promise.all(this.services.map(async r=>{r.afterStart!=null&&await r.afterStart()})),jr("libp2p has started")}catch(r){throw jr.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.started&&(jr("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(this.services.map(async t=>await t.stop())),await Promise.all(this.services.map(async t=>{t.afterStop!=null&&await t.afterStop()})),jr("libp2p has stopped"))}isStarted(){return this.started}getConnections(t){return this.components.connectionManager.getConnections(t)}getPeers(){let t=new br;for(let r of this.components.connectionManager.getConnections())t.add(r.remotePeer);return Array.from(t)}async dial(t,r={}){return await this.components.connectionManager.openConnection(t,r)}async dialProtocol(t,r,n={}){if(r==null)throw(0,Ua.default)(new Error("no protocols were provided to open a stream"),v.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw(0,Ua.default)(new Error("no protocols were provided to open a stream"),v.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(t,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t){Ke(t)&&(t=rt(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t)}async getPublicKey(t,r={}){if(jr("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.pubKey!=null)return n.pubKey;if(this.dht==null)throw(0,Ua.default)(new Error("Public key was not in the peer store and the DHT is not enabled"),v.ERR_NO_ROUTERS_AVAILABLE);let i=Wt([q("/pk/"),t.multihash.digest]);for await(let o of this.dht.get(i,r))if(o.name==="VALUE"){let s=qs(o.value);return await this.peerStore.keyBook.set(t,o.value),s.bytes}throw(0,Ua.default)(new Error(`Node not responding with its public key: ${t.toString()}`),v.ERR_INVALID_RECORD)}async fetch(t,r,n={}){if(Ke(t)){let i=rt(t.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[t]),t=i}return await this.fetchService.fetch(t,r,n)}async ping(t,r={}){if(Ke(t)){let n=rt(t.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[t]),t=n}return await this.pingService.ping(t,r)}async handle(t,r,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(t,r){return await this.registrar.register(t,r)}unregister(t){this.registrar.unregister(t)}onDiscoveryPeer(t){let{detail:r}=t;if(r.id.toString()===this.peerId.toString()){jr.error(new Error(v.ERR_DISCOVERED_SELF));return}r.multiaddrs.length>0&&this.components.peerStore.addressBook.add(r.id,r.multiaddrs).catch(n=>jr.error(n)),r.protocols.length>0&&this.components.peerStore.protoBook.set(r.id,r.protocols).catch(n=>jr.error(n)),this.dispatchEvent(new G("peer:discovery",{detail:r}))}};async function Lb(e){if(e.peerId==null){let t=e.datastore;if(t!=null)try{let r=new Qi({datastore:t},rr(Qi.generateOptions(),e.keychain));e.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return e.peerId==null&&(e.peerId=await fb()),new G0(Kx(e))}async function UC(e){let t=await Lb(e);return e.start!==!1&&await t.start(),t}return Mb(FC);})();
49
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),YS=new RegExp(`(?:^${Je}$)|(?:^${Qa}$)`),WS=new RegExp(`^${Je}$`),QS=new RegExp(`^${Qa}$`),wf=r=>r&&r.exact?YS:new RegExp(`(?:${mn(r)}${Je}${mn(r)})|(?:${mn(r)}${Qa}${mn(r)})`,"g");wf.v4=r=>r&&r.exact?WS:new RegExp(`${mn(r)}${Je}${mn(r)}`,"g");wf.v6=r=>r&&r.exact?QS:new RegExp(`${mn(r)}${Qa}${mn(r)}`,"g");var rw=wf;var aw=T(iw(),1),{isValid:XS,parse:ZS}=aw.default,JS=["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"],jS=JS.map(r=>new ow.Netmask(r));function tA(r){for(let t of jS)if(t.contains(r))return!0;return!1}function sw(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}var cw=r=>{if(XS(r)){let t=ZS(r);if(t.kind()==="ipv4")return tA(t.toNormalizedString());if(t.kind()==="ipv6")return sw(r)}else if(ui(r)&&rw.v6().test(r))return sw(r)};var ti=cw;var fw=T(ht(),1);function lw(r){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(r)||/^::1$/.test(r)}function uw(r){let{address:t}=r.nodeAddress();return lw(t)}var Ef=U("libp2p:nat"),xf=7200;function eA(r=1024,t=65535){return Math.floor(Math.random()*(t-r+1)+r)}var Za=class{constructor(t,e){if(this.components=t,this.started=!1,this.enabled=e.enabled,this.externalAddress=e.externalAddress,this.localAddress=e.localAddress,this.description=e.description??`${Tg}@${Ha} ${this.components.peerId.toString()}`,this.ttl=e.ttl??xf,this.keepAlive=e.keepAlive??!0,this.gateway=e.gateway,this.ttl<xf)throw(0,fw.default)(new Error(`NatManager ttl should be at least ${xf} seconds`),_.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){Xs||!this.enabled||this.started||(this.started=!0,this._start().catch(t=>{Ef.error(t)}))}async _start(){let t=this.components.transportManager.getAddrs();for(let e of t){let{family:n,host:i,port:s,transport:o}=e.toOptions();if(!e.isThinWaistAddress()||o!=="tcp"||uw(e)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),l=ti(c);if(l===!0)throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);if(l==null)throw new Error(`${c} is not an IP address`);let u=eA();Ef(`opening uPnP connection from ${c}:${u} to ${i}:${s}`),await a.map({publicPort:u,localPort:s,localAddress:this.localAddress,protocol:o.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(o0({family:4,address:c,port:u},o))}}async _getClient(){return this.client!=null?this.client:(this.client=await Hg({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(Xs||this.client==null))try{await this.client.close(),this.client=void 0}catch(t){Ef.error(t)}}};var rA=U("libp2p:peer-record-updater"),Ja=class{constructor(t){this.components=t,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then(async()=>{let t=new Yt({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(ot("p2p").code))}),e=await jt.seal(t,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(e)}).catch(t=>{rA.error("Could not update self peer record: %o",t)})}};var hw=T(ht(),1);var ja=class{constructor(t){this.dht=t}async findPeer(t,e={}){for await(let n of this.dht.findPeer(t,e))if(n.name==="FINAL_PEER")return n.peer;throw(0,hw.default)(new Error(W.NOT_FOUND),_.ERR_NOT_FOUND)}async*getClosestPeers(t,e={}){for await(let n of this.dht.getClosestPeers(t,e))n.name==="FINAL_PEER"&&(yield n.peer)}};var Y={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};var Et=U("libp2p:peer-store:address-book"),tc="change:multiaddrs";async function nA(){return!0}var ec=class{constructor(t,e,n){this.dispatchEvent=t,this.store=e,this.addressFilter=n??nA}async consumePeerRecord(t){Et.trace("consumePeerRecord await write lock");let e=await this.store.lock.writeLock();Et.trace("consumePeerRecord got write lock");let n,i,s;try{let o;try{o=Yt.createFromProtobuf(t.payload)}catch{return Et.error("invalid peer record received"),!1}n=o.peerId;let a=o.multiaddrs;if(!n.equals(t.peerId))return Et("signing key does not match PeerId in the PeerRecord"),!1;if(a==null||a.length===0)return!1;if(await this.store.has(n)&&(i=await this.store.load(n),i.peerRecordEnvelope!=null)){let l=await jt.createFromProtobuf(i.peerRecordEnvelope),u=Yt.createFromProtobuf(l.payload);if(u.seqNumber>=o.seqNumber)return Et("sequence number was lower or equal to existing sequence number - stored: %d received: %d",u.seqNumber,o.seqNumber),!1}let c=await vf(n,a,this.addressFilter,!0);s=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:t.marshal().subarray()}),Et("stored provided peer record for %p",o.peerId)}finally{Et.trace("consumePeerRecord release write lock"),e()}return this.dispatchEvent(new $(tc,{detail:{peerId:n,multiaddrs:s.addresses.map(({multiaddr:o})=>o),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:o})=>o)}})),!0}async getRawEnvelope(t){Et.trace("getRawEnvelope await read lock");let e=await this.store.lock.readLock();Et.trace("getRawEnvelope got read lock");try{return(await this.store.load(t)).peerRecordEnvelope}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Et.trace("getRawEnvelope release read lock"),e()}}async getPeerRecord(t){let e=await this.getRawEnvelope(t);if(e!=null)return await jt.createFromProtobuf(e)}async get(t){t=Vt(t),Et.trace("get wait for read lock");let e=await this.store.lock.readLock();Et.trace("get got read lock");try{return(await this.store.load(t)).addresses}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Et.trace("get release read lock"),e()}return[]}async set(t,e){if(t=Vt(t),!Array.isArray(e))throw Et.error("multiaddrs must be an array of Multiaddrs"),new C("multiaddrs must be an array of Multiaddrs",Y.ERR_INVALID_PARAMETERS);Et.trace("set await write lock");let n=await this.store.lock.writeLock();Et.trace("set got write lock");let i=!1,s,o;try{let a=await vf(t,e,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length&&a.length===s.addresses.length)return}catch(c){if(c.code!==Y.ERR_NOT_FOUND)throw c}o=await this.store.patchOrCreate(t,{addresses:a}),Et("set multiaddrs for %p",t)}finally{Et.trace("set multiaddrs for %p",t),Et("set release write lock"),n()}this.dispatchEvent(new $(tc,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async add(t,e){if(t=Vt(t),!Array.isArray(e))throw Et.error("multiaddrs must be an array of Multiaddrs"),new C("multiaddrs must be an array of Multiaddrs",Y.ERR_INVALID_PARAMETERS);Et.trace("add await write lock");let n=await this.store.lock.writeLock();Et.trace("add got write lock");let i,s,o;try{let a=await vf(t,e,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length)return}catch(c){if(c.code!==Y.ERR_NOT_FOUND)throw c}o=await this.store.mergeOrCreate(t,{addresses:a}),Et("added multiaddrs for %p",t)}finally{Et.trace("set release write lock"),n()}this.dispatchEvent(new $(tc,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i===!0&&this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async delete(t){t=Vt(t),Et.trace("delete await write lock");let e=await this.store.lock.writeLock();Et.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{addresses:[]})}finally{Et.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(tc,{detail:{peerId:t,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function vf(r,t,e,n=!1){let i=[];return await Promise.all(t.map(async s=>{if(!be(s))throw Et.error("multiaddr must be an instance of Multiaddr"),new C("multiaddr must be an instance of Multiaddr",Y.ERR_INVALID_PARAMETERS);await e(r,s)&&i.push({multiaddr:s,isCertified:n})})),i}var wr=U("libp2p:peer-store:key-book"),dw="change:pubkey",rc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async set(t,e){if(t=Vt(t),!(e instanceof Uint8Array))throw wr.error("publicKey must be an instance of Uint8Array to store data"),new C("publicKey must be an instance of PublicKey",Y.ERR_INVALID_PARAMETERS);wr.trace("set await write lock");let n=await this.store.lock.writeLock();wr.trace("set got write lock");let i=!1,s;try{try{if(s=await this.store.load(t),s.pubKey!=null&&vt(s.pubKey,e))return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}await this.store.patchOrCreate(t,{pubKey:e}),i=!0}finally{wr.trace("set release write lock"),n()}i&&this.dispatchEvent(new $(dw,{detail:{peerId:t,publicKey:e,oldPublicKey:s?.pubKey}}))}async get(t){t=Vt(t),wr.trace("get await write lock");let e=await this.store.lock.readLock();wr.trace("get got write lock");try{return(await this.store.load(t)).pubKey}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{wr("get release write lock"),e()}}async delete(t){t=Vt(t),wr.trace("delete await write lock");let e=await this.store.lock.writeLock();wr.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{pubKey:void 0})}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}finally{wr.trace("delete release write lock"),e()}this.dispatchEvent(new $(dw,{detail:{peerId:t,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var Qt=U("libp2p:peer-store:metadata-book"),nc="change:metadata",ic=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){t=Vt(t),Qt.trace("get await read lock");let e=await this.store.lock.readLock();Qt.trace("get got read lock");try{return(await this.store.load(t)).metadata}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Qt.trace("get release read lock"),e()}return new Map}async getValue(t,e){t=Vt(t),Qt.trace("getValue await read lock");let n=await this.store.lock.readLock();Qt.trace("getValue got read lock");try{return(await this.store.load(t)).metadata.get(e)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}finally{Qt.trace("getValue release write lock"),n()}}async set(t,e){if(t=Vt(t),!(e instanceof Map))throw Qt.error("valid metadata must be provided to store data"),new C("valid metadata must be provided",Y.ERR_INVALID_PARAMETERS);Qt.trace("set await write lock");let n=await this.store.lock.writeLock();Qt.trace("set got write lock");let i;try{try{i=await this.store.load(t)}catch(s){if(s.code!==Y.ERR_NOT_FOUND)throw s}await this.store.mergeOrCreate(t,{metadata:e})}finally{Qt.trace("set release write lock"),n()}this.dispatchEvent(new $(nc,{detail:{peerId:t,metadata:e,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(t,e,n){if(t=Vt(t),typeof e!="string"||!(n instanceof Uint8Array))throw Qt.error("valid key and value must be provided to store data"),new C("valid key and value must be provided",Y.ERR_INVALID_PARAMETERS);Qt.trace("setValue await write lock");let i=await this.store.lock.writeLock();Qt.trace("setValue got write lock");let s,o;try{try{s=await this.store.load(t);let a=s.metadata.get(e);if(a!=null&&vt(n,a))return}catch(a){if(a.code!==Y.ERR_NOT_FOUND)throw a}o=await this.store.mergeOrCreate(t,{metadata:new Map([[e,n]])})}finally{Qt.trace("setValue release write lock"),i()}this.dispatchEvent(new $(nc,{detail:{peerId:t,metadata:o.metadata,oldMetadata:s==null?new Map:s.metadata}}))}async delete(t){t=Vt(t),Qt.trace("delete await write lock");let e=await this.store.lock.writeLock();Qt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(t,{metadata:new Map})}finally{Qt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(nc,{detail:{peerId:t,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(t,e){t=Vt(t),Qt.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();Qt.trace("deleteValue got write lock");let i,s;try{s=await this.store.load(t),i=s.metadata,i.delete(e),await this.store.patch(t,{metadata:i})}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}finally{Qt.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new $(nc,{detail:{peerId:t,metadata:i,oldMetadata:s==null?new Map:s.metadata}}))}};var Xt=U("libp2p:peer-store:proto-book"),sc="change:protocols",oc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){Xt.trace("get wait for read lock");let e=await this.store.lock.readLock();Xt.trace("get got read lock");try{return(await this.store.load(t)).protocols}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Xt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=Vt(t),!Array.isArray(e))throw Xt.error("protocols must be provided to store data"),new C("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Xt.trace("set await write lock");let n=await this.store.lock.writeLock();Xt.trace("set got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...e]).size===i.protocols.length)return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:e}),Xt("stored provided protocols for %p",t)}finally{Xt.trace("set release write lock"),n()}this.dispatchEvent(new $(sc,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(t,e){if(t=Vt(t),!Array.isArray(e))throw Xt.error("protocols must be provided to store data"),new C("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Xt.trace("add await write lock");let n=await this.store.lock.writeLock();Xt.trace("add got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...i.protocols,...e]).size===i.protocols.length)return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.mergeOrCreate(t,{protocols:e}),Xt("added provided protocols for %p",t)}finally{Xt.trace("add release write lock"),n()}this.dispatchEvent(new $(sc,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(t,e){if(t=Vt(t),!Array.isArray(e))throw Xt.error("protocols must be provided to store data"),new C("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Xt.trace("remove await write lock");let n=await this.store.lock.writeLock();Xt.trace("remove got write lock");let i,s;try{try{i=await this.store.load(t);let o=new Set(i.protocols);for(let a of e)o.delete(a);if(i.protocols.length===o.size)return;e=Array.from(o)}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:e})}finally{Xt.trace("remove release write lock"),n()}this.dispatchEvent(new $(sc,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(t){t=Vt(t),Xt.trace("delete await write lock");let e=await this.store.lock.writeLock();Xt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{protocols:[]})}finally{Xt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(sc,{detail:{peerId:t,protocols:[],oldProtocols:n.protocols}}))}};var Js;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.addresses!=null)for(let s of e.addresses)n.uint32(10),ac.codec().encode(s,n);if(e.protocols!=null)for(let s of e.protocols)n.uint32(18),n.string(s);if(e.metadata!=null)for(let s of e.metadata)n.uint32(26),cc.codec().encode(s,n);e.pubKey!=null&&(n.uint32(34),n.bytes(e.pubKey)),e.peerRecordEnvelope!=null&&(n.uint32(42),n.bytes(e.peerRecordEnvelope)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={addresses:[],protocols:[],metadata:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.addresses.push(ac.codec().decode(e,e.uint32()));break;case 2:i.protocols.push(e.string());break;case 3:i.metadata.push(cc.codec().decode(e,e.uint32()));break;case 4:i.pubKey=e.bytes();break;case 5:i.peerRecordEnvelope=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(Js||(Js={}));var ac;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.multiaddr!=null&&e.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.multiaddr=e.bytes();break;case 2:i.isCertified=e.bool();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(ac||(ac={}));var cc;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.key!=null&&e.key!==""&&(n.uint32(10),n.string(e.key)),e.value!=null&&e.value.byteLength>0&&(n.uint32(18),n.bytes(e.value)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={key:"",value:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.key=e.string();break;case 2:i.value=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(cc||(cc={}));var Sw=T(mw(),1);var to=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},_f=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},yw=r=>globalThis.DOMException===void 0?new _f(r):new DOMException(r),gw=r=>{let t=r.reason===void 0?yw("This operation was aborted."):r.reason;return t instanceof Error?t:yw(t)};function Sf(r,t,e,n){let i,s=new Promise((o,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){o(r);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(gw(c)),c.addEventListener("abort",()=>{a(gw(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof e=="function"){try{o(e())}catch(u){a(u)}return}let c=typeof e=="string"?e:`Promise timed out after ${t} milliseconds`,l=e instanceof Error?e:new to(c);typeof r.cancel=="function"&&r.cancel(),a(l)},t),(async()=>{try{o(await r)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Af(r,t,e){let n=0,i=r.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;e(r[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var ei=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Vr,eo=class{constructor(){Vr.set(this,[])}enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&ei(this,Vr,"f")[this.size-1].priority>=e.priority){ei(this,Vr,"f").push(n);return}let i=Af(ei(this,Vr,"f"),n,(s,o)=>o.priority-s.priority);ei(this,Vr,"f").splice(i,0,n)}dequeue(){let t=ei(this,Vr,"f").shift();return t?.run}filter(t){return ei(this,Vr,"f").filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return ei(this,Vr,"f").length}};Vr=new WeakMap;var Lt=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},k=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},zt,no,io,gn,mc,so,uc,je,ro,Te,fc,Ce,oo,yn,hc,ww,Ew,bw,xw,vw,dc,Rf,If,yc,_w,pc,gc=class extends Error{},Wi=class extends Sw.default{constructor(t){var e,n,i,s;if(super(),zt.add(this),no.set(this,void 0),io.set(this,void 0),gn.set(this,0),mc.set(this,void 0),so.set(this,void 0),uc.set(this,0),je.set(this,void 0),ro.set(this,void 0),Te.set(this,void 0),fc.set(this,void 0),Ce.set(this,0),oo.set(this,void 0),yn.set(this,void 0),hc.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:eo,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(e=t.intervalCap)===null||e===void 0?void 0:e.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);Lt(this,no,t.carryoverConcurrencyCount,"f"),Lt(this,io,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Lt(this,mc,t.intervalCap,"f"),Lt(this,so,t.interval,"f"),Lt(this,Te,new t.queueClass,"f"),Lt(this,fc,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Lt(this,hc,t.throwOnTimeout===!0,"f"),Lt(this,yn,t.autoStart===!1,"f")}get concurrency(){return k(this,oo,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);Lt(this,oo,t,"f"),k(this,zt,"m",yc).call(this)}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:k(this,hc,"f"),...e},new Promise((n,i)=>{k(this,Te,"f").enqueue(async()=>{var s,o,a;Lt(this,Ce,(o=k(this,Ce,"f"),o++,o),"f"),Lt(this,gn,(a=k(this,gn,"f"),a++,a),"f");try{if(!((s=e.signal)===null||s===void 0)&&s.aborted)throw new gc("The task was aborted.");let c=t({signal:e.signal});e.timeout&&(c=Sf(Promise.resolve(c),e.timeout)),e.signal&&(c=Promise.race([c,k(this,zt,"m",_w).call(this,e.signal)]));let l=await c;n(l),this.emit("completed",l)}catch(c){if(c instanceof to&&!e.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,zt,"m",bw).call(this)}},e),this.emit("add"),k(this,zt,"m",dc).call(this)})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return k(this,yn,"f")?(Lt(this,yn,!1,"f"),k(this,zt,"m",yc).call(this),this):this}pause(){Lt(this,yn,!0,"f")}clear(){Lt(this,Te,new(k(this,fc,"f")),"f")}async onEmpty(){k(this,Te,"f").size!==0&&await k(this,zt,"m",pc).call(this,"empty")}async onSizeLessThan(t){k(this,Te,"f").size<t||await k(this,zt,"m",pc).call(this,"next",()=>k(this,Te,"f").size<t)}async onIdle(){k(this,Ce,"f")===0&&k(this,Te,"f").size===0||await k(this,zt,"m",pc).call(this,"idle")}get size(){return k(this,Te,"f").size}sizeBy(t){return k(this,Te,"f").filter(t).length}get pending(){return k(this,Ce,"f")}get isPaused(){return k(this,yn,"f")}};no=new WeakMap,io=new WeakMap,gn=new WeakMap,mc=new WeakMap,so=new WeakMap,uc=new WeakMap,je=new WeakMap,ro=new WeakMap,Te=new WeakMap,fc=new WeakMap,Ce=new WeakMap,oo=new WeakMap,yn=new WeakMap,hc=new WeakMap,zt=new WeakSet,ww=function(){return k(this,io,"f")||k(this,gn,"f")<k(this,mc,"f")},Ew=function(){return k(this,Ce,"f")<k(this,oo,"f")},bw=function(){var t;Lt(this,Ce,(t=k(this,Ce,"f"),t--,t),"f"),k(this,zt,"m",dc).call(this),this.emit("next")},xw=function(){k(this,zt,"m",If).call(this),k(this,zt,"m",Rf).call(this),Lt(this,ro,void 0,"f")},vw=function(){let t=Date.now();if(k(this,je,"f")===void 0){let e=k(this,uc,"f")-t;if(e<0)Lt(this,gn,k(this,no,"f")?k(this,Ce,"f"):0,"f");else return k(this,ro,"f")===void 0&&Lt(this,ro,setTimeout(()=>{k(this,zt,"m",xw).call(this)},e),"f"),!0}return!1},dc=function(){if(k(this,Te,"f").size===0)return k(this,je,"f")&&clearInterval(k(this,je,"f")),Lt(this,je,void 0,"f"),this.emit("empty"),k(this,Ce,"f")===0&&this.emit("idle"),!1;if(!k(this,yn,"f")){let t=!k(this,zt,"a",vw);if(k(this,zt,"a",ww)&&k(this,zt,"a",Ew)){let e=k(this,Te,"f").dequeue();return e?(this.emit("active"),e(),t&&k(this,zt,"m",Rf).call(this),!0):!1}}return!1},Rf=function(){k(this,io,"f")||k(this,je,"f")!==void 0||(Lt(this,je,setInterval(()=>{k(this,zt,"m",If).call(this)},k(this,so,"f")),"f"),Lt(this,uc,Date.now()+k(this,so,"f"),"f"))},If=function(){k(this,gn,"f")===0&&k(this,Ce,"f")===0&&k(this,je,"f")&&(clearInterval(k(this,je,"f")),Lt(this,je,void 0,"f")),Lt(this,gn,k(this,no,"f")?k(this,Ce,"f"):0,"f"),k(this,zt,"m",yc).call(this)},yc=function(){for(;k(this,zt,"m",dc).call(this););},_w=async function(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(new gc("The task was aborted."))},{once:!0})})},pc=async function(t,e){return new Promise(n=>{let i=()=>{e&&!e()||(this.off(t,i),n())};this.on(t,i)})};var Tf=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Cf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Aw=r=>globalThis.DOMException===void 0?new Cf(r):new DOMException(r),Rw=r=>{let t=r.reason===void 0?Aw("This operation was aborted."):r.reason;return t instanceof Error?t:Aw(t)};function Bf(r,t){let{milliseconds:e,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=t,o,a=new Promise((c,l)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){c(r);return}if(t.signal){let{signal:f}=t;f.aborted&&l(Rw(f)),f.addEventListener("abort",()=>{l(Rw(f))})}let u=new Tf;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){l(f)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?c():i instanceof Error?l(i):(u.message=i??`Promise timed out after ${e} milliseconds`,l(u))},e),(async()=>{try{c(await r)}catch(f){l(f)}finally{s.clearTimeout.call(void 0,o)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},a}var Df="lock:worker:request-read",Lf="lock:worker:release-read",Pf="lock:master:grant-read",Nf="lock:worker:request-write",kf="lock:worker:release-write",Of="lock:master:grant-write";var wn={},Qi=r=>{r.addEventListener("message",t=>{Qi.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{Qi.dispatchEvent("message",r,t)})};Qi.addEventListener=(r,t)=>{wn[r]==null&&(wn[r]=[]),wn[r].push(t)};Qi.removeEventListener=(r,t)=>{wn[r]!=null&&(wn[r]=wn[r].filter(e=>e===t))};Qi.dispatchEvent=function(r,t,e){wn[r]!=null&&wn[r].forEach(n=>n(t,e))};var Mf=Qi;var Iw=(r,t,e,n,i)=>(s,o)=>{if(o.data.type!==e)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let l=u=>{if(u==null||u.data==null)return;let f={type:u.data.type,name:u.data.name,identifier:u.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",l),c())};s.addEventListener("message",l)}))}}))},Tw=(r,t,e,n)=>async()=>{let i=So();return globalThis.postMessage({type:t,identifier:i,name:r}),await new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:r})}))};globalThis.addEventListener("message",o)})},oA={singleProcess:!1},Cw=r=>{if(r=Object.assign({},oA,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return Mf.addEventListener("message",Iw(e,"requestReadLock",Df,Lf,Pf)),Mf.addEventListener("message",Iw(e,"requestWriteLock",Nf,kf,Of)),e}return{isWorker:!0,readLock:e=>Tw(e,Df,Pf,Lf),writeLock:e=>Tw(e,Nf,Of,kf)}};var ri={},En;async function Uf(r,t){let e,n=new Promise(i=>{e=i});return r.add(async()=>await Bf((async()=>await new Promise(i=>{e(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var aA=(r,t)=>{if(En.isWorker===!0)return{readLock:En.readLock(r,t),writeLock:En.writeLock(r,t)};let e=new Wi({concurrency:1}),n;return{async readLock(){if(n!=null)return await Uf(n,t);n=new Wi({concurrency:t.concurrency,autoStart:!1});let i=n,s=Uf(n,t);return e.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Uf(e,t)}}},cA={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Ff(r){let t=Object.assign({},cA,r);return En==null&&(En=Cw(t),En.isWorker!==!0&&(En.addEventListener("requestReadLock",e=>{ri[e.data.name]!=null&&ri[e.data.name].readLock().then(async n=>await e.data.handler().finally(()=>n()))}),En.addEventListener("requestWriteLock",async e=>{ri[e.data.name]!=null&&ri[e.data.name].writeLock().then(async n=>await e.data.handler().finally(()=>n()))}))),ri[t.name]==null&&(ri[t.name]=aA(t.name,t)),ri[t.name]}var Bw=U("libp2p:peer-store:store"),Dw="/peers/",wc=class{constructor(t){this.components=t,this.lock=Ff({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(t){if(t.type==null)throw Bw.error("peerId must be an instance of peer-id to store data"),new C("peerId must be an instance of peer-id",Y.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new kt(`${Dw}${e}`)}async has(t){return await this.components.datastore.has(this._peerIdToDatastoreKey(t))}async delete(t){await this.components.datastore.delete(this._peerIdToDatastoreKey(t))}async load(t){let e=await this.components.datastore.get(this._peerIdToDatastoreKey(t)),n=Js.decode(e),i=new Map;for(let s of n.metadata)i.set(s.key,s.value);return{...n,id:t,addresses:n.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:Tt(s),isCertified:o??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(t){if(t.pubKey!=null&&t.id.publicKey!=null&&!vt(t.pubKey,t.id.publicKey))throw Bw.error("peer publicKey bytes do not match peer id publicKey bytes"),new C("publicKey bytes do not match peer id publicKey bytes",Y.ERR_INVALID_PARAMETERS);let e=new Set,n=t.addresses.filter(o=>e.has(o.multiaddr.toString())?!1:(e.add(o.multiaddr.toString()),!0)).sort((o,a)=>o.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:o,isCertified:a})=>({multiaddr:o.bytes,isCertified:a})),i=[];[...t.metadata.keys()].sort().forEach(o=>{let a=t.metadata.get(o);a!=null&&i.push({key:o,value:a})});let s=Js.encode({addresses:n,protocols:t.protocols.sort(),pubKey:t.pubKey,metadata:i,peerRecordEnvelope:t.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(t.id),s.subarray()),await this.load(t.id)}async patch(t,e){let n=await this.load(t);return await this._patch(t,e,n)}async patchOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._patch(t,e,n)}async _patch(t,e,n){return await this.save({...n,...e,id:t})}async merge(t,e){let n=await this.load(t);return await this._merge(t,e,n)}async mergeOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._merge(t,e,n)}async _merge(t,e,n){let i=new Map;return n.addresses.forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),(e.addresses??[]).forEach(s=>{let o=s.multiaddr.toString(),c=!!i.get(o)||s.isCertified;i.set(o,c)}),await this.save({id:t,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:Tt(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols??[],...e.protocols??[]])),metadata:new Map([...n.metadata?.entries()??[],...e.metadata?.entries()??[]]),pubKey:e.pubKey??n?.pubKey,peerRecordEnvelope:e.peerRecordEnvelope??n?.peerRecordEnvelope})}async*all(){for await(let t of this.components.datastore.queryKeys({prefix:Dw})){let e=t.toString().split("/")[2],n=ve.decode(e);yield this.load(Wr(n))}}};var qr;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.tags!=null)for(let s of e.tags)n.uint32(10),Ec.codec().encode(s,n);i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={tags:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.tags.push(Ec.codec().decode(e,e.uint32()));break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(qr||(qr={}));var Ec;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.name!=null&&e.name!==""&&(n.uint32(10),n.string(e.name)),e.value!=null&&(n.uint32(16),n.uint32(e.value)),e.expiry!=null&&(n.uint32(24),n.uint64(e.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={name:""},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.name=e.string();break;case 2:i.value=e.uint32();break;case 3:i.expiry=e.uint64();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(Ec||(Ec={}));var Fe=U("libp2p:peer-store"),xc=class extends Nt{constructor(t,e={}){super(),this.components=t,this.store=new wc(t),this.addressBook=new ec(this.dispatchEvent.bind(this),this.store,e.addressFilter),this.keyBook=new rc(this.dispatchEvent.bind(this),this.store),this.metadataBook=new ic(this.dispatchEvent.bind(this),this.store),this.protoBook=new oc(this.dispatchEvent.bind(this),this.store)}async forEach(t){Fe.trace("getPeers await read lock");let e=await this.store.lock.readLock();Fe.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||t(n)}finally{Fe.trace("getPeers release read lock"),e()}}async all(){let t=[];return await this.forEach(e=>{t.push(e)}),t}async delete(t){Fe.trace("delete await write lock");let e=await this.store.lock.writeLock();Fe.trace("delete got write lock");try{await this.store.delete(t)}finally{Fe.trace("delete release write lock"),e()}}async get(t){Fe.trace("get await read lock");let e=await this.store.lock.readLock();Fe.trace("get got read lock");try{return await this.store.load(t)}finally{Fe.trace("get release read lock"),e()}}async has(t){Fe.trace("has await read lock");let e=await this.store.lock.readLock();Fe.trace("has got read lock");try{return await this.store.has(t)}finally{Fe.trace("has release read lock"),e()}}async tagPeer(t,e,n={}){let i=n.value??0,s=Math.round(i),o=n.ttl??void 0;if(s!==i||s<0||s>100)throw new C("Tag value must be between 0-100","ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(t,"tags"),c=[];a!=null&&(c=qr.decode(a).tags),c=c.filter(l=>l.name!==e),c.push({name:e,value:s,expiry:o==null?void 0:BigInt(Date.now()+o)}),await this.metadataBook.setValue(t,"tags",qr.encode({tags:c}).subarray())}async unTagPeer(t,e){let n=await this.metadataBook.getValue(t,"tags"),i=[];n!=null&&(i=qr.decode(n).tags),i=i.filter(s=>s.name!==e),await this.metadataBook.setValue(t,"tags",qr.encode({tags:i}).subarray())}async getTags(t){let e=await this.metadataBook.getValue(t,"tags"),n=[];e!=null&&(n=qr.decode(e).tags);let i=BigInt(Date.now()),s=n.filter(o=>o.expiry==null||o.expiry>i);return s.length!==n.length&&await this.metadataBook.setValue(t,"tags",qr.encode({tags:s}).subarray()),s.map(o=>({name:o.name,value:o.value??0}))}};var Lw=T(ht(),1),vc=class{constructor(t){this.dht=t}async provide(t){await qe(this.dht.provide(t))}async*findProviders(t,e={}){for await(let n of this.dht.findProviders(t,e))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,e,n){await qe(this.dht.put(t,e,n))}async get(t,e){for await(let n of this.dht.get(t,e))if(n.name==="VALUE")return n.value;throw(0,Lw.default)(new Error("Not found"),"ERR_NOT_FOUND")}};var Kf;(function(r){let t;r.codec=()=>(t==null&&(t=yt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.id!=null&&(n.uint32(10),n.bytes(e.id)),e.pubKey!=null&&(n.uint32(18),n.bytes(e.pubKey)),e.privKey!=null&&(n.uint32(26),n.bytes(e.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.id=e.bytes();break;case 2:i.pubKey=e.bytes();break;case 3:i.privKey=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>mt(e,r.codec()),r.decode=e=>pt(e,r.codec())})(Kf||(Kf={}));var bc=async()=>{let r=await Pa("Ed25519"),t=await lA(r);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function lA(r){return await Qr(ng(r.public),ig(r))}var $f=T(ir(),1);var _c=globalThis.CustomEvent??Event;async function*Vf(r,t={}){let e=t.concurrency??1/0;e<1&&(e=1/0);let n=t.ordered==null?!1:t.ordered,i=new EventTarget,s=[],o=pn(),a=pn(),c=!1,l,u=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let p of r){if(s.length===e&&(o=pn(),await o.promise),u)break;let m={done:!1};s.push(m),p().then(y=>{m.done=!0,m.ok=!0,m.value=y,i.dispatchEvent(new _c("task-complete"))},y=>{m.done=!0,m.err=y,i.dispatchEvent(new _c("task-complete"))})}c=!0,i.dispatchEvent(new _c("task-complete"))}catch(p){l=p,i.dispatchEvent(new _c("task-complete"))}});function f(){return n?s[0]?.done:!!s.find(p=>p.done)}function*h(){for(;s.length>0&&s[0].done;){let p=s[0];if(s.shift(),p.ok)yield p.value;else throw u=!0,o.resolve(),p.err;o.resolve()}}function*d(){for(;f();)for(let p=0;p<s.length;p++)if(s[p].done){let m=s[p];if(s.splice(p,1),p--,m.ok)yield m.value;else throw u=!0,o.resolve(),m.err;o.resolve()}}for(;;){if(f()||(a=pn(),await a.promise),l!=null)throw l;if(n?yield*h():yield*d(),c&&s.length===0)break}}var zf=T(Ir(),1);var Sc="/libp2p/autonat/1.0.0";var G;(function(r){let t;(function(l){l.DIAL="DIAL",l.DIAL_RESPONSE="DIAL_RESPONSE"})(t=r.MessageType||(r.MessageType={}));let e;(function(l){l[l.DIAL=0]="DIAL",l[l.DIAL_RESPONSE=1]="DIAL_RESPONSE"})(e||(e={})),function(l){l.codec=()=>Jr(e)}(t=r.MessageType||(r.MessageType={}));let n;(function(l){l.OK="OK",l.E_DIAL_ERROR="E_DIAL_ERROR",l.E_DIAL_REFUSED="E_DIAL_REFUSED",l.E_BAD_REQUEST="E_BAD_REQUEST",l.E_INTERNAL_ERROR="E_INTERNAL_ERROR"})(n=r.ResponseStatus||(r.ResponseStatus={}));let i;(function(l){l[l.OK=0]="OK",l[l.E_DIAL_ERROR=100]="E_DIAL_ERROR",l[l.E_DIAL_REFUSED=101]="E_DIAL_REFUSED",l[l.E_BAD_REQUEST=200]="E_BAD_REQUEST",l[l.E_INTERNAL_ERROR=300]="E_INTERNAL_ERROR"})(i||(i={})),function(l){l.codec=()=>Jr(i)}(n=r.ResponseStatus||(r.ResponseStatus={}));let s;(function(l){let u;l.codec=()=>(u==null&&(u=yt((f,h,d={})=>{if(d.lengthDelimited!==!1&&h.fork(),f.id!=null&&(h.uint32(10),h.bytes(f.id)),f.addrs!=null)for(let p of f.addrs)h.uint32(18),h.bytes(p);d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={addrs:[]},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.id=f.bytes();break;case 2:d.addrs.push(f.bytes());break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>mt(f,l.codec()),l.decode=f=>pt(f,l.codec())})(s=r.PeerInfo||(r.PeerInfo={}));let o;(function(l){let u;l.codec=()=>(u==null&&(u=yt((f,h,d={})=>{d.lengthDelimited!==!1&&h.fork(),f.peer!=null&&(h.uint32(10),r.PeerInfo.codec().encode(f.peer,h)),d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.peer=r.PeerInfo.codec().decode(f,f.uint32());break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>mt(f,l.codec()),l.decode=f=>pt(f,l.codec())})(o=r.Dial||(r.Dial={}));let a;(function(l){let u;l.codec=()=>(u==null&&(u=yt((f,h,d={})=>{d.lengthDelimited!==!1&&h.fork(),f.status!=null&&(h.uint32(8),r.ResponseStatus.codec().encode(f.status,h)),f.statusText!=null&&(h.uint32(18),h.string(f.statusText)),f.addr!=null&&(h.uint32(26),h.bytes(f.addr)),d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.status=r.ResponseStatus.codec().decode(f);break;case 2:d.statusText=f.string();break;case 3:d.addr=f.bytes();break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>mt(f,l.codec()),l.decode=f=>pt(f,l.codec())})(a=r.DialResponse||(r.DialResponse={}));let c;r.codec=()=>(c==null&&(c=yt((l,u,f={})=>{f.lengthDelimited!==!1&&u.fork(),l.type!=null&&(u.uint32(8),r.MessageType.codec().encode(l.type,u)),l.dial!=null&&(u.uint32(18),r.Dial.codec().encode(l.dial,u)),l.dialResponse!=null&&(u.uint32(26),r.DialResponse.codec().encode(l.dialResponse,u)),f.lengthDelimited!==!1&&u.ldelim()},(l,u)=>{let f={},h=u==null?l.len:l.pos+u;for(;l.pos<h;){let d=l.uint32();switch(d>>>3){case 1:f.type=r.MessageType.codec().decode(l);break;case 2:f.dial=r.Dial.codec().decode(l,l.uint32());break;case 3:f.dialResponse=r.DialResponse.codec().decode(l,l.uint32());break;default:l.skipType(d&7);break}}return f})),c),r.encode=l=>mt(l,r.codec()),r.decode=l=>pt(l,r.codec())})(G||(G={}));var lt=U("libp2p:autonat"),qf=4,uA=5e3,fA=6e4,Ac=class{constructor(t,e){this.components=t,this.started=!1,this._init=e,this.startupDelay=e.startupDelay??uA,this.refreshInterval=e.refreshInterval??fA,this._verifyExternalAddresses=this._verifyExternalAddresses.bind(this)}isStarted(){return this.started}async start(){this.started||(await this.components.registrar.handle(Sc,t=>{this.handleIncomingAutonatStream(t).catch(e=>{lt.error(e)})},{maxInboundStreams:this._init.maxInboundStreams,maxOutboundStreams:this._init.maxOutboundStreams}),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.startupDelay),this.started=!0)}async stop(){await this.components.registrar.unhandle(Sc),clearTimeout(this.verifyAddressTimeout),this.started=!1}async handleIncomingAutonatStream(t){let e=new zf.TimeoutController(this._init.timeout);try{(0,$f.setMaxListeners)?.(1/0,e.signal)}catch{}let n=this.components.addressManager.getAddresses().map(i=>i.toOptions().host);try{let i=we(t.stream,e.signal),s=this;await Kt(i,ge(),async function*(o){let a=await ae(o);if(a==null){lt("No message received"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"No message was sent"}});return}let c;try{c=G.decode(a)}catch(m){lt.error("Could not decode message",m),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"Could not decode message"}});return}let l=c.dial;if(l==null){lt.error("Dial was missing from message"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"No Dial message found in message"}});return}let u,f=l.peer;if(f==null||f.id==null){lt.error("PeerId missing from message"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"missing peer info"}});return}try{u=Wr(f.id)}catch(m){lt.error("Invalid PeerId",m),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"bad peer id"}});return}if(lt("Incoming request from %p",u),!t.connection.remotePeer.equals(u)){lt("Target peer %p did not equal sending peer %p",u,t.connection.remotePeer),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"peer id mismatch"}});return}let h=f.addrs.map(m=>Tt(m)).filter(m=>{let y=m.toOptions().host===t.connection.remoteAddr.toOptions().host;return lt.trace("Request to dial %s was sent from %s is same host %s",m,t.connection.remoteAddr,y),y}).filter(m=>{let y=m.toOptions().host,g=!(ti(y)??!1);return lt.trace("Host %s was public %s",y,g),g}).filter(m=>{let y=m.toOptions().host,g=!n.includes(y);return lt.trace("Host %s was not our host %s",y,g),g}).filter(m=>{let y=!!s.components.transportManager.transportForMultiaddr(m);return lt.trace("Transport for %s is supported %s",m,y),y}).map(m=>(m.getPeerId()==null&&(m=m.encapsulate(`/p2p/${u.toString()}`)),m));if(h.length===0){lt("No valid multiaddrs for %p in message",u),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_DIAL_REFUSED,statusText:"no dialable addresses"}});return}lt("Dial multiaddrs %s for peer %p",h.map(m=>m.toString()).join(", "),u);let d="",p=h[0];for await(let m of h){let y;p=m;try{if(y=await s.components.dialer.dial(m,{signal:e.signal}),!y.remoteAddr.equals(m))throw lt.error("Tried to dial %s but dialed %s",m,y.remoteAddr),new Error("Unexpected remote address");lt("Success %p",u),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.OK,addr:y.remoteAddr.decapsulateCode(ot("p2p").code).bytes}});return}catch(g){lt("Could not dial %p",u,g),d=g.message}finally{y!=null&&await y.close()}}yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_DIAL_ERROR,statusText:d,addr:p.bytes}})},Ie(),t.stream)}finally{e.clear()}}_verifyExternalAddresses(){this.verifyExternalAddresses().catch(t=>{lt.error(t)})}async verifyExternalAddresses(){if(clearTimeout(this.verifyAddressTimeout),!this.isStarted())return;let t=this.components.addressManager,e=t.getObservedAddrs().filter(s=>{let o=s.toOptions();return!(ti(o.host)??!1)});if(e.length===0){lt("No public addresses found, not requesting verification"),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.refreshInterval);return}let n=new zf.TimeoutController(this._init.timeout);try{(0,$f.setMaxListeners)?.(1/0,n.signal)}catch{}let i=this;try{lt("verify multiaddrs %s",e.map(f=>f.toString()).join(", "));let s=G.encode({type:G.MessageType.DIAL,dial:{peer:{id:this.components.peerId.toBytes(),addrs:e.map(f=>f.bytes)}}}),a=(await bc()).toBytes(),c={},l=[];async function u(f){try{lt("Asking %p to verify multiaddr",f.id);let h=await i.components.connectionManager.openConnection(f.id,{signal:n.signal}),d=await h.newStream(Sc,{signal:n.signal}),p=we(d,n.signal),m=await Kt([s],Ie(),p,ge(),async g=>await ae(g));if(m==null){lt("No response received from %s",h.remotePeer);return}let y=G.decode(m);if(y.type!==G.MessageType.DIAL_RESPONSE||y.dialResponse==null){lt("Invalid autonat response from %s",h.remotePeer);return}if(y.dialResponse.status===G.ResponseStatus.OK){let g=h.remoteAddr.toOptions(),E;if(g.family===4)E=g.host.split(".")[0];else if(g.family===6)E=g.host.split(":")[0];else{lt('Remote address "%s" was not IP4 or IP6?',g.host);return}if(l.includes(E)){lt("Already have response from network segment %d - %s",E,g.host);return}l.push(E)}return y.dialResponse}catch(h){lt.error(h)}}for await(let f of Vf(is(this.components.peerRouting.getClosestPeers(a,{signal:n.signal}),h=>async()=>await u(h)),{concurrency:qf}))try{if(f==null)continue;let h=f.addr==null?e[0]:Tt(f.addr);if(lt("Autonat response for %s is %s",h,f.status),f.status===G.ResponseStatus.E_BAD_REQUEST||f.status===G.ResponseStatus.E_DIAL_REFUSED||f.addr==null&&e.length>1)continue;if(!e.some(p=>p.equals(h))){lt("Peer reported %s as %s but it was not in our observed address list",h,f.status);continue}let d=h.toString();if(c[d]==null&&(c[d]={success:0,failure:0}),f.status===G.ResponseStatus.OK?c[d].success++:f.status===G.ResponseStatus.E_DIAL_ERROR&&c[d].failure++,c[d].success===qf){lt("%s is externally dialable",h),t.confirmObservedAddr(h);return}if(c[d].failure===qf){lt("%s is not externally dialable",h),t.removeObservedAddr(h);return}}catch(h){lt.error("Could not verify external address",h)}}finally{n.clear(),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.refreshInterval)}}};var Be=T(ht(),1);var Rc=class{constructor(t={}){this._started=!1,this._peerId=t.peerId,this._addressManager=t.addressManager,this._peerStore=t.peerStore,this._upgrader=t.upgrader,this._metrics=t.metrics,this._registrar=t.registrar,this._connectionManager=t.connectionManager,this._transportManager=t.transportManager,this._connectionGater=t.connectionGater,this._contentRouting=t.contentRouting,this._peerRouting=t.peerRouting,this._datastore=t.datastore,this._connectionProtector=t.connectionProtector,this._dht=t.dht,this._pubsub=t.pubsub,this._dialer=t.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(t=>_r(t)).map(async t=>{t.beforeStart!=null&&await t.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(t=>_r(t)).map(async t=>{await t.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(t=>_r(t)).map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(t=>_r(t)).map(async t=>{t.beforeStop!=null&&await t.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(t=>_r(t)).map(async t=>{await t.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(t=>_r(t)).map(async t=>{t.afterStop!=null&&await t.afterStop()}))}get peerId(){if(this._peerId==null)throw(0,Be.default)(new Error("peerId not set"),"ERR_SERVICE_MISSING");return this._peerId}set peerId(t){this._peerId=t}get addressManager(){if(this._addressManager==null)throw(0,Be.default)(new Error("addressManager not set"),"ERR_SERVICE_MISSING");return this._addressManager}set addressManager(t){this._addressManager=t}get peerStore(){if(this._peerStore==null)throw(0,Be.default)(new Error("peerStore not set"),"ERR_SERVICE_MISSING");return this._peerStore}set peerStore(t){this._peerStore=t}get upgrader(){if(this._upgrader==null)throw(0,Be.default)(new Error("upgrader not set"),"ERR_SERVICE_MISSING");return this._upgrader}set upgrader(t){this._upgrader=t}get registrar(){if(this._registrar==null)throw(0,Be.default)(new Error("registrar not set"),"ERR_SERVICE_MISSING");return this._registrar}set registrar(t){this._registrar=t}get connectionManager(){if(this._connectionManager==null)throw(0,Be.default)(new Error("connectionManager not set"),"ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(t){this._connectionManager=t}get transportManager(){if(this._transportManager==null)throw(0,Be.default)(new Error("transportManager not set"),"ERR_SERVICE_MISSING");return this._transportManager}set transportManager(t){this._transportManager=t}get connectionGater(){if(this._connectionGater==null)throw(0,Be.default)(new Error("connectionGater not set"),"ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(t){this._connectionGater=t}get contentRouting(){if(this._contentRouting==null)throw(0,Be.default)(new Error("contentRouting not set"),"ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(t){this._contentRouting=t}get peerRouting(){if(this._peerRouting==null)throw(0,Be.default)(new Error("peerRouting not set"),"ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(t){this._peerRouting=t}get datastore(){if(this._datastore==null)throw(0,Be.default)(new Error("datastore not set"),"ERR_SERVICE_MISSING");return this._datastore}set datastore(t){this._datastore=t}get connectionProtector(){return this._connectionProtector}set connectionProtector(t){this._connectionProtector=t}get dialer(){if(this._dialer==null)throw(0,Be.default)(new Error("dialer not set"),"ERR_SERVICE_MISSING");return this._dialer}set dialer(t){this._dialer=t}get metrics(){return this._metrics}set metrics(t){this._metrics=t}get dht(){return this._dht}set dht(t){this._dht=t}get pubsub(){return this._pubsub}set pubsub(t){this._pubsub=t}};var Gf=T(Fc(),1),Yf=T(kw(),1);var Ow=globalThis.fetch,Mw=globalThis.Headers,fk=globalThis.Request,hk=globalThis.Response;function Ic(r,t,e){return`${r}?name=${t}&type=${e}`}async function Uw(r,t){return await(await Ow(r,{headers:new Mw({accept:"application/dns-json"}),signal:t})).json()}function ni(r,t){return`${t}_${r}`}var Hf=Object.assign((0,Gf.default)("dns-over-http-resolver"),{error:(0,Gf.default)("dns-over-http-resolver:error")}),Wf=class{constructor(t={}){this._cache=new Yf.default({max:t?.maxCache??100}),this._TXTcache=new Yf.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??Uw,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>t.abort())}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*e),i=t[e];t[e]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,e="A"){switch(e){case"A":return await this.resolve4(t);case"AAAA":return await this.resolve6(t);case"TXT":return await this.resolveTxt(t);default:throw new Error(`${e} is not supported`)}}async resolve4(t){let e="A",n=this._cache.get(ni(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Ic(s,t,e),o.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(ni(t,e),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),Hf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolve6(t){let e="AAAA",n=this._cache.get(ni(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Ic(s,t,e),o.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(ni(t,e),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),Hf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolveTxt(t){let e="TXT",n=this._TXTcache.get(ni(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Ic(s,t,e),o.signal),c=a.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),l=Math.min(...a.Answer.map(u=>u.TTL));return this._TXTcache.set(ni(t,e),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),Hf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Fw=Wf;var Kw=Fw;var{code:yA}=ot("dnsaddr");async function Vw(r,t={}){let e=new Kw;t.signal!=null&&t.signal.addEventListener("abort",()=>{e.cancel()});let n=r.getPeerId(),[,i]=r.stringTuples().find(([a])=>a===yA)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await e.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}function Qf(r){let{address:t}=r.nodeAddress();return!!ti(t)}function Tc(r,t){let e=Qf(r.multiaddr),n=Qf(t.multiaddr);return e&&!n?1:!e&&n||r.isCertified&&!t.isCertified?-1:!r.isCertified&&t.isCertified?1:0}var Cc=T(ht(),1);var EA={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:r=>r},connectionManager:{maxConnections:300,minConnections:50,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:Vw},addressSorter:Tc},connectionGater:{},transportManager:{faultTolerance:dn.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},identify:{protocolPrefix:"ipfs",host:{agentVersion:yf},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1,maxObservedAddresses:10},ping:{protocolPrefix:"ipfs",maxInboundStreams:2,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4},autonat:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:3e4,startupDelay:5e3,refreshInterval:6e4}};function qw(r){let t=Le(EA,r);if(t.transports==null||t.transports.length<1)throw(0,Cc.default)(new Error(W.ERR_TRANSPORTS_REQUIRED),_.ERR_TRANSPORTS_REQUIRED);if(t.connectionEncryption==null||t.connectionEncryption.length===0)throw(0,Cc.default)(new Error(W.CONN_ENCRYPTION_REQUIRED),_.CONN_ENCRYPTION_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw(0,Cc.default)(new Error(W.ERR_PROTECTOR_REQUIRED),_.ERR_PROTECTOR_REQUIRED);return t.identify.host.agentVersion===yf&&(Zg||Qg?t.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(Xs||Jg||Xg||jg)&&(t.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),t}var co=T(ht(),1);var Ke=T(ht(),1);var $w=Symbol.for("@libp2p/peer-discovery");var Bc=class extends Nt{get[$w](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}get lan(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}get(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}findProviders(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}findPeer(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}getClosestPeers(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}provide(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}put(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}async getMode(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}async setMode(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}async refreshRoutingTable(){throw(0,Ke.default)(new Error(W.DHT_DISABLED),_.DHT_DISABLED)}};var $r=T(ht(),1);var Dc=class extends Nt{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw(0,$r.default)(new Error(W.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}get multicodecs(){throw(0,$r.default)(new Error(W.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getPeers(){throw(0,$r.default)(new Error(W.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getTopics(){throw(0,$r.default)(new Error(W.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}subscribe(){throw(0,$r.default)(new Error(W.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}unsubscribe(){throw(0,$r.default)(new Error(W.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getSubscribers(){throw(0,$r.default)(new Error(W.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}async publish(){throw(0,$r.default)(new Error(W.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}};var Xi=T(ht(),1);var oE=T(Ir(),1),rh=T(th(),1),aE=T(ir(),1);var ao=T(ht(),1),nE=T(th(),1),iE=T(eE(),1),eh=T(ir(),1);var rE=U("libp2p:dialer:dial-request"),Lc=class{constructor(t){let{addrs:e,dialAction:n,dialer:i}=t;this.addrs=e,this.dialer=i,this.dialAction=n}async run(t={}){let e=this.dialer.getTokens(this.addrs.length);if(e.length<1)throw(0,ao.default)(new Error("No dial tokens available"),_.ERR_NO_DIAL_TOKENS);let n=new iE.default;for(let a of e)n.push(a).catch(c=>{rE.error(c)});let i=this.addrs.map(()=>{let a=new AbortController;try{(0,eh.setMaxListeners)?.(1/0,a.signal)}catch{}return a});if(t.signal!=null)try{(0,eh.setMaxListeners)?.(1/0,t.signal)}catch{}let s=0,o=!1;try{return await Promise.any(this.addrs.map(async(a,c)=>{let l=await n.shift();if(o)throw this.dialer.releaseToken(e.splice(e.indexOf(l),1)[0]),(0,ao.default)(new Error("dialAction already succeeded"),_.ERR_ALREADY_SUCCEEDED);let u=i[c];if(u==null)throw(0,ao.default)(new Error("dialAction did not come with an AbortController"),_.ERR_INVALID_PARAMETERS);let f;try{let h=u.signal;f=await this.dialAction(a,{...t,signal:t.signal!=null?(0,nE.anySignal)([h,t.signal]):h}),i[c]=void 0}finally{s++,this.addrs.length-s>=e.length?n.push(l).catch(h=>{rE.error(h)}):this.dialer.releaseToken(e.splice(e.indexOf(l),1)[0])}if(f==null)throw(0,ao.default)(new Error("dialAction led to empty object"),_.ERR_TRANSPORT_DIAL_FAILED);return o=!0,f}))}catch(a){throw this.addrs.length===1&&a.name==="AggregateError"?a.errors[0]:a}finally{i.forEach(a=>{a!==void 0&&a.abort()}),e.forEach(a=>{this.dialer.releaseToken(a)})}}};var Er=U("libp2p:dialer"),Pc=class{constructor(t,e={}){this.started=!1,this.addressSorter=e.addressSorter??Tc,this.maxAddrsToDial=e.maxAddrsToDial??25,this.timeout=e.dialTimeout??3e4,this.maxDialsPerPeer=e.maxDialsPerPeer??4,this.tokens=[...new Array(e.maxParallelDials??100)].map((n,i)=>i),this.components=t,this.pendingDials=Ms({name:"libp2p_dialler_pending_dials",metrics:t.metrics}),this.pendingDialTargets=Ms({name:"libp2p_dialler_pending_dial_targets",metrics:t.metrics});for(let[n,i]of Object.entries(e.resolvers??{}))vl.set(n,i)}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(let t of this.pendingDials.values())try{t.controller.abort()}catch(e){Er.error(e)}this.pendingDials.clear();for(let t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(t,e={}){let{peerId:n,multiaddr:i}=zo(t);if(n!=null){if(this.components.peerId.equals(n))throw(0,Xi.default)(new Error("Tried to dial self"),_.ERR_DIALED_SELF);if(i!=null&&(Er("storing multiaddrs %p",n,i),await this.components.peerStore.addressBook.add(n,[i])),await this.components.connectionGater.denyDialPeer?.(n)===!0)throw(0,Xi.default)(new Error("The dial request is blocked by gater.allowDialPeer"),_.ERR_PEER_DIAL_INTERCEPTED)}Er("creating dial target for %p",n);let s=new AbortController,o=sE();this.pendingDialTargets.set(o,s);let a=s.signal;e.signal!=null&&(a=(0,rh.anySignal)([a,e.signal]));let c;try{c=await this._createDialTarget({peerId:n,multiaddr:i},{...e,signal:a})}finally{this.pendingDialTargets.delete(o)}if(c.addrs.length===0)throw(0,Xi.default)(new Error("The dial request has no valid addresses"),_.ERR_NO_VALID_ADDRESSES);let l=this.pendingDials.get(c.id)??this._createPendingDial(c,e);try{let u=await l.promise;return Er("dial succeeded to %s",c.id),u}catch(u){throw Er("dial failed to %s",c.id,u),l.controller.signal.aborted&&(u.code=_.ERR_TIMEOUT),Er.error(u),u}finally{l.destroy()}}getPendingDialTargets(){return this.pendingDialTargets}hasPendingDial(t){return be(t)?this.pendingDials.has(t.getPeerId()??""):this.pendingDials.has(t.toString())}async _createDialTarget(t,e){let n=[];if(be(t.multiaddr)&&n.push(t.multiaddr),!be(t.multiaddr)&&Tn(t.peerId)&&n.push(...await this._loadAddresses(t.peerId)),n=(await Promise.all(n.map(async s=>await this._resolve(s,e)))).flat().filter(s=>!!this.components.transportManager.transportForMultiaddr(s)),n=[...new Set(n.map(s=>s.toString()))].map(s=>Tt(s)),n.length>this.maxAddrsToDial)throw(0,Xi.default)(new Error("dial with more addresses than allowed"),_.ERR_TOO_MANY_ADDRESSES);let i=Tn(t.peerId)?t.peerId:void 0;if(i!=null){let s=`/p2p/${i.toString()}`;n=n.map(o=>{let a=o.getPeerId();return a==null||!i.equals(a)?o.encapsulate(s):o})}return{id:i==null?sE():i.toString(),addrs:n}}async _loadAddresses(t){let e=await this.components.peerStore.addressBook.get(t);return(await Promise.all(e.map(async n=>await this.components.connectionGater.denyDialMultiaddr?.(t,n.multiaddr)===!0?!1:n))).filter(bA).sort(this.addressSorter).map(n=>n.multiaddr)}_createPendingDial(t,e={}){let n=async(l,u={})=>{if(u.signal?.aborted===!0)throw(0,Xi.default)(new Error("already aborted"),_.ERR_ALREADY_ABORTED);return await this.components.transportManager.dial(l,u).catch(f=>{throw Er.error("dial to %s failed",l,f),f})},i=new Lc({addrs:t.addrs,dialAction:n,dialer:this}),s=new oE.TimeoutController(this.timeout),o=[s.signal];e.signal!=null&&o.push(e.signal);let a=(0,rh.anySignal)(o);try{(0,aE.setMaxListeners)?.(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...e,signal:a}),destroy:()=>{s.clear(),this.pendingDials.delete(t.id)}};return this.pendingDials.set(t.id,c),c}getTokens(t){let e=Math.min(t,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,e);return Er("%d tokens request, returning %d, %d remaining",t,e,this.tokens.length),n}releaseToken(t){this.tokens.includes(t)||(Er("token %d released",t),this.tokens.push(t))}async _resolve(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let i=await this._resolveRecord(t,e);return(await Promise.all(i.map(async a=>await this._resolve(a,e)))).flat().reduce((a,c)=>(a.find(l=>l.equals(c))==null&&a.push(c),a),[])}async _resolveRecord(t,e){try{return t=Tt(t.toString()),await t.resolve(e)}catch(n){return Er.error(`multiaddr ${t.toString()} could not be resolved`,n),[]}}};function bA(r){return!!r}function sE(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var xr=U("libp2p"),nh=class extends Nt{constructor(t){super(),this.started=!1,this.peerId=t.peerId;let e=this.components=new Rc({peerId:t.peerId,datastore:t.datastore??new Ro,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...t.connectionGater}});e.peerStore=new xc(e,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore}),this.services=[e],t.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(t.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",o=>{let{detail:a}=o;this.dispatchEvent(new $("peer:discovery",{detail:a}))}),t.connectionProtector!=null&&(this.components.connectionProtector=t.connectionProtector(e)),this.components.upgrader=new za(this.components,{connectionEncryption:(t.connectionEncryption??[]).map(o=>this.configureComponent(o(this.components))),muxers:(t.streamMuxers??[]).map(o=>this.configureComponent(o(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new Pc(this.components,t.connectionManager),this.connectionManager=this.components.connectionManager=new Yo(this.components,t.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",o=>{this.dispatchEvent(new $("peer:disconnect",{detail:o.detail}))}),this.components.connectionManager.addEventListener("peer:connect",o=>{this.dispatchEvent(new $("peer:connect",{detail:o.detail}))}),this.registrar=this.components.registrar=new $a(this.components),this.components.transportManager=new ka(this.components,t.transportManager),this.components.addressManager=new Oo(this.components,t.addresses),this.configureComponent(new Ja(this.components));let n=Wn.generateOptions();this.keychain=this.configureComponent(new Wn(this.components,{...n,...t.keychain})),this.services.push(new Za(this.components,t.nat)),this.identifyService=new Gi(this.components,{...t.identify}),this.configureComponent(this.identifyService),t.dht!=null?this.dht=this.components.dht=t.dht(this.components):this.dht=new Bc,t.pubsub!=null?this.pubsub=this.components.pubsub=t.pubsub(this.components):this.pubsub=new Dc;let i=(t.peerRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&(i.push(this.configureComponent(new ja(this.dht))),this.dht.addEventListener("peer",o=>{this.onDiscoveryPeer(o)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new Po(this.components,{...t.peerRouting,routers:i}));let s=(t.contentRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&s.push(this.configureComponent(new vc(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new ko(this.components,{routers:s})),this.fetchService=this.configureComponent(new Ga(this.components,{...t.fetch})),this.pingService=this.configureComponent(new Ya(this.components,{...t.ping})),this.autonatService=this.configureComponent(new Ac(this.components,{...t.autonat})),this.configureComponent(new Wo(this.components,{minConnections:t.connectionManager.minConnections,autoDialInterval:t.connectionManager.autoDialInterval})),t.relay!=null&&(this.circuitService=this.configureComponent(t.relay(this.components)));for(let o of t.peerDiscovery??[])this.configureComponent(o(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)});t.transports.forEach(o=>{this.components.transportManager.add(this.configureComponent(o(this.components)))})}configureComponent(t){return _r(t)&&this.services.push(t),t}async start(){if(this.started)return;this.started=!0,xr("libp2p is starting"),(await this.keychain.listKeys()).find(e=>e.name==="self")==null&&(xr("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await Promise.all(this.services.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(this.services.map(async e=>{await e.start()})),await Promise.all(this.services.map(async e=>{e.afterStart!=null&&await e.afterStart()})),xr("libp2p has started")}catch(e){throw xr.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){this.started&&(xr("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(this.services.map(async t=>{await t.stop()})),await Promise.all(this.services.map(async t=>{t.afterStop!=null&&await t.afterStop()})),xr("libp2p has stopped"))}isStarted(){return this.started}getConnections(t){return this.components.connectionManager.getConnections(t)}getPeers(){let t=new Dr;for(let e of this.components.connectionManager.getConnections())t.add(e.remotePeer);return Array.from(t)}async dial(t,e={}){return await this.components.connectionManager.openConnection(t,e)}async dialProtocol(t,e,n={}){if(e==null)throw(0,co.default)(new Error("no protocols were provided to open a stream"),_.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(e=Array.isArray(e)?e:[e],e.length===0)throw(0,co.default)(new Error("no protocols were provided to open a stream"),_.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(t,n)).newStream(e,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t){be(t)&&(t=at(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t)}async getPublicKey(t,e={}){if(xr("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.pubKey!=null)return n.pubKey;if(this.dht==null)throw(0,co.default)(new Error("Public key was not in the peer store and the DHT is not enabled"),_.ERR_NO_ROUTERS_AVAILABLE);let i=Ft([F("/pk/"),t.multihash.digest]);for await(let s of this.dht.get(i,e))if(s.name==="VALUE"){let o=Ns(s.value);return await this.peerStore.keyBook.set(t,s.value),o.bytes}throw(0,co.default)(new Error(`Node not responding with its public key: ${t.toString()}`),_.ERR_INVALID_RECORD)}async fetch(t,e,n={}){if(be(t)){let i=at(t.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[t]),t=i}return await this.fetchService.fetch(t,e,n)}async ping(t,e={}){if(be(t)){let n=at(t.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[t]),t=n}return await this.pingService.ping(t,e)}async handle(t,e,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,e,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async e=>{await this.components.registrar.unhandle(e)}))}async register(t,e){return await this.registrar.register(t,e)}unregister(t){this.registrar.unregister(t)}onDiscoveryPeer(t){let{detail:e}=t;if(e.id.toString()===this.peerId.toString()){xr.error(new Error(_.ERR_DISCOVERED_SELF));return}e.multiaddrs.length>0&&this.components.peerStore.addressBook.add(e.id,e.multiaddrs).catch(n=>{xr.error(n)}),e.protocols.length>0&&this.components.peerStore.protoBook.set(e.id,e.protocols).catch(n=>{xr.error(n)}),this.dispatchEvent(new $("peer:discovery",{detail:e}))}};async function cE(r){if(r.peerId==null){let t=r.datastore;if(t!=null)try{let e=new Wn({datastore:t},Le(Wn.generateOptions(),r.keychain));r.peerId=await e.exportPeerId("self")}catch(e){if(e.code!=="ERR_NOT_FOUND")throw e}}return r.peerId==null&&(r.peerId=await bc()),new nh(qw(r))}async function _A(r){let t=await cE(r);return r.start!==!1&&await t.start(),t}return pE(SA);})();
50
50
  /*! Bundled license information:
51
51
 
52
52
  @noble/secp256k1/lib/esm/index.js: