@libp2p/pnet 1.0.0-d8f5bc211 → 1.0.0-d9366f9aa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -4
- package/dist/index.min.js +2 -15
- package/dist/src/crypto.d.ts +2 -1
- package/dist/src/crypto.d.ts.map +1 -1
- package/dist/src/crypto.js +2 -2
- package/dist/src/crypto.js.map +1 -1
- package/dist/src/index.d.ts +11 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +20 -26
- package/dist/src/index.js.map +1 -1
- package/dist/src/key-generator.js.map +1 -1
- package/package.json +23 -16
- package/src/crypto.ts +5 -4
- package/src/index.ts +35 -31
package/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
# @libp2p/pnet
|
2
2
|
|
3
3
|
[](http://libp2p.io/)
|
4
4
|
[](https://discuss.libp2p.io)
|
@@ -9,6 +9,21 @@
|
|
9
9
|
|
10
10
|
# About
|
11
11
|
|
12
|
+
<!--
|
13
|
+
|
14
|
+
!IMPORTANT!
|
15
|
+
|
16
|
+
Everything in this README between "# About" and "# Install" is automatically
|
17
|
+
generated and will be overwritten the next time the doc generator is run.
|
18
|
+
|
19
|
+
To make changes to this section, please update the @packageDocumentation section
|
20
|
+
of src/index.js or src/index.ts
|
21
|
+
|
22
|
+
To experiment with formatting, please run "npm run docs" from the root of this
|
23
|
+
repo and examine the changes made.
|
24
|
+
|
25
|
+
-->
|
26
|
+
|
12
27
|
Connection protection management for libp2p leveraging PSK encryption via XSalsa20.
|
13
28
|
|
14
29
|
## Example
|
@@ -53,7 +68,7 @@ node -e "import('@libp2p/pnet').then(({ generateKey }) => generateKey(process.st
|
|
53
68
|
|
54
69
|
### Programmatically
|
55
70
|
|
56
|
-
```
|
71
|
+
```TypeScript
|
57
72
|
import fs from 'fs'
|
58
73
|
import { generateKey } from '@libp2p/pnet'
|
59
74
|
|
@@ -85,8 +100,8 @@ Loading this module through a script tag will make it's exports available as `Li
|
|
85
100
|
|
86
101
|
Licensed under either of
|
87
102
|
|
88
|
-
- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
|
89
|
-
- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
|
103
|
+
- Apache 2.0, ([LICENSE-APACHE](https://github.com/libp2p/js-libp2p/blob/main/packages/pnet/LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
|
104
|
+
- MIT ([LICENSE-MIT](https://github.com/libp2p/js-libp2p/blob/main/packages/pnet/LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
|
90
105
|
|
91
106
|
# Contribution
|
92
107
|
|
package/dist/index.min.js
CHANGED
@@ -1,20 +1,7 @@
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPnet = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
2
|
-
"use strict";var Libp2PPnet=(()=>{var c0=Object.create;var Me=Object.defineProperty;var h0=Object.getOwnPropertyDescriptor;var l0=Object.getOwnPropertyNames;var p0=Object.getPrototypeOf,d0=Object.prototype.hasOwnProperty;var X=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),yt=(t,e)=>{for(var r in e)Me(t,r,{get:e[r],enumerable:!0})},Mn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of l0(e))!d0.call(t,i)&&i!==r&&Me(t,i,{get:()=>e[i],enumerable:!(n=h0(e,i))||n.enumerable});return t};var at=(t,e,r)=>(r=t!=null?c0(p0(t)):{},Mn(e||!t||!t.__esModule?Me(r,"default",{value:t,enumerable:!0}):r,t)),y0=t=>Mn(Me({},"__esModule",{value:!0}),t);var W=X((Qu,Fn)=>{Fn.exports={options:{usePureJavaScript:!1}}});var qn=X((zu,Vn)=>{var vr={};Vn.exports=vr;var On={};vr.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=x0(t,e);else{var i=0,a=e.length,s=e.charAt(0),o=[0];for(i=0;i<t.length;++i){for(var u=0,f=t[i];u<o.length;++u)f+=o[u]<<8,o[u]=f%a,f=f/a|0;for(;f>0;)o.push(f%a),f=f/a|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=o.length-1;i>=0;--i)n+=e[o[i]]}if(r){var c=new RegExp(".{1,"+r+"}","g");n=n.match(c).join(`\r
|
3
|
-
`)}return n};vr.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=On[e];if(!r){r=On[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,a=e.charAt(0),s=[0],n=0;n<t.length;n++){var o=r[t.charCodeAt(n)];if(o===void 0)return;for(var u=0,f=o;u<s.length;++u)f+=s[u]*i,s[u]=f&255,f>>=8;for(;f>0;)s.push(f&255),f>>=8}for(var c=0;t[c]===a&&c<t.length-1;++c)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function x0(t,e){var r=0,n=e.length,i=e.charAt(0),a=[0];for(r=0;r<t.length();++r){for(var s=0,o=t.at(r);s<a.length;++s)o+=a[s]<<8,a[s]=o%n,o=o/n|0;for(;o>0;)a.push(o%n),o=o/n|0}var u="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)u+=i;for(r=a.length-1;r>=0;--r)u+=e[a[r]];return u}});var it=X((Gu,Hn)=>{var Qn=W(),zn=qn(),y=Hn.exports=Qn.util=Qn.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){y.nextTick=process.nextTick,typeof setImmediate=="function"?y.setImmediate=setImmediate:y.setImmediate=y.nextTick;return}if(typeof setImmediate=="function"){y.setImmediate=function(){return setImmediate.apply(void 0,arguments)},y.nextTick=function(o){return setImmediate(o)};return}if(y.setImmediate=function(o){setTimeout(o,0)},typeof window<"u"&&typeof window.postMessage=="function"){let o=function(u){if(u.source===window&&u.data===t){u.stopPropagation();var f=e.slice();e.length=0,f.forEach(function(c){c()})}};var s=o,t="forge.setImmediate",e=[];y.setImmediate=function(u){e.push(u),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",o,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var u=e.slice();e.length=0,u.forEach(function(f){f()})}).observe(i,{attributes:!0});var a=y.setImmediate;y.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),a(u)):(e.push(u),e.length===1&&i.setAttribute("a",n=!n))}}y.nextTick=y.setImmediate})();y.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;y.globalScope=function(){return y.isNodejs?globalThis:typeof self>"u"?window:self}();y.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};y.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};y.isArrayBufferView=function(t){return t&&y.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ee(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}y.ByteBuffer=Ar;function Ar(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(y.isArrayBuffer(t)||y.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Ar||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}y.ByteStringBuffer=Ar;var g0=4096;y.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>g0&&(this.data.substr(0,1),this._constructedStringLength=0)};y.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};y.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};y.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};y.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};y.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};y.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(y.encodeUtf8(t))};y.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};y.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};y.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};y.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};y.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};y.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};y.ByteStringBuffer.prototype.putInt=function(t,e){Ee(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};y.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};y.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};y.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};y.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};y.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};y.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};y.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};y.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};y.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};y.ByteStringBuffer.prototype.getInt=function(t){Ee(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};y.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};y.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};y.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};y.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};y.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};y.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};y.ByteStringBuffer.prototype.copy=function(){var t=y.createBuffer(this.data);return t.read=this.read,t};y.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};y.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};y.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};y.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};y.ByteStringBuffer.prototype.toString=function(){return y.decodeUtf8(this.bytes())};function m0(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=y.isArrayBuffer(t),n=y.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}y.DataBuffer=m0;y.DataBuffer.prototype.length=function(){return this.write-this.read};y.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};y.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};y.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};y.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};y.DataBuffer.prototype.putBytes=function(t,e){if(y.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(y.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof y.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&y.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof y.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var a;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),a=new Uint8Array(this.data.buffer,this.write),this.write+=y.binary.hex.decode(t,a,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),a=new Uint8Array(this.data.buffer,this.write),this.write+=y.binary.base64.decode(t,a,this.write),this;if(e==="utf8"&&(t=y.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),a=new Uint8Array(this.data.buffer,this.write),this.write+=y.binary.raw.decode(a),this;if(e==="utf16")return this.accommodate(t.length*2),a=new Uint16Array(this.data.buffer,this.write),this.write+=y.text.utf16.encode(a),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};y.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};y.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};y.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};y.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};y.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};y.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};y.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};y.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};y.DataBuffer.prototype.putInt=function(t,e){Ee(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};y.DataBuffer.prototype.putSignedInt=function(t,e){return Ee(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};y.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};y.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};y.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};y.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};y.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};y.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};y.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};y.DataBuffer.prototype.getInt=function(t){Ee(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};y.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};y.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};y.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};y.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};y.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};y.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};y.DataBuffer.prototype.copy=function(){return new y.DataBuffer(this)};y.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};y.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};y.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};y.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};y.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return y.binary.raw.encode(e);if(t==="hex")return y.binary.hex.encode(e);if(t==="base64")return y.binary.base64.encode(e);if(t==="utf8")return y.text.utf8.decode(e);if(t==="utf16")return y.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};y.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=y.encodeUtf8(t)),new y.ByteBuffer(t)};y.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};y.xorBytes=function(t,e,r){for(var n="",i="",a="",s=0,o=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),o>=10&&(n+=a,a="",o=0),a+=String.fromCharCode(i),++o;return n+=a,n};y.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};y.bytesToHex=function(t){return y.createBuffer(t).toHex()};y.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Vt=[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],Gn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";y.encode64=function(t,e){for(var r="",n="",i,a,s,o=0;o<t.length;)i=t.charCodeAt(o++),a=t.charCodeAt(o++),s=t.charCodeAt(o++),r+=Ot.charAt(i>>2),r+=Ot.charAt((i&3)<<4|a>>4),isNaN(a)?r+="==":(r+=Ot.charAt((a&15)<<2|s>>6),r+=isNaN(s)?"=":Ot.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
4
|
-
`,r=r.substr(e));return n+=r,n};y.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,a,s=0;s<t.length;)r=Vt[t.charCodeAt(s++)-43],n=Vt[t.charCodeAt(s++)-43],i=Vt[t.charCodeAt(s++)-43],a=Vt[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),a!==64&&(e+=String.fromCharCode((i&3)<<6|a)));return e};y.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};y.decodeUtf8=function(t){return decodeURIComponent(escape(t))};y.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:zn.encode,decode:zn.decode}};y.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};y.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,a=0;a<t.length;++a)n[i++]=t.charCodeAt(a);return e?i-r:n};y.binary.hex.encode=y.bytesToHex;y.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,a=r;for(t.length&1&&(i=1,n[a++]=parseInt(t[0],16));i<t.length;i+=2)n[a++]=parseInt(t.substr(i,2),16);return e?a-r:n};y.binary.base64.encode=function(t,e){for(var r="",n="",i,a,s,o=0;o<t.byteLength;)i=t[o++],a=t[o++],s=t[o++],r+=Ot.charAt(i>>2),r+=Ot.charAt((i&3)<<4|a>>4),isNaN(a)?r+="==":(r+=Ot.charAt((a&15)<<2|s>>6),r+=isNaN(s)?"=":Ot.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
5
|
-
`,r=r.substr(e));return n+=r,n};y.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,a,s,o,u=0,f=r;u<t.length;)i=Vt[t.charCodeAt(u++)-43],a=Vt[t.charCodeAt(u++)-43],s=Vt[t.charCodeAt(u++)-43],o=Vt[t.charCodeAt(u++)-43],n[f++]=i<<2|a>>4,s!==64&&(n[f++]=(a&15)<<4|s>>2,o!==64&&(n[f++]=(s&3)<<6|o));return e?f-r:n.subarray(0,f)};y.binary.base58.encode=function(t,e){return y.binary.baseN.encode(t,Gn,e)};y.binary.base58.decode=function(t,e){return y.binary.baseN.decode(t,Gn,e)};y.text={utf8:{},utf16:{}};y.text.utf8.encode=function(t,e,r){t=y.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,a=0;a<t.length;++a)n[i++]=t.charCodeAt(a);return e?i-r:n};y.text.utf8.decode=function(t){return y.decodeUtf8(String.fromCharCode.apply(null,t))};y.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var a=r,s=r,o=0;o<t.length;++o)i[s++]=t.charCodeAt(o),a+=2;return e?a-r:n};y.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};y.deflate=function(t,e,r){if(e=y.decode64(t.deflate(y.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};y.inflate=function(t,e,r){var n=t.inflate(y.encode64(e)).rval;return n===null?null:y.decode64(n)};var br=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=y.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Er=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(y.decode64(r))),r},v0=function(t,e,r,n){var i=Er(t,e);i===null&&(i={}),i[r]=n,br(t,e,i)},A0=function(t,e,r){var n=Er(t,e);return n!==null&&(n=r in n?n[r]:null),n},b0=function(t,e,r){var n=Er(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var a in n){i=!1;break}i&&(n=null),br(t,e,n)}},E0=function(t,e){br(t,e,null)},Fe=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,a=!1,s=null;for(var o in r){i=r[o];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),a=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),a=!0)}catch(u){s=u}if(a)break}if(!a)throw s;return n};y.setItem=function(t,e,r,n,i){Fe(v0,arguments,i)};y.getItem=function(t,e,r,n){return Fe(A0,arguments,n)};y.removeItem=function(t,e,r,n){Fe(b0,arguments,n)};y.clearItems=function(t,e,r){Fe(E0,arguments,r)};y.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};y.format=function(t){for(var e=/%./g,r,n,i=0,a=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&a.push(n),s=e.lastIndex;var o=r[0][1];switch(o){case"s":case"o":i<arguments.length?a.push(arguments[i+++1]):a.push("<?>");break;case"%":a.push("%");break;default:a.push("<%"+o+"?>")}}return a.push(t.substring(s)),a.join("")};y.formatNumber=function(t,e,r,n){var i=t,a=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,o=n===void 0?".":n,u=i<0?"-":"",f=parseInt(i=Math.abs(+i||0).toFixed(a),10)+"",c=f.length>3?f.length%3:0;return u+(c?f.substr(0,c)+o:"")+f.substr(c).replace(/(\d{3})(?=\d)/g,"$1"+o)+(a?s+Math.abs(i-f).toFixed(a).slice(2):"")};y.formatSize=function(t){return t>=1073741824?t=y.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=y.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=y.formatNumber(t/1024,0)+" KiB":t=y.formatNumber(t,0)+" bytes",t};y.bytesFromIP=function(t){return t.indexOf(".")!==-1?y.bytesFromIPv4(t):t.indexOf(":")!==-1?y.bytesFromIPv6(t):null};y.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=y.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};y.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=y.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var a=y.hexToBytes(t[i]);a.length<2&&n.putByte(0),n.putBytes(a)}return n.getBytes()};y.bytesToIP=function(t){return t.length===4?y.bytesToIPv4(t):t.length===16?y.bytesToIPv6(t):null};y.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};y.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var a=y.bytesToHex(t[i]+t[i+1]);a[0]==="0"&&a!=="0";)a=a.substr(1);if(a==="0"){var s=r[r.length-1],o=e.length;!s||o!==s.end+1?r.push({start:o,end:o}):(s.end=o,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(a)}if(r.length>0){var u=r[n];u.end-u.start>0&&(e.splice(u.start,u.end-u.start+1,""),u.start===0&&e.unshift(""),u.end===7&&e.push(""))}return e.join(":")};y.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in y&&!t.update)return e(null,y.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return y.cores=navigator.hardwareConcurrency,e(null,y.cores);if(typeof Worker>"u")return y.cores=1,e(null,y.cores);if(typeof Blob>"u")return y.cores=2,e(null,y.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var o=Date.now(),u=o+4;Date.now()<u;);self.postMessage({st:o,et:u})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,o,u){if(o===0){var f=Math.floor(s.reduce(function(c,h){return c+h},0)/s.length);return y.cores=Math.max(1,f),URL.revokeObjectURL(r),e(null,y.cores)}i(u,function(c,h){s.push(a(u,h)),n(s,o-1,u)})}function i(s,o){for(var u=[],f=[],c=0;c<s;++c){var h=new Worker(r);h.addEventListener("message",function(p){if(f.push(p.data),f.length===s){for(var g=0;g<s;++g)u[g].terminate();o(null,f)}}),u.push(h)}for(var c=0;c<s;++c)u[c].postMessage(c)}function a(s,o){for(var u=[],f=0;f<s;++f)for(var c=o[f],h=u[f]=[],p=0;p<s;++p)if(f!==p){var g=o[p];(c.st>g.st&&c.st<g.et||g.st>c.st&&g.st<c.et)&&h.push(p)}return u.reduce(function(l,m){return Math.max(l,m.length)},0)}}});var Sr=X((Hu,Yn)=>{var ot=W();it();Yn.exports=ot.cipher=ot.cipher||{};ot.cipher.algorithms=ot.cipher.algorithms||{};ot.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ot.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ot.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};ot.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ot.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ot.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};ot.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),ot.cipher.algorithms[t]=e};ot.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in ot.cipher.algorithms?ot.cipher.algorithms[t]:null};var Br=ot.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Br.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=ot.util.createBuffer(),this.output=t.output||ot.util.createBuffer(),this.mode.start(e)};Br.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Br.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var Cr=X((Yu,Wn)=>{var ft=W();it();ft.cipher=ft.cipher||{};var V=Wn.exports=ft.cipher.modes=ft.cipher.modes||{};V.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};V.ecb.prototype.start=function(t){};V.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};V.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};V.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};V.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};V.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};V.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=Oe(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};V.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};V.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};V.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};V.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};V.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=ft.util.createBuffer(),this._partialBytes=0};V.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Oe(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};V.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var a=(this.blockSize-n)%this.blockSize;a>0&&(a=this.blockSize-a),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(a>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return e.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};V.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var a=(this.blockSize-n)%this.blockSize;a>0&&(a=this.blockSize-a),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(a>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return e.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};V.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ft.util.createBuffer(),this._partialBytes=0};V.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Oe(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};V.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var a=(this.blockSize-n)%this.blockSize;a>0&&(a=this.blockSize-a),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(a>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return e.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};V.ofb.prototype.decrypt=V.ofb.prototype.encrypt;V.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ft.util.createBuffer(),this._partialBytes=0};V.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Oe(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};V.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var a=(this.blockSize-n)%this.blockSize;a>0&&(a=this.blockSize-a),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(a>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),a>0&&!r)return e.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Ve(this._inBlock)};V.ctr.prototype.decrypt=V.ctr.prototype.encrypt;V.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=ft.util.createBuffer(),this._partialBytes=0,this._R=3774873600};V.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=ft.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=ft.util.createBuffer(t.additionalData):r=ft.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=ft.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(wr(n*8)))}this._inBlock=this._j0.slice(0),Ve(this._inBlock),this._partialBytes=0,r=ft.util.createBuffer(r),this._aDataLength=wr(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()])};V.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var a=(this.blockSize-n)%this.blockSize;a>0&&(a=this.blockSize-a),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(a<=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),a>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(a-this._partialBytes)),this._partialBytes=a,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Ve(this._inBlock)};V.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Ve(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};V.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=ft.util.createBuffer();var n=this._aDataLength.concat(wr(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var a=0;a<this._ints;++a)this.tag.putInt32(this._s[a]^i[a]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};V.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var a=t[i/32|0]&1<<31-i%32;a&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};V.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};V.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,a=this._m[r][i];e[0]^=a[0],e[1]^=a[1],e[2]^=a[2],e[3]^=a[3]}return e};V.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};V.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,a=new Array(i),s=0;s<i;++s){var o=[0,0,0,0],u=s/n|0,f=(n-1-s%n)*e;o[u]=1<<e-1<<f,a[s]=this.generateSubHashTable(this.multiply(o,t),e)}return a};V.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var a=n>>>1;a>0;)this.pow(i[2*a],i[a]=[]),a>>=1;for(a=2;a<n;){for(var s=1;s<a;++s){var o=i[a],u=i[s];i[a+s]=[o[0]^u[0],o[1]^u[1],o[2]^u[2],o[3]^u[3]]}a*=2}for(i[0]=[0,0,0,0],a=n+1;a<r;++a){var f=i[a^n];i[a]=[t[0]^f[0],t[1]^f[1],t[2]^f[2],t[3]^f[3]]}return i};function Oe(t,e){if(typeof t=="string"&&(t=ft.util.createBuffer(t)),ft.util.isArray(t)&&t.length>4){var r=t;t=ft.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!ft.util.isArray(t)){for(var i=[],a=e/4,n=0;n<a;++n)i.push(t.getInt32());t=i}return t}function Ve(t){t[t.length-1]=t[t.length-1]+1&4294967295}function wr(t){return[t/4294967296|0,t&4294967295]}});var Qe=X((Wu,Zn)=>{var Z=W();Sr();Cr();it();Zn.exports=Z.aes=Z.aes||{};Z.aes.startEncrypting=function(t,e,r,n){var i=qe({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};Z.aes.createEncryptionCipher=function(t,e){return qe({key:t,output:null,decrypt:!1,mode:e})};Z.aes.startDecrypting=function(t,e,r,n){var i=qe({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};Z.aes.createDecryptionCipher=function(t,e){return qe({key:t,output:null,decrypt:!0,mode:e})};Z.aes.Algorithm=function(t,e){_r||$n();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Tr(r._w,n,i,!1)},decrypt:function(n,i){return Tr(r._w,n,i,!0)}}}),r._init=!1};Z.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=Z.util.createBuffer(e);else if(Z.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=Z.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!Z.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!Z.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var a=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(a)!==-1;this._w=Xn(e,t.decrypt&&!s),this._init=!0}};Z.aes._expandKey=function(t,e){return _r||$n(),Xn(t,e)};Z.aes._updateBlock=Tr;se("AES-ECB",Z.cipher.modes.ecb);se("AES-CBC",Z.cipher.modes.cbc);se("AES-CFB",Z.cipher.modes.cfb);se("AES-OFB",Z.cipher.modes.ofb);se("AES-CTR",Z.cipher.modes.ctr);se("AES-GCM",Z.cipher.modes.gcm);function se(t,e){var r=function(){return new Z.aes.Algorithm(t,e)};Z.cipher.registerAlgorithm(t,r)}var _r=!1,ae=4,ht,Ir,Jn,Wt,bt;function $n(){_r=!0,Jn=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;ht=new Array(256),Ir=new Array(256),Wt=new Array(4),bt=new Array(4);for(var e=0;e<4;++e)Wt[e]=new Array(256),bt[e]=new Array(256);for(var r=0,n=0,i,a,s,o,u,f,c,e=0;e<256;++e){o=n^n<<1^n<<2^n<<3^n<<4,o=o>>8^o&255^99,ht[r]=o,Ir[o]=r,u=t[o],i=t[r],a=t[i],s=t[a],f=u<<24^o<<16^o<<8^(o^u),c=(i^a^s)<<24^(r^s)<<16^(r^a^s)<<8^(r^i^s);for(var h=0;h<4;++h)Wt[h][r]=f,bt[h][o]=c,f=f<<24|f>>>8,c=c<<24|c>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Xn(t,e){for(var r=t.slice(0),n,i=1,a=r.length,s=a+6+1,o=ae*s,u=a;u<o;++u)n=r[u-1],u%a===0?(n=ht[n>>>16&255]<<24^ht[n>>>8&255]<<16^ht[n&255]<<8^ht[n>>>24]^Jn[i]<<24,i++):a>6&&u%a===4&&(n=ht[n>>>24]<<24^ht[n>>>16&255]<<16^ht[n>>>8&255]<<8^ht[n&255]),r[u]=r[u-a]^n;if(e){var f,c=bt[0],h=bt[1],p=bt[2],g=bt[3],l=r.slice(0);o=r.length;for(var u=0,m=o-ae;u<o;u+=ae,m-=ae)if(u===0||u===o-ae)l[u]=r[m],l[u+1]=r[m+3],l[u+2]=r[m+2],l[u+3]=r[m+1];else for(var v=0;v<ae;++v)f=r[m+v],l[u+(3&-v)]=c[ht[f>>>24]]^h[ht[f>>>16&255]]^p[ht[f>>>8&255]]^g[ht[f&255]];r=l}return r}function Tr(t,e,r,n){var i=t.length/4-1,a,s,o,u,f;n?(a=bt[0],s=bt[1],o=bt[2],u=bt[3],f=Ir):(a=Wt[0],s=Wt[1],o=Wt[2],u=Wt[3],f=ht);var c,h,p,g,l,m,v;c=e[0]^t[0],h=e[n?3:1]^t[1],p=e[2]^t[2],g=e[n?1:3]^t[3];for(var b=3,I=1;I<i;++I)l=a[c>>>24]^s[h>>>16&255]^o[p>>>8&255]^u[g&255]^t[++b],m=a[h>>>24]^s[p>>>16&255]^o[g>>>8&255]^u[c&255]^t[++b],v=a[p>>>24]^s[g>>>16&255]^o[c>>>8&255]^u[h&255]^t[++b],g=a[g>>>24]^s[c>>>16&255]^o[h>>>8&255]^u[p&255]^t[++b],c=l,h=m,p=v;r[0]=f[c>>>24]<<24^f[h>>>16&255]<<16^f[p>>>8&255]<<8^f[g&255]^t[++b],r[n?3:1]=f[h>>>24]<<24^f[p>>>16&255]<<16^f[g>>>8&255]<<8^f[c&255]^t[++b],r[2]=f[p>>>24]<<24^f[g>>>16&255]<<16^f[c>>>8&255]<<8^f[h&255]^t[++b],r[n?1:3]=f[g>>>24]<<24^f[c>>>16&255]<<16^f[h>>>8&255]<<8^f[p&255]^t[++b]}function qe(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=Z.cipher.createDecipher(r,t.key):n=Z.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(a,s){var o=null;s instanceof Z.util.ByteBuffer&&(o=s,s={}),s=s||{},s.output=o,s.iv=a,i.call(n,s)},n}});var Ye=X((jc,Ei)=>{var Te=W();Te.pki=Te.pki||{};var tn=Ei.exports=Te.pki.oids=Te.oids=Te.oids||{};function B(t,e){tn[t]=e,tn[e]=t}function Y(t,e){tn[t]=e}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");Y("2.5.29.1","authorityKeyIdentifier");Y("2.5.29.2","keyAttributes");Y("2.5.29.3","certificatePolicies");Y("2.5.29.4","keyUsageRestriction");Y("2.5.29.5","policyMapping");Y("2.5.29.6","subtreesConstraint");Y("2.5.29.7","subjectAltName");Y("2.5.29.8","issuerAltName");Y("2.5.29.9","subjectDirectoryAttributes");Y("2.5.29.10","basicConstraints");Y("2.5.29.11","nameConstraints");Y("2.5.29.12","policyConstraints");Y("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");Y("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");Y("2.5.29.20","cRLNumber");Y("2.5.29.21","cRLReason");Y("2.5.29.22","expirationDate");Y("2.5.29.23","instructionCode");Y("2.5.29.24","invalidityDate");Y("2.5.29.25","cRLDistributionPoints");Y("2.5.29.26","issuingDistributionPoint");Y("2.5.29.27","deltaCRLIndicator");Y("2.5.29.28","issuingDistributionPoint");Y("2.5.29.29","certificateIssuer");Y("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");Y("2.5.29.33","policyMappings");Y("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");Y("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");Y("2.5.29.46","freshestCRL");Y("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var De=X((th,Si)=>{var j=W();it();Ye();var T=Si.exports=j.asn1=j.asn1||{};T.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};T.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};T.create=function(t,e,r,n,i){if(j.util.isArray(n)){for(var a=[],s=0;s<n.length;++s)n[s]!==void 0&&a.push(n[s]);n=a}var o={tagClass:t,type:e,constructed:r,composed:r||j.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(o.bitStringContents=i.bitStringContents,o.original=T.copy(o)),o};T.copy=function(t,e){var r;if(j.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(T.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:T.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};T.equals=function(t,e,r){if(j.util.isArray(t)){if(!j.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!T.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&T.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};T.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function _e(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var Rs=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var a=r&127;_e(t,e,a),n=t.getInt(a<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};T.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=j.util.createBuffer(t));var r=t.length(),n=We(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function We(t,e,r,n){var i;_e(t,e,2);var a=t.getByte();e--;var s=a&192,o=a&31;i=t.length();var u=Rs(t,e);if(e-=i-t.length(),u!==void 0&&u>e){if(n.strict){var f=new Error("Too few bytes to read ASN.1 value.");throw f.available=t.length(),f.remaining=e,f.requested=u,f}u=e}var c,h,p=(a&32)===32;if(p)if(c=[],u===void 0)for(;;){if(_e(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),c.push(We(t,e,r+1,n)),e-=i-t.length()}else for(;u>0;)i=t.length(),c.push(We(t,u,r+1,n)),e-=i-t.length(),u-=i-t.length();if(c===void 0&&s===T.Class.UNIVERSAL&&o===T.Type.BITSTRING&&(h=t.bytes(u)),c===void 0&&n.decodeBitStrings&&s===T.Class.UNIVERSAL&&o===T.Type.BITSTRING&&u>1){var g=t.read,l=e,m=0;if(o===T.Type.BITSTRING&&(_e(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var v={strict:!0,decodeBitStrings:!0},b=We(t,e,r+1,v),I=i-t.length();e-=I,o==T.Type.BITSTRING&&I++;var w=b.tagClass;I===u&&(w===T.Class.UNIVERSAL||w===T.Class.CONTEXT_SPECIFIC)&&(c=[b])}catch{}c===void 0&&(t.read=g,e=l)}if(c===void 0){if(u===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");u=e}if(o===T.Type.BMPSTRING)for(c="";u>0;u-=2)_e(t,e,2),c+=String.fromCharCode(t.getInt16()),e-=2;else c=t.getBytes(u),e-=u}var R=h===void 0?null:{bitStringContents:h};return T.create(s,o,p,c,R)}T.toDer=function(t){var e=j.util.createBuffer(),r=t.tagClass|t.type,n=j.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=T.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var a=0;a<t.value.length;++a)t.value[a]!==void 0&&n.putBuffer(T.toDer(t.value[a]))}else if(t.type===T.Type.BMPSTRING)for(var a=0;a<t.value.length;++a)n.putInt16(t.value.charCodeAt(a));else t.type===T.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),o="";do o+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(o.length|128);for(var a=o.length-1;a>=0;--a)e.putByte(o.charCodeAt(a))}return e.putBuffer(n),e};T.oidToDer=function(t){var e=t.split("."),r=j.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,a,s,o=2;o<e.length;++o){n=!0,i=[],a=parseInt(e[o],10);do s=a&127,a=a>>>7,n||(s|=128),i.push(s),n=!1;while(a>0);for(var u=i.length-1;u>=0;--u)r.putByte(i[u])}return r};T.derToOid=function(t){var e;typeof t=="string"&&(t=j.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};T.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),a=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=0;if(t.length>11){var u=t.charAt(10),f=10;u!=="+"&&u!=="-"&&(o=parseInt(t.substr(10,2),10),f+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(a,s,o,0),f&&(u=t.charAt(f),u==="+"||u==="-")){var c=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10),p=c*60+h;p*=6e4,u==="+"?e.setTime(+e-p):e.setTime(+e+p)}return e};T.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),a=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),o=parseInt(t.substr(12,2),10),u=0,f=0,c=!1;t.charAt(t.length-1)==="Z"&&(c=!0);var h=t.length-5,p=t.charAt(h);if(p==="+"||p==="-"){var g=parseInt(t.substr(h+1,2),10),l=parseInt(t.substr(h+4,2),10);f=g*60+l,f*=6e4,p==="+"&&(f*=-1),c=!0}return t.charAt(14)==="."&&(u=parseFloat(t.substr(14),10)*1e3),c?(e.setUTCFullYear(r,n,i),e.setUTCHours(a,s,o,u),e.setTime(+e+f)):(e.setFullYear(r,n,i),e.setHours(a,s,o,u)),e};T.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};T.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};T.integerToDer=function(t){var e=j.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};T.derToInteger=function(t){typeof t=="string"&&(t=j.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};T.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&j.util.isArray(e.value))for(var a=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[a]&&(i=T.validate(t.value[a],e.value[s],r,n),i?++a:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var o;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var u=t.bitStringContents.charCodeAt(0);if(u!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var Bi=/[^\\u0000-\\u00ff]/;T.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
6
|
-
`);for(var i="",a=0;a<e*r;++a)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case T.Class.UNIVERSAL:n+="Universal:";break;case T.Class.APPLICATION:n+="Application:";break;case T.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case T.Class.PRIVATE:n+="Private:";break}if(t.tagClass===T.Class.UNIVERSAL)switch(n+=t.type,t.type){case T.Type.NONE:n+=" (None)";break;case T.Type.BOOLEAN:n+=" (Boolean)";break;case T.Type.INTEGER:n+=" (Integer)";break;case T.Type.BITSTRING:n+=" (Bit string)";break;case T.Type.OCTETSTRING:n+=" (Octet string)";break;case T.Type.NULL:n+=" (Null)";break;case T.Type.OID:n+=" (Object Identifier)";break;case T.Type.ODESC:n+=" (Object Descriptor)";break;case T.Type.EXTERNAL:n+=" (External or Instance of)";break;case T.Type.REAL:n+=" (Real)";break;case T.Type.ENUMERATED:n+=" (Enumerated)";break;case T.Type.EMBEDDED:n+=" (Embedded PDV)";break;case T.Type.UTF8:n+=" (UTF8)";break;case T.Type.ROID:n+=" (Relative Object Identifier)";break;case T.Type.SEQUENCE:n+=" (Sequence)";break;case T.Type.SET:n+=" (Set)";break;case T.Type.PRINTABLESTRING:n+=" (Printable String)";break;case T.Type.IA5String:n+=" (IA5String (ASCII))";break;case T.Type.UTCTIME:n+=" (UTC time)";break;case T.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case T.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
7
|
-
`,n+=i+"Constructed: "+t.constructed+`
|
8
|
-
`,t.composed){for(var s=0,o="",a=0;a<t.value.length;++a)t.value[a]!==void 0&&(s+=1,o+=T.prettyPrint(t.value[a],e+1,r),a+1<t.value.length&&(o+=","));n+=i+"Sub values: "+s+o}else{if(n+=i+"Value: ",t.type===T.Type.OID){var u=T.derToOid(t.value);n+=u,j.pki&&j.pki.oids&&u in j.pki.oids&&(n+=" ("+j.pki.oids[u]+") ")}if(t.type===T.Type.INTEGER)try{n+=T.derToInteger(t.value)}catch{n+="0x"+j.util.bytesToHex(t.value)}else if(t.type===T.Type.BITSTRING){if(t.value.length>1?n+="0x"+j.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var f=t.value.charCodeAt(0);f==1?n+=" (1 unused bit shown)":f>1&&(n+=" ("+f+" unused bits shown)")}}else if(t.type===T.Type.OCTETSTRING)Bi.test(t.value)||(n+="("+t.value+") "),n+="0x"+j.util.bytesToHex(t.value);else if(t.type===T.Type.UTF8)try{n+=j.util.decodeUtf8(t.value)}catch(c){if(c.message==="URI malformed")n+="0x"+j.util.bytesToHex(t.value)+" (malformed UTF8)";else throw c}else t.type===T.Type.PRINTABLESTRING||t.type===T.Type.IA5String?n+=t.value:Bi.test(t.value)?n+="0x"+j.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ii=X((eh,Ci)=>{var et=W();Sr();Cr();it();Ci.exports=et.des=et.des||{};et.des.startEncrypting=function(t,e,r,n){var i=Je({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};et.des.createEncryptionCipher=function(t,e){return Je({key:t,output:null,decrypt:!1,mode:e})};et.des.startDecrypting=function(t,e,r,n){var i=Je({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};et.des.createDecryptionCipher=function(t,e){return Je({key:t,output:null,decrypt:!0,mode:e})};et.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return wi(r._keys,n,i,!1)},decrypt:function(n,i){return wi(r._keys,n,i,!0)}}}),r._init=!1};et.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=et.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=Os(e),this._init=!0}};Ct("DES-ECB",et.cipher.modes.ecb);Ct("DES-CBC",et.cipher.modes.cbc);Ct("DES-CFB",et.cipher.modes.cfb);Ct("DES-OFB",et.cipher.modes.ofb);Ct("DES-CTR",et.cipher.modes.ctr);Ct("3DES-ECB",et.cipher.modes.ecb);Ct("3DES-CBC",et.cipher.modes.cbc);Ct("3DES-CFB",et.cipher.modes.cfb);Ct("3DES-OFB",et.cipher.modes.ofb);Ct("3DES-CTR",et.cipher.modes.ctr);function Ct(t,e){var r=function(){return new et.des.Algorithm(t,e)};et.cipher.registerAlgorithm(t,r)}var Ns=[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],Ls=[-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],ks=[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],Ps=[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],Ks=[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],Us=[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],Ms=[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],Fs=[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 Os(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],a=[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],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],f=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],c=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],g=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],l=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,v=[],b=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],I=0,w,R=0;R<m;R++){var C=t.getInt32(),S=t.getInt32();w=(C>>>4^S)&252645135,S^=w,C^=w<<4,w=(S>>>-16^C)&65535,C^=w,S^=w<<-16,w=(C>>>2^S)&858993459,S^=w,C^=w<<2,w=(S>>>-16^C)&65535,C^=w,S^=w<<-16,w=(C>>>1^S)&1431655765,S^=w,C^=w<<1,w=(S>>>8^C)&16711935,C^=w,S^=w<<8,w=(C>>>1^S)&1431655765,S^=w,C^=w<<1,w=C<<8|S>>>20&240,C=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=w;for(var N=0;N<b.length;++N){b[N]?(C=C<<2|C>>>26,S=S<<2|S>>>26):(C=C<<1|C>>>27,S=S<<1|S>>>27),C&=-15,S&=-15;var k=e[C>>>28]|r[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|a[C>>>12&15]|s[C>>>8&15]|o[C>>>4&15],K=u[S>>>28]|f[S>>>24&15]|c[S>>>20&15]|h[S>>>16&15]|p[S>>>12&15]|g[S>>>8&15]|l[S>>>4&15];w=(K>>>16^k)&65535,v[I++]=k^w,v[I++]=K^w<<16}}return v}function wi(t,e,r,n){var i=t.length===32?3:9,a;i===3?a=n?[30,-2,-2]:[0,32,2]:a=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,o=e[0],u=e[1];s=(o>>>4^u)&252645135,u^=s,o^=s<<4,s=(o>>>16^u)&65535,u^=s,o^=s<<16,s=(u>>>2^o)&858993459,o^=s,u^=s<<2,s=(u>>>8^o)&16711935,o^=s,u^=s<<8,s=(o>>>1^u)&1431655765,u^=s,o^=s<<1,o=o<<1|o>>>31,u=u<<1|u>>>31;for(var f=0;f<i;f+=3){for(var c=a[f+1],h=a[f+2],p=a[f];p!=c;p+=h){var g=u^t[p],l=(u>>>4|u<<28)^t[p+1];s=o,o=u,u=s^(Ls[g>>>24&63]|Ps[g>>>16&63]|Us[g>>>8&63]|Fs[g&63]|Ns[l>>>24&63]|ks[l>>>16&63]|Ks[l>>>8&63]|Ms[l&63])}s=o,o=u,u=s}o=o>>>1|o<<31,u=u>>>1|u<<31,s=(o>>>1^u)&1431655765,u^=s,o^=s<<1,s=(u>>>8^o)&16711935,o^=s,u^=s<<8,s=(u>>>2^o)&858993459,o^=s,u^=s<<2,s=(o>>>16^u)&65535,u^=s,o^=s<<16,s=(o>>>4^u)&252645135,u^=s,o^=s<<4,r[0]=o,r[1]=u}function Je(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=et.cipher.createDecipher(r,t.key):n=et.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(a,s){var o=null;s instanceof et.util.ByteBuffer&&(o=s,s={}),s=s||{},s.output=o,s.iv=a,i.call(n,s)},n}});var Xt=X((rh,Ti)=>{var $e=W();Ti.exports=$e.md=$e.md||{};$e.md.algorithms=$e.md.algorithms||{}});var Di=X((nh,_i)=>{var Ut=W();Xt();it();var Vs=_i.exports=Ut.hmac=Ut.hmac||{};Vs.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(a,s){if(a!==null)if(typeof a=="string")if(a=a.toLowerCase(),a in Ut.md.algorithms)e=Ut.md.algorithms[a].create();else throw new Error('Unknown hash algorithm "'+a+'"');else e=a;if(s===null)s=t;else{if(typeof s=="string")s=Ut.util.createBuffer(s);else if(Ut.util.isArray(s)){var o=s;s=Ut.util.createBuffer();for(var u=0;u<o.length;++u)s.putByte(o[u])}var f=s.length();f>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=Ut.util.createBuffer(),n=Ut.util.createBuffer(),f=s.length();for(var u=0;u<f;++u){var o=s.at(u);r.putByte(54^o),n.putByte(92^o)}if(f<e.blockLength)for(var o=e.blockLength-f,u=0;u<o;++u)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(a){e.update(a)},i.getMac=function(){var a=e.digest().bytes();return e.start(),e.update(n),e.update(a),e.digest()},i.digest=i.getMac,i}});var Xe=X(()=>{});var en=X((sh,Ri)=>{var lt=W();Di();Xt();it();var qs=lt.pkcs5=lt.pkcs5||{},Mt;lt.util.isNodejs&&!lt.options.usePureJavaScript&&(Mt=Xe());Ri.exports=lt.pbkdf2=qs.pbkdf2=function(t,e,r,n,i,a){if(typeof i=="function"&&(a=i,i=null),lt.util.isNodejs&&!lt.options.usePureJavaScript&&Mt.pbkdf2&&(i===null||typeof i!="object")&&(Mt.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),a?Mt.pbkdf2Sync.length===4?Mt.pbkdf2(t,e,r,n,function(w,R){if(w)return a(w);a(null,R.toString("binary"))}):Mt.pbkdf2(t,e,r,n,i,function(w,R){if(w)return a(w);a(null,R.toString("binary"))}):Mt.pbkdf2Sync.length===4?Mt.pbkdf2Sync(t,e,r,n).toString("binary"):Mt.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in lt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=lt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var o=new Error("Derived key is too long.");if(a)return a(o);throw o}var u=Math.ceil(n/s),f=n-(u-1)*s,c=lt.hmac.create();c.start(i,t);var h="",p,g,l;if(!a){for(var m=1;m<=u;++m){c.start(null,null),c.update(e),c.update(lt.util.int32ToBytes(m)),p=l=c.digest().getBytes();for(var v=2;v<=r;++v)c.start(null,null),c.update(l),g=c.digest().getBytes(),p=lt.util.xorBytes(p,g,s),l=g;h+=m<u?p:p.substr(0,f)}return h}var m=1,v;function b(){if(m>u)return a(null,h);c.start(null,null),c.update(e),c.update(lt.util.int32ToBytes(m)),p=l=c.digest().getBytes(),v=2,I()}function I(){if(v<=r)return c.start(null,null),c.update(l),g=c.digest().getBytes(),p=lt.util.xorBytes(p,g,s),l=g,++v,lt.util.setImmediate(I);h+=m<u?p:p.substr(0,f),++m,b()}b()}});var ki=X((oh,Li)=>{var je=W();it();var Ni=Li.exports=je.pem=je.pem||{};Ni.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
9
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Ze(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Ze(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Ze(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Ze(t.headers[i]);return t.procType&&(r+=`\r
|
10
|
-
`),r+=je.util.encode64(t.body,e.maxline||64)+`\r
|
11
|
-
`,r+="-----END "+t.type+`-----\r
|
12
|
-
`,r};Ni.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,a;a=r.exec(t),!!a;){var s=a[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var o={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:je.util.decode64(a[3])};if(e.push(o),!!a[2]){for(var u=a[2].split(i),f=0;a&&f<u.length;){for(var c=u[f].replace(/\s+$/,""),h=f+1;h<u.length;++h){var p=u[h];if(!/\s/.test(p[0]))break;c+=p,f=h}if(a=c.match(n),a){for(var g={name:a[1],values:[]},l=a[2].split(","),m=0;m<l.length;++m)g.values.push(Qs(l[m]));if(o.procType)if(!o.contentDomain&&g.name==="Content-Domain")o.contentDomain=l[0]||"";else if(!o.dekInfo&&g.name==="DEK-Info"){if(g.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');o.dekInfo={algorithm:l[0],parameters:l[1]||null}}else o.headers.push(g);else{if(g.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(g.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');o.procType={version:l[0],type:l[1]}}}++f}if(o.procType==="ENCRYPTED"&&!o.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function Ze(t){for(var e=t.name+": ",r=[],n=function(u,f){return" "+f},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
13
|
-
`;for(var a=0,s=-1,i=0;i<e.length;++i,++a)if(a>65&&s!==-1){var o=e[s];o===","?(++s,e=e.substr(0,s)+`\r
|
14
|
-
`+e.substr(s)):e=e.substr(0,s)+`\r
|
15
|
-
`+o+e.substr(s+1),a=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function Qs(t){return t.replace(/^\s+/,"")}});var Oi=X((fh,Fi)=>{var It=W();Xt();it();var Ki=Fi.exports=It.sha256=It.sha256||{};It.md.sha256=It.md.algorithms.sha256=Ki;Ki.create=function(){Ui||zs();var t=null,e=It.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,a=0;a<i;++a)n.fullMessageLength.push(0);return e=It.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,a){a==="utf8"&&(i=It.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var o=n.fullMessageLength.length-1;o>=0;--o)n.fullMessageLength[o]+=s[1],s[1]=s[0]+(n.fullMessageLength[o]/4294967296>>>0),n.fullMessageLength[o]=n.fullMessageLength[o]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),Pi(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=It.util.createBuffer();i.putBytes(e.bytes());var a=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=a&n.blockLength-1;i.putBytes(rn.substr(0,n.blockLength-s));for(var o,u,f=n.fullMessageLength[0]*8,c=0;c<n.fullMessageLength.length-1;++c)o=n.fullMessageLength[c+1]*8,u=o/4294967296>>>0,f+=u,i.putInt32(f>>>0),f=o>>>0;i.putInt32(f);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};Pi(h,r,i);var p=It.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p.putInt32(h.h5),p.putInt32(h.h6),p.putInt32(h.h7),p},n};var rn=null,Ui=!1,Mi=null;function zs(){rn="\x80",rn+=It.util.fillString("\0",64),Mi=[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],Ui=!0}function Pi(t,e,r){for(var n,i,a,s,o,u,f,c,h,p,g,l,m,v,b,I=r.length();I>=64;){for(f=0;f<16;++f)e[f]=r.getInt32();for(;f<64;++f)n=e[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[f]=n+e[f-7]+i+e[f-16]|0;for(c=t.h0,h=t.h1,p=t.h2,g=t.h3,l=t.h4,m=t.h5,v=t.h6,b=t.h7,f=0;f<64;++f)s=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7),o=v^l&(m^v),a=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),u=c&h|p&(c^h),n=b+s+o+Mi[f]+e[f],i=a+u,b=v,v=m,m=l,l=g+n>>>0,g=p,p=h,h=c,c=n+i>>>0;t.h0=t.h0+c|0,t.h1=t.h1+h|0,t.h2=t.h2+p|0,t.h3=t.h3+g|0,t.h4=t.h4+l|0,t.h5=t.h5+m|0,t.h6=t.h6+v|0,t.h7=t.h7+b|0,I-=64}}});var qi=X((uh,Vi)=>{var Tt=W();it();var tr=null;Tt.util.isNodejs&&!Tt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(tr=Xe());var Gs=Vi.exports=Tt.prng=Tt.prng||{};Gs.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(f,c){if(!c)return e.generateSync(f);var h=e.plugin.cipher,p=e.plugin.increment,g=e.plugin.formatKey,l=e.plugin.formatSeed,m=Tt.util.createBuffer();e.key=null,v();function v(b){if(b)return c(b);if(m.length()>=f)return c(null,m.getBytes(f));if(e.generated>1048575&&(e.key=null),e.key===null)return Tt.util.nextTick(function(){a(v)});var I=h(e.key,e.seed);e.generated+=I.length,m.putBytes(I),e.key=g(h(e.key,p(e.seed))),e.seed=l(h(e.key,e.seed)),Tt.util.setImmediate(v)}},e.generateSync=function(f){var c=e.plugin.cipher,h=e.plugin.increment,p=e.plugin.formatKey,g=e.plugin.formatSeed;e.key=null;for(var l=Tt.util.createBuffer();l.length()<f;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=c(e.key,e.seed);e.generated+=m.length,l.putBytes(m),e.key=p(c(e.key,h(e.seed))),e.seed=g(c(e.key,e.seed))}return l.getBytes(f)};function a(f){if(e.pools[0].messageLength>=32)return o(),f();var c=32-e.pools[0].messageLength<<5;e.seedFile(c,function(h,p){if(h)return f(h);e.collect(p),o(),f()})}function s(){if(e.pools[0].messageLength>=32)return o();var f=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(f)),o()}function o(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var f=e.plugin.md.create();f.update(e.keyBytes);for(var c=1,h=0;h<32;++h)e.reseeds%c===0&&(f.update(e.pools[h].digest().getBytes()),e.pools[h].start()),c=c<<1;e.keyBytes=f.digest().getBytes(),f.start(),f.update(e.keyBytes);var p=f.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(p),e.generated=0}function u(f){var c=null,h=Tt.util.globalScope,p=h.crypto||h.msCrypto;p&&p.getRandomValues&&(c=function(C){return p.getRandomValues(C)});var g=Tt.util.createBuffer();if(c)for(;g.length()<f;){var l=Math.max(1,Math.min(f-g.length(),65536)/4),m=new Uint32Array(Math.floor(l));try{c(m);for(var v=0;v<m.length;++v)g.putInt32(m[v])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(g.length()<f)for(var b,I,w,R=Math.floor(Math.random()*65536);g.length()<f;){I=16807*(R&65535),b=16807*(R>>16),I+=(b&32767)<<16,I+=b>>15,I=(I&2147483647)+(I>>31),R=I&4294967295;for(var v=0;v<3;++v)w=R>>>(v<<3),w^=Math.floor(Math.random()*256),g.putByte(w&255)}return g.getBytes(f)}return tr?(e.seedFile=function(f,c){tr.randomBytes(f,function(h,p){if(h)return c(h);c(null,p.toString())})},e.seedFileSync=function(f){return tr.randomBytes(f).toString()}):(e.seedFile=function(f,c){try{c(null,u(f))}catch(h){c(h)}},e.seedFileSync=u),e.collect=function(f){for(var c=f.length,h=0;h<c;++h)e.pools[e.pool].update(f.substr(h,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(f,c){for(var h="",p=0;p<c;p+=8)h+=String.fromCharCode(f>>p&255);e.collect(h)},e.registerWorker=function(f){if(f===self)e.seedFile=function(h,p){function g(l){var m=l.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",g),p(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:h}}})};else{var c=function(h){var p=h.data;p.forge&&p.forge.prng&&e.seedFile(p.forge.prng.needed,function(g,l){f.postMessage({forge:{prng:{err:g,bytes:l}}})})};f.addEventListener("message",c)}},e}});var Re=X((ch,nn)=>{var ut=W();Qe();Oi();qi();it();(function(){if(ut.random&&ut.random.getBytes){nn.exports=ut.random;return}(function(t){var e={},r=new Array(4),n=ut.util.createBuffer();e.formatKey=function(h){var p=ut.util.createBuffer(h);return h=new Array(4),h[0]=p.getInt32(),h[1]=p.getInt32(),h[2]=p.getInt32(),h[3]=p.getInt32(),ut.aes._expandKey(h,!1)},e.formatSeed=function(h){var p=ut.util.createBuffer(h);return h=new Array(4),h[0]=p.getInt32(),h[1]=p.getInt32(),h[2]=p.getInt32(),h[3]=p.getInt32(),h},e.cipher=function(h,p){return ut.aes._updateBlock(h,p,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(h){return++h[3],h},e.md=ut.md.sha256;function i(){var h=ut.prng.create(e);return h.getBytes=function(p,g){return h.generate(p,g)},h.getBytesSync=function(p){return h.generate(p)},h}var a=i(),s=null,o=ut.util.globalScope,u=o.crypto||o.msCrypto;if(u&&u.getRandomValues&&(s=function(h){return u.getRandomValues(h)}),ut.options.usePureJavaScript||!ut.util.isNodejs&&!s){if(typeof window>"u"||window.document,a.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var c in navigator)try{typeof navigator[c]=="string"&&(f+=navigator[c])}catch{}a.collect(f),f=null}t&&(t().mousemove(function(h){a.collectInt(h.clientX,16),a.collectInt(h.clientY,16)}),t().keypress(function(h){a.collectInt(h.charCode,8)}))}if(!ut.random)ut.random=a;else for(var c in a)ut.random[c]=a[c];ut.random.createInstance=i,nn.exports=ut.random})(typeof jQuery<"u"?jQuery:null)})()});var Hi=X((hh,Gi)=>{var pt=W();it();var an=[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],Qi=[1,2,3,5],Hs=function(t,e){return t<<e&65535|(t&65535)>>16-e},Ys=function(t,e){return(t&65535)>>e|t<<16-e&65535};Gi.exports=pt.rc2=pt.rc2||{};pt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=pt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,a=Math.ceil(i/8),s=255>>(i&7),o;for(o=n;o<128;o++)r.putByte(an[r.at(o-1)+r.at(o-n)&255]);for(r.setAt(128-a,an[r.at(128-a)&s]),o=127-a;o>=0;o--)r.setAt(o,an[r.at(o+1)^r.at(o+a)]);return r};var zi=function(t,e,r){var n=!1,i=null,a=null,s=null,o,u,f,c,h=[];for(t=pt.rc2.expandKey(t,e),f=0;f<64;f++)h.push(t.getInt16Le());r?(o=function(l){for(f=0;f<4;f++)l[f]+=h[c]+(l[(f+3)%4]&l[(f+2)%4])+(~l[(f+3)%4]&l[(f+1)%4]),l[f]=Hs(l[f],Qi[f]),c++},u=function(l){for(f=0;f<4;f++)l[f]+=h[l[(f+3)%4]&63]}):(o=function(l){for(f=3;f>=0;f--)l[f]=Ys(l[f],Qi[f]),l[f]-=h[c]+(l[(f+3)%4]&l[(f+2)%4])+(~l[(f+3)%4]&l[(f+1)%4]),c--},u=function(l){for(f=3;f>=0;f--)l[f]-=h[l[(f+3)%4]&63]});var p=function(l){var m=[];for(f=0;f<4;f++){var v=i.getInt16Le();s!==null&&(r?v^=s.getInt16Le():s.putInt16Le(v)),m.push(v&65535)}c=r?0:63;for(var b=0;b<l.length;b++)for(var I=0;I<l[b][0];I++)l[b][1](m);for(f=0;f<4;f++)s!==null&&(r?s.putInt16Le(m[f]):m[f]^=s.getInt16Le()),a.putInt16Le(m[f])},g=null;return g={start:function(l,m){l&&typeof l=="string"&&(l=pt.util.createBuffer(l)),n=!1,i=pt.util.createBuffer(),a=m||new pt.util.createBuffer,s=l,g.output=a},update:function(l){for(n||i.putBuffer(l);i.length()>=8;)p([[5,o],[1,u],[6,o],[1,u],[5,o]])},finish:function(l){var m=!0;if(r)if(l)m=l(8,i,!r);else{var v=i.length()===8?8:8-i.length();i.fillWithByte(v,v)}if(m&&(n=!0,g.update()),!r&&(m=i.length()===0,m))if(l)m=l(8,a,!r);else{var b=a.length(),I=a.at(b-1);I>b?m=!1:a.truncate(I)}return m}},g};pt.rc2.startEncrypting=function(t,e,r){var n=pt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};pt.rc2.createEncryptionCipher=function(t,e){return zi(t,e,!0)};pt.rc2.startDecrypting=function(t,e,r){var n=pt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};pt.rc2.createDecryptionCipher=function(t,e){return zi(t,e,!1)}});var nr=X((lh,ta)=>{var sn=W();ta.exports=sn.jsbn=sn.jsbn||{};var Ft,Ws=0xdeadbeefcafe,Yi=(Ws&16777215)==15715070;function E(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}sn.jsbn.BigInteger=E;function G(){return new E(null)}function Js(t,e,r,n,i,a){for(;--a>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function $s(t,e,r,n,i,a){for(var s=e&32767,o=e>>15;--a>=0;){var u=this.data[t]&32767,f=this.data[t++]>>15,c=o*u+f*s;u=s*u+((c&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(c>>>15)+o*f+(i>>>30),r.data[n++]=u&1073741823}return i}function Wi(t,e,r,n,i,a){for(var s=e&16383,o=e>>14;--a>=0;){var u=this.data[t]&16383,f=this.data[t++]>>14,c=o*u+f*s;u=s*u+((c&16383)<<14)+r.data[n]+i,i=(u>>28)+(c>>14)+o*f,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(E.prototype.am=Wi,Ft=28):Yi&&navigator.appName=="Microsoft Internet Explorer"?(E.prototype.am=$s,Ft=30):Yi&&navigator.appName!="Netscape"?(E.prototype.am=Js,Ft=26):(E.prototype.am=Wi,Ft=28);E.prototype.DB=Ft;E.prototype.DM=(1<<Ft)-1;E.prototype.DV=1<<Ft;var on=52;E.prototype.FV=Math.pow(2,on);E.prototype.F1=on-Ft;E.prototype.F2=2*Ft-on;var Xs="0123456789abcdefghijklmnopqrstuvwxyz",er=new Array,le,mt;le=48;for(mt=0;mt<=9;++mt)er[le++]=mt;le=97;for(mt=10;mt<36;++mt)er[le++]=mt;le=65;for(mt=10;mt<36;++mt)er[le++]=mt;function Ji(t){return Xs.charAt(t)}function $i(t,e){var r=er[t.charCodeAt(e)];return r??-1}function Zs(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function js(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Qt(t){var e=G();return e.fromInt(t),e}function to(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,a=0;--n>=0;){var s=r==8?t[n]&255:$i(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,a==0?this.data[this.t++]=s:a+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-a)-1)<<a,this.data[this.t++]=s>>this.DB-a):this.data[this.t-1]|=s<<a,a+=r,a>=this.DB&&(a-=this.DB)}r==8&&t[0]&128&&(this.s=-1,a>0&&(this.data[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),i&&E.ZERO.subTo(this,this)}function eo(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function ro(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,a="",s=this.t,o=this.DB-s*this.DB%e;if(s-- >0)for(o<this.DB&&(n=this.data[s]>>o)>0&&(i=!0,a=Ji(n));s>=0;)o<e?(n=(this.data[s]&(1<<o)-1)<<e-o,n|=this.data[--s]>>(o+=this.DB-e)):(n=this.data[s]>>(o-=e)&r,o<=0&&(o+=this.DB,--s)),n>0&&(i=!0),i&&(a+=Ji(n));return i?a:"0"}function no(){var t=G();return E.ZERO.subTo(this,t),t}function io(){return this.s<0?this.negate():this}function ao(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function rr(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function so(){return this.t<=0?0:this.DB*(this.t-1)+rr(this.data[this.t-1]^this.s&this.DM)}function oo(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function fo(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function uo(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,a=Math.floor(t/this.DB),s=this.s<<r&this.DM,o;for(o=this.t-1;o>=0;--o)e.data[o+a+1]=this.data[o]>>n|s,s=(this.data[o]&i)<<r;for(o=a-1;o>=0;--o)e.data[o]=0;e.data[a]=s,e.t=this.t+a+1,e.s=this.s,e.clamp()}function co(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,a=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&a)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&a)<<i),e.t=this.t-r,e.clamp()}function ho(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function lo(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&E.ZERO.subTo(e,e)}function po(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function yo(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=G());var a=G(),s=this.s,o=t.s,u=this.DB-rr(n.data[n.t-1]);u>0?(n.lShiftTo(u,a),i.lShiftTo(u,r)):(n.copyTo(a),i.copyTo(r));var f=a.t,c=a.data[f-1];if(c!=0){var h=c*(1<<this.F1)+(f>1?a.data[f-2]>>this.F2:0),p=this.FV/h,g=(1<<this.F1)/h,l=1<<this.F2,m=r.t,v=m-f,b=e??G();for(a.dlShiftTo(v,b),r.compareTo(b)>=0&&(r.data[r.t++]=1,r.subTo(b,r)),E.ONE.dlShiftTo(f,b),b.subTo(a,a);a.t<f;)a.data[a.t++]=0;for(;--v>=0;){var I=r.data[--m]==c?this.DM:Math.floor(r.data[m]*p+(r.data[m-1]+l)*g);if((r.data[m]+=a.am(0,I,r,v,0,f))<I)for(a.dlShiftTo(v,b),r.subTo(b,r);r.data[m]<--I;)r.subTo(b,r)}e!=null&&(r.drShiftTo(f,e),s!=o&&E.ZERO.subTo(e,e)),r.t=f,r.clamp(),u>0&&r.rShiftTo(u,r),s<0&&E.ZERO.subTo(r,r)}}}function xo(t){var e=G();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(E.ZERO)>0&&t.subTo(e,e),e}function Zt(t){this.m=t}function go(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function mo(t){return t}function vo(t){t.divRemTo(this.m,null,t)}function Ao(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function bo(t,e){t.squareTo(e),this.reduce(e)}Zt.prototype.convert=go;Zt.prototype.revert=mo;Zt.prototype.reduce=vo;Zt.prototype.mulTo=Ao;Zt.prototype.sqrTo=bo;function Eo(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function jt(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function Bo(t){var e=G();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(E.ZERO)>0&&this.m.subTo(e,e),e}function So(t){var e=G();return t.copyTo(e),this.reduce(e),e}function wo(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Co(t,e){t.squareTo(e),this.reduce(e)}function Io(t,e,r){t.multiplyTo(e,r),this.reduce(r)}jt.prototype.convert=Bo;jt.prototype.revert=So;jt.prototype.reduce=wo;jt.prototype.mulTo=Io;jt.prototype.sqrTo=Co;function To(){return(this.t>0?this.data[0]&1:this.s)==0}function _o(t,e){if(t>4294967295||t<1)return E.ONE;var r=G(),n=G(),i=e.convert(this),a=rr(t)-1;for(i.copyTo(r);--a>=0;)if(e.sqrTo(r,n),(t&1<<a)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Do(t,e){var r;return t<256||e.isEven()?r=new Zt(e):r=new jt(e),this.exp(t,r)}E.prototype.copyTo=Zs;E.prototype.fromInt=js;E.prototype.fromString=to;E.prototype.clamp=eo;E.prototype.dlShiftTo=oo;E.prototype.drShiftTo=fo;E.prototype.lShiftTo=uo;E.prototype.rShiftTo=co;E.prototype.subTo=ho;E.prototype.multiplyTo=lo;E.prototype.squareTo=po;E.prototype.divRemTo=yo;E.prototype.invDigit=Eo;E.prototype.isEven=To;E.prototype.exp=_o;E.prototype.toString=ro;E.prototype.negate=no;E.prototype.abs=io;E.prototype.compareTo=ao;E.prototype.bitLength=so;E.prototype.mod=xo;E.prototype.modPowInt=Do;E.ZERO=Qt(0);E.ONE=Qt(1);function Ro(){var t=G();return this.copyTo(t),t}function No(){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 Lo(){return this.t==0?this.s:this.data[0]<<24>>24}function ko(){return this.t==0?this.s:this.data[0]<<16>>16}function Po(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Ko(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Uo(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Qt(r),i=G(),a=G(),s="";for(this.divRemTo(n,i,a);i.signum()>0;)s=(r+a.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,a);return a.intValue().toString(t)+s}function Mo(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,a=0,s=0,o=0;o<t.length;++o){var u=$i(t,o);if(u<0){t.charAt(o)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+u,++a>=r&&(this.dMultiply(n),this.dAddOffset(s,0),a=0,s=0)}a>0&&(this.dMultiply(Math.pow(e,a)),this.dAddOffset(s,0)),i&&E.ZERO.subTo(this,this)}function Fo(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(E.ONE.shiftLeft(t-1),fn,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(E.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Oo(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function Vo(t){return this.compareTo(t)==0}function qo(t){return this.compareTo(t)<0?this:t}function Qo(t){return this.compareTo(t)>0?this:t}function zo(t,e,r){var n,i,a=Math.min(t.t,this.t);for(n=0;n<a;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=a;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=a;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Go(t,e){return t&e}function Ho(t){var e=G();return this.bitwiseTo(t,Go,e),e}function fn(t,e){return t|e}function Yo(t){var e=G();return this.bitwiseTo(t,fn,e),e}function Xi(t,e){return t^e}function Wo(t){var e=G();return this.bitwiseTo(t,Xi,e),e}function Zi(t,e){return t&~e}function Jo(t){var e=G();return this.bitwiseTo(t,Zi,e),e}function $o(){for(var t=G(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function Xo(t){var e=G();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function Zo(t){var e=G();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function jo(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function tf(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+jo(this.data[t]);return this.s<0?this.t*this.DB:-1}function ef(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function rf(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=ef(this.data[r]^e);return t}function nf(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function af(t,e){var r=E.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function sf(t){return this.changeBit(t,fn)}function of(t){return this.changeBit(t,Zi)}function ff(t){return this.changeBit(t,Xi)}function uf(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function cf(t){var e=G();return this.addTo(t,e),e}function hf(t){var e=G();return this.subTo(t,e),e}function lf(t){var e=G();return this.multiplyTo(t,e),e}function pf(t){var e=G();return this.divRemTo(t,e,null),e}function df(t){var e=G();return this.divRemTo(t,null,e),e}function yf(t){var e=G(),r=G();return this.divRemTo(t,e,r),new Array(e,r)}function xf(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function gf(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Ne(){}function ji(t){return t}function mf(t,e,r){t.multiplyTo(e,r)}function vf(t,e){t.squareTo(e)}Ne.prototype.convert=ji;Ne.prototype.revert=ji;Ne.prototype.mulTo=mf;Ne.prototype.sqrTo=vf;function Af(t){return this.exp(t,new Ne)}function bf(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function Ef(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function pe(t){this.r2=G(),this.q3=G(),E.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function Bf(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=G();return t.copyTo(e),this.reduce(e),e}function Sf(t){return t}function wf(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Cf(t,e){t.squareTo(e),this.reduce(e)}function If(t,e,r){t.multiplyTo(e,r),this.reduce(r)}pe.prototype.convert=Bf;pe.prototype.revert=Sf;pe.prototype.reduce=wf;pe.prototype.mulTo=If;pe.prototype.sqrTo=Cf;function Tf(t,e){var r=t.bitLength(),n,i=Qt(1),a;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?a=new Zt(e):e.isEven()?a=new pe(e):a=new jt(e);var s=new Array,o=3,u=n-1,f=(1<<n)-1;if(s[1]=a.convert(this),n>1){var c=G();for(a.sqrTo(s[1],c);o<=f;)s[o]=G(),a.mulTo(c,s[o-2],s[o]),o+=2}var h=t.t-1,p,g=!0,l=G(),m;for(r=rr(t.data[h])-1;h>=0;){for(r>=u?p=t.data[h]>>r-u&f:(p=(t.data[h]&(1<<r+1)-1)<<u-r,h>0&&(p|=t.data[h-1]>>this.DB+r-u)),o=n;!(p&1);)p>>=1,--o;if((r-=o)<0&&(r+=this.DB,--h),g)s[p].copyTo(i),g=!1;else{for(;o>1;)a.sqrTo(i,l),a.sqrTo(l,i),o-=2;o>0?a.sqrTo(i,l):(m=i,i=l,l=m),a.mulTo(l,s[p],i)}for(;h>=0&&!(t.data[h]&1<<r);)a.sqrTo(i,l),m=i,i=l,l=m,--r<0&&(r=this.DB-1,--h)}return a.revert(i)}function _f(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),a=r.getLowestSetBit();if(a<0)return e;for(i<a&&(a=i),a>0&&(e.rShiftTo(a,e),r.rShiftTo(a,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r}function Df(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function Rf(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return E.ZERO;for(var r=t.clone(),n=this.clone(),i=Qt(1),a=Qt(0),s=Qt(0),o=Qt(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!a.isEven())&&(i.addTo(this,i),a.subTo(t,a)),i.rShiftTo(1,i)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!o.isEven())&&(s.addTo(this,s),o.subTo(t,o)),s.rShiftTo(1,s)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),a.subTo(o,a)):(n.subTo(r,n),e&&s.subTo(i,s),o.subTo(a,o))}if(n.compareTo(E.ONE)!=0)return E.ZERO;if(o.compareTo(t)>=0)return o.subtract(t);if(o.signum()<0)o.addTo(t,o);else return o;return o.signum()<0?o.add(t):o}var St=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Nf=(1<<26)/St[St.length-1];function Lf(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=St[St.length-1]){for(e=0;e<St.length;++e)if(r.data[0]==St[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<St.length;){for(var n=St[e],i=e+1;i<St.length&&n<Nf;)n*=St[i++];for(n=r.modInt(n);e<i;)if(n%St[e++]==0)return!1}return r.millerRabin(t)}function kf(t){var e=this.subtract(E.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Pf(),a,s=0;s<t;++s){do a=new E(this.bitLength(),i);while(a.compareTo(E.ONE)<=0||a.compareTo(e)>=0);var o=a.modPow(n,this);if(o.compareTo(E.ONE)!=0&&o.compareTo(e)!=0){for(var u=1;u++<r&&o.compareTo(e)!=0;)if(o=o.modPowInt(2,this),o.compareTo(E.ONE)==0)return!1;if(o.compareTo(e)!=0)return!1}}return!0}function Pf(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}E.prototype.chunkSize=Po;E.prototype.toRadix=Uo;E.prototype.fromRadix=Mo;E.prototype.fromNumber=Fo;E.prototype.bitwiseTo=zo;E.prototype.changeBit=af;E.prototype.addTo=uf;E.prototype.dMultiply=xf;E.prototype.dAddOffset=gf;E.prototype.multiplyLowerTo=bf;E.prototype.multiplyUpperTo=Ef;E.prototype.modInt=Df;E.prototype.millerRabin=kf;E.prototype.clone=Ro;E.prototype.intValue=No;E.prototype.byteValue=Lo;E.prototype.shortValue=ko;E.prototype.signum=Ko;E.prototype.toByteArray=Oo;E.prototype.equals=Vo;E.prototype.min=qo;E.prototype.max=Qo;E.prototype.and=Ho;E.prototype.or=Yo;E.prototype.xor=Wo;E.prototype.andNot=Jo;E.prototype.not=$o;E.prototype.shiftLeft=Xo;E.prototype.shiftRight=Zo;E.prototype.getLowestSetBit=tf;E.prototype.bitCount=rf;E.prototype.testBit=nf;E.prototype.setBit=sf;E.prototype.clearBit=of;E.prototype.flipBit=ff;E.prototype.add=cf;E.prototype.subtract=hf;E.prototype.multiply=lf;E.prototype.divide=pf;E.prototype.remainder=df;E.prototype.divideAndRemainder=yf;E.prototype.modPow=Tf;E.prototype.modInverse=Rf;E.prototype.pow=Af;E.prototype.gcd=_f;E.prototype.isProbablePrime=Lf});var aa=X((ph,ia)=>{var _t=W();Xt();it();var ra=ia.exports=_t.sha1=_t.sha1||{};_t.md.sha1=_t.md.algorithms.sha1=ra;ra.create=function(){na||Kf();var t=null,e=_t.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,a=0;a<i;++a)n.fullMessageLength.push(0);return e=_t.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,a){a==="utf8"&&(i=_t.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var o=n.fullMessageLength.length-1;o>=0;--o)n.fullMessageLength[o]+=s[1],s[1]=s[0]+(n.fullMessageLength[o]/4294967296>>>0),n.fullMessageLength[o]=n.fullMessageLength[o]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),ea(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=_t.util.createBuffer();i.putBytes(e.bytes());var a=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=a&n.blockLength-1;i.putBytes(un.substr(0,n.blockLength-s));for(var o,u,f=n.fullMessageLength[0]*8,c=0;c<n.fullMessageLength.length-1;++c)o=n.fullMessageLength[c+1]*8,u=o/4294967296>>>0,f+=u,i.putInt32(f>>>0),f=o>>>0;i.putInt32(f);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};ea(h,r,i);var p=_t.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},n};var un=null,na=!1;function Kf(){un="\x80",un+=_t.util.fillString("\0",64),na=!0}function ea(t,e,r){for(var n,i,a,s,o,u,f,c,h=r.length();h>=64;){for(i=t.h0,a=t.h1,s=t.h2,o=t.h3,u=t.h4,c=0;c<16;++c)n=r.getInt32(),e[c]=n,f=o^a&(s^o),n=(i<<5|i>>>27)+f+u+1518500249+n,u=o,o=s,s=(a<<30|a>>>2)>>>0,a=i,i=n;for(;c<20;++c)n=e[c-3]^e[c-8]^e[c-14]^e[c-16],n=n<<1|n>>>31,e[c]=n,f=o^a&(s^o),n=(i<<5|i>>>27)+f+u+1518500249+n,u=o,o=s,s=(a<<30|a>>>2)>>>0,a=i,i=n;for(;c<32;++c)n=e[c-3]^e[c-8]^e[c-14]^e[c-16],n=n<<1|n>>>31,e[c]=n,f=a^s^o,n=(i<<5|i>>>27)+f+u+1859775393+n,u=o,o=s,s=(a<<30|a>>>2)>>>0,a=i,i=n;for(;c<40;++c)n=e[c-6]^e[c-16]^e[c-28]^e[c-32],n=n<<2|n>>>30,e[c]=n,f=a^s^o,n=(i<<5|i>>>27)+f+u+1859775393+n,u=o,o=s,s=(a<<30|a>>>2)>>>0,a=i,i=n;for(;c<60;++c)n=e[c-6]^e[c-16]^e[c-28]^e[c-32],n=n<<2|n>>>30,e[c]=n,f=a&s|o&(a^s),n=(i<<5|i>>>27)+f+u+2400959708+n,u=o,o=s,s=(a<<30|a>>>2)>>>0,a=i,i=n;for(;c<80;++c)n=e[c-6]^e[c-16]^e[c-28]^e[c-32],n=n<<2|n>>>30,e[c]=n,f=a^s^o,n=(i<<5|i>>>27)+f+u+3395469782+n,u=o,o=s,s=(a<<30|a>>>2)>>>0,a=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+a|0,t.h2=t.h2+s|0,t.h3=t.h3+o|0,t.h4=t.h4+u|0,h-=64}}});var fa=X((dh,oa)=>{var Dt=W();it();Re();aa();var sa=oa.exports=Dt.pkcs1=Dt.pkcs1||{};sa.encode_rsa_oaep=function(t,e,r){var n,i,a,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,a=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,a=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),a?a.start():a=Dt.md.sha1.create(),s||(s=a);var o=Math.ceil(t.n.bitLength()/8),u=o-2*a.digestLength-2;if(e.length>u){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=e.length,f.maxLength=u,f}n||(n=""),a.update(n,"raw");for(var c=a.digest(),h="",p=u-e.length,g=0;g<p;g++)h+="\0";var l=c.getBytes()+h+""+e;if(!i)i=Dt.random.getBytes(a.digestLength);else if(i.length!==a.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=a.digestLength,f}var m=ir(i,o-a.digestLength-1,s),v=Dt.util.xorBytes(l,m,l.length),b=ir(v,a.digestLength,s),I=Dt.util.xorBytes(i,b,i.length);return"\0"+I+v};sa.decode_rsa_oaep=function(t,e,r){var n,i,a;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&&(a=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var v=new Error("RSAES-OAEP encoded message length is invalid.");throw v.length=e.length,v.expectedLength=s,v}if(i===void 0?i=Dt.md.sha1.create():i.start(),a||(a=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 o=i.digest().getBytes(),u=e.charAt(0),f=e.substring(1,i.digestLength+1),c=e.substring(1+i.digestLength),h=ir(c,i.digestLength,a),p=Dt.util.xorBytes(f,h,f.length),g=ir(p,s-i.digestLength-1,a),l=Dt.util.xorBytes(c,g,c.length),m=l.substring(0,i.digestLength),v=u!=="\0",b=0;b<i.digestLength;++b)v|=o.charAt(b)!==m.charAt(b);for(var I=1,w=i.digestLength,R=i.digestLength;R<l.length;R++){var C=l.charCodeAt(R),S=C&1^1,N=I?65534:0;v|=C&N,I=I&S,w+=I}if(v||l.charCodeAt(w)!==1)throw new Error("Invalid RSAES-OAEP padding.");return l.substring(w+1)};function ir(t,e,r){r||(r=Dt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),a=0;a<i;++a){var s=String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var ua=X((yh,cn)=>{var zt=W();it();nr();Re();(function(){if(zt.prime){cn.exports=zt.prime;return}var t=cn.exports=zt.prime=zt.prime||{},e=zt.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(h,p){return h|p};t.generateProbablePrime=function(h,p,g){typeof p=="function"&&(g=p,p={}),p=p||{};var l=p.algorithm||"PRIMEINC";typeof l=="string"&&(l={name:l}),l.options=l.options||{};var m=p.prng||zt.random,v={nextBytes:function(b){for(var I=m.getBytesSync(b.length),w=0;w<b.length;++w)b[w]=I.charCodeAt(w)}};if(l.name==="PRIMEINC")return a(h,v,l.options,g);throw new Error("Invalid prime generation algorithm: "+l.name)};function a(h,p,g,l){return"workers"in g?u(h,p,g,l):s(h,p,g,l)}function s(h,p,g,l){var m=f(h,p),v=0,b=c(m.bitLength());"millerRabinTests"in g&&(b=g.millerRabinTests);var I=10;"maxBlockTime"in g&&(I=g.maxBlockTime),o(m,h,p,v,b,I,l)}function o(h,p,g,l,m,v,b){var I=+new Date;do{if(h.bitLength()>p&&(h=f(p,g)),h.isProbablePrime(m))return b(null,h);h.dAddOffset(r[l++%8],0)}while(v<0||+new Date-I<v);zt.util.setImmediate(function(){o(h,p,g,l,m,v,b)})}function u(h,p,g,l){if(typeof Worker>"u")return s(h,p,g,l);var m=f(h,p),v=g.workers,b=g.workLoad||100,I=b*30/8,w=g.workerScript||"forge/prime.worker.js";if(v===-1)return zt.util.estimateCores(function(C,S){C&&(S=2),v=S-1,R()});R();function R(){v=Math.max(1,v);for(var C=[],S=0;S<v;++S)C[S]=new Worker(w);for(var N=v,S=0;S<v;++S)C[S].addEventListener("message",K);var k=!1;function K(q){if(!k){--N;var O=q.data;if(O.found){for(var F=0;F<C.length;++F)C[F].terminate();return k=!0,l(null,new e(O.prime,16))}m.bitLength()>h&&(m=f(h,p));var H=m.toString(16);q.target.postMessage({hex:H,workLoad:b}),m.dAddOffset(I,0)}}}}function f(h,p){var g=new e(h,p),l=h-1;return g.testBit(l)||g.bitwiseTo(e.ONE.shiftLeft(l),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function c(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var sr=X((xh,xa)=>{var L=W();De();nr();Ye();fa();ua();Re();it();typeof z>"u"&&(z=L.jsbn.BigInteger);var z,hn=L.util.isNodejs?Xe():null,x=L.asn1,vt=L.util;L.pki=L.pki||{};xa.exports=L.pki.rsa=L.rsa=L.rsa||{};var P=L.pki,Uf=[6,4,2,4,2,4,6,2],Mf={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"}]},Ff={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"}]},Of={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"}]},Vf=L.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"}]}]},qf={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"}]},Qf=function(t){var e;if(t.algorithm in P.oids)e=P.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=x.oidToDer(e).getBytes(),i=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]),a=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]);a.value.push(x.create(x.Class.UNIVERSAL,x.Type.OID,!1,n)),a.value.push(x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,""));var s=x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(a),i.value.push(s),x.toDer(i).getBytes()},da=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(z.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(z.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new z(L.util.bytesToHex(L.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(z.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),a=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(a)<0;)i=i.add(e.p);var s=i.subtract(a).multiply(e.qInv).mod(e.p).multiply(e.q).add(a);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};P.rsa.encrypt=function(t,e,r){var n=r,i,a=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=ya(t,e,r)):(i=L.util.createBuffer(),i.putBytes(t));for(var s=new z(i.toHex(),16),o=da(s,e,n),u=o.toString(16),f=L.util.createBuffer(),c=a-Math.ceil(u.length/2);c>0;)f.putByte(0),--c;return f.putBytes(L.util.hexToBytes(u)),f.getBytes()};P.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var a=new Error("Encrypted message length is invalid.");throw a.length=t.length,a.expected=i,a}var s=new z(L.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var o=da(s,e,r),u=o.toString(16),f=L.util.createBuffer(),c=i-Math.ceil(u.length/2);c>0;)f.putByte(0),--c;return f.putBytes(L.util.hexToBytes(u)),n!==!1?ar(f.getBytes(),e,r):f.getBytes()};P.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||L.random,i={nextBytes:function(o){for(var u=n.getBytesSync(o.length),f=0;f<o.length;++f)o[f]=u.charCodeAt(f)}},a=r.algorithm||"PRIMEINC",s;if(a==="PRIMEINC")s={algorithm:a,state:0,bits:t,rng:i,eInt:e||65537,e:new z(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+a);return s};P.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new z(null);r.fromInt(30);for(var n=0,i=function(h,p){return h|p},a=+new Date,s,o=0;t.keys===null&&(e<=0||o<e);){if(t.state===0){var u=t.p===null?t.pBits:t.qBits,f=u-1;t.pqState===0?(t.num=new z(u,t.rng),t.num.testBit(f)||t.num.bitwiseTo(z.ONE.shiftLeft(f),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>u?t.pqState=0:t.num.isProbablePrime(Gf(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Uf[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(z.ONE).gcd(t.e).compareTo(z.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(z.ONE),t.q1=t.q.subtract(z.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(z.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var c=t.e.modInverse(t.phi);t.keys={privateKey:P.rsa.setPrivateKey(t.n,t.e,c,t.p,t.q,c.mod(t.p1),c.mod(t.q1),t.q.modInverse(t.p)),publicKey:P.rsa.setPublicKey(t.n,t.e)}}s=+new Date,o+=s-a,a=s}return t.keys!==null};P.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!L.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(ca("generateKeyPair"))return hn.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(o,u,f){if(o)return n(o);n(null,{privateKey:P.privateKeyFromPem(f),publicKey:P.publicKeyFromPem(u)})});if(ha("generateKey")&&ha("exportKey"))return vt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:pa(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(o){return vt.globalScope.crypto.subtle.exportKey("pkcs8",o.privateKey)}).then(void 0,function(o){n(o)}).then(function(o){if(o){var u=P.privateKeyFromAsn1(x.fromDer(L.util.createBuffer(o)));n(null,{privateKey:u,publicKey:P.setRsaPublicKey(u.n,u.e)})}});if(la("generateKey")&&la("exportKey")){var i=vt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:pa(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(o){var u=o.target.result,f=vt.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);f.oncomplete=function(c){var h=c.target.result,p=P.privateKeyFromAsn1(x.fromDer(L.util.createBuffer(h)));n(null,{privateKey:p,publicKey:P.setRsaPublicKey(p.n,p.e)})},f.onerror=function(c){n(c)}},i.onerror=function(o){n(o)};return}}else if(ca("generateKeyPairSync")){var a=hn.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:P.privateKeyFromPem(a.privateKey),publicKey:P.publicKeyFromPem(a.publicKey)}}}var s=P.rsa.createKeyPairGenerationState(t,e,r);if(!n)return P.rsa.stepKeyPairGenerationState(s,0),s.keys;zf(s,r,n)};P.setRsaPublicKey=P.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,a){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(o,u,f){return ya(o,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(o,u){return L.pkcs1.encode_rsa_oaep(u,o,a)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(o){return o}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return P.rsa.encrypt(s,r,!0)},r.verify=function(n,i,a,s){typeof a=="string"?a=a.toUpperCase():a===void 0&&(a="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),a==="RSASSA-PKCS1-V1_5"?a={verify:function(u,f){f=ar(f,r,!0);var c=x.fromDer(f,{parseAllBytes:s._parseAllDigestBytes}),h={},p=[];if(!x.validate(c,qf,h,p)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=p,g}var l=x.derToOid(h.algorithmIdentifier);if(!(l===L.oids.md2||l===L.oids.md5||l===L.oids.sha1||l===L.oids.sha224||l===L.oids.sha256||l===L.oids.sha384||l===L.oids.sha512||l===L.oids["sha512-224"]||l===L.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=l,g}if((l===L.oids.md2||l===L.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return u===h.digest}}:(a==="NONE"||a==="NULL"||a===null)&&(a={verify:function(u,f){return f=ar(f,r,!0),u===f}});var o=P.rsa.decrypt(i,r,!0,!1);return a.verify(n,o,r.n.bitLength())},r};P.setRsaPrivateKey=P.rsa.setPrivateKey=function(t,e,r,n,i,a,s,o){var u={n:t,e,d:r,p:n,q:i,dP:a,dQ:s,qInv:o};return u.decrypt=function(f,c,h){typeof c=="string"?c=c.toUpperCase():c===void 0&&(c="RSAES-PKCS1-V1_5");var p=P.rsa.decrypt(f,u,!1,!1);if(c==="RSAES-PKCS1-V1_5")c={decode:ar};else if(c==="RSA-OAEP"||c==="RSAES-OAEP")c={decode:function(g,l){return L.pkcs1.decode_rsa_oaep(l,g,h)}};else if(["RAW","NONE","NULL",null].indexOf(c)!==-1)c={decode:function(g){return g}};else throw new Error('Unsupported encryption scheme: "'+c+'".');return c.decode(p,u,!1)},u.sign=function(f,c){var h=!1;typeof c=="string"&&(c=c.toUpperCase()),c===void 0||c==="RSASSA-PKCS1-V1_5"?(c={encode:Qf},h=1):(c==="NONE"||c==="NULL"||c===null)&&(c={encode:function(){return f}},h=1);var p=c.encode(f,u.n.bitLength());return P.rsa.encrypt(p,u,h)},u};P.wrapRsaPrivateKey=function(t){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(P.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,x.toDer(t).getBytes())])};P.privateKeyFromAsn1=function(t){var e={},r=[];if(x.validate(t,Mf,e,r)&&(t=x.fromDer(L.util.createBuffer(e.privateKey))),e={},r=[],!x.validate(t,Ff,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,a,s,o,u,f,c,h;return i=L.util.createBuffer(e.privateKeyModulus).toHex(),a=L.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=L.util.createBuffer(e.privateKeyPrivateExponent).toHex(),o=L.util.createBuffer(e.privateKeyPrime1).toHex(),u=L.util.createBuffer(e.privateKeyPrime2).toHex(),f=L.util.createBuffer(e.privateKeyExponent1).toHex(),c=L.util.createBuffer(e.privateKeyExponent2).toHex(),h=L.util.createBuffer(e.privateKeyCoefficient).toHex(),P.setRsaPrivateKey(new z(i,16),new z(a,16),new z(s,16),new z(o,16),new z(u,16),new z(f,16),new z(c,16),new z(h,16))};P.privateKeyToAsn1=P.privateKeyToRSAPrivateKey=function(t){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,Rt(t.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.e)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.d)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.p)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.q)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.dP)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.dQ)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.qInv))])};P.publicKeyFromAsn1=function(t){var e={},r=[];if(x.validate(t,Vf,e,r)){var n=x.derToOid(e.publicKeyOid);if(n!==P.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!x.validate(t,Of,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var a=L.util.createBuffer(e.publicKeyModulus).toHex(),s=L.util.createBuffer(e.publicKeyExponent).toHex();return P.setRsaPublicKey(new z(a,16),new z(s,16))};P.publicKeyToAsn1=P.publicKeyToSubjectPublicKeyInfo=function(t){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(P.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.BITSTRING,!1,[P.publicKeyToRSAPublicKey(t)])])};P.publicKeyToRSAPublicKey=function(t){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Rt(t.e))])};function ya(t,e,r){var n=L.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var a=new Error("Message is too long for PKCS#1 v1.5 padding.");throw a.length=t.length,a.max=i-11,a}n.putByte(0),n.putByte(r);var s=i-3-t.length,o;if(r===0||r===1){o=r===0?0:255;for(var u=0;u<s;++u)n.putByte(o)}else for(;s>0;){for(var f=0,c=L.random.getBytes(s),u=0;u<s;++u)o=c.charCodeAt(u),o===0?++f:n.putByte(o);s=f}return n.putByte(0),n.putBytes(t),n}function ar(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),a=L.util.createBuffer(t),s=a.getByte(),o=a.getByte();if(s!==0||r&&o!==0&&o!==1||!r&&o!=2||r&&o===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var u=0;if(o===0){u=i-3-n;for(var f=0;f<u;++f)if(a.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(o===1)for(u=0;a.length()>1;){if(a.getByte()!==255){--a.read;break}++u}else if(o===2)for(u=0;a.length()>1;){if(a.getByte()===0){--a.read;break}++u}var c=a.getByte();if(c!==0||u!==i-3-a.length())throw new Error("Encryption block is invalid.");return a.getBytes()}function zf(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){a(t.pBits,function(o,u){if(o)return r(o);if(t.p=u,t.q!==null)return s(o,t.q);a(t.qBits,s)})}function a(o,u){L.prime.generateProbablePrime(o,n,u)}function s(o,u){if(o)return r(o);if(t.q=u,t.p.compareTo(t.q)<0){var f=t.p;t.p=t.q,t.q=f}if(t.p.subtract(z.ONE).gcd(t.e).compareTo(z.ONE)!==0){t.p=null,i();return}if(t.q.subtract(z.ONE).gcd(t.e).compareTo(z.ONE)!==0){t.q=null,a(t.qBits,s);return}if(t.p1=t.p.subtract(z.ONE),t.q1=t.q.subtract(z.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(z.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,a(t.qBits,s);return}var c=t.e.modInverse(t.phi);t.keys={privateKey:P.rsa.setPrivateKey(t.n,t.e,c,t.p,t.q,c.mod(t.p1),c.mod(t.q1),t.q.modInverse(t.p)),publicKey:P.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Rt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=L.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Gf(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function ca(t){return L.util.isNodejs&&typeof hn[t]=="function"}function ha(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.crypto=="object"&&typeof vt.globalScope.crypto.subtle=="object"&&typeof vt.globalScope.crypto.subtle[t]=="function"}function la(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.msCrypto=="object"&&typeof vt.globalScope.msCrypto.subtle=="object"&&typeof vt.globalScope.msCrypto.subtle[t]=="function"}function pa(t){for(var e=L.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Ea=X((gh,ba)=>{var D=W();Qe();De();Ii();Xt();Ye();en();ki();Re();Hi();sr();it();typeof ga>"u"&&(ga=D.jsbn.BigInteger);var ga,A=D.asn1,U=D.pki=D.pki||{};ba.exports=U.pbe=D.pbe=D.pbe||{};var te=U.oids,Hf={name:"EncryptedPrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Yf={name:"PBES2Algorithms",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Wf={name:"pkcs-12PbeParams",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"iterations"}]};U.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=D.random.getBytesSync(r.saltSize),i=r.count,a=A.integerToDer(i),s,o,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,c,h;switch(r.algorithm){case"aes128":s=16,f=16,c=te["aes128-CBC"],h=D.aes.createEncryptionCipher;break;case"aes192":s=24,f=16,c=te["aes192-CBC"],h=D.aes.createEncryptionCipher;break;case"aes256":s=32,f=16,c=te["aes256-CBC"],h=D.aes.createEncryptionCipher;break;case"des":s=8,f=8,c=te.desCBC,h=D.des.createEncryptionCipher;break;default:var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),l=Aa(g),m=D.pkcs5.pbkdf2(e,n,i,s,l),v=D.random.getBytesSync(f),b=h(m);b.start(v),b.update(A.toDer(t)),b.finish(),u=b.output.getBytes();var I=Jf(n,a,s,g);o=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(te.pkcs5PBES2).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(te.pkcs5PBKDF2).getBytes()),I]),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(c).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,v)])])])}else if(r.algorithm==="3des"){s=24;var w=new D.util.ByteBuffer(n),m=U.pbe.generatePkcs12Key(e,w,1,i,s),v=U.pbe.generatePkcs12Key(e,w,2,i,s),b=D.des.createEncryptionCipher(m);b.start(v),b.update(A.toDer(t)),b.finish(),u=b.output.getBytes(),o=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(te["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,n),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,a.getBytes())])])}else{var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var R=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[o,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,u)]);return R};U.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!A.validate(t,Hf,n,i)){var a=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw a.errors=i,a}var s=A.derToOid(n.encryptionOid),o=U.pbe.getCipher(s,n.encryptionParams,e),u=D.util.createBuffer(n.encryptedData);return o.update(u),o.finish()&&(r=A.fromDer(o.output)),r};U.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(t).getBytes()};return D.pem.encode(r,{maxline:e})};U.encryptedPrivateKeyFromPem=function(t){var e=D.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return A.fromDer(e.body)};U.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=U.wrapRsaPrivateKey(U.privateKeyToAsn1(t));return n=U.encryptPrivateKeyInfo(n,e,r),U.encryptedPrivateKeyToPem(n)}var i,a,s,o;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,a=D.random.getBytesSync(16),o=D.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,a=D.random.getBytesSync(16),o=D.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,a=D.random.getBytesSync(16),o=D.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,a=D.random.getBytesSync(8),o=D.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,a=D.random.getBytesSync(8),o=D.des.createEncryptionCipher;break;default:var u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var f=D.pbe.opensslDeriveBytes(e,a.substr(0,8),s),c=o(f);c.start(a),c.update(A.toDer(U.privateKeyToAsn1(t))),c.finish();var h={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:D.util.bytesToHex(a).toUpperCase()},body:c.output.getBytes()};return D.pem.encode(h)};U.decryptRsaPrivateKey=function(t,e){var r=null,n=D.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var a,s;switch(n.dekInfo.algorithm){case"DES-CBC":a=8,s=D.des.createDecryptionCipher;break;case"DES-EDE3-CBC":a=24,s=D.des.createDecryptionCipher;break;case"AES-128-CBC":a=16,s=D.aes.createDecryptionCipher;break;case"AES-192-CBC":a=24,s=D.aes.createDecryptionCipher;break;case"AES-256-CBC":a=32,s=D.aes.createDecryptionCipher;break;case"RC2-40-CBC":a=5,s=function(h){return D.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":a=8,s=function(h){return D.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":a=16,s=function(h){return D.rc2.createDecryptionCipher(h,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 o=D.util.hexToBytes(n.dekInfo.parameters),u=D.pbe.opensslDeriveBytes(e,o.substr(0,8),a),f=s(u);if(f.start(o),f.update(D.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=U.decryptPrivateKeyInfo(A.fromDer(r),e):r=A.fromDer(r),r!==null&&(r=U.privateKeyFromAsn1(r)),r};U.pbe.generatePkcs12Key=function(t,e,r,n,i,a){var s,o;if(typeof a>"u"||a===null){if(!("sha1"in D.md))throw new Error('"sha1" hash algorithm unavailable.');a=D.md.sha1.create()}var u=a.digestLength,f=a.blockLength,c=new D.util.ByteBuffer,h=new D.util.ByteBuffer;if(t!=null){for(o=0;o<t.length;o++)h.putInt16(t.charCodeAt(o));h.putInt16(0)}var p=h.length(),g=e.length(),l=new D.util.ByteBuffer;l.fillWithByte(r,f);var m=f*Math.ceil(g/f),v=new D.util.ByteBuffer;for(o=0;o<m;o++)v.putByte(e.at(o%g));var b=f*Math.ceil(p/f),I=new D.util.ByteBuffer;for(o=0;o<b;o++)I.putByte(h.at(o%p));var w=v;w.putBuffer(I);for(var R=Math.ceil(i/u),C=1;C<=R;C++){var S=new D.util.ByteBuffer;S.putBytes(l.bytes()),S.putBytes(w.bytes());for(var N=0;N<n;N++)a.start(),a.update(S.getBytes()),S=a.digest();var k=new D.util.ByteBuffer;for(o=0;o<f;o++)k.putByte(S.at(o%u));var K=Math.ceil(g/f)+Math.ceil(p/f),q=new D.util.ByteBuffer;for(s=0;s<K;s++){var O=new D.util.ByteBuffer(w.getBytes(f)),F=511;for(o=k.length()-1;o>=0;o--)F=F>>8,F+=k.at(o)+O.at(o),O.setAt(o,F&255);q.putBuffer(O)}w=q,c.putBuffer(S)}return c.truncate(c.length()-i),c};U.pbe.getCipher=function(t,e,r){switch(t){case U.oids.pkcs5PBES2:return U.pbe.getCipherForPBES2(t,e,r);case U.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case U.oids["pbewithSHAAnd40BitRC2-CBC"]:return U.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};U.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!A.validate(e,Yf,n,i)){var a=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw a.errors=i,a}if(t=A.derToOid(n.kdfOid),t!==U.oids.pkcs5PBKDF2){var a=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw a.oid=t,a.supportedOids=["pkcs5PBKDF2"],a}if(t=A.derToOid(n.encOid),t!==U.oids["aes128-CBC"]&&t!==U.oids["aes192-CBC"]&&t!==U.oids["aes256-CBC"]&&t!==U.oids["des-EDE3-CBC"]&&t!==U.oids.desCBC){var a=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw a.oid=t,a.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],a}var s=n.kdfSalt,o=D.util.createBuffer(n.kdfIterationCount);o=o.getInt(o.length()<<3);var u,f;switch(U.oids[t]){case"aes128-CBC":u=16,f=D.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,f=D.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,f=D.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,f=D.des.createDecryptionCipher;break;case"desCBC":u=8,f=D.des.createDecryptionCipher;break}var c=va(n.prfOid),h=D.pkcs5.pbkdf2(r,s,o,u,c),p=n.encIv,g=f(h);return g.start(p),g};U.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!A.validate(e,Wf,n,i)){var a=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw a.errors=i,a}var s=D.util.createBuffer(n.salt),o=D.util.createBuffer(n.iterations);o=o.getInt(o.length()<<3);var u,f,c;switch(t){case U.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,f=8,c=D.des.startDecrypting;break;case U.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,f=8,c=function(m,v){var b=D.rc2.createDecryptionCipher(m,40);return b.start(v,null),b};break;default:var a=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw a.oid=t,a}var h=va(n.prfOid),p=U.pbe.generatePkcs12Key(r,s,1,o,u,h);h.start();var g=U.pbe.generatePkcs12Key(r,s,2,o,f,h);return c(p,g)};U.pbe.opensslDeriveBytes=function(t,e,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()}e===null&&(e="");for(var i=[ma(n,t+e)],a=16,s=1;a<r;++s,a+=16)i.push(ma(n,i[s-1]+t+e));return i.join("").substr(0,r)};function ma(t,e){return t.start().update(e).digest().getBytes()}function va(t){var e;if(!t)e="hmacWithSHA1";else if(e=U.oids[A.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Aa(e)}function Aa(t){var e=D.md;switch(t){case"hmacWithSHA224":e=D.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function Jf(t,e,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,t),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,D.util.hexToBytes(r.toString(16))),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(U.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var Ma=X((zl,Ua)=>{var tt=W();Xt();it();var Ke=Ua.exports=tt.sha512=tt.sha512||{};tt.md.sha512=tt.md.algorithms.sha512=Ke;var Pa=tt.sha384=tt.sha512.sha384=tt.sha512.sha384||{};Pa.create=function(){return Ke.create("SHA-384")};tt.md.sha384=tt.md.algorithms.sha384=Pa;tt.sha512.sha256=tt.sha512.sha256||{create:function(){return Ke.create("SHA-512/256")}};tt.md["sha512/256"]=tt.md.algorithms["sha512/256"]=tt.sha512.sha256;tt.sha512.sha224=tt.sha512.sha224||{create:function(){return Ke.create("SHA-512/224")}};tt.md["sha512/224"]=tt.md.algorithms["sha512/224"]=tt.sha512.sha224;Ke.create=function(t){if(Ka||hu(),typeof t>"u"&&(t="SHA-512"),!(t in ie))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=ie[t],r=null,n=tt.util.createBuffer(),i=new Array(80),a=0;a<80;++a)i[a]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var o={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return o.start=function(){o.messageLength=0,o.fullMessageLength=o.messageLength128=[];for(var u=o.messageLengthSize/4,f=0;f<u;++f)o.fullMessageLength.push(0);n=tt.util.createBuffer(),r=new Array(e.length);for(var f=0;f<e.length;++f)r[f]=e[f].slice(0);return o},o.start(),o.update=function(u,f){f==="utf8"&&(u=tt.util.encodeUtf8(u));var c=u.length;o.messageLength+=c,c=[c/4294967296>>>0,c>>>0];for(var h=o.fullMessageLength.length-1;h>=0;--h)o.fullMessageLength[h]+=c[1],c[1]=c[0]+(o.fullMessageLength[h]/4294967296>>>0),o.fullMessageLength[h]=o.fullMessageLength[h]>>>0,c[0]=c[1]/4294967296>>>0;return n.putBytes(u),ka(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),o},o.digest=function(){var u=tt.util.createBuffer();u.putBytes(n.bytes());var f=o.fullMessageLength[o.fullMessageLength.length-1]+o.messageLengthSize,c=f&o.blockLength-1;u.putBytes(wn.substr(0,o.blockLength-c));for(var h,p,g=o.fullMessageLength[0]*8,l=0;l<o.fullMessageLength.length-1;++l)h=o.fullMessageLength[l+1]*8,p=h/4294967296>>>0,g+=p,u.putInt32(g>>>0),g=h>>>0;u.putInt32(g);for(var m=new Array(r.length),l=0;l<r.length;++l)m[l]=r[l].slice(0);ka(m,i,u);var v=tt.util.createBuffer(),b;t==="SHA-512"?b=m.length:t==="SHA-384"?b=m.length-2:b=m.length-4;for(var l=0;l<b;++l)v.putInt32(m[l][0]),(l!==b-1||t!=="SHA-512/224")&&v.putInt32(m[l][1]);return v},o};var wn=null,Ka=!1,Cn=null,ie=null;function hu(){wn="\x80",wn+=tt.util.fillString("\0",128),Cn=[[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]],ie={},ie["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],ie["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],ie["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],ie["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Ka=!0}function ka(t,e,r){for(var n,i,a,s,o,u,f,c,h,p,g,l,m,v,b,I,w,R,C,S,N,k,K,q,O,F,H,J,M,Q,_,rt,$,d,kt,Un=r.length();Un>=128;){for(M=0;M<16;++M)e[M][0]=r.getInt32()>>>0,e[M][1]=r.getInt32()>>>0;for(;M<80;++M)rt=e[M-2],Q=rt[0],_=rt[1],n=((Q>>>19|_<<13)^(_>>>29|Q<<3)^Q>>>6)>>>0,i=((Q<<13|_>>>19)^(_<<3|Q>>>29)^(Q<<26|_>>>6))>>>0,d=e[M-15],Q=d[0],_=d[1],a=((Q>>>1|_<<31)^(Q>>>8|_<<24)^Q>>>7)>>>0,s=((Q<<31|_>>>1)^(Q<<24|_>>>8)^(Q<<25|_>>>7))>>>0,$=e[M-7],kt=e[M-16],_=i+$[1]+s+kt[1],e[M][0]=n+$[0]+a+kt[0]+(_/4294967296>>>0)>>>0,e[M][1]=_>>>0;for(m=t[0][0],v=t[0][1],b=t[1][0],I=t[1][1],w=t[2][0],R=t[2][1],C=t[3][0],S=t[3][1],N=t[4][0],k=t[4][1],K=t[5][0],q=t[5][1],O=t[6][0],F=t[6][1],H=t[7][0],J=t[7][1],M=0;M<80;++M)f=((N>>>14|k<<18)^(N>>>18|k<<14)^(k>>>9|N<<23))>>>0,c=((N<<18|k>>>14)^(N<<14|k>>>18)^(k<<23|N>>>9))>>>0,h=(O^N&(K^O))>>>0,p=(F^k&(q^F))>>>0,o=((m>>>28|v<<4)^(v>>>2|m<<30)^(v>>>7|m<<25))>>>0,u=((m<<4|v>>>28)^(v<<30|m>>>2)^(v<<25|m>>>7))>>>0,g=(m&b|w&(m^b))>>>0,l=(v&I|R&(v^I))>>>0,_=J+c+p+Cn[M][1]+e[M][1],n=H+f+h+Cn[M][0]+e[M][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=u+l,a=o+g+(_/4294967296>>>0)>>>0,s=_>>>0,H=O,J=F,O=K,F=q,K=N,q=k,_=S+i,N=C+n+(_/4294967296>>>0)>>>0,k=_>>>0,C=w,S=R,w=b,R=I,b=m,I=v,_=i+s,m=n+a+(_/4294967296>>>0)>>>0,v=_>>>0;_=t[0][1]+v,t[0][0]=t[0][0]+m+(_/4294967296>>>0)>>>0,t[0][1]=_>>>0,_=t[1][1]+I,t[1][0]=t[1][0]+b+(_/4294967296>>>0)>>>0,t[1][1]=_>>>0,_=t[2][1]+R,t[2][0]=t[2][0]+w+(_/4294967296>>>0)>>>0,t[2][1]=_>>>0,_=t[3][1]+S,t[3][0]=t[3][0]+C+(_/4294967296>>>0)>>>0,t[3][1]=_>>>0,_=t[4][1]+k,t[4][0]=t[4][0]+N+(_/4294967296>>>0)>>>0,t[4][1]=_>>>0,_=t[5][1]+q,t[5][0]=t[5][0]+K+(_/4294967296>>>0)>>>0,t[5][1]=_>>>0,_=t[6][1]+F,t[6][0]=t[6][0]+O+(_/4294967296>>>0)>>>0,t[6][1]=_>>>0,_=t[7][1]+J,t[7][0]=t[7][0]+H+(_/4294967296>>>0)>>>0,t[7][1]=_>>>0,Un-=128}}});var Za=X((_d,Xa)=>{var Nu=(t,e)=>function(){return e||(0,t[Object.keys(t)[0]])((e={exports:{}}).exports,e),e.exports},Lu=(()=>{for(var t=new Uint8Array(128),e=0;e<64;e++)t[e<26?e+65:e<52?e+71:e<62?e-4:e*4-205]=e;return r=>{for(var n=r.length,i=new Uint8Array((n-(r[n-1]=="=")-(r[n-2]=="="))*3/4|0),a=0,s=0;a<n;){var o=t[r.charCodeAt(a++)],u=t[r.charCodeAt(a++)],f=t[r.charCodeAt(a++)],c=t[r.charCodeAt(a++)];i[s++]=o<<2|u>>4,i[s++]=u<<4|f>>2,i[s++]=f<<6|c}return i}})(),ku=Nu({"wasm-binary:./xsalsa20.wat"(t,e){e.exports=Lu("AGFzbQEAAAABGgNgBn9/f39/fwBgBn9/f39+fwF+YAN/f38AAwcGAAEBAgICBQUBAQroBwcoAwZtZW1vcnkCAAx4c2Fsc2EyMF94b3IAAAxjb3JlX3NhbHNhMjAABArqEQYYACAAIAEgAiADIAQgACkDACAFEAE3AwALPQBB8AAgAyAFEAMgACABIAIgA0EQaiAEQfAAEAJB8ABCADcDAEH4AEIANwMAQYABQgA3AwBBiAFCADcDAAuHBQEBfyACQQBGBEBCAA8LQdAAIAUpAwA3AwBB2AAgBUEIaikDADcDAEHgACAFQRBqKQMANwMAQegAIAVBGGopAwA3AwBBACADKQMANwMAQQggBDcDAAJAA0AgAkHAAEkNAUEQQQBB0AAQBSAAIAEpAwBBECkDAIU3AwAgAEEIaiABQQhqKQMAQRgpAwCFNwMAIABBEGogAUEQaikDAEEgKQMAhTcDACAAQRhqIAFBGGopAwBBKCkDAIU3AwAgAEEgaiABQSBqKQMAQTApAwCFNwMAIABBKGogAUEoaikDAEE4KQMAhTcDACAAQTBqIAFBMGopAwBBwAApAwCFNwMAIABBOGogAUE4aikDAEHIACkDAIU3AwBBCEEIKQMAQgF8NwMAIABBwABqIQAgAUHAAGohASACQcAAayECDAALC0EIKQMAIQQgAkEASwRAQRBBAEHQABAFAkACQAJAAkACQAJAAkACQCACQQhuDgcHBgUEAwIBAAsgAEE4aiABQThqKQMAQcgAKQMAhTcDAAsgAEEwaiABQTBqKQMAQcAAKQMAhTcDAAsgAEEoaiABQShqKQMAQTgpAwCFNwMACyAAQSBqIAFBIGopAwBBMCkDAIU3AwALIABBGGogAUEYaikDAEEoKQMAhTcDAAsgAEEQaiABQRBqKQMAQSApAwCFNwMACyAAQQhqIAFBCGopAwBBGCkDAIU3AwALIAAgASkDAEEQKQMAhTcDAAtBEEIANwMAQRhCADcDAEEgQgA3AwBBKEIANwMAQTBCADcDAEE4QgA3AwBBwABCADcDAEHIAEIANwMAQdAAQgA3AwBB2ABCADcDAEHgAEIANwMAQegAQgA3AwAgBA8LnQUBEX9B5fDBiwYhA0HuyIGZAyEIQbLaiMsHIQ1B9MqB2QYhEiACKAIAIQQgAkEEaigCACEFIAJBCGooAgAhBiACQQxqKAIAIQcgAkEQaigCACEOIAJBFGooAgAhDyACQRhqKAIAIRAgAkEcaigCACERIAEoAgAhCSABQQRqKAIAIQogAUEIaigCACELIAFBDGooAgAhDEEUIRMCQANAIBNBAEYNASAHIAMgD2pBB3dzIQcgCyAHIANqQQl3cyELIA8gCyAHakENd3MhDyADIA8gC2pBEndzIQMgDCAIIARqQQd3cyEMIBAgDCAIakEJd3MhECAEIBAgDGpBDXdzIQQgCCAEIBBqQRJ3cyEIIBEgDSAJakEHd3MhESAFIBEgDWpBCXdzIQUgCSAFIBFqQQ13cyEJIA0gCSAFakESd3MhDSAGIBIgDmpBB3dzIQYgCiAGIBJqQQl3cyEKIA4gCiAGakENd3MhDiASIA4gCmpBEndzIRIgBCADIAZqQQd3cyEEIAUgBCADakEJd3MhBSAGIAUgBGpBDXdzIQYgAyAGIAVqQRJ3cyEDIAkgCCAHakEHd3MhCSAKIAkgCGpBCXdzIQogByAKIAlqQQ13cyEHIAggByAKakESd3MhCCAOIA0gDGpBB3dzIQ4gCyAOIA1qQQl3cyELIAwgCyAOakENd3MhDCANIAwgC2pBEndzIQ0gDyASIBFqQQd3cyEPIBAgDyASakEJd3MhECARIBAgD2pBDXdzIREgEiARIBBqQRJ3cyESIBNBAmshEwwACwsgACADNgIAIABBBGogCDYCACAAQQhqIA02AgAgAEEMaiASNgIAIABBEGogCTYCACAAQRRqIAo2AgAgAEEYaiALNgIAIABBHGogDDYCAAsKACAAIAEgAhAFC90GASF/QeXwwYsGIQNB7siBmQMhCEGy2ojLByENQfTKgdkGIRIgAigCACEEIAJBBGooAgAhBSACQQhqKAIAIQYgAkEMaigCACEHIAJBEGooAgAhDiACQRRqKAIAIQ8gAkEYaigCACEQIAJBHGooAgAhESABKAIAIQkgAUEEaigCACEKIAFBCGooAgAhCyABQQxqKAIAIQwgAyETIAQhFCAFIRUgBiEWIAchFyAIIRggCSEZIAohGiALIRsgDCEcIA0hHSAOIR4gDyEfIBAhICARISEgEiEiQRQhIwJAA0AgI0EARg0BIAcgAyAPakEHd3MhByALIAcgA2pBCXdzIQsgDyALIAdqQQ13cyEPIAMgDyALakESd3MhAyAMIAggBGpBB3dzIQwgECAMIAhqQQl3cyEQIAQgECAMakENd3MhBCAIIAQgEGpBEndzIQggESANIAlqQQd3cyERIAUgESANakEJd3MhBSAJIAUgEWpBDXdzIQkgDSAJIAVqQRJ3cyENIAYgEiAOakEHd3MhBiAKIAYgEmpBCXdzIQogDiAKIAZqQQ13cyEOIBIgDiAKakESd3MhEiAEIAMgBmpBB3dzIQQgBSAEIANqQQl3cyEFIAYgBSAEakENd3MhBiADIAYgBWpBEndzIQMgCSAIIAdqQQd3cyEJIAogCSAIakEJd3MhCiAHIAogCWpBDXdzIQcgCCAHIApqQRJ3cyEIIA4gDSAMakEHd3MhDiALIA4gDWpBCXdzIQsgDCALIA5qQQ13cyEMIA0gDCALakESd3MhDSAPIBIgEWpBB3dzIQ8gECAPIBJqQQl3cyEQIBEgECAPakENd3MhESASIBEgEGpBEndzIRIgI0ECayEjDAALCyAAIAMgE2o2AgAgAEEEaiAEIBRqNgIAIABBCGogBSAVajYCACAAQQxqIAYgFmo2AgAgAEEQaiAHIBdqNgIAIABBFGogCCAYajYCACAAQRhqIAkgGWo2AgAgAEEcaiAKIBpqNgIAIABBIGogCyAbajYCACAAQSRqIAwgHGo2AgAgAEEoaiANIB1qNgIAIABBLGogDiAeajYCACAAQTBqIA8gH2o2AgAgAEE0aiAQICBqNgIAIABBOGogESAhajYCACAAQTxqIBIgImo2AgAL")}}),Pu=ku(),Ku=new WebAssembly.Module(Pu);Xa.exports=t=>new WebAssembly.Instance(Ku,t).exports});var r0=X((Dd,e0)=>{var Ue=typeof WebAssembly<"u"&&Za()(),gr=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]),Nt=144,be=Nt,xr=[];e0.exports=Lt;Lt.NONCEBYTES=24;Lt.KEYBYTES=32;Lt.core_hsalsa20=t0;Lt.SIGMA=gr;function Lt(t,e){if(!(this instanceof Lt))return new Lt(t,e);if(!t||t.length<24)throw new Error("nonce must be at least 24 bytes");if(!e||e.length<32)throw new Error("key must be at least 32 bytes");this._xor=Ue?new mr(t,e):new Dn(t,e)}Lt.prototype.update=function(t,e){if(!t)throw new Error("input must be Uint8Array or Buffer");return e||(e=new Uint8Array(t.length)),t.length&&this._xor.update(t,e),e};Lt.prototype.final=Lt.prototype.finalize=function(){this._xor.finalize(),this._xor=null};function mr(t,e){xr.length||(xr.push(Nt),Nt+=64),this._pointer=xr.pop(),this._nonce=this._pointer+8,this._key=this._nonce+24,this._overflow=0,this._memory=new Uint8Array(Ue.memory.buffer),this._memory.fill(0,this._pointer,this._pointer+8),this._memory.set(t,this._nonce),this._memory.set(e,this._key)}mr.prototype.realloc=function(t){Ue.memory.grow(Math.ceil(Math.abs(t-this._memory.length)/65536)),this._memory=new Uint8Array(Ue.memory.buffer)};mr.prototype.update=function(t,e){var r=this._overflow+t.length,n=Nt+this._overflow;be=Nt+r,be>=this._memory.length&&this.realloc(be),this._memory.set(t,n),Ue.xsalsa20_xor(this._pointer,Nt,Nt,r,this._nonce,this._key),e.set(this._memory.subarray(n,Nt+r)),this._overflow=r&63};mr.prototype.finalize=function(){this._memory.fill(0,this._pointer,this._key+32),be>Nt&&(this._memory.fill(0,Nt,be),be=0),xr.push(this._pointer)};function Dn(t,e){this._s=new Uint8Array(32),this._z=new Uint8Array(16),this._overflow=0,t0(this._s,t,e,gr);for(var r=0;r<8;r++)this._z[r]=t[r+16]}Dn.prototype.update=function(t,e){for(var r=new Uint8Array(64),n=0,i=this._overflow,a=t.length+this._overflow,s=this._z,o=-this._overflow,u=-this._overflow;a>=64;){for(ja(r,s,this._s,gr);i<64;i++)e[u+i]=t[o+i]^r[i];for(n=1,i=8;i<16;i++)n+=s[i]&255|0,s[i]=n&255,n>>>=8;a-=64,u+=64,o+=64,i=0}if(a>0)for(ja(r,s,this._s,gr);i<a;i++)e[u+i]=t[o+i]^r[i];this._overflow=a&63};Dn.prototype.finalize=function(){this._s.fill(0),this._z.fill(0)};function ja(t,e,r,n){for(var i=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,a=r[0]&255|(r[1]&255)<<8|(r[2]&255)<<16|(r[3]&255)<<24,s=r[4]&255|(r[5]&255)<<8|(r[6]&255)<<16|(r[7]&255)<<24,o=r[8]&255|(r[9]&255)<<8|(r[10]&255)<<16|(r[11]&255)<<24,u=r[12]&255|(r[13]&255)<<8|(r[14]&255)<<16|(r[15]&255)<<24,f=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,c=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,h=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,p=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,g=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,l=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,m=r[16]&255|(r[17]&255)<<8|(r[18]&255)<<16|(r[19]&255)<<24,v=r[20]&255|(r[21]&255)<<8|(r[22]&255)<<16|(r[23]&255)<<24,b=r[24]&255|(r[25]&255)<<8|(r[26]&255)<<16|(r[27]&255)<<24,I=r[28]&255|(r[29]&255)<<8|(r[30]&255)<<16|(r[31]&255)<<24,w=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,R=i,C=a,S=s,N=o,k=u,K=f,q=c,O=h,F=p,H=g,J=l,M=m,Q=v,_=b,rt=I,$=w,d,kt=0;kt<20;kt+=2)d=R+Q|0,k^=d<<7|d>>>25,d=k+R|0,F^=d<<9|d>>>23,d=F+k|0,Q^=d<<13|d>>>19,d=Q+F|0,R^=d<<18|d>>>14,d=K+C|0,H^=d<<7|d>>>25,d=H+K|0,_^=d<<9|d>>>23,d=_+H|0,C^=d<<13|d>>>19,d=C+_|0,K^=d<<18|d>>>14,d=J+q|0,rt^=d<<7|d>>>25,d=rt+J|0,S^=d<<9|d>>>23,d=S+rt|0,q^=d<<13|d>>>19,d=q+S|0,J^=d<<18|d>>>14,d=$+M|0,N^=d<<7|d>>>25,d=N+$|0,O^=d<<9|d>>>23,d=O+N|0,M^=d<<13|d>>>19,d=M+O|0,$^=d<<18|d>>>14,d=R+N|0,C^=d<<7|d>>>25,d=C+R|0,S^=d<<9|d>>>23,d=S+C|0,N^=d<<13|d>>>19,d=N+S|0,R^=d<<18|d>>>14,d=K+k|0,q^=d<<7|d>>>25,d=q+K|0,O^=d<<9|d>>>23,d=O+q|0,k^=d<<13|d>>>19,d=k+O|0,K^=d<<18|d>>>14,d=J+H|0,M^=d<<7|d>>>25,d=M+J|0,F^=d<<9|d>>>23,d=F+M|0,H^=d<<13|d>>>19,d=H+F|0,J^=d<<18|d>>>14,d=$+rt|0,Q^=d<<7|d>>>25,d=Q+$|0,_^=d<<9|d>>>23,d=_+Q|0,rt^=d<<13|d>>>19,d=rt+_|0,$^=d<<18|d>>>14;R=R+i|0,C=C+a|0,S=S+s|0,N=N+o|0,k=k+u|0,K=K+f|0,q=q+c|0,O=O+h|0,F=F+p|0,H=H+g|0,J=J+l|0,M=M+m|0,Q=Q+v|0,_=_+b|0,rt=rt+I|0,$=$+w|0,t[0]=R>>>0&255,t[1]=R>>>8&255,t[2]=R>>>16&255,t[3]=R>>>24&255,t[4]=C>>>0&255,t[5]=C>>>8&255,t[6]=C>>>16&255,t[7]=C>>>24&255,t[8]=S>>>0&255,t[9]=S>>>8&255,t[10]=S>>>16&255,t[11]=S>>>24&255,t[12]=N>>>0&255,t[13]=N>>>8&255,t[14]=N>>>16&255,t[15]=N>>>24&255,t[16]=k>>>0&255,t[17]=k>>>8&255,t[18]=k>>>16&255,t[19]=k>>>24&255,t[20]=K>>>0&255,t[21]=K>>>8&255,t[22]=K>>>16&255,t[23]=K>>>24&255,t[24]=q>>>0&255,t[25]=q>>>8&255,t[26]=q>>>16&255,t[27]=q>>>24&255,t[28]=O>>>0&255,t[29]=O>>>8&255,t[30]=O>>>16&255,t[31]=O>>>24&255,t[32]=F>>>0&255,t[33]=F>>>8&255,t[34]=F>>>16&255,t[35]=F>>>24&255,t[36]=H>>>0&255,t[37]=H>>>8&255,t[38]=H>>>16&255,t[39]=H>>>24&255,t[40]=J>>>0&255,t[41]=J>>>8&255,t[42]=J>>>16&255,t[43]=J>>>24&255,t[44]=M>>>0&255,t[45]=M>>>8&255,t[46]=M>>>16&255,t[47]=M>>>24&255,t[48]=Q>>>0&255,t[49]=Q>>>8&255,t[50]=Q>>>16&255,t[51]=Q>>>24&255,t[52]=_>>>0&255,t[53]=_>>>8&255,t[54]=_>>>16&255,t[55]=_>>>24&255,t[56]=rt>>>0&255,t[57]=rt>>>8&255,t[58]=rt>>>16&255,t[59]=rt>>>24&255,t[60]=$>>>0&255,t[61]=$>>>8&255,t[62]=$>>>16&255,t[63]=$>>>24&255}function t0(t,e,r,n){for(var i=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,a=r[0]&255|(r[1]&255)<<8|(r[2]&255)<<16|(r[3]&255)<<24,s=r[4]&255|(r[5]&255)<<8|(r[6]&255)<<16|(r[7]&255)<<24,o=r[8]&255|(r[9]&255)<<8|(r[10]&255)<<16|(r[11]&255)<<24,u=r[12]&255|(r[13]&255)<<8|(r[14]&255)<<16|(r[15]&255)<<24,f=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,c=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,h=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,p=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,g=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,l=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,m=r[16]&255|(r[17]&255)<<8|(r[18]&255)<<16|(r[19]&255)<<24,v=r[20]&255|(r[21]&255)<<8|(r[22]&255)<<16|(r[23]&255)<<24,b=r[24]&255|(r[25]&255)<<8|(r[26]&255)<<16|(r[27]&255)<<24,I=r[28]&255|(r[29]&255)<<8|(r[30]&255)<<16|(r[31]&255)<<24,w=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,R=i,C=a,S=s,N=o,k=u,K=f,q=c,O=h,F=p,H=g,J=l,M=m,Q=v,_=b,rt=I,$=w,d,kt=0;kt<20;kt+=2)d=R+Q|0,k^=d<<7|d>>>25,d=k+R|0,F^=d<<9|d>>>23,d=F+k|0,Q^=d<<13|d>>>19,d=Q+F|0,R^=d<<18|d>>>14,d=K+C|0,H^=d<<7|d>>>25,d=H+K|0,_^=d<<9|d>>>23,d=_+H|0,C^=d<<13|d>>>19,d=C+_|0,K^=d<<18|d>>>14,d=J+q|0,rt^=d<<7|d>>>25,d=rt+J|0,S^=d<<9|d>>>23,d=S+rt|0,q^=d<<13|d>>>19,d=q+S|0,J^=d<<18|d>>>14,d=$+M|0,N^=d<<7|d>>>25,d=N+$|0,O^=d<<9|d>>>23,d=O+N|0,M^=d<<13|d>>>19,d=M+O|0,$^=d<<18|d>>>14,d=R+N|0,C^=d<<7|d>>>25,d=C+R|0,S^=d<<9|d>>>23,d=S+C|0,N^=d<<13|d>>>19,d=N+S|0,R^=d<<18|d>>>14,d=K+k|0,q^=d<<7|d>>>25,d=q+K|0,O^=d<<9|d>>>23,d=O+q|0,k^=d<<13|d>>>19,d=k+O|0,K^=d<<18|d>>>14,d=J+H|0,M^=d<<7|d>>>25,d=M+J|0,F^=d<<9|d>>>23,d=F+M|0,H^=d<<13|d>>>19,d=H+F|0,J^=d<<18|d>>>14,d=$+rt|0,Q^=d<<7|d>>>25,d=Q+$|0,_^=d<<9|d>>>23,d=_+Q|0,rt^=d<<13|d>>>19,d=rt+_|0,$^=d<<18|d>>>14;t[0]=R>>>0&255,t[1]=R>>>8&255,t[2]=R>>>16&255,t[3]=R>>>24&255,t[4]=K>>>0&255,t[5]=K>>>8&255,t[6]=K>>>16&255,t[7]=K>>>24&255,t[8]=J>>>0&255,t[9]=J>>>8&255,t[10]=J>>>16&255,t[11]=J>>>24&255,t[12]=$>>>0&255,t[13]=$>>>8&255,t[14]=$>>>16&255,t[15]=$>>>24&255,t[16]=q>>>0&255,t[17]=q>>>8&255,t[18]=q>>>16&255,t[19]=q>>>24&255,t[20]=O>>>0&255,t[21]=O>>>8&255,t[22]=O>>>16&255,t[23]=O>>>24&255,t[24]=F>>>0&255,t[25]=F>>>8&255,t[26]=F>>>16&255,t[27]=F>>>24&255,t[28]=H>>>0&255,t[29]=H>>>8&255,t[30]=H>>>16&255,t[31]=H>>>24&255}});var Mu={};yt(Mu,{generateKey:()=>s0,preSharedKey:()=>Uu});var st=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Vc=at(Qe(),1),Ts=at(W(),1);function Jt(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var kr={};yt(kr,{base10:()=>T0});function B0(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var a=t.charAt(i),s=a.charCodeAt(0);if(r[s]!==255)throw new TypeError(a+" is ambiguous");r[s]=i}var o=t.length,u=t.charAt(0),f=Math.log(o)/Math.log(256),c=Math.log(256)/Math.log(o);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var m=0,v=0,b=0,I=l.length;b!==I&&l[b]===0;)b++,m++;for(var w=(I-b)*c+1>>>0,R=new Uint8Array(w);b!==I;){for(var C=l[b],S=0,N=w-1;(C!==0||S<v)&&N!==-1;N--,S++)C+=256*R[N]>>>0,R[N]=C%o>>>0,C=C/o>>>0;if(C!==0)throw new Error("Non-zero carry");v=S,b++}for(var k=w-v;k!==w&&R[k]===0;)k++;for(var K=u.repeat(m);k<w;++k)K+=t.charAt(R[k]);return K}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var m=0;if(l[m]!==" "){for(var v=0,b=0;l[m]===u;)v++,m++;for(var I=(l.length-m)*f+1>>>0,w=new Uint8Array(I);l[m];){var R=r[l.charCodeAt(m)];if(R===255)return;for(var C=0,S=I-1;(R!==0||C<b)&&S!==-1;S--,C++)R+=o*w[S]>>>0,w[S]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");b=C,m++}if(l[m]!==" "){for(var N=I-b;N!==I&&w[N]===0;)N++;for(var k=new Uint8Array(v+(I-N)),K=v;N!==I;)k[K++]=w[N++];return k}}}function g(l){var m=p(l);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:g}}var S0=B0,w0=S0,jn=w0;var Xu=new Uint8Array(0);var ti=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Pt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var ei=t=>new TextEncoder().encode(t),ri=t=>new TextDecoder().decode(t);var Dr=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Rr=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ii(this,e)}},Nr=class{constructor(e){this.decoders=e}or(e){return ii(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ii=(t,e)=>new Nr({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Lr=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Dr(e,r,n),this.decoder=new Rr(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},oe=({name:t,prefix:e,encode:r,decode:n})=>new Lr(t,e,r,n),qt=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=jn(r,e);return oe({prefix:t,name:e,encode:n,decode:a=>Pt(i(a))})},C0=(t,e,r,n)=>{let i={};for(let c=0;c<e.length;++c)i[e[c]]=c;let a=t.length;for(;t[a-1]==="=";)--a;let s=new Uint8Array(a*r/8|0),o=0,u=0,f=0;for(let c=0;c<a;++c){let h=i[t[c]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|h,o+=r,o>=8&&(o-=8,s[f++]=255&u>>o)}if(o>=r||255&u<<8-o)throw new SyntaxError("Unexpected end of data");return s},I0=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,a="",s=0,o=0;for(let u=0;u<t.length;++u)for(o=o<<8|t[u],s+=8;s>r;)s-=r,a+=e[i&o>>s];if(s&&(a+=e[i&o<<r-s]),n)for(;a.length*r&7;)a+="=";return a},nt=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>oe({prefix:e,name:t,encode(i){return I0(i,n,r)},decode(i){return C0(i,n,r,t)}});var T0=qt({prefix:"9",name:"base10",alphabet:"0123456789"});var Pr={};yt(Pr,{base16:()=>_0,base16upper:()=>D0});var _0=nt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),D0=nt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Kr={};yt(Kr,{base2:()=>R0});var R0=nt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ur={};yt(Ur,{base256emoji:()=>K0});var ai=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}"),N0=ai.reduce((t,e,r)=>(t[r]=e,t),[]),L0=ai.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function k0(t){return t.reduce((e,r)=>(e+=N0[r],e),"")}function P0(t){let e=[];for(let r of t){let n=L0[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var K0=oe({prefix:"\u{1F680}",name:"base256emoji",encode:k0,decode:P0});var Mr={};yt(Mr,{base32:()=>fe,base32hex:()=>O0,base32hexpad:()=>q0,base32hexpadupper:()=>Q0,base32hexupper:()=>V0,base32pad:()=>M0,base32padupper:()=>F0,base32upper:()=>U0,base32z:()=>z0});var fe=nt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),U0=nt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),M0=nt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),F0=nt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),O0=nt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),V0=nt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),q0=nt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Q0=nt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),z0=nt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Fr={};yt(Fr,{base36:()=>G0,base36upper:()=>H0});var G0=qt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),H0=qt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Or={};yt(Or,{base58btc:()=>Et,base58flickr:()=>Y0});var Et=qt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Y0=qt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qr={};yt(qr,{base64:()=>Vr,base64pad:()=>W0,base64url:()=>J0,base64urlpad:()=>$0});var Vr=nt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),W0=nt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),J0=nt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),$0=nt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qr={};yt(Qr,{base8:()=>X0});var X0=nt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var zr={};yt(zr,{identity:()=>Z0});var Z0=oe({prefix:"\0",name:"identity",encode:t=>ri(t),decode:t=>ei(t)});var lc=new TextEncoder,pc=new TextDecoder;var Hr={};yt(Hr,{identity:()=>pi});var es=fi,si=128,rs=127,ns=~rs,is=Math.pow(2,31);function fi(t,e,r){e=e||[],r=r||0;for(var n=r;t>=is;)e[r++]=t&255|si,t/=128;for(;t&ns;)e[r++]=t&255|si,t>>>=7;return e[r]=t|0,fi.bytes=r-n+1,e}var as=Gr,ss=128,oi=127;function Gr(t,n){var r=0,n=n||0,i=0,a=n,s,o=t.length;do{if(a>=o)throw Gr.bytes=0,new RangeError("Could not decode varint");s=t[a++],r+=i<28?(s&oi)<<i:(s&oi)*Math.pow(2,i),i+=7}while(s>=ss);return Gr.bytes=a-n,r}var os=Math.pow(2,7),fs=Math.pow(2,14),us=Math.pow(2,21),cs=Math.pow(2,28),hs=Math.pow(2,35),ls=Math.pow(2,42),ps=Math.pow(2,49),ds=Math.pow(2,56),ys=Math.pow(2,63),xs=function(t){return t<os?1:t<fs?2:t<us?3:t<cs?4:t<hs?5:t<ls?6:t<ps?7:t<ds?8:t<ys?9:10},gs={encode:es,decode:as,encodingLength:xs},ms=gs,Be=ms;var Se=(t,e=0)=>[Be.decode(t,e),Be.decode.bytes],ue=(t,e,r=0)=>(Be.encode(t,e,r),e),ce=t=>Be.encodingLength(t);var $t=(t,e)=>{let r=e.byteLength,n=ce(t),i=n+ce(r),a=new Uint8Array(i+r);return ue(t,a,0),ue(r,a,n),a.set(e,i),new he(t,r,e,a)},ui=t=>{let e=Pt(t),[r,n]=Se(e),[i,a]=Se(e.subarray(n)),s=e.subarray(n+a);if(s.byteLength!==i)throw new Error("Incorrect length");return new he(r,i,s,e)},ci=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&ti(t.bytes,r.bytes)}},he=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var hi=0,vs="identity",li=Pt,As=t=>$t(hi,li(t)),pi={code:hi,name:vs,encode:li,digest:As};var Jr={};yt(Jr,{sha256:()=>Ce,sha512:()=>bs});var Wr=({name:t,code:e,encode:r})=>new Yr(t,e,r),Yr=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?$t(this.code,r):r.then(n=>$t(this.code,n))}else throw Error("Unknown type, must be binary type")}};var yi=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Ce=Wr({name:"sha2-256",code:18,encode:yi("SHA-256")}),bs=Wr({name:"sha2-512",code:19,encode:yi("SHA-512")});var xi=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Bs(r,$r(t),e||Et.encoder);default:return Ss(r,$r(t),e||fe.encoder)}};var gi=new WeakMap,$r=t=>{let e=gi.get(t);if(e==null){let r=new Map;return gi.set(t,r),r}return e},Ge=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ie)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ws)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=$t(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&ci(e.multihash,n.multihash)}toString(e){return xi(this,e)}toJSON(){return{"/":xi(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:a,bytes:s}=r;return new t(n,i,a,s||mi(n,i,a.bytes))}else if(r[Cs]===!0){let{version:n,multihash:i,code:a}=r,s=ui(i);return t.create(n,a,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ie)throw new Error(`Version 0 CID must use dag-pb (code: ${Ie}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=mi(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ie,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Pt(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let a=i.subarray(r.multihashSize-r.digestSize),s=new he(r.multihashCode,r.digestSize,a,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Se(e.subarray(r));return r+=p,h},i=n(),a=Ie;if(i===18?(i=0,r=0):a=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,o=n(),u=n(),f=r+u,c=f-s;return{version:i,codec:a,multihashCode:o,digestSize:u,multihashSize:c,size:f}}static parse(e,r){let[n,i]=Es(e,r),a=t.decode(i);if(a.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return $r(a).set(n,e),a}},Es=(t,e)=>{switch(t[0]){case"Q":{let r=e||Et;return[Et.prefix,r.decode(`${Et.prefix}${t}`)]}case Et.prefix:{let r=e||Et;return[Et.prefix,r.decode(t)]}case fe.prefix:{let r=e||fe;return[fe.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Bs=(t,e,r)=>{let{prefix:n}=r;if(n!==Et.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let a=r.encode(t).slice(1);return e.set(n,a),a}else return i},Ss=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let a=r.encode(t);return e.set(n,a),a}else return i},Ie=112,ws=18,mi=(t,e,r)=>{let n=ce(t),i=n+ce(e),a=new Uint8Array(i+r.byteLength);return ue(t,a,0),ue(e,a,n),a.set(r,i),a},Cs=Symbol.for("@ipld/js-cid/CID");var Xr={...zr,...Kr,...Qr,...kr,...Pr,...Mr,...Fr,...Or,...qr,...Ur},_c={...Jr,...Hr};function Kt(t=0){return globalThis.Buffer?.alloc!=null?Jt(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function gt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Jt(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Ai(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var vi=Ai("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Zr=Ai("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=gt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Is={utf8:vi,"utf-8":vi,hex:Xr.base16,latin1:Zr,ascii:Zr,binary:Zr,...Xr},He=Is;function xt(t,e="utf8"){let r=He[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Jt(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Bt(t,e="utf8"){let r=He[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Qp=at(De(),1),zp=at(Ea(),1);var Au=at(W(),1);function de(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var or=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var $f=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!$f)throw new Error("Non little-endian hardware is not supported");var bh={}.toString;function Ba(t=32){if(or&&typeof or.getRandomValues=="function")return or.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function ee(t,e){e==null&&(e=t.reduce((i,a)=>i+a.length,0));let r=gt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Jt(r)}var ln=new Float32Array([-0]),Gt=new Uint8Array(ln.buffer);function wa(t,e,r){ln[0]=t,e[r]=Gt[0],e[r+1]=Gt[1],e[r+2]=Gt[2],e[r+3]=Gt[3]}function Ca(t,e){return Gt[0]=t[e],Gt[1]=t[e+1],Gt[2]=t[e+2],Gt[3]=t[e+3],ln[0]}var pn=new Float64Array([-0]),ct=new Uint8Array(pn.buffer);function Ia(t,e,r){pn[0]=t,e[r]=ct[0],e[r+1]=ct[1],e[r+2]=ct[2],e[r+3]=ct[3],e[r+4]=ct[4],e[r+5]=ct[5],e[r+6]=ct[6],e[r+7]=ct[7]}function Ta(t,e){return ct[0]=t[e],ct[1]=t[e+1],ct[2]=t[e+2],ct[3]=t[e+3],ct[4]=t[e+4],ct[5]=t[e+5],ct[6]=t[e+6],ct[7]=t[e+7],pn[0]}var jf=BigInt(Number.MAX_SAFE_INTEGER),tu=BigInt(Number.MIN_SAFE_INTEGER),dt=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return re;if(e<jf&&e>tu)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>_a&&(i=0n,++n>_a&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return re;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):re}},re=new dt(0,0);re.toBigInt=function(){return 0n};re.zzEncode=re.zzDecode=function(){return this};re.length=function(){return 1};var _a=4294967296n;function Da(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Ra(t,e,r){if(r-e<1)return"";let i,a=[],s=0,o;for(;e<r;)o=t[e++],o<128?a[s++]=o:o>191&&o<224?a[s++]=(o&31)<<6|t[e++]&63:o>239&&o<365?(o=((o&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,a[s++]=55296+(o>>10),a[s++]=56320+(o&1023)):a[s++]=(o&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,a)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,a.slice(0,s))),i.join("")):String.fromCharCode.apply(String,a.slice(0,s))}function dn(t,e,r){let n=r,i,a;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((a=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(a&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function wt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function fr(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var yn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,wt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw wt(this,4);return fr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw wt(this,4);return fr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw wt(this,4);let e=Ca(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw wt(this,4);let e=Ta(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw wt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Ra(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw wt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw wt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new dt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*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;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw wt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw wt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw wt(this,8);let e=fr(this.buf,this.pos+=4),r=fr(this.buf,this.pos+=4);return new dt(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function xn(t){return new yn(t instanceof Uint8Array?t:t.subarray())}function ur(t,e){let r=xn(t);return e.decode(r)}function gn(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return gt(s);i+s>e&&(n=gt(e),i=0);let o=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),o}}var ne=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function mn(){}var An=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},eu=gn();function ru(t){return globalThis.Buffer!=null?gt(t):eu(t)}var Pe=class{len;head;tail;states;constructor(){this.len=0,this.head=new ne(mn,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new ne(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new bn((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Le,10,dt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=dt.fromBigInt(e);return this._push(Le,r.length(),r)}uint64Number(e){let r=dt.fromNumber(e);return this._push(Le,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=dt.fromBigInt(e).zzEncode();return this._push(Le,r.length(),r)}sint64Number(e){let r=dt.fromNumber(e).zzEncode();return this._push(Le,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(vn,1,e?1:0)}fixed32(e){return this._push(ke,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=dt.fromBigInt(e);return this._push(ke,4,r.lo)._push(ke,4,r.hi)}fixed64Number(e){let r=dt.fromNumber(e);return this._push(ke,4,r.lo)._push(ke,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(wa,4,e)}double(e){return this._push(Ia,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(vn,1,0):this.uint32(r)._push(iu,r,e)}string(e){let r=Da(e);return r!==0?this.uint32(r)._push(dn,r,e):this._push(vn,1,0)}fork(){return this.states=new An(this),this.head=this.tail=new ne(mn,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new ne(mn,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=ru(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function vn(t,e,r){e[r]=t&255}function nu(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var bn=class extends ne{next;constructor(e,r){super(nu,e,r),this.next=void 0}};function Le(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function ke(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function iu(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Pe.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(au,e,t),this},Pe.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(su,e,t),this});function au(t,e,r){e.set(t,r)}function su(t,e,r){t.length<40?dn(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(xt(t),r)}function En(){return new Pe}function cr(t,e){let r=En();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ye;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(ye||(ye={}));function hr(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Bn(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(a,s){let o=e(a);s.int32(o)},n=function(a){let s=a.int32();return e(s)};return hr("enum",ye.VARINT,r,n)}function lr(t,e){return hr("message",ye.LENGTH_DELIMITED,t,e)}var At;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(At||(At={}));var Sn;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Sn||(Sn={}));(function(t){t.codec=()=>Bn(Sn)})(At||(At={}));var xe;(function(t){let e;t.codec=()=>(e==null&&(e=lr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),At.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},a=n==null?r.len:r.pos+n;for(;r.pos<a;){let s=r.uint32();switch(s>>>3){case 1:i.Type=At.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>cr(r,t.codec()),t.decode=r=>ur(r,t.codec())})(xe||(xe={}));var ge;(function(t){let e;t.codec=()=>(e==null&&(e=lr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),At.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},a=n==null?r.len:r.pos+n;for(;r.pos<a;){let s=r.uint32();switch(s>>>3){case 1:i.Type=At.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>cr(r,t.codec()),t.decode=r=>ur(r,t.codec())})(ge||(ge={}));var vl=at(it(),1),Al=at(nr(),1),fu=at(W(),1);var uu={"P-256":256,"P-384":384,"P-521":521},cu=Object.keys(uu),Nl=cu.join(" / ");var xu=at(W(),1);var Ep=at(Ma(),1);function Ht(t){if(isNaN(t)||t<=0)throw new st("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ba(t)}var Wl=at(sr(),1),pu=at(W(),1);var Zl=at(De(),1),jl=at(sr(),1);var du=at(W(),1);var Eu=at(en(),1),Bu=at(it(),1);var Va=Symbol.for("@achingbrain/uint8arraylist");function Oa(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function dr(t){return!!t?.[Va]}var me=class t{constructor(...e){Object.defineProperty(this,Va,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(dr(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(dr(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=Oa(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Oa(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(dr(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return ee(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:ee(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),a=new t;return a.length=i,a.bufs=n,a}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let a=0;a<this.bufs.length;a++){let s=this.bufs[a],o=i,u=o+s.byteLength;if(i=u,e>=u)continue;let f=e>=o&&e<u,c=r>o&&r<=u;if(f&&c){if(e===o&&r===u){n.push(s);break}let h=e-o;n.push(s.subarray(h,h+(r-e)));break}if(f){if(e===0){n.push(s);continue}n.push(s.subarray(e-o));continue}if(c){if(r===u){n.push(s);break}n.push(s.subarray(0,r-o));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!dr(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let a=256,s=new Int32Array(a);for(let h=0;h<a;h++)s[h]=-1;for(let h=0;h<i;h++)s[n[h]]=h;let o=s,u=this.byteLength-n.byteLength,f=n.byteLength-1,c;for(let h=r;h<=u;h+=c){c=0;for(let p=f;p>=0;p--){let g=this.get(h+p);if(n[p]!==g){c=Math.max(1,p-o[g]);break}}if(c===0)return h}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=gt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Kt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Kt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Kt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=gt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Kt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Kt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Kt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Kt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Kt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!de(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,a)=>i+a.byteLength,0)),n.length=r,n}};function qa(t){let e=async function*(){let r=yield,n=new me;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new me;continue}for(n.append(i);n.length>=r;){let a=n.sublist(0,r);if(n.consume(r),r=yield a,r==null){n.length>0&&(r=yield n,n=new me);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Yt(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var yr=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},ve=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new yr(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new yr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var In=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Ae(t={}){return Su(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Su(t,e){e=e??{};let r=e.onEnd,n=new ve,i,a,s,o=Yt(),u=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((v,b)=>{a=I=>{a=null,n.push(I);try{v(t(n))}catch(w){b(w)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{o.resolve(),o=Yt()})}},f=v=>a!=null?a(v):(n.push(v),i),c=v=>(n=new ve,a!=null?a({error:v}):(n.push({error:v}),i)),h=v=>{if(s)return i;if(e?.objectMode!==!0&&v?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:v})},p=v=>s?i:(s=!0,v!=null?c(v):f({done:!0})),g=()=>(n=new ve,p(),{done:!0}),l=v=>(p(v),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:u,return:g,throw:l,push:h,end:p,get readableLength(){return n.size},onEmpty:async v=>{let b=v?.signal;if(b?.throwIfAborted(),n.isEmpty())return;let I,w;b!=null&&(I=new Promise((R,C)=>{w=()=>{C(new In)},b.addEventListener("abort",w)}));try{await Promise.race([o.promise,I])}finally{w!=null&&b!=null&&b?.removeEventListener("abort",w)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(v){return m.throw(v),r!=null&&(r(v),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(v){return m.end(v),r!=null&&(r(v),r=void 0),i},get readableLength(){return m.readableLength},onEmpty:v=>m.onEmpty(v)},i}function Qa(t){let e=Ae(),r=qa(t.source),n=Yt(),i,a=t.sink(async function*(){yield*e,yield*await n.promise}());return a.catch(o=>{i=o}),{reader:r,writer:e,stream:{sink:async o=>{if(i!=null){await Promise.reject(i);return}n.resolve(o),await a},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let o=await r.next();if(o.value!=null)return o.value}}}function wu(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var za=wu;function Cu(t){return t[Symbol.asyncIterator]!=null}function Iu(t,e){if(Cu(t))return async function*(){for await(let o of t)yield e(o)}();let r=za(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let a=e(n);if(typeof a.then=="function")return async function*(){yield await a;for await(let o of r)yield e(o)}();let s=e;return function*(){yield a;for(let o of r)yield s(o)}()}var Ga=Iu;function Tn(){let t=Yt(),e=!1;return{sink:async r=>{if(e)throw new Error("already piped");e=!0,t.resolve(r)},source:async function*(){yield*await t.promise}()}}function Ha(){let t=Tn(),e=Tn();return[{source:t.source,sink:e.sink},{source:e.source,sink:t.sink}]}function Tu(t){return t[Symbol.asyncIterator]!=null}function _u(...t){let e=[];for(let r of t)Tu(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Ae({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Ya=_u;function Wa(t,...e){if(t==null)throw new Error("Empty pipeline");if(_n(t)){let n=t;t=()=>n.source}else if($a(t)||Ja(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&_n(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++)_n(r[n])&&(r[n]=Ru(r[n]));return Du(...r)}var Du=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Ja=t=>t?.[Symbol.asyncIterator]!=null,$a=t=>t?.[Symbol.iterator]!=null,_n=t=>t==null?!1:t.sink!=null&&t.source!=null,Ru=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Ae({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,a=t.source;if(Ja(a))i=async function*(){yield*a,n.end()};else if($a(a))i=function*(){yield*a,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Ya(n,i())}return t.source};var Pn=at(r0(),1);var Rn="Your private shared key is invalid";var n0="No connection for the handshake provided",i0="Stream ended prematurely",Nn="ERR_INVALID_PARAMETERS";function s0(t){let e=Bt(Ht(kn),"base16"),r=xt(`/key/swarm/psk/1.0.0/
|
2
|
+
"use strict";var Libp2PPnet=(()=>{var tr=Object.create;var ue=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var nr=Object.getOwnPropertyNames;var or=Object.getPrototypeOf,sr=Object.prototype.hasOwnProperty;var st=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),O=(r,e)=>{for(var t in e)ue(r,t,{get:e[t],enumerable:!0})},it=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of nr(e))!sr.call(r,o)&&o!==t&&ue(r,o,{get:()=>e[o],enumerable:!(n=rr(e,o))||n.enumerable});return r};var ir=(r,e,t)=>(t=r!=null?tr(or(r)):{},it(e||!r||!r.__esModule?ue(t,"default",{value:r,enumerable:!0}):t,r)),fr=r=>it(ue({},"__esModule",{value:!0}),r);var jt=st((ws,Vt)=>{var Cn=(r,e)=>function(){return e||(0,r[Object.keys(r)[0]])((e={exports:{}}).exports,e),e.exports},vn=(()=>{for(var r=new Uint8Array(128),e=0;e<64;e++)r[e<26?e+65:e<52?e+71:e<62?e-4:e*4-205]=e;return t=>{for(var n=t.length,o=new Uint8Array((n-(t[n-1]=="=")-(t[n-2]=="="))*3/4|0),i=0,f=0;i<n;){var a=r[t.charCodeAt(i++)],c=r[t.charCodeAt(i++)],w=r[t.charCodeAt(i++)],l=r[t.charCodeAt(i++)];o[f++]=a<<2|c>>4,o[f++]=c<<4|w>>2,o[f++]=w<<6|l}return o}})(),Qn=Cn({"wasm-binary:./xsalsa20.wat"(r,e){e.exports=vn("AGFzbQEAAAABGgNgBn9/f39/fwBgBn9/f39+fwF+YAN/f38AAwcGAAEBAgICBQUBAQroBwcoAwZtZW1vcnkCAAx4c2Fsc2EyMF94b3IAAAxjb3JlX3NhbHNhMjAABArqEQYYACAAIAEgAiADIAQgACkDACAFEAE3AwALPQBB8AAgAyAFEAMgACABIAIgA0EQaiAEQfAAEAJB8ABCADcDAEH4AEIANwMAQYABQgA3AwBBiAFCADcDAAuHBQEBfyACQQBGBEBCAA8LQdAAIAUpAwA3AwBB2AAgBUEIaikDADcDAEHgACAFQRBqKQMANwMAQegAIAVBGGopAwA3AwBBACADKQMANwMAQQggBDcDAAJAA0AgAkHAAEkNAUEQQQBB0AAQBSAAIAEpAwBBECkDAIU3AwAgAEEIaiABQQhqKQMAQRgpAwCFNwMAIABBEGogAUEQaikDAEEgKQMAhTcDACAAQRhqIAFBGGopAwBBKCkDAIU3AwAgAEEgaiABQSBqKQMAQTApAwCFNwMAIABBKGogAUEoaikDAEE4KQMAhTcDACAAQTBqIAFBMGopAwBBwAApAwCFNwMAIABBOGogAUE4aikDAEHIACkDAIU3AwBBCEEIKQMAQgF8NwMAIABBwABqIQAgAUHAAGohASACQcAAayECDAALC0EIKQMAIQQgAkEASwRAQRBBAEHQABAFAkACQAJAAkACQAJAAkACQCACQQhuDgcHBgUEAwIBAAsgAEE4aiABQThqKQMAQcgAKQMAhTcDAAsgAEEwaiABQTBqKQMAQcAAKQMAhTcDAAsgAEEoaiABQShqKQMAQTgpAwCFNwMACyAAQSBqIAFBIGopAwBBMCkDAIU3AwALIABBGGogAUEYaikDAEEoKQMAhTcDAAsgAEEQaiABQRBqKQMAQSApAwCFNwMACyAAQQhqIAFBCGopAwBBGCkDAIU3AwALIAAgASkDAEEQKQMAhTcDAAtBEEIANwMAQRhCADcDAEEgQgA3AwBBKEIANwMAQTBCADcDAEE4QgA3AwBBwABCADcDAEHIAEIANwMAQdAAQgA3AwBB2ABCADcDAEHgAEIANwMAQegAQgA3AwAgBA8LnQUBEX9B5fDBiwYhA0HuyIGZAyEIQbLaiMsHIQ1B9MqB2QYhEiACKAIAIQQgAkEEaigCACEFIAJBCGooAgAhBiACQQxqKAIAIQcgAkEQaigCACEOIAJBFGooAgAhDyACQRhqKAIAIRAgAkEcaigCACERIAEoAgAhCSABQQRqKAIAIQogAUEIaigCACELIAFBDGooAgAhDEEUIRMCQANAIBNBAEYNASAHIAMgD2pBB3dzIQcgCyAHIANqQQl3cyELIA8gCyAHakENd3MhDyADIA8gC2pBEndzIQMgDCAIIARqQQd3cyEMIBAgDCAIakEJd3MhECAEIBAgDGpBDXdzIQQgCCAEIBBqQRJ3cyEIIBEgDSAJakEHd3MhESAFIBEgDWpBCXdzIQUgCSAFIBFqQQ13cyEJIA0gCSAFakESd3MhDSAGIBIgDmpBB3dzIQYgCiAGIBJqQQl3cyEKIA4gCiAGakENd3MhDiASIA4gCmpBEndzIRIgBCADIAZqQQd3cyEEIAUgBCADakEJd3MhBSAGIAUgBGpBDXdzIQYgAyAGIAVqQRJ3cyEDIAkgCCAHakEHd3MhCSAKIAkgCGpBCXdzIQogByAKIAlqQQ13cyEHIAggByAKakESd3MhCCAOIA0gDGpBB3dzIQ4gCyAOIA1qQQl3cyELIAwgCyAOakENd3MhDCANIAwgC2pBEndzIQ0gDyASIBFqQQd3cyEPIBAgDyASakEJd3MhECARIBAgD2pBDXdzIREgEiARIBBqQRJ3cyESIBNBAmshEwwACwsgACADNgIAIABBBGogCDYCACAAQQhqIA02AgAgAEEMaiASNgIAIABBEGogCTYCACAAQRRqIAo2AgAgAEEYaiALNgIAIABBHGogDDYCAAsKACAAIAEgAhAFC90GASF/QeXwwYsGIQNB7siBmQMhCEGy2ojLByENQfTKgdkGIRIgAigCACEEIAJBBGooAgAhBSACQQhqKAIAIQYgAkEMaigCACEHIAJBEGooAgAhDiACQRRqKAIAIQ8gAkEYaigCACEQIAJBHGooAgAhESABKAIAIQkgAUEEaigCACEKIAFBCGooAgAhCyABQQxqKAIAIQwgAyETIAQhFCAFIRUgBiEWIAchFyAIIRggCSEZIAohGiALIRsgDCEcIA0hHSAOIR4gDyEfIBAhICARISEgEiEiQRQhIwJAA0AgI0EARg0BIAcgAyAPakEHd3MhByALIAcgA2pBCXdzIQsgDyALIAdqQQ13cyEPIAMgDyALakESd3MhAyAMIAggBGpBB3dzIQwgECAMIAhqQQl3cyEQIAQgECAMakENd3MhBCAIIAQgEGpBEndzIQggESANIAlqQQd3cyERIAUgESANakEJd3MhBSAJIAUgEWpBDXdzIQkgDSAJIAVqQRJ3cyENIAYgEiAOakEHd3MhBiAKIAYgEmpBCXdzIQogDiAKIAZqQQ13cyEOIBIgDiAKakESd3MhEiAEIAMgBmpBB3dzIQQgBSAEIANqQQl3cyEFIAYgBSAEakENd3MhBiADIAYgBWpBEndzIQMgCSAIIAdqQQd3cyEJIAogCSAIakEJd3MhCiAHIAogCWpBDXdzIQcgCCAHIApqQRJ3cyEIIA4gDSAMakEHd3MhDiALIA4gDWpBCXdzIQsgDCALIA5qQQ13cyEMIA0gDCALakESd3MhDSAPIBIgEWpBB3dzIQ8gECAPIBJqQQl3cyEQIBEgECAPakENd3MhESASIBEgEGpBEndzIRIgI0ECayEjDAALCyAAIAMgE2o2AgAgAEEEaiAEIBRqNgIAIABBCGogBSAVajYCACAAQQxqIAYgFmo2AgAgAEEQaiAHIBdqNgIAIABBFGogCCAYajYCACAAQRhqIAkgGWo2AgAgAEEcaiAKIBpqNgIAIABBIGogCyAbajYCACAAQSRqIAwgHGo2AgAgAEEoaiANIB1qNgIAIABBLGogDiAeajYCACAAQTBqIA8gH2o2AgAgAEE0aiAQICBqNgIAIABBOGogESAhajYCACAAQTxqIBIgImo2AgAL")}}),Sn=Qn(),Dn=new WebAssembly.Module(Sn);Vt.exports=r=>new WebAssembly.Instance(Dn,r).exports});var Ht=st((ms,Kt)=>{var ce=typeof WebAssembly<"u"&&jt()(),Ie=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]),G=144,re=G,Ee=[];Kt.exports=V;V.NONCEBYTES=24;V.KEYBYTES=32;V.core_hsalsa20=Pt;V.SIGMA=Ie;function V(r,e){if(!(this instanceof V))return new V(r,e);if(!r||r.length<24)throw new Error("nonce must be at least 24 bytes");if(!e||e.length<32)throw new Error("key must be at least 32 bytes");this._xor=ce?new Be(r,e):new Ze(r,e)}V.prototype.update=function(r,e){if(!r)throw new Error("input must be Uint8Array or Buffer");return e||(e=new Uint8Array(r.length)),r.length&&this._xor.update(r,e),e};V.prototype.final=V.prototype.finalize=function(){this._xor.finalize(),this._xor=null};function Be(r,e){Ee.length||(Ee.push(G),G+=64),this._pointer=Ee.pop(),this._nonce=this._pointer+8,this._key=this._nonce+24,this._overflow=0,this._memory=new Uint8Array(ce.memory.buffer),this._memory.fill(0,this._pointer,this._pointer+8),this._memory.set(r,this._nonce),this._memory.set(e,this._key)}Be.prototype.realloc=function(r){ce.memory.grow(Math.ceil(Math.abs(r-this._memory.length)/65536)),this._memory=new Uint8Array(ce.memory.buffer)};Be.prototype.update=function(r,e){var t=this._overflow+r.length,n=G+this._overflow;re=G+t,re>=this._memory.length&&this.realloc(re),this._memory.set(r,n),ce.xsalsa20_xor(this._pointer,G,G,t,this._nonce,this._key),e.set(this._memory.subarray(n,G+t)),this._overflow=t&63};Be.prototype.finalize=function(){this._memory.fill(0,this._pointer,this._key+32),re>G&&(this._memory.fill(0,G,re),re=0),Ee.push(this._pointer)};function Ze(r,e){this._s=new Uint8Array(32),this._z=new Uint8Array(16),this._overflow=0,Pt(this._s,r,e,Ie);for(var t=0;t<8;t++)this._z[t]=r[t+16]}Ze.prototype.update=function(r,e){for(var t=new Uint8Array(64),n=0,o=this._overflow,i=r.length+this._overflow,f=this._z,a=-this._overflow,c=-this._overflow;i>=64;){for(kt(t,f,this._s,Ie);o<64;o++)e[c+o]=r[a+o]^t[o];for(n=1,o=8;o<16;o++)n+=f[o]&255|0,f[o]=n&255,n>>>=8;i-=64,c+=64,a+=64,o=0}if(i>0)for(kt(t,f,this._s,Ie);o<i;o++)e[c+o]=r[a+o]^t[o];this._overflow=i&63};Ze.prototype.finalize=function(){this._s.fill(0),this._z.fill(0)};function kt(r,e,t,n){for(var o=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,f=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,a=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,c=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,w=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,l=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,h=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,I=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,z=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,p=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,m=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,u=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,E=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,U=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,N=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,A=o,d=i,b=f,x=a,g=c,y=w,B=l,C=h,v=I,Q=z,S=p,R=m,M=u,_=E,T=U,D=N,s,ne=0;ne<20;ne+=2)s=A+M|0,g^=s<<7|s>>>25,s=g+A|0,v^=s<<9|s>>>23,s=v+g|0,M^=s<<13|s>>>19,s=M+v|0,A^=s<<18|s>>>14,s=y+d|0,Q^=s<<7|s>>>25,s=Q+y|0,_^=s<<9|s>>>23,s=_+Q|0,d^=s<<13|s>>>19,s=d+_|0,y^=s<<18|s>>>14,s=S+B|0,T^=s<<7|s>>>25,s=T+S|0,b^=s<<9|s>>>23,s=b+T|0,B^=s<<13|s>>>19,s=B+b|0,S^=s<<18|s>>>14,s=D+R|0,x^=s<<7|s>>>25,s=x+D|0,C^=s<<9|s>>>23,s=C+x|0,R^=s<<13|s>>>19,s=R+C|0,D^=s<<18|s>>>14,s=A+x|0,d^=s<<7|s>>>25,s=d+A|0,b^=s<<9|s>>>23,s=b+d|0,x^=s<<13|s>>>19,s=x+b|0,A^=s<<18|s>>>14,s=y+g|0,B^=s<<7|s>>>25,s=B+y|0,C^=s<<9|s>>>23,s=C+B|0,g^=s<<13|s>>>19,s=g+C|0,y^=s<<18|s>>>14,s=S+Q|0,R^=s<<7|s>>>25,s=R+S|0,v^=s<<9|s>>>23,s=v+R|0,Q^=s<<13|s>>>19,s=Q+v|0,S^=s<<18|s>>>14,s=D+T|0,M^=s<<7|s>>>25,s=M+D|0,_^=s<<9|s>>>23,s=_+M|0,T^=s<<13|s>>>19,s=T+_|0,D^=s<<18|s>>>14;A=A+o|0,d=d+i|0,b=b+f|0,x=x+a|0,g=g+c|0,y=y+w|0,B=B+l|0,C=C+h|0,v=v+I|0,Q=Q+z|0,S=S+p|0,R=R+m|0,M=M+u|0,_=_+E|0,T=T+U|0,D=D+N|0,r[0]=A>>>0&255,r[1]=A>>>8&255,r[2]=A>>>16&255,r[3]=A>>>24&255,r[4]=d>>>0&255,r[5]=d>>>8&255,r[6]=d>>>16&255,r[7]=d>>>24&255,r[8]=b>>>0&255,r[9]=b>>>8&255,r[10]=b>>>16&255,r[11]=b>>>24&255,r[12]=x>>>0&255,r[13]=x>>>8&255,r[14]=x>>>16&255,r[15]=x>>>24&255,r[16]=g>>>0&255,r[17]=g>>>8&255,r[18]=g>>>16&255,r[19]=g>>>24&255,r[20]=y>>>0&255,r[21]=y>>>8&255,r[22]=y>>>16&255,r[23]=y>>>24&255,r[24]=B>>>0&255,r[25]=B>>>8&255,r[26]=B>>>16&255,r[27]=B>>>24&255,r[28]=C>>>0&255,r[29]=C>>>8&255,r[30]=C>>>16&255,r[31]=C>>>24&255,r[32]=v>>>0&255,r[33]=v>>>8&255,r[34]=v>>>16&255,r[35]=v>>>24&255,r[36]=Q>>>0&255,r[37]=Q>>>8&255,r[38]=Q>>>16&255,r[39]=Q>>>24&255,r[40]=S>>>0&255,r[41]=S>>>8&255,r[42]=S>>>16&255,r[43]=S>>>24&255,r[44]=R>>>0&255,r[45]=R>>>8&255,r[46]=R>>>16&255,r[47]=R>>>24&255,r[48]=M>>>0&255,r[49]=M>>>8&255,r[50]=M>>>16&255,r[51]=M>>>24&255,r[52]=_>>>0&255,r[53]=_>>>8&255,r[54]=_>>>16&255,r[55]=_>>>24&255,r[56]=T>>>0&255,r[57]=T>>>8&255,r[58]=T>>>16&255,r[59]=T>>>24&255,r[60]=D>>>0&255,r[61]=D>>>8&255,r[62]=D>>>16&255,r[63]=D>>>24&255}function Pt(r,e,t,n){for(var o=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,f=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,a=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,c=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,w=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,l=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,h=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,I=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,z=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,p=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,m=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,u=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,E=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,U=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,N=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,A=o,d=i,b=f,x=a,g=c,y=w,B=l,C=h,v=I,Q=z,S=p,R=m,M=u,_=E,T=U,D=N,s,ne=0;ne<20;ne+=2)s=A+M|0,g^=s<<7|s>>>25,s=g+A|0,v^=s<<9|s>>>23,s=v+g|0,M^=s<<13|s>>>19,s=M+v|0,A^=s<<18|s>>>14,s=y+d|0,Q^=s<<7|s>>>25,s=Q+y|0,_^=s<<9|s>>>23,s=_+Q|0,d^=s<<13|s>>>19,s=d+_|0,y^=s<<18|s>>>14,s=S+B|0,T^=s<<7|s>>>25,s=T+S|0,b^=s<<9|s>>>23,s=b+T|0,B^=s<<13|s>>>19,s=B+b|0,S^=s<<18|s>>>14,s=D+R|0,x^=s<<7|s>>>25,s=x+D|0,C^=s<<9|s>>>23,s=C+x|0,R^=s<<13|s>>>19,s=R+C|0,D^=s<<18|s>>>14,s=A+x|0,d^=s<<7|s>>>25,s=d+A|0,b^=s<<9|s>>>23,s=b+d|0,x^=s<<13|s>>>19,s=x+b|0,A^=s<<18|s>>>14,s=y+g|0,B^=s<<7|s>>>25,s=B+y|0,C^=s<<9|s>>>23,s=C+B|0,g^=s<<13|s>>>19,s=g+C|0,y^=s<<18|s>>>14,s=S+Q|0,R^=s<<7|s>>>25,s=R+S|0,v^=s<<9|s>>>23,s=v+R|0,Q^=s<<13|s>>>19,s=Q+v|0,S^=s<<18|s>>>14,s=D+T|0,M^=s<<7|s>>>25,s=M+D|0,_^=s<<9|s>>>23,s=_+M|0,T^=s<<13|s>>>19,s=T+_|0,D^=s<<18|s>>>14;r[0]=A>>>0&255,r[1]=A>>>8&255,r[2]=A>>>16&255,r[3]=A>>>24&255,r[4]=y>>>0&255,r[5]=y>>>8&255,r[6]=y>>>16&255,r[7]=y>>>24&255,r[8]=S>>>0&255,r[9]=S>>>8&255,r[10]=S>>>16&255,r[11]=S>>>24&255,r[12]=D>>>0&255,r[13]=D>>>8&255,r[14]=D>>>16&255,r[15]=D>>>24&255,r[16]=B>>>0&255,r[17]=B>>>8&255,r[18]=B>>>16&255,r[19]=B>>>24&255,r[20]=C>>>0&255,r[21]=C>>>8&255,r[22]=C>>>16&255,r[23]=C>>>24&255,r[24]=v>>>0&255,r[25]=v>>>8&255,r[26]=v>>>16&255,r[27]=v>>>24&255,r[28]=Q>>>0&255,r[29]=Q>>>8&255,r[30]=Q>>>16&255,r[31]=Q>>>24&255}});var Ln={};O(Ln,{generateKey:()=>Wt,preSharedKey:()=>Nn});var J=class extends Error{code;props;constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}};var De={};O(De,{base58btc:()=>F,base58flickr:()=>lr});var Mn=new Uint8Array(0);function ft(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function j(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function at(r){return new TextEncoder().encode(r)}function ct(r){return new TextDecoder().decode(r)}function ar(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),f=i.charCodeAt(0);if(t[f]!==255)throw new TypeError(i+" is ambiguous");t[f]=o}var a=r.length,c=r.charAt(0),w=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(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,u=0,E=0,U=p.length;E!==U&&p[E]===0;)E++,m++;for(var N=(U-E)*l+1>>>0,A=new Uint8Array(N);E!==U;){for(var d=p[E],b=0,x=N-1;(d!==0||b<u)&&x!==-1;x--,b++)d+=256*A[x]>>>0,A[x]=d%a>>>0,d=d/a>>>0;if(d!==0)throw new Error("Non-zero carry");u=b,E++}for(var g=N-u;g!==N&&A[g]===0;)g++;for(var y=c.repeat(m);g<N;++g)y+=r.charAt(A[g]);return y}function I(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 u=0,E=0;p[m]===c;)u++,m++;for(var U=(p.length-m)*w+1>>>0,N=new Uint8Array(U);p[m];){var A=t[p.charCodeAt(m)];if(A===255)return;for(var d=0,b=U-1;(A!==0||d<E)&&b!==-1;b--,d++)A+=a*N[b]>>>0,N[b]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");E=d,m++}if(p[m]!==" "){for(var x=U-E;x!==U&&N[x]===0;)x++;for(var g=new Uint8Array(u+(U-x)),y=u;x!==U;)g[y++]=N[x++];return g}}}function z(p){var m=I(p);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:I,decode:z}}var cr=ar,ur=cr,ht=ur;var Ce=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ve=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return At(this,e)}},Qe=class{decoders;constructor(e){this.decoders=e}or(e){return At(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function At(r,e){return new Qe({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Se=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ce(e,t,n),this.decoder=new ve(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Y({name:r,prefix:e,encode:t,decode:n}){return new Se(r,e,t,n)}function P({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=ht(t,r);return Y({prefix:e,name:r,encode:n,decode:i=>j(o(i))})}function hr(r,e,t,n){let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let f=new Uint8Array(i*t/8|0),a=0,c=0,w=0;for(let l=0;l<i;++l){let h=o[r[l]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|h,a+=t,a>=8&&(a-=8,f[w++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return f}function Ar(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,i="",f=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],f+=8;f>t;)f-=t,i+=e[o&a>>f];if(f!==0&&(i+=e[o&a<<t-f]),n)for(;i.length*t&7;)i+="=";return i}function L({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return Y({prefix:e,name:r,encode(o){return Ar(o,n,t)},decode(o){return hr(o,n,t,r)}})}var F=P({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),lr=P({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Le={};O(Le,{identity:()=>Mr});var pr=dt,lt=128,dr=127,xr=~dr,gr=Math.pow(2,31);function dt(r,e,t){e=e||[],t=t||0;for(var n=t;r>=gr;)e[t++]=r&255|lt,r/=128;for(;r&xr;)e[t++]=r&255|lt,r>>>=7;return e[t]=r|0,dt.bytes=t-n+1,e}var br=Ne,yr=128,pt=127;function Ne(r,n){var t=0,n=n||0,o=0,i=n,f,a=r.length;do{if(i>=a)throw Ne.bytes=0,new RangeError("Could not decode varint");f=r[i++],t+=o<28?(f&pt)<<o:(f&pt)*Math.pow(2,o),o+=7}while(f>=yr);return Ne.bytes=i-n,t}var wr=Math.pow(2,7),mr=Math.pow(2,14),Er=Math.pow(2,21),Ir=Math.pow(2,28),Br=Math.pow(2,35),Cr=Math.pow(2,42),vr=Math.pow(2,49),Qr=Math.pow(2,56),Sr=Math.pow(2,63),Dr=function(r){return r<wr?1:r<mr?2:r<Er?3:r<Ir?4:r<Br?5:r<Cr?6:r<vr?7:r<Qr?8:r<Sr?9:10},Nr={encode:pr,decode:br,encodingLength:Dr},Lr=Nr,oe=Lr;function se(r,e=0){return[oe.decode(r,e),oe.decode.bytes]}function X(r,e,t=0){return oe.encode(r,e,t),e}function W(r){return oe.encodingLength(r)}function K(r,e){let t=e.byteLength,n=W(r),o=n+W(t),i=new Uint8Array(o+t);return X(r,i,0),X(t,i,n),i.set(e,o),new $(r,t,e,i)}function xt(r){let e=j(r),[t,n]=se(e),[o,i]=se(e.subarray(n)),f=e.subarray(n+i);if(f.byteLength!==o)throw new Error("Incorrect length");return new $(t,o,f,e)}function gt(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&ft(r.bytes,t.bytes)}}var $=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var bt=0,Ur="identity",yt=j;function Rr(r){return K(bt,yt(r))}var Mr={code:bt,name:Ur,encode:yt,digest:Rr};var Me={};O(Me,{sha256:()=>_r,sha512:()=>Tr});function Re({name:r,code:e,encode:t}){return new Ue(r,e,t)}var Ue=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?K(this.code,t):t.then(n=>K(this.code,n))}else throw Error("Unknown type, must be binary type")}};function mt(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var _r=Re({name:"sha2-256",code:18,encode:mt("SHA-256")}),Tr=Re({name:"sha2-512",code:19,encode:mt("SHA-512")});function Et(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function k(r=0){return new Uint8Array(r)}function H(r=0){return new Uint8Array(r)}function _e(r,e){e==null&&(e=r.reduce((o,i)=>o+i.length,0));let t=H(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return t}var Te={};O(Te,{base10:()=>Or});var Or=P({prefix:"9",name:"base10",alphabet:"0123456789"});var Oe={};O(Oe,{base16:()=>zr,base16upper:()=>qr});var zr=L({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),qr=L({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ze={};O(ze,{base2:()=>Fr});var Fr=L({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var qe={};O(qe,{base256emoji:()=>Pr});var It=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}"),Gr=It.reduce((r,e,t)=>(r[t]=e,r),[]),Vr=It.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function jr(r){return r.reduce((e,t)=>(e+=Gr[t],e),"")}function kr(r){let e=[];for(let t of r){let n=Vr[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Pr=Y({prefix:"\u{1F680}",name:"base256emoji",encode:jr,decode:kr});var Fe={};O(Fe,{base32:()=>Z,base32hex:()=>Yr,base32hexpad:()=>Wr,base32hexpadupper:()=>$r,base32hexupper:()=>Xr,base32pad:()=>Hr,base32padupper:()=>Jr,base32upper:()=>Kr,base32z:()=>Zr});var Z=L({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Kr=L({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Hr=L({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jr=L({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Yr=L({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Xr=L({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Wr=L({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),$r=L({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Zr=L({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ge={};O(Ge,{base36:()=>en,base36upper:()=>tn});var en=P({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),tn=P({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ve={};O(Ve,{base64:()=>rn,base64pad:()=>nn,base64url:()=>on,base64urlpad:()=>sn});var rn=L({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),nn=L({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),on=L({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),sn=L({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var je={};O(je,{base8:()=>fn});var fn=L({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ke={};O(ke,{identity:()=>an});var an=Y({prefix:"\0",name:"identity",encode:r=>ct(r),decode:r=>at(r)});var ao=new TextEncoder,co=new TextDecoder;function Bt(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return An(t,Pe(r),e??F.encoder);default:return ln(t,Pe(r),e??Z.encoder)}}var Ct=new WeakMap;function Pe(r){let e=Ct.get(r);if(e==null){let t=new Map;return Ct.set(r,t),t}return e}var Ae=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==fe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==pn)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=K(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&>(e.multihash,n.multihash)}toString(e){return Bt(this,e)}toJSON(){return{"/":Bt(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:i,bytes:f}=t;return new r(n,o,i,f??vt(n,o,i.bytes))}else if(t[dn]===!0){let{version:n,multihash:o,code:i}=t,f=xt(o);return r.create(n,i,f)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==fe)throw new Error(`Version 0 CID must use dag-pb (code: ${fe}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=vt(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,fe,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=j(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=o.subarray(t.multihashSize-t.digestSize),f=new $(t.multihashCode,t.digestSize,i,o);return[t.version===0?r.createV0(f):r.createV1(t.codec,f),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[h,I]=se(e.subarray(t));return t+=I,h},o=n(),i=fe;if(o===18?(o=0,t=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let f=t,a=n(),c=n(),w=t+c,l=w-f;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:l,size:w}}static parse(e,t){let[n,o]=hn(e,t),i=r.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Pe(i).set(n,e),i}};function hn(r,e){switch(r[0]){case"Q":{let t=e??F;return[F.prefix,t.decode(`${F.prefix}${r}`)]}case F.prefix:{let t=e??F;return[F.prefix,t.decode(r)]}case Z.prefix:{let t=e??Z;return[Z.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function An(r,e,t){let{prefix:n}=t;if(n!==F.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let i=t.encode(r).slice(1);return e.set(n,i),i}else return o}function ln(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let i=t.encode(r);return e.set(n,i),i}else return o}var fe=112,pn=18;function vt(r,e,t){let n=W(r),o=n+W(e),i=new Uint8Array(o+t.byteLength);return X(r,i,0),X(e,i,n),i.set(t,o),i}var dn=Symbol.for("@ipld/js-cid/CID");var Ke={...ke,...ze,...je,...Te,...Oe,...Fe,...Ge,...De,...Ve,...qe},vo={...Me,...Le};function St(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Qt=St("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),He=St("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=H(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),xn={utf8:Qt,"utf-8":Qt,hex:Ke.base16,latin1:He,ascii:He,binary:He,...Ke},le=xn;function pe(r,e="utf8"){let t=le[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}var de=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var _o=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var To={}.toString;function Dt(r=32){if(de&&typeof de.getRandomValues=="function")return de.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function xe(r,e="utf8"){let t=le[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}function ee(r){if(isNaN(r)||r<=0)throw new J("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Dt(r)}var Lt=Symbol.for("@achingbrain/uint8arraylist");function Nt(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function ge(r){return!!r?.[Lt]}var ae=class r{bufs;length;[Lt]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(ge(n))t+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(ge(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=Nt(this.bufs,e);return t.buf[t.index]}set(e,t){let n=Nt(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(ge(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return _e(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:_e(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),i=new r;return i.length=o,i.bufs=[...n],i}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let f=this.bufs[i],a=o,c=a+f.byteLength;if(o=c,e>=c)continue;let w=e>=a&&e<c,l=t>a&&t<=c;if(w&&l){if(e===a&&t===c){n.push(f);break}let h=e-a;n.push(f.subarray(h,h+(t-e)));break}if(w){if(e===0){n.push(f);continue}n.push(f.subarray(e-a));continue}if(l){if(t===c){n.push(f);break}n.push(f.subarray(0,t-a));break}n.push(f)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!ge(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,f=new Int32Array(i);for(let h=0;h<i;h++)f[h]=-1;for(let h=0;h<o;h++)f[n[h]]=h;let a=f,c=this.byteLength-n.byteLength,w=n.byteLength-1,l;for(let h=t;h<=c;h+=l){l=0;for(let I=w;I>=0;I--){let z=this.get(h+I);if(n[I]!==z){l=Math.max(1,I-a[z]);break}}if(l===0)return h}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=H(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=k(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=k(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=k(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=H(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=k(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=k(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=k(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=k(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=k(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Et(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,i)=>o+i.byteLength,0)),n.length=t,n}};function q(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var be=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=t??"ABORT_ERR"}};async function Ut(r,e,t){if(e==null)return r;if(e.aborted)return Promise.reject(new be(t?.errorMessage,t?.errorCode));let n,o=new be(t?.errorMessage,t?.errorCode);try{return await Promise.race([r,new Promise((i,f)=>{n=()=>{f(o)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Je=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=q(),this.haveNext=q()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=q(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");if(this.nextResult!=null&&(await this.readNext.promise,this.nextResult!=null))throw new Error("NeedNext promise resolved but nextResult was not consumed");e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=q(),await Ut(this.readNext.promise,t?.signal,t)}};function Rt(){return new Je}var ye=class extends Error{code;constructor(e,t){super(e),this.code=t}},Ye=class extends ye{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function Mt(r,e){let t=Rt();r.sink(t).catch(async f=>{await t.end(f)}),r.sink=async f=>{for await(let a of f)await t.push(a);await t.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new ae;return{read:async(f,a)=>{a?.signal?.throwIfAborted();let c,w=new Promise((l,h)=>{c=()=>{h(new Ye("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(f==null){let{done:h,value:I}=await Promise.race([n.next(),w]);return h===!0?new ae:I}for(;o.byteLength<f;){let{value:h,done:I}=await Promise.race([n.next(),w]);if(I===!0)throw new ye("unexpected end of input","ERR_UNEXPECTED_EOF");o.append(h)}let l=o.sublist(0,f);return o.consume(f),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(f,a)=>{a?.signal?.throwIfAborted(),f instanceof Uint8Array?await t.push(f,a):await t.push(f.subarray(),a)},unwrap:()=>{if(o.byteLength>0){let f=r.source;r.source=async function*(){e?.yieldBytes===!1?yield o:yield*o,yield*f}()}return r}}}function gn(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var _t=gn;function bn(r){return r[Symbol.asyncIterator]!=null}function yn(r,e){let t=0;if(bn(r))return async function*(){for await(let c of r)yield e(c,t++)}();let n=_t(r),{value:o,done:i}=n.next();if(i===!0)return function*(){}();let f=e(o,t++);if(typeof f.then=="function")return async function*(){yield await f;for await(let c of n)yield e(c,t++)}();let a=e;return function*(){yield f;for(let c of n)yield a(c,t++)}()}var Tt=yn;function Xe(){let r=q(),e=!1;return{sink:async t=>{if(e)throw new Error("already piped");e=!0,r.resolve(t)},source:async function*(){yield*await r.promise}()}}function Ot(){let r=Xe(),e=Xe();return[{source:r.source,sink:e.sink},{source:e.source,sink:r.sink}]}var we=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},te=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new we(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new we(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var We=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function me(r={}){return wn(t=>{let n=t.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function wn(r,e){e=e??{};let t=e.onEnd,n=new te,o,i,f,a=q(),c=async()=>{try{return n.isEmpty()?f?{done:!0}:await new Promise((u,E)=>{i=U=>{i=null,n.push(U);try{u(r(n))}catch(N){E(N)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=q()})}},w=u=>i!=null?i(u):(n.push(u),o),l=u=>(n=new te,i!=null?i({error:u}):(n.push({error:u}),o)),h=u=>{if(f)return o;if(e?.objectMode!==!0&&u?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return w({done:!1,value:u})},I=u=>f?o:(f=!0,u!=null?l(u):w({done:!0})),z=()=>(n=new te,I(),{done:!0}),p=u=>(I(u),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:z,throw:p,push:h,end:I,get readableLength(){return n.size},onEmpty:async u=>{let E=u?.signal;if(E?.throwIfAborted(),n.isEmpty())return;let U,N;E!=null&&(U=new Promise((A,d)=>{N=()=>{d(new We)},E.addEventListener("abort",N)}));try{await Promise.race([a.promise,U])}finally{N!=null&&E!=null&&E?.removeEventListener("abort",N)}}},t==null)return o;let m=o;return o={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(u){return m.throw(u),t!=null&&(t(u),t=void 0),{done:!0}},return(){return m.return(),t!=null&&(t(),t=void 0),{done:!0}},push:h,end(u){return m.end(u),t!=null&&(t(u),t=void 0),o},get readableLength(){return m.readableLength},onEmpty:u=>m.onEmpty(u)},o}function mn(r){return r[Symbol.asyncIterator]!=null}function En(...r){let e=[];for(let t of r)mn(t)||e.push(t);return e.length===r.length?function*(){for(let t of e)yield*t}():async function*(){let t=me({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let o of n)t.push(o)})),t.end()}catch(n){t.end(n)}}),yield*t}()}var zt=En;function qt(r,...e){if(r==null)throw new Error("Empty pipeline");if($e(r)){let n=r;r=()=>n.source}else if(Gt(r)||Ft(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&$e(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let n=1;n<t.length-1;n++)$e(t[n])&&(t[n]=Bn(t[n]));return In(...t)}var In=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},Ft=r=>r?.[Symbol.asyncIterator]!=null,Gt=r=>r?.[Symbol.iterator]!=null,$e=r=>r==null?!1:r.sink!=null&&r.source!=null,Bn=r=>e=>{let t=r.sink(e);if(t?.then!=null){let n=me({objectMode:!0});t.then(()=>{n.end()},f=>{n.end(f)});let o,i=r.source;if(Ft(i))o=async function*(){yield*i,n.end()};else if(Gt(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return zt(n,o())}return r.source};var nt=ir(Ht(),1);var et="Your private shared key is invalid";var Jt="No connection for the handshake provided";var Yt="ERR_INVALID_PARAMETERS";function Wt(r){let e=xe(ee(rt),"base16"),t=pe(`/key/swarm/psk/1.0.0/
|
16
3
|
/base16/
|
17
|
-
`+e);
|
4
|
+
`+e);r instanceof Uint8Array?r.set(t):r.write(t)}var tt=24,rt=32;function $t(r,e){let t=(0,nt.default)(r,e);return n=>async function*(){for await(let o of n)yield Uint8Array.from(t.update(o.subarray()))}()}function Zt(r,e){return t=>async function*(){let n=(0,nt.default)(r,e);for await(let o of t)yield Uint8Array.from(n.update(o.subarray()))}()}function er(r){try{let e=xe(r).split(/(?:\r\n|\r|\n)/g),t=e.shift(),n=e.shift(),o=e.shift(),i=pe(o??"","base16");if(i.byteLength!==rt)throw new Error(et);return{tag:t,codecName:n,psk:i}}catch{throw new Error(et)}}var ot=class{tag;log;psk;timeout;constructor(e,t){this.log=e.logger.forComponent("libp2p:pnet"),this.timeout=t.timeout??1e3;let n=er(t.psk);this.psk=n.psk,this.tag=n.tag??""}async protect(e){if(e==null)throw new J(Jt,Yt);this.log("protecting the connection");let t=ee(tt),n=AbortSignal.timeout(this.timeout),o=Mt(e),[,i]=await Promise.all([o.write(t,{signal:n}),o.read(tt,{signal:n})]),f=i.subarray();this.log("exchanged nonces");let[a,c]=Ot();return qt(c,$t(t,this.psk),o.unwrap(),w=>Tt(w,l=>l.subarray()),Zt(f,this.psk),c).catch(this.log.error),{...e,...a}}};function Nn(r){return e=>new ot(e,r)}return fr(Ln);})();
|
18
5
|
/*! Bundled license information:
|
19
6
|
|
20
7
|
@noble/hashes/esm/utils.js:
|
package/dist/src/crypto.d.ts
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import type { Source } from 'it-stream-types';
|
2
|
+
import type { Uint8ArrayList } from 'uint8arraylist';
|
2
3
|
/**
|
3
4
|
* Creates a stream iterable to encrypt messages in a private network
|
4
5
|
*/
|
5
|
-
export declare function createBoxStream(nonce: Uint8Array, psk: Uint8Array): (source: Source<Uint8Array>) =>
|
6
|
+
export declare function createBoxStream(nonce: Uint8Array, psk: Uint8Array): (source: Source<Uint8Array | Uint8ArrayList>) => AsyncGenerator<Uint8Array | Uint8ArrayList>;
|
6
7
|
/**
|
7
8
|
* Creates a stream iterable to decrypt messages in a private network
|
8
9
|
*/
|
package/dist/src/crypto.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;GAEG;AACH,wBAAgB,eAAe,CAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,KAAK,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,CAQjK;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,YACnD,OAAO,UAAU,CAAC,+CAOnC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAE,SAAS,EAAE,UAAU,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAyB/H"}
|
package/dist/src/crypto.js
CHANGED
@@ -10,7 +10,7 @@ export function createBoxStream(nonce, psk) {
|
|
10
10
|
const xor = xsalsa20(nonce, psk);
|
11
11
|
return (source) => (async function* () {
|
12
12
|
for await (const chunk of source) {
|
13
|
-
yield Uint8Array.from(xor.update(chunk.
|
13
|
+
yield Uint8Array.from(xor.update(chunk.subarray()));
|
14
14
|
}
|
15
15
|
})();
|
16
16
|
}
|
@@ -21,7 +21,7 @@ export function createUnboxStream(nonce, psk) {
|
|
21
21
|
return (source) => (async function* () {
|
22
22
|
const xor = xsalsa20(nonce, psk);
|
23
23
|
for await (const chunk of source) {
|
24
|
-
yield Uint8Array.from(xor.update(chunk.
|
24
|
+
yield Uint8Array.from(xor.update(chunk.subarray()));
|
25
25
|
}
|
26
26
|
})();
|
27
27
|
}
|
package/dist/src/crypto.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI/C;;GAEG;AACH,MAAM,UAAU,eAAe,CAAE,KAAiB,EAAE,GAAe;IACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAEhC,OAAO,CAAC,MAA2C,EAAE,EAAE,CAAC,CAAC,KAAK,SAAU,CAAC;QACvE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAE,KAAiB,EAAE,GAAe;IACnE,OAAO,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC,KAAK,SAAU,CAAC;QACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAEhC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAE,SAAqB;IAChD,IAAI,CAAC;QACH,0DAA0D;QAC1D,6DAA6D;QAC7D,yDAAyD;QACzD,2DAA2D;QAC3D,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClC,MAAM,GAAG,GAAG,oBAAoB,CAAC,SAAS,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAA;QAE3D,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACrC,CAAC;QAED,OAAO;YACL,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,KAAK;YAChB,GAAG;SACJ,CAAA;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
*
|
46
46
|
* ### Programmatically
|
47
47
|
*
|
48
|
-
* ```
|
48
|
+
* ```TypeScript
|
49
49
|
* import fs from 'fs'
|
50
50
|
* import { generateKey } from '@libp2p/pnet'
|
51
51
|
*
|
@@ -55,12 +55,19 @@
|
|
55
55
|
* fs.writeFileSync('swarm.key', swarmKey)
|
56
56
|
* ```
|
57
57
|
*/
|
58
|
-
import type { ComponentLogger } from '@libp2p/interface';
|
59
|
-
import type { ConnectionProtector } from '@libp2p/interface/connection';
|
58
|
+
import type { ComponentLogger, ConnectionProtector } from '@libp2p/interface';
|
60
59
|
export { generateKey } from './key-generator.js';
|
61
60
|
export interface ProtectorInit {
|
62
|
-
|
61
|
+
/**
|
62
|
+
* A pre-shared key. This must be the same byte value for all peers in the
|
63
|
+
* swarm in order for them to communicate.
|
64
|
+
*/
|
63
65
|
psk: Uint8Array;
|
66
|
+
/**
|
67
|
+
* The initial nonce exchange must complete within this many milliseconds
|
68
|
+
* (default: 1000)
|
69
|
+
*/
|
70
|
+
timeout?: number;
|
64
71
|
}
|
65
72
|
export interface ProtectorComponents {
|
66
73
|
logger: ComponentLogger;
|
package/dist/src/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAeH,OAAO,KAAK,EAAE,eAAe,EAAU,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAeH,OAAO,KAAK,EAAE,eAAe,EAAU,mBAAmB,EAAuB,MAAM,mBAAmB,CAAA;AAG1G,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,GAAG,EAAE,UAAU,CAAA;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAA;CACxB;AAyED,wBAAgB,YAAY,CAAE,IAAI,EAAE,aAAa,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,mBAAmB,CAE3G"}
|
package/dist/src/index.js
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
*
|
46
46
|
* ### Programmatically
|
47
47
|
*
|
48
|
-
* ```
|
48
|
+
* ```TypeScript
|
49
49
|
* import fs from 'fs'
|
50
50
|
* import { generateKey } from '@libp2p/pnet'
|
51
51
|
*
|
@@ -56,8 +56,8 @@
|
|
56
56
|
* ```
|
57
57
|
*/
|
58
58
|
import { randomBytes } from '@libp2p/crypto';
|
59
|
-
import { CodeError } from '@libp2p/interface
|
60
|
-
import {
|
59
|
+
import { CodeError } from '@libp2p/interface';
|
60
|
+
import { byteStream } from 'it-byte-stream';
|
61
61
|
import map from 'it-map';
|
62
62
|
import { duplexPair } from 'it-pair/duplex';
|
63
63
|
import { pipe } from 'it-pipe';
|
@@ -69,23 +69,17 @@ class PreSharedKeyConnectionProtector {
|
|
69
69
|
tag;
|
70
70
|
log;
|
71
71
|
psk;
|
72
|
-
|
72
|
+
timeout;
|
73
73
|
/**
|
74
74
|
* Takes a Private Shared Key (psk) and provides a `protect` method
|
75
75
|
* for wrapping existing connections in a private encryption stream.
|
76
76
|
*/
|
77
77
|
constructor(components, init) {
|
78
78
|
this.log = components.logger.forComponent('libp2p:pnet');
|
79
|
-
this.
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
this.tag = decodedPSK.tag ?? '';
|
84
|
-
}
|
85
|
-
else {
|
86
|
-
this.psk = new Uint8Array();
|
87
|
-
this.tag = '';
|
88
|
-
}
|
79
|
+
this.timeout = init.timeout ?? 1000;
|
80
|
+
const decodedPSK = decodeV1PSK(init.psk);
|
81
|
+
this.psk = decodedPSK.psk;
|
82
|
+
this.tag = decodedPSK.tag ?? '';
|
89
83
|
}
|
90
84
|
/**
|
91
85
|
* Takes a given Connection and creates a private encryption stream
|
@@ -93,29 +87,29 @@ class PreSharedKeyConnectionProtector {
|
|
93
87
|
* created with.
|
94
88
|
*/
|
95
89
|
async protect(connection) {
|
96
|
-
if (!this.enabled) {
|
97
|
-
return connection;
|
98
|
-
}
|
99
90
|
if (connection == null) {
|
100
91
|
throw new CodeError(Errors.NO_HANDSHAKE_CONNECTION, Errors.ERR_INVALID_PARAMETERS);
|
101
92
|
}
|
102
93
|
// Exchange nonces
|
103
94
|
this.log('protecting the connection');
|
104
95
|
const localNonce = randomBytes(NONCE_LENGTH);
|
105
|
-
const
|
106
|
-
|
107
|
-
const result = await
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
96
|
+
const signal = AbortSignal.timeout(this.timeout);
|
97
|
+
const bytes = byteStream(connection);
|
98
|
+
const [, result] = await Promise.all([
|
99
|
+
bytes.write(localNonce, {
|
100
|
+
signal
|
101
|
+
}),
|
102
|
+
bytes.read(NONCE_LENGTH, {
|
103
|
+
signal
|
104
|
+
})
|
105
|
+
]);
|
106
|
+
const remoteNonce = result.subarray();
|
113
107
|
// Create the boxing/unboxing pipe
|
114
108
|
this.log('exchanged nonces');
|
115
109
|
const [internal, external] = duplexPair();
|
116
110
|
pipe(external,
|
117
111
|
// Encrypt all outbound traffic
|
118
|
-
createBoxStream(localNonce, this.psk),
|
112
|
+
createBoxStream(localNonce, this.psk), bytes.unwrap(), (source) => map(source, (buf) => buf.subarray()),
|
119
113
|
// Decrypt all inbound traffic
|
120
114
|
createUnboxStream(remoteNonce, this.psk), external).catch(this.log.error);
|
121
115
|
return {
|
package/dist/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACZ,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAIjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAmBhD,MAAM,+BAA+B;IAC5B,GAAG,CAAQ;IACD,GAAG,CAAQ;IACX,GAAG,CAAY;IACf,OAAO,CAAQ;IAEhC;;;OAGG;IACH,YAAa,UAA+B,EAAE,IAAmB;QAC/D,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAA;QAEnC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;QACzB,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,EAAE,CAAA;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAE,UAA+B;QAC5C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAA;QACpF,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;QACrC,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;QAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEhD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;QAEpC,MAAM,CACJ,AADK,EACH,MAAM,CACT,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE;gBACtB,MAAM;aACP,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE;gBACvB,MAAM;aACP,CAAC;SACH,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;QAErC,kCAAkC;QAClC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAC5B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,UAAU,EAA+B,CAAA;QACtE,IAAI,CACF,QAAQ;QACR,+BAA+B;QAC/B,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,EACrC,KAAK,CAAC,MAAM,EAAE,EACd,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChD,8BAA8B;QAC9B,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,EACxC,QAAQ,CACT,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAEvB,OAAO;YACL,GAAG,UAAU;YACb,GAAG,QAAQ;SACZ,CAAA;IACH,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAE,IAAmB;IAC/C,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,+BAA+B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AAC9E,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"key-generator.js","sourceRoot":"","sources":["../../src/key-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAEtE;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAE,KAAsC;IACjE,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;IACjE,MAAM,GAAG,GAAG,oBAAoB,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAA;IAE3E,IAAI,KAAK,YAAY,UAAU,EAAE;
|
1
|
+
{"version":3,"file":"key-generator.js","sourceRoot":"","sources":["../../src/key-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAEtE;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAE,KAAsC;IACjE,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;IACjE,MAAM,GAAG,GAAG,oBAAoB,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAA;IAE3E,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@libp2p/pnet",
|
3
|
-
"version": "1.0.0-
|
3
|
+
"version": "1.0.0-d9366f9aa",
|
4
4
|
"description": "Implementation of Connection protection management via a shared secret",
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/pnet#readme",
|
@@ -11,6 +11,10 @@
|
|
11
11
|
"bugs": {
|
12
12
|
"url": "https://github.com/libp2p/js-libp2p/issues"
|
13
13
|
},
|
14
|
+
"publishConfig": {
|
15
|
+
"access": "public",
|
16
|
+
"provenance": true
|
17
|
+
},
|
14
18
|
"type": "module",
|
15
19
|
"types": "./dist/src/index.d.ts",
|
16
20
|
"files": [
|
@@ -42,26 +46,29 @@
|
|
42
46
|
"test:firefox": "aegir test -t browser -- --browser firefox",
|
43
47
|
"test:firefox-webworker": "aegir test -t webworker -- --browser firefox",
|
44
48
|
"test:node": "aegir test -t node --cov",
|
45
|
-
"dep-check": "aegir dep-check"
|
49
|
+
"dep-check": "aegir dep-check",
|
50
|
+
"doc-check": "aegir doc-check"
|
46
51
|
},
|
47
52
|
"dependencies": {
|
48
|
-
"@libp2p/crypto": "
|
49
|
-
"@libp2p/interface": "
|
50
|
-
"it-
|
51
|
-
"it-map": "^3.0.
|
53
|
+
"@libp2p/crypto": "4.1.1-d9366f9aa",
|
54
|
+
"@libp2p/interface": "1.3.1-d9366f9aa",
|
55
|
+
"it-byte-stream": "^1.0.8",
|
56
|
+
"it-map": "^3.0.5",
|
52
57
|
"it-pair": "^2.0.6",
|
53
58
|
"it-pipe": "^3.0.1",
|
54
59
|
"it-stream-types": "^2.0.1",
|
55
|
-
"
|
56
|
-
"
|
60
|
+
"uint8arraylist": "^2.4.8",
|
61
|
+
"uint8arrays": "^5.0.3",
|
62
|
+
"xsalsa20": "^1.2.0"
|
57
63
|
},
|
58
64
|
"devDependencies": {
|
59
|
-
"@libp2p/interface-compliance-tests": "4.
|
60
|
-
"@libp2p/logger": "
|
61
|
-
"@libp2p/peer-id-factory": "
|
62
|
-
"@multiformats/multiaddr": "^12.1
|
63
|
-
"@types/xsalsa20": "^1.1.
|
64
|
-
"aegir": "^
|
65
|
-
"it-all": "^3.0.
|
66
|
-
}
|
65
|
+
"@libp2p/interface-compliance-tests": "5.4.3-d9366f9aa",
|
66
|
+
"@libp2p/logger": "4.0.12-d9366f9aa",
|
67
|
+
"@libp2p/peer-id-factory": "4.1.1-d9366f9aa",
|
68
|
+
"@multiformats/multiaddr": "^12.2.1",
|
69
|
+
"@types/xsalsa20": "^1.1.3",
|
70
|
+
"aegir": "^42.2.5",
|
71
|
+
"it-all": "^3.0.4"
|
72
|
+
},
|
73
|
+
"sideEffects": false
|
67
74
|
}
|
package/src/crypto.ts
CHANGED
@@ -4,16 +4,17 @@ import xsalsa20 from 'xsalsa20'
|
|
4
4
|
import * as Errors from './errors.js'
|
5
5
|
import { KEY_LENGTH } from './key-generator.js'
|
6
6
|
import type { Source } from 'it-stream-types'
|
7
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
7
8
|
|
8
9
|
/**
|
9
10
|
* Creates a stream iterable to encrypt messages in a private network
|
10
11
|
*/
|
11
|
-
export function createBoxStream (nonce: Uint8Array, psk: Uint8Array): (source: Source<Uint8Array>) =>
|
12
|
+
export function createBoxStream (nonce: Uint8Array, psk: Uint8Array): (source: Source<Uint8Array | Uint8ArrayList>) => AsyncGenerator<Uint8Array | Uint8ArrayList> {
|
12
13
|
const xor = xsalsa20(nonce, psk)
|
13
14
|
|
14
|
-
return (source: Source<Uint8Array>) => (async function * () {
|
15
|
+
return (source: Source<Uint8Array | Uint8ArrayList>) => (async function * () {
|
15
16
|
for await (const chunk of source) {
|
16
|
-
yield Uint8Array.from(xor.update(chunk.
|
17
|
+
yield Uint8Array.from(xor.update(chunk.subarray()))
|
17
18
|
}
|
18
19
|
})()
|
19
20
|
}
|
@@ -26,7 +27,7 @@ export function createUnboxStream (nonce: Uint8Array, psk: Uint8Array) {
|
|
26
27
|
const xor = xsalsa20(nonce, psk)
|
27
28
|
|
28
29
|
for await (const chunk of source) {
|
29
|
-
yield Uint8Array.from(xor.update(chunk.
|
30
|
+
yield Uint8Array.from(xor.update(chunk.subarray()))
|
30
31
|
}
|
31
32
|
})()
|
32
33
|
}
|
package/src/index.ts
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
*
|
46
46
|
* ### Programmatically
|
47
47
|
*
|
48
|
-
* ```
|
48
|
+
* ```TypeScript
|
49
49
|
* import fs from 'fs'
|
50
50
|
* import { generateKey } from '@libp2p/pnet'
|
51
51
|
*
|
@@ -57,8 +57,8 @@
|
|
57
57
|
*/
|
58
58
|
|
59
59
|
import { randomBytes } from '@libp2p/crypto'
|
60
|
-
import { CodeError } from '@libp2p/interface
|
61
|
-
import {
|
60
|
+
import { CodeError } from '@libp2p/interface'
|
61
|
+
import { byteStream } from 'it-byte-stream'
|
62
62
|
import map from 'it-map'
|
63
63
|
import { duplexPair } from 'it-pair/duplex'
|
64
64
|
import { pipe } from 'it-pipe'
|
@@ -69,14 +69,22 @@ import {
|
|
69
69
|
} from './crypto.js'
|
70
70
|
import * as Errors from './errors.js'
|
71
71
|
import { NONCE_LENGTH } from './key-generator.js'
|
72
|
-
import type { ComponentLogger, Logger } from '@libp2p/interface'
|
73
|
-
import type {
|
72
|
+
import type { ComponentLogger, Logger, ConnectionProtector, MultiaddrConnection } from '@libp2p/interface'
|
73
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
74
74
|
|
75
75
|
export { generateKey } from './key-generator.js'
|
76
76
|
|
77
77
|
export interface ProtectorInit {
|
78
|
-
|
78
|
+
/**
|
79
|
+
* A pre-shared key. This must be the same byte value for all peers in the
|
80
|
+
* swarm in order for them to communicate.
|
81
|
+
*/
|
79
82
|
psk: Uint8Array
|
83
|
+
/**
|
84
|
+
* The initial nonce exchange must complete within this many milliseconds
|
85
|
+
* (default: 1000)
|
86
|
+
*/
|
87
|
+
timeout?: number
|
80
88
|
}
|
81
89
|
|
82
90
|
export interface ProtectorComponents {
|
@@ -87,7 +95,7 @@ class PreSharedKeyConnectionProtector implements ConnectionProtector {
|
|
87
95
|
public tag: string
|
88
96
|
private readonly log: Logger
|
89
97
|
private readonly psk: Uint8Array
|
90
|
-
private readonly
|
98
|
+
private readonly timeout: number
|
91
99
|
|
92
100
|
/**
|
93
101
|
* Takes a Private Shared Key (psk) and provides a `protect` method
|
@@ -95,16 +103,11 @@ class PreSharedKeyConnectionProtector implements ConnectionProtector {
|
|
95
103
|
*/
|
96
104
|
constructor (components: ProtectorComponents, init: ProtectorInit) {
|
97
105
|
this.log = components.logger.forComponent('libp2p:pnet')
|
98
|
-
this.
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
this.tag = decodedPSK.tag ?? ''
|
104
|
-
} else {
|
105
|
-
this.psk = new Uint8Array()
|
106
|
-
this.tag = ''
|
107
|
-
}
|
106
|
+
this.timeout = init.timeout ?? 1000
|
107
|
+
|
108
|
+
const decodedPSK = decodeV1PSK(init.psk)
|
109
|
+
this.psk = decodedPSK.psk
|
110
|
+
this.tag = decodedPSK.tag ?? ''
|
108
111
|
}
|
109
112
|
|
110
113
|
/**
|
@@ -113,10 +116,6 @@ class PreSharedKeyConnectionProtector implements ConnectionProtector {
|
|
113
116
|
* created with.
|
114
117
|
*/
|
115
118
|
async protect (connection: MultiaddrConnection): Promise<MultiaddrConnection> {
|
116
|
-
if (!this.enabled) {
|
117
|
-
return connection
|
118
|
-
}
|
119
|
-
|
120
119
|
if (connection == null) {
|
121
120
|
throw new CodeError(Errors.NO_HANDSHAKE_CONNECTION, Errors.ERR_INVALID_PARAMETERS)
|
122
121
|
}
|
@@ -125,26 +124,31 @@ class PreSharedKeyConnectionProtector implements ConnectionProtector {
|
|
125
124
|
this.log('protecting the connection')
|
126
125
|
const localNonce = randomBytes(NONCE_LENGTH)
|
127
126
|
|
128
|
-
const
|
129
|
-
shake.write(localNonce)
|
127
|
+
const signal = AbortSignal.timeout(this.timeout)
|
130
128
|
|
131
|
-
const
|
129
|
+
const bytes = byteStream(connection)
|
132
130
|
|
133
|
-
|
134
|
-
|
135
|
-
|
131
|
+
const [
|
132
|
+
, result
|
133
|
+
] = await Promise.all([
|
134
|
+
bytes.write(localNonce, {
|
135
|
+
signal
|
136
|
+
}),
|
137
|
+
bytes.read(NONCE_LENGTH, {
|
138
|
+
signal
|
139
|
+
})
|
140
|
+
])
|
136
141
|
|
137
|
-
const remoteNonce = result.
|
138
|
-
shake.rest()
|
142
|
+
const remoteNonce = result.subarray()
|
139
143
|
|
140
144
|
// Create the boxing/unboxing pipe
|
141
145
|
this.log('exchanged nonces')
|
142
|
-
const [internal, external] = duplexPair<Uint8Array>()
|
146
|
+
const [internal, external] = duplexPair<Uint8Array | Uint8ArrayList>()
|
143
147
|
pipe(
|
144
148
|
external,
|
145
149
|
// Encrypt all outbound traffic
|
146
150
|
createBoxStream(localNonce, this.psk),
|
147
|
-
|
151
|
+
bytes.unwrap(),
|
148
152
|
(source) => map(source, (buf) => buf.subarray()),
|
149
153
|
// Decrypt all inbound traffic
|
150
154
|
createUnboxStream(remoteNonce, this.psk),
|