@protontech/openpgp 5.7.0 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lightweight/argon2id.min.mjs +3 -0
- package/dist/lightweight/argon2id.min.mjs.map +1 -0
- package/dist/lightweight/{index.mjs → argon2id.mjs} +6 -7
- package/dist/lightweight/bn.interface.min.mjs +1 -1
- package/dist/lightweight/bn.interface.mjs +1 -1
- package/dist/lightweight/bn.min.mjs +1 -1
- package/dist/lightweight/bn.mjs +1 -1
- package/dist/lightweight/elliptic.min.mjs +1 -1
- package/dist/lightweight/elliptic.mjs +1 -1
- package/dist/lightweight/openpgp.min.mjs +2 -2
- package/dist/lightweight/openpgp.min.mjs.map +1 -1
- package/dist/lightweight/openpgp.mjs +428 -205
- package/dist/lightweight/ponyfill.es6.min.mjs +1 -1
- package/dist/lightweight/ponyfill.es6.mjs +1 -1
- package/dist/lightweight/web-streams-adapter.min.mjs +1 -1
- package/dist/lightweight/web-streams-adapter.mjs +1 -1
- package/dist/node/openpgp.js +1149 -213
- package/dist/node/openpgp.min.js +3 -3
- package/dist/node/openpgp.min.js.map +1 -1
- package/dist/node/openpgp.min.mjs +3 -3
- package/dist/node/openpgp.min.mjs.map +1 -1
- package/dist/node/openpgp.mjs +1149 -214
- package/dist/openpgp.js +1134 -204
- package/dist/openpgp.min.js +3 -3
- package/dist/openpgp.min.js.map +1 -1
- package/dist/openpgp.min.mjs +3 -3
- package/dist/openpgp.min.mjs.map +1 -1
- package/dist/openpgp.mjs +1134 -205
- package/openpgp.d.ts +31 -8
- package/package.json +3 -1
- package/dist/lightweight/index.min.mjs +0 -3
- package/dist/lightweight/index.min.mjs.map +0 -1
package/dist/openpgp.min.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! OpenPGP.js v5.
|
|
2
|
-
const e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=Symbol("doneWritingPromise"),r=Symbol("doneWritingResolve"),i=Symbol("doneWritingReject"),n=Symbol("readingIndex");class a extends Array{constructor(){super(),this[t]=new Promise(((e,t)=>{this[r]=e,this[i]=t})),this[t].catch((()=>{}))}}function s(e){return e&&e.getReader&&Array.isArray(e)}function o(e){if(!s(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch((function(){})),r.call(t)},t}this.stream=e}a.prototype.getReader=function(){return void 0===this[n]&&(this[n]=0),{read:async()=>(await this[t],this[n]===this.length?{value:void 0,done:!0}:{value:this[this[n]++],done:!1})}},a.prototype.readToEnd=async function(e){await this[t];const r=e(this.slice(this[n]));return this.length=0,r},a.prototype.clone=function(){const e=new a;return e[t]=this[t].then((()=>{e.push(...this)})),e},o.prototype.write=async function(e){this.stream.push(e)},o.prototype.close=async function(){this.stream[r]()},o.prototype.abort=async function(e){return this.stream[i](e),e},o.prototype.releaseLock=function(){};const c="object"==typeof e.process&&"object"==typeof e.process.versions,u=c&&void 0;function h(t){return s(t)?"array":e.ReadableStream&&e.ReadableStream.prototype.isPrototypeOf(t)?"web":k&&k.prototype.isPrototypeOf(t)?"ponyfill":u&&u.prototype.isPrototypeOf(t)?"node":!(!t||!t.getReader)&&"web-like"}function d(e){return Uint8Array.prototype.isPrototypeOf(e)}function f(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!d(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let i=0;return e.forEach((function(e){r.set(e,i),i+=e.length})),r}const l=c&&void 0,p=c&&void 0;let y,b;if(p){y=function(e){let t=!1;return new k({start(r){e.pause(),e.on("data",(i=>{t||(l.isBuffer(i)&&(i=new Uint8Array(i.buffer,i.byteOffset,i.byteLength)),r.enqueue(i),e.pause())})),e.on("end",(()=>{t||r.close()})),e.on("error",(e=>r.error(e)))},pull(){e.resume()},cancel(r){t=!0,e.destroy(r)}})};class e extends p{constructor(e,t){super(t),this._reader=C(e)}async _read(e){try{for(;;){const{done:e,value:t}=await this._reader.read();if(e){this.push(null);break}if(!this.push(t)||this._cancelling){this._reading=!1;break}}}catch(e){this.emit("error",e)}}_destroy(e){this._reader.cancel(e)}}b=function(t,r){return new e(t,r)}}const m=new WeakSet,g=Symbol("externalBuffer");function w(e){if(this.stream=e,e[g]&&(this[g]=e[g].slice()),s(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}let t=h(e);if("node"===t&&(e=y(e)),t){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch((function(){})),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let r=!1;this._read=async()=>r||m.has(e)?{value:void 0,done:!0}:(r=!0,{value:e,done:!1}),this._releaseLock=()=>{if(r)try{m.add(e)}catch(e){}}}w.prototype.read=async function(){if(this[g]&&this[g].length){return{done:!1,value:this[g].shift()}}return this._read()},w.prototype.releaseLock=function(){this[g]&&(this.stream[g]=this[g]),this._releaseLock()},w.prototype.cancel=function(e){return this._cancel(e)},w.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:i}=await this.read();if(i+="",r)return t.length?K(t):void 0;const n=i.indexOf("\n")+1;n&&(e=K(t.concat(i.substr(0,n))),t=[]),n!==i.length&&t.push(i.substr(n))}return this.unshift(...t),e},w.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(N(t,1)),r},w.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:i,value:n}=await this.read();if(i)return t.length?K(t):void 0;if(t.push(n),r+=n.length,r>=e){const r=K(t);return this.unshift(N(r,e)),N(r,0,e)}}},w.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},w.prototype.unshift=function(...e){this[g]||(this[g]=[]),1===e.length&&d(e[0])&&this[g].length&&e[0].length&&this[g][0].byteOffset>=e[0].length?this[g][0]=new Uint8Array(this[g][0].buffer,this[g][0].byteOffset-e[0].length,this[g][0].byteLength+e[0].length):this[g].unshift(...e.filter((e=>e&&e.length)))},w.prototype.readToEnd=async function(e=K){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};let v,_,{ReadableStream:k,WritableStream:A,TransformStream:S}=e;async function E(){if(S)return;const[t,r]=await Promise.all([Promise.resolve().then((function(){return zp})),Promise.resolve().then((function(){return ny}))]);({ReadableStream:k,WritableStream:A,TransformStream:S}=t);const{createReadableStreamWrapper:i}=r;e.ReadableStream&&k!==e.ReadableStream&&(v=i(k),_=i(e.ReadableStream))}const P=c&&void 0;function x(e){let t=h(e);return"node"===t?y(e):"web"===t&&v?v(e):t?e:new k({start(t){t.enqueue(e),t.close()}})}function M(e){if(h(e))return e;const t=new a;return(async()=>{const r=D(t);await r.write(e),await r.close()})(),t}function K(e){return e.some((e=>h(e)&&!s(e)))?function(e){e=e.map(x);const t=I((async function(e){await Promise.all(i.map((t=>j(t,e))))}));let r=Promise.resolve();const i=e.map(((i,n)=>T(i,((i,a)=>(r=r.then((()=>U(i,t.writable,{preventClose:n!==e.length-1}))),r)))));return t.readable}(e):e.some((e=>s(e)))?function(e){const t=new a;let r=Promise.resolve();return e.forEach(((i,n)=>(r=r.then((()=>U(i,t,{preventClose:n!==e.length-1}))),r))),t}(e):"string"==typeof e[0]?e.join(""):P&&P.isBuffer(e[0])?P.concat(e):f(e)}function C(e){return new w(e)}function D(e){return new o(e)}async function U(e,t,{preventClose:r=!1,preventAbort:i=!1,preventCancel:n=!1}={}){if(h(e)&&!s(e)){e=x(e);try{if(e[g]){const r=D(t);for(let t=0;t<e[g].length;t++)await r.ready,await r.write(e[g][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:i,preventCancel:n})}catch(e){}return}const a=C(e=M(e)),o=D(t);try{for(;;){await o.ready;const{done:e,value:t}=await a.read();if(e){r||await o.close();break}await o.write(t)}}catch(e){i||await o.abort(e)}finally{a.releaseLock(),o.releaseLock()}}function R(e,t){const r=new S(t);return U(e,r.writable),r.readable}function I(e){let t,r,i=!1;return{readable:new k({start(e){r=e},pull(){t?t():i=!0},cancel:e},{highWaterMark:0}),writable:new A({write:async function(e){r.enqueue(e),i?i=!1:(await new Promise((e=>{t=e})),t=null)},close:r.close.bind(r),abort:r.error.bind(r)})}}function B(e,t=(()=>{}),r=(()=>{})){if(s(e)){const i=new a;return(async()=>{const n=D(i);try{const i=await L(e),a=t(i),s=r();let o;o=void 0!==a&&void 0!==s?K([a,s]):void 0!==a?a:s,await n.write(o),await n.close()}catch(e){await n.abort(e)}})(),i}if(h(e))return R(e,{async transform(e,r){try{const i=await t(e);void 0!==i&&r.enqueue(i)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const i=t(e),n=r();return void 0!==i&&void 0!==n?K([i,n]):void 0!==i?i:n}function T(e,t){if(h(e)&&!s(e)){let r;const i=new S({start(e){r=e}}),n=U(e,i.writable),a=I((async function(e){r.error(e),await n,await new Promise(setTimeout)}));return t(i.readable,a.writable),a.readable}e=M(e);const r=new a;return t(e,r),r}function z(e,t){let r;const i=T(e,((e,n)=>{const a=C(e);a.remainder=()=>(a.releaseLock(),U(e,n),i),r=t(a)}));return r}function q(e){if(s(e))return e.clone();if(h(e)){const t=function(e){if(s(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(h(e)){const t=x(e).tee();return t[0][g]=t[1][g]=e[g],t}return[N(e),N(e)]}(e);return O(e,t[0]),t[1]}return N(e)}function F(e){return s(e)?q(e):h(e)?new k({start(t){const r=T(e,(async(e,r)=>{const i=C(e),n=D(r);try{for(;;){await n.ready;const{done:e,value:r}=await i.read();if(e){try{t.close()}catch(e){}return void await n.close()}try{t.enqueue(r)}catch(e){}await n.write(r)}}catch(e){t.error(e),await n.abort(e)}}));O(e,r)}}):N(e)}function O(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r,i])=>{"constructor"!==r&&(i.value?i.value=i.value.bind(t):i.get=i.get.bind(t),Object.defineProperty(e,r,i))}))}function N(e,t=0,r=1/0){if(s(e))throw Error("Not implemented");if(h(e)){if(t>=0&&r>=0){let i=0;return R(e,{transform(e,n){i<r?(i+e.length>=t&&n.enqueue(N(e,Math.max(t-i,0),r-i)),i+=e.length):n.terminate()}})}if(t<0&&(r<0||r===1/0)){let i=[];return B(e,(e=>{e.length>=-t?i=[e]:i.push(e)}),(()=>N(K(i),t,r)))}if(0===t&&r<0){let i;return B(e,(e=>{const n=i?K([i,e]):e;if(n.length>=-r)return i=N(n,r),N(n,t,r);i=n}))}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),W((async()=>N(await L(e),t,r)))}return e[g]&&(e=K(e[g].concat([e]))),!d(e)||P&&P.isBuffer(e)?e.slice(t,r):(r===1/0&&(r=e.length),e.subarray(t,r))}async function L(e,t=K){return s(e)?e.readToEnd(t):h(e)?C(e).readToEnd(t):e}async function j(e,t){if(h(e)){if(e.cancel)return e.cancel(t);if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function W(e){const t=new a;return(async()=>{const r=D(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}class H{constructor(e){if(void 0===e)throw Error("Invalid BigInteger input");if(e instanceof Uint8Array){const t=e,r=Array(t.length);for(let e=0;e<t.length;e++){const i=t[e].toString(16);r[e]=t[e]<=15?"0"+i:i}this.value=BigInt("0x0"+r.join(""))}else this.value=BigInt(e)}clone(){return new H(this.value)}iinc(){return this.value++,this}inc(){return this.clone().iinc()}idec(){return this.value--,this}dec(){return this.clone().idec()}iadd(e){return this.value+=e.value,this}add(e){return this.clone().iadd(e)}isub(e){return this.value-=e.value,this}sub(e){return this.clone().isub(e)}imul(e){return this.value*=e.value,this}mul(e){return this.clone().imul(e)}imod(e){return this.value%=e.value,this.isNegative()&&this.iadd(e),this}mod(e){return this.clone().imod(e)}modExp(e,t){if(t.isZero())throw Error("Modulo cannot be zero");if(t.isOne())return new H(0);if(e.isNegative())throw Error("Unsopported negative exponent");let r=e.value,i=this.value;i%=t.value;let n=BigInt(1);for(;r>BigInt(0);){const e=r&BigInt(1);r>>=BigInt(1);const a=n*i%t.value;n=e?a:n,i=i*i%t.value}return new H(n)}modInv(e){const{gcd:t,x:r}=this._egcd(e);if(!t.isOne())throw Error("Inverse does not exist");return r.add(e).mod(e)}_egcd(e){let t=BigInt(0),r=BigInt(1),i=BigInt(1),n=BigInt(0),a=this.value;for(e=e.value;e!==BigInt(0);){const s=a/e;let o=t;t=i-s*t,i=o,o=r,r=n-s*r,n=o,o=e,e=a%e,a=o}return{x:new H(i),y:new H(n),gcd:new H(a)}}gcd(e){let t=this.value;for(e=e.value;e!==BigInt(0);){const r=e;e=t%e,t=r}return new H(t)}ileftShift(e){return this.value<<=e.value,this}leftShift(e){return this.clone().ileftShift(e)}irightShift(e){return this.value>>=e.value,this}rightShift(e){return this.clone().irightShift(e)}equal(e){return this.value===e.value}lt(e){return this.value<e.value}lte(e){return this.value<=e.value}gt(e){return this.value>e.value}gte(e){return this.value>=e.value}isZero(){return this.value===BigInt(0)}isOne(){return this.value===BigInt(1)}isNegative(){return this.value<BigInt(0)}isEven(){return!(this.value&BigInt(1))}abs(){const e=this.clone();return this.isNegative()&&(e.value=-e.value),e}toString(){return this.value.toString()}toNumber(){const e=Number(this.value);if(e>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return e}getBit(e){return(this.value>>BigInt(e)&BigInt(1))===BigInt(0)?0:1}bitLength(){const e=new H(0),t=new H(1),r=new H(-1),i=this.isNegative()?r:e;let n=1;const a=this.clone();for(;!a.irightShift(t).equal(i);)n++;return n}byteLength(){const e=new H(0),t=new H(-1),r=this.isNegative()?t:e,i=new H(8);let n=1;const a=this.clone();for(;!a.irightShift(i).equal(r);)n++;return n}toUint8Array(e="be",t){let r=this.value.toString(16);r.length%2==1&&(r="0"+r);const i=r.length/2,n=new Uint8Array(t||i),a=t?t-i:0;let s=0;for(;s<i;)n[s+a]=parseInt(r.slice(2*s,2*s+2),16),s++;return"be"!==e&&n.reverse(),n}}const G=()=>"undefined"!=typeof BigInt;const V=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),$={isString:function(e){return"string"==typeof e||e instanceof String},isArray:function(e){return e instanceof Array},isUint8Array:d,isStream:h,readNumber:function(e){let t=0;for(let r=0;r<e.length;r++)t+=256**r*e[e.length-1-r];return t},writeNumber:function(e,t){const r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e>>8*(t-i-1)&255;return r},readDate:function(e){const t=$.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return $.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=(e[0]<<8|e[1])+7>>>3;return e.subarray(2,2+t)},leftPad(e,t){const r=new Uint8Array(t),i=t-e.length;return r.set(e,i),r},uint8ArrayToMPI:function(e){const t=$.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),i=new Uint8Array([(65280&t)>>8,255&t]);return $.concatUint8Array([i,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;const r=e.subarray(t);return 8*(r.length-1)+$.nbits(r[0])},hexToUint8Array:function(e){const t=new Uint8Array(e.length>>1);for(let r=0;r<e.length>>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t=[],r=e.length;let i,n=0;for(;n<r;){for(i=e[n++].toString(16);i.length<2;)i="0"+i;t.push(""+i)}return t.join("")},stringToUint8Array:function(e){return B(e,(e=>{if(!$.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}))},uint8ArrayToString:function(e){const t=[],r=16384,i=(e=new Uint8Array(e)).length;for(let n=0;n<i;n+=r)t.push(String.fromCharCode.apply(String,e.subarray(n,n+r<i?n+r:i)));return t.join("")},encodeUTF8:function(e){const t=new TextEncoder("utf-8");function r(e,r=!1){return t.encode(e,{stream:!r})}return B(e,r,(()=>r("",!0)))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return B(e,r,(()=>r(new Uint8Array,!0)))},concat:K,concatUint8Array:f,equalsUint8Array:function(e,t){if(!$.isUint8Array(e)||!$.isUint8Array(t))throw Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},writeChecksum:function(e){let t=0;for(let r=0;r<e.length;r++)t=t+e[r]&65535;return $.writeNumber(t,2)},printDebug:function(e){V&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){V&&console.error("[OpenPGP.js debug]",e)},nbits:function(e){let t=1,r=e>>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let i=0;i<r;i++)t[i]=e[i]<<1^e[i+1]>>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){return void 0!==e&&e.crypto&&e.crypto.subtle},getBigInteger:async function(){if(G())return H;{const{default:e}=await Promise.resolve().then((function(){return uy}));return e}},getNodeCrypto:function(){},getNodeZlib:function(){},getNodeBuffer:function(){return{}.Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return(void 0).cpus().length},isEmailAddress:function(e){if(!$.isString(e))return!1;return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+([a-zA-Z]{2,}|xn--[a-zA-Z\-0-9]+)))$/.test(e)},canonicalizeEOL:function(e){let t=!1;return B(e,(e=>{let r;t&&(e=$.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const i=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&i.push(r);if(!i.length)return e;const n=new Uint8Array(e.length+i.length);let a=0;for(let t=0;t<i.length;t++){const r=e.subarray(i[t-1]||0,i[t]);n.set(r,a),a+=r.length,n[a-1]=13,n[a]=10,a++}return n.set(e.subarray(i[i.length-1]||0),a),n}),(()=>t?new Uint8Array([13]):void 0))},nativeEOL:function(e){let t=!1;return B(e,(e=>{let r;13===(e=t&&10!==e[0]?$.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let i=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const n=r-(10===e[r]?1:0);t&&e.copyWithin(i,t,n),i+=n-t}return e.subarray(0,i)}),(()=>t?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(e){return e.split("\n").map((e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)})).join("\n")},wrapError:function(e,t){if(!t)return Error(e);try{t.message=e+": "+t.message}catch(e){}return t},constructAllowedPackets:function(e){const t={};return e.forEach((e=>{if(!e.tag)throw Error("Invalid input: expected a packet class");t[e.tag]=e})),t},anyPromise:function(e){return new Promise((async(t,r)=>{let i;await Promise.all(e.map((async e=>{try{t(await e)}catch(e){i=e}}))),r(i)}))},selectUint8Array:function(e,t,r){const i=Math.max(t.length,r.length),n=new Uint8Array(i);let a=0;for(let i=0;i<n.length;i++)n[i]=t[i]&256-e|r[i]&255+e,a+=e&i<t.length|1-e&i<r.length;return n.subarray(0,a)},selectUint8:function(e,t,r){return t&256-e|r&255+e}},Z=$.getNodeBuffer();let Y,X;function Q(e){let t=new Uint8Array;return B(e,(e=>{t=$.concatUint8Array([t,e]);const r=[],i=Math.floor(t.length/45),n=45*i,a=Y(t.subarray(0,n));for(let e=0;e<i;e++)r.push(a.substr(60*e,60)),r.push("\n");return t=t.subarray(n),r.join("")}),(()=>t.length?Y(t)+"\n":""))}function J(e){let t="";return B(e,(e=>{t+=e;let r=0;const i=[" ","\t","\r","\n"];for(let e=0;e<i.length;e++){const n=i[e];for(let e=t.indexOf(n);-1!==e;e=t.indexOf(n,e+1))r++}let n=t.length;for(;n>0&&(n-r)%4!=0;n--)i.includes(t[n])&&r--;const a=X(t.substr(0,n));return t=t.substr(n),a}),(()=>X(t)))}function ee(e){return J(e.replace(/-/g,"+").replace(/_/g,"/"))}function te(e,t){let r=Q(e).replace(/[\r\n]/g,"");return t&&(r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")),r}Z?(Y=e=>Z.from(e).toString("base64"),X=e=>{const t=Z.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(Y=e=>btoa($.uint8ArrayToString(e)),X=e=>$.stringToUint8Array(atob(e)));const re=Symbol("byValue");var ie={curve:{p256:"p256","P-256":"p256",secp256r1:"p256",prime256v1:"p256","1.2.840.10045.3.1.7":"p256","2a8648ce3d030107":"p256","2A8648CE3D030107":"p256",p384:"p384","P-384":"p384",secp384r1:"p384","1.3.132.0.34":"p384","2b81040022":"p384","2B81040022":"p384",p521:"p521","P-521":"p521",secp521r1:"p521","1.3.132.0.35":"p521","2b81040023":"p521","2B81040023":"p521",secp256k1:"secp256k1","1.3.132.0.10":"secp256k1","2b8104000a":"secp256k1","2B8104000A":"secp256k1",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",X25519:"curve25519",cv25519:"curve25519",curve25519:"curve25519",Curve25519:"curve25519","1.3.6.1.4.1.3029.1.5.1":"curve25519","2b060104019755010501":"curve25519","2B060104019755010501":"curve25519",brainpoolP256r1:"brainpoolP256r1","1.3.36.3.3.2.8.1.1.7":"brainpoolP256r1","2b2403030208010107":"brainpoolP256r1","2B2403030208010107":"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1","1.3.36.3.3.2.8.1.1.11":"brainpoolP384r1","2b240303020801010b":"brainpoolP384r1","2B240303020801010B":"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1","1.3.36.3.3.2.8.1.1.13":"brainpoolP512r1","2b240303020801010d":"brainpoolP512r1","2B240303020801010D":"brainpoolP512r1"},kdfFlags:{replace_fingerprint:1,replace_kdf_params:2},s2k:{simple:0,salted:1,iterated:3,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsa:22,aedh:23,aedsa:24,aead:100,hmac:101},symmetric:{plaintext:0,idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuer:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw Error("Invalid enum value.")},read:function(e,t){if(e[re]||(e[re]=[],Object.entries(e).forEach((([t,r])=>{e[re][r]=t}))),void 0!==e[re][t])return e[re][t];throw Error("Invalid enum value.")}},ne={preferredHashAlgorithm:ie.hash.sha256,preferredSymmetricAlgorithm:ie.symmetric.aes256,preferredCompressionAlgorithm:ie.compression.uncompressed,deflateLevel:6,aeadProtect:!1,preferredAEADAlgorithm:ie.aead.eax,aeadChunkSizeByte:12,v5Keys:!1,s2kIterationCountByte:224,allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,checksumRequired:!1,minRSABits:2047,passwordCollisionCheck:!1,revocationsExpire:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([ie.symmetric.aes128,ie.symmetric.aes192,ie.symmetric.aes256]),minBytesForWebCrypto:1e3,ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,showVersion:!1,showComment:!1,versionString:"OpenPGP.js 5.7.0",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],useIndutnyElliptic:!0,rejectHashAlgorithms:new Set([ie.hash.md5,ie.hash.ripemd]),rejectMessageHashAlgorithms:new Set([ie.hash.md5,ie.hash.ripemd,ie.hash.sha1]),rejectPublicKeyAlgorithms:new Set([ie.publicKey.elgamal,ie.publicKey.dsa]),rejectCurves:new Set([ie.curve.secp256k1])};function ae(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?ie.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?ie.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?ie.armor.signed:/MESSAGE/.test(t[1])?ie.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?ie.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?ie.armor.privateKey:/SIGNATURE/.test(t[1])?ie.armor.signature:void 0}function se(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function oe(e){return Q(function(e){let t=13501623;return B(e,(e=>{const r=ue?Math.floor(e.length/4):0,i=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=i[e],t=ce[0][t>>24&255]^ce[1][t>>16&255]^ce[2][t>>8&255]^ce[3][t>>0&255];for(let i=4*r;i<e.length;i++)t=t>>8^ce[0][255&t^e[i]]}),(()=>new Uint8Array([t,t>>8,t>>16])))}(e))}const ce=[Array(255),Array(255),Array(255),Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(0!=(8388608&t)?8801531:0);ce[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)ce[1][e]=ce[0][e]>>8^ce[0][255&ce[0][e]];for(let e=0;e<=255;e++)ce[2][e]=ce[1][e]>>8^ce[0][255&ce[1][e]];for(let e=0;e<=255;e++)ce[3][e]=ce[2][e]>>8^ce[0][255&ce[2][e]];const ue=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function he(e){for(let t=0;t<e.length;t++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t])||$.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||$.printDebugError(Error("Unknown header: "+e[t]))}function de(e){let t=e,r="";const i=e.lastIndexOf("=");return i>=0&&i!==e.length-1&&(t=e.slice(0,i),r=e.slice(i+1).substr(0,4)),{body:t,checksum:r}}function fe(e,t=ne){return new Promise((async(r,i)=>{try{const n=/^-----[^-]+-----$/m,a=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const o=[];let c,u,h,d=o,f=[],l=J(T(e,(async(e,t)=>{const p=C(e);try{for(;;){let e=await p.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=$.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(c)u||2!==s||(n.test(e)?(f=f.join("\r\n"),u=!0,he(d),d=[],c=!1):f.push(e.replace(/^- /,"")));else if(n.test(e)&&i(Error("Mandatory blank line missing between armor headers and armor data")),a.test(e)){if(he(d),c=!0,u||2!==s){r({text:f,data:l,headers:o,type:s});break}}else d.push(e);else n.test(e)&&(s=ae(e))}}catch(e){return void i(e)}const y=D(t);try{for(;;){await y.ready;const{done:e,value:t}=await p.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await p.readToEnd();e.length||(e=""),e=r+e,e=$.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw Error("Misformed armored text");const i=de(t[0].slice(0,-1));h=i.checksum,await y.write(i.body);break}await y.write(r)}await y.ready,await y.close()}catch(e){await y.abort(e)}})));l=T(l,(async(e,r)=>{const i=L(oe(F(e)));i.catch((()=>{})),await U(e,r,{preventClose:!0});const n=D(r);try{const e=(await i).replace("\n","");if(h!==e&&(h||t.checksumRequired))throw Error("Ascii armor integrity check failed");await n.ready,await n.close()}catch(e){await n.abort(e)}}))}catch(e){i(e)}})).then((async e=>(s(e.data)&&(e.data=await L(e.data)),e)))}function le(e,t,r,i,n,a=ne){let s,o;e===ie.armor.signed&&(s=t.text,o=t.hash,t=t.data);const c=F(t),u=[];switch(e){case ie.armor.multipartSection:u.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+i+"-----\n"),u.push(se(n,a)),u.push(Q(t)),u.push("=",oe(c)),u.push("-----END PGP MESSAGE, PART "+r+"/"+i+"-----\n");break;case ie.armor.multipartLast:u.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),u.push(se(n,a)),u.push(Q(t)),u.push("=",oe(c)),u.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case ie.armor.signed:u.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),u.push("Hash: "+o+"\n\n"),u.push(s.replace(/^-/gm,"- -")),u.push("\n-----BEGIN PGP SIGNATURE-----\n"),u.push(se(n,a)),u.push(Q(t)),u.push("=",oe(c)),u.push("-----END PGP SIGNATURE-----\n");break;case ie.armor.message:u.push("-----BEGIN PGP MESSAGE-----\n"),u.push(se(n,a)),u.push(Q(t)),u.push("=",oe(c)),u.push("-----END PGP MESSAGE-----\n");break;case ie.armor.publicKey:u.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),u.push(se(n,a)),u.push(Q(t)),u.push("=",oe(c)),u.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case ie.armor.privateKey:u.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),u.push(se(n,a)),u.push(Q(t)),u.push("=",oe(c)),u.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case ie.armor.signature:u.push("-----BEGIN PGP SIGNATURE-----\n"),u.push(se(n,a)),u.push(Q(t)),u.push("=",oe(c)),u.push("-----END PGP SIGNATURE-----\n")}return $.concat(u)}class pe{constructor(){this.bytes=""}read(e){this.bytes=$.uint8ArrayToString(e.subarray(0,8))}write(){return $.stringToUint8Array(this.bytes)}toHex(){return $.uint8ArrayToHex($.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new pe;return t.read($.hexToUint8Array(e)),t}static wildcard(){const e=new pe;return e.read(new Uint8Array(8)),e}}var ye=function(){var e,t,r=!1;function i(r,i){var n=e[(t[r]+t[i])%255];return 0!==r&&0!==i||(n=0),n}var n,a,s,o,c=!1;function u(){function u(r){var i,n,a;for(n=a=function(r){var i=e[255-t[r]];return 0===r&&(i=0),i}(r),i=0;i<4;i++)a^=n=255&(n<<1|n>>>7);return a^=99}r||function(){e=[],t=[];var i,n,a=1;for(i=0;i<255;i++)e[i]=a,n=128&a,a<<=1,a&=255,128===n&&(a^=27),a^=e[i],t[e[i]]=i;e[255]=e[0],t[0]=0,r=!0}(),n=[],a=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var h=0;h<256;h++){var d=u(h);n[h]=d,a[d]=h,s[0][h]=i(2,d)<<24|d<<16|d<<8|i(3,d),o[0][d]=i(14,h)<<24|i(9,h)<<16|i(13,h)<<8|i(11,h);for(var f=1;f<4;f++)s[f][h]=s[f-1][h]>>>8|s[f-1][h]<<24,o[f][d]=o[f-1][d]>>>8|o[f-1][d]<<24}c=!0}var h=function(e,t){c||u();var r=new Uint32Array(t);r.set(n,512),r.set(a,768);for(var i=0;i<4;i++)r.set(s[i],4096+1024*i>>2),r.set(o[i],8192+1024*i>>2);var h=function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0,h=0,d=0,f=0,l=0,p=0,y=0,b=0,m=0,g=0,w=0,v=0,_=0,k=0,A=0;var S=new e.Uint32Array(r),E=new e.Uint8Array(r);function P(e,t,r,o,c,u,h,d){e=e|0;t=t|0;r=r|0;o=o|0;c=c|0;u=u|0;h=h|0;d=d|0;var f=0,l=0,p=0,y=0,b=0,m=0,g=0,w=0;f=r|0x400,l=r|0x800,p=r|0xc00;c=c^S[(e|0)>>2],u=u^S[(e|4)>>2],h=h^S[(e|8)>>2],d=d^S[(e|12)>>2];for(w=16;(w|0)<=o<<4;w=w+16|0){y=S[(r|c>>22&1020)>>2]^S[(f|u>>14&1020)>>2]^S[(l|h>>6&1020)>>2]^S[(p|d<<2&1020)>>2]^S[(e|w|0)>>2],b=S[(r|u>>22&1020)>>2]^S[(f|h>>14&1020)>>2]^S[(l|d>>6&1020)>>2]^S[(p|c<<2&1020)>>2]^S[(e|w|4)>>2],m=S[(r|h>>22&1020)>>2]^S[(f|d>>14&1020)>>2]^S[(l|c>>6&1020)>>2]^S[(p|u<<2&1020)>>2]^S[(e|w|8)>>2],g=S[(r|d>>22&1020)>>2]^S[(f|c>>14&1020)>>2]^S[(l|u>>6&1020)>>2]^S[(p|h<<2&1020)>>2]^S[(e|w|12)>>2];c=y,u=b,h=m,d=g}i=S[(t|c>>22&1020)>>2]<<24^S[(t|u>>14&1020)>>2]<<16^S[(t|h>>6&1020)>>2]<<8^S[(t|d<<2&1020)>>2]^S[(e|w|0)>>2],n=S[(t|u>>22&1020)>>2]<<24^S[(t|h>>14&1020)>>2]<<16^S[(t|d>>6&1020)>>2]<<8^S[(t|c<<2&1020)>>2]^S[(e|w|4)>>2],a=S[(t|h>>22&1020)>>2]<<24^S[(t|d>>14&1020)>>2]<<16^S[(t|c>>6&1020)>>2]<<8^S[(t|u<<2&1020)>>2]^S[(e|w|8)>>2],s=S[(t|d>>22&1020)>>2]<<24^S[(t|c>>14&1020)>>2]<<16^S[(t|u>>6&1020)>>2]<<8^S[(t|h<<2&1020)>>2]^S[(e|w|12)>>2]}function x(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;P(0x0000,0x0800,0x1000,A,e,t,r,i)}function M(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var a=0;P(0x0400,0x0c00,0x2000,A,e,i,r,t);a=n,n=s,s=a}function K(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;P(0x0000,0x0800,0x1000,A,o^e,c^t,u^r,h^d);o=i,c=n,u=a,h=s}function C(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;var f=0;P(0x0400,0x0c00,0x2000,A,e,d,r,t);f=n,n=s,s=f;i=i^o,n=n^c,a=a^u,s=s^h;o=e,c=t,u=r,h=d}function D(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;P(0x0000,0x0800,0x1000,A,o,c,u,h);o=i=i^e,c=n=n^t,u=a=a^r,h=s=s^d}function U(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;P(0x0000,0x0800,0x1000,A,o,c,u,h);i=i^e,n=n^t,a=a^r,s=s^d;o=e,c=t,u=r,h=d}function R(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;P(0x0000,0x0800,0x1000,A,o,c,u,h);o=i,c=n,u=a,h=s;i=i^e,n=n^t,a=a^r,s=s^d}function I(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;P(0x0000,0x0800,0x1000,A,d,f,l,p);p=~g&p|g&p+1;l=~m&l|m&l+((p|0)==0);f=~b&f|b&f+((l|0)==0);d=~y&d|y&d+((f|0)==0);i=i^e;n=n^t;a=a^r;s=s^o}function B(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var n=0,a=0,s=0,d=0,f=0,l=0,p=0,y=0,b=0,m=0;e=e^o,t=t^c,r=r^u,i=i^h;n=w|0,a=v|0,s=_|0,d=k|0;for(;(b|0)<128;b=b+1|0){if(n>>>31){f=f^e,l=l^t,p=p^r,y=y^i}n=n<<1|a>>>31,a=a<<1|s>>>31,s=s<<1|d>>>31,d=d<<1;m=i&1;i=i>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(m)e=e^0xe1000000}o=f,c=l,u=p,h=y}function T(e){e=e|0;A=e}function z(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;i=e,n=t,a=r,s=o}function q(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;o=e,c=t,u=r,h=i}function F(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;d=e,f=t,l=r,p=i}function O(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;y=e,b=t,m=r,g=i}function N(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;p=~g&p|g&i,l=~m&l|m&r,f=~b&f|b&t,d=~y&d|y&e}function L(e){e=e|0;if(e&15)return-1;E[e|0]=i>>>24,E[e|1]=i>>>16&255,E[e|2]=i>>>8&255,E[e|3]=i&255,E[e|4]=n>>>24,E[e|5]=n>>>16&255,E[e|6]=n>>>8&255,E[e|7]=n&255,E[e|8]=a>>>24,E[e|9]=a>>>16&255,E[e|10]=a>>>8&255,E[e|11]=a&255,E[e|12]=s>>>24,E[e|13]=s>>>16&255,E[e|14]=s>>>8&255,E[e|15]=s&255;return 16}function j(e){e=e|0;if(e&15)return-1;E[e|0]=o>>>24,E[e|1]=o>>>16&255,E[e|2]=o>>>8&255,E[e|3]=o&255,E[e|4]=c>>>24,E[e|5]=c>>>16&255,E[e|6]=c>>>8&255,E[e|7]=c&255,E[e|8]=u>>>24,E[e|9]=u>>>16&255,E[e|10]=u>>>8&255,E[e|11]=u&255,E[e|12]=h>>>24,E[e|13]=h>>>16&255,E[e|14]=h>>>8&255,E[e|15]=h&255;return 16}function W(){x(0,0,0,0);w=i,v=n,_=a,k=s}function H(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){V[e&7](E[t|0]<<24|E[t|1]<<16|E[t|2]<<8|E[t|3],E[t|4]<<24|E[t|5]<<16|E[t|6]<<8|E[t|7],E[t|8]<<24|E[t|9]<<16|E[t|10]<<8|E[t|11],E[t|12]<<24|E[t|13]<<16|E[t|14]<<8|E[t|15]);E[t|0]=i>>>24,E[t|1]=i>>>16&255,E[t|2]=i>>>8&255,E[t|3]=i&255,E[t|4]=n>>>24,E[t|5]=n>>>16&255,E[t|6]=n>>>8&255,E[t|7]=n&255,E[t|8]=a>>>24,E[t|9]=a>>>16&255,E[t|10]=a>>>8&255,E[t|11]=a&255,E[t|12]=s>>>24,E[t|13]=s>>>16&255,E[t|14]=s>>>8&255,E[t|15]=s&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function G(e,t,r){e=e|0;t=t|0;r=r|0;var i=0;if(t&15)return-1;while((r|0)>=16){$[e&1](E[t|0]<<24|E[t|1]<<16|E[t|2]<<8|E[t|3],E[t|4]<<24|E[t|5]<<16|E[t|6]<<8|E[t|7],E[t|8]<<24|E[t|9]<<16|E[t|10]<<8|E[t|11],E[t|12]<<24|E[t|13]<<16|E[t|14]<<8|E[t|15]);i=i+16|0,t=t+16|0,r=r-16|0}return i|0}var V=[x,M,K,C,D,U,R,I];var $=[K,B];return{set_rounds:T,set_state:z,set_iv:q,set_nonce:F,set_mask:O,set_counter:N,get_state:L,get_iv:j,gcm_init:W,cipher:H,mac:G}}({Uint8Array,Uint32Array},e,t);return h.set_key=function(e,t,i,a,s,c,u,d,f){var l=r.subarray(0,60),p=r.subarray(256,316);l.set([t,i,a,s,c,u,d,f]);for(var y=e,b=1;y<4*e+28;y++){var m=l[y-1];(y%e==0||8===e&&y%e==4)&&(m=n[m>>>24]<<24^n[m>>>16&255]<<16^n[m>>>8&255]<<8^n[255&m]),y%e==0&&(m=m<<8^m>>>24^b<<24,b=b<<1^(128&b?27:0)),l[y]=l[y-e]^m}for(var g=0;g<y;g+=4)for(var w=0;w<4;w++){m=l[y-(4+g)+(4-w)%4];p[g+w]=g<4||g>=y-4?m:o[0][n[m>>>24]]^o[1][n[m>>>16&255]]^o[2][n[m>>>8&255]]^o[3][n[255&m]]}h.set_rounds(e+5)},h};return h.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},h.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},h.MAC={CBC:0,GCM:1},h.HEAP_DATA=16384,h}();function be(e){return e instanceof Uint8Array}function me(e,t){const r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw Error("heap size must be a positive integer and a multiple of 4096");return e=e||new Uint8Array(new ArrayBuffer(r))}function ge(e,t,r,i,n){const a=e.length-t,s=a<n?a:n;return e.set(r.subarray(i,i+s),t),s}function we(...e){const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let i=0;for(let t=0;t<e.length;t++)r.set(e[t],i),i+=e[t].length;return r}class ve extends Error{constructor(...e){super(...e)}}class _e extends Error{constructor(...e){super(...e)}}class ke extends Error{constructor(...e){super(...e)}}const Ae=[],Se=[];class Ee{constructor(e,t,r=!0,i,n,a){this.pos=0,this.len=0,this.mode=i,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm(n,a)}acquire_asm(e,t){return void 0!==this.heap&&void 0!==this.asm||(this.heap=e||Ae.pop()||me().subarray(ye.HEAP_DATA),this.asm=t||Se.pop()||new ye(null,this.heap.buffer),this.reset(this.key,this.iv)),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(Ae.push(this.heap),Se.push(this.asm)),this.heap=void 0,this.asm=void 0}reset(e,t){const{asm:r}=this.acquire_asm(),i=e.length;if(16!==i&&24!==i&&32!==i)throw new _e("illegal key size");const n=new DataView(e.buffer,e.byteOffset,e.byteLength);if(r.set_key(i>>2,n.getUint32(0),n.getUint32(4),n.getUint32(8),n.getUint32(12),i>16?n.getUint32(16):0,i>16?n.getUint32(20):0,i>24?n.getUint32(24):0,i>24?n.getUint32(28):0),void 0!==t){if(16!==t.length)throw new _e("illegal iv size");let e=new DataView(t.buffer,t.byteOffset,t.byteLength);r.set_iv(e.getUint32(0),e.getUint32(4),e.getUint32(8),e.getUint32(12))}else r.set_iv(0,0,0,0)}AES_Encrypt_process(e){if(!be(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),i=ye.ENC[this.mode],n=ye.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,u=0,h=0,d=new Uint8Array(s+c&-16);for(;c>0;)h=ge(t,a+s,e,o,c),s+=h,o+=h,c-=h,h=r.cipher(i,n+a,s),h&&d.set(t.subarray(a,a+h),u),u+=h,h<s?(a+=h,s-=h):(a=0,s=0);return this.pos=a,this.len=s,d}AES_Encrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=ye.ENC[this.mode],i=ye.HEAP_DATA,n=this.pos,a=this.len,s=16-a%16,o=a;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<s;++t)e[n+a+t]=s;a+=s,o=a}else if(a%16)throw new _e("data length must be a multiple of the block size")}else a+=s;const c=new Uint8Array(o);return a&&t.cipher(r,i+n,a),o&&c.set(e.subarray(n,n+o)),this.pos=0,this.len=0,this.release_asm(),c}AES_Decrypt_process(e){if(!be(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),i=ye.DEC[this.mode],n=ye.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,u=0,h=s+c&-16,d=0,f=0;this.padding&&(d=s+c-h||16,h-=d);const l=new Uint8Array(h);for(;c>0;)f=ge(t,a+s,e,o,c),s+=f,o+=f,c-=f,f=r.cipher(i,n+a,s-(c?0:d)),f&&l.set(t.subarray(a,a+f),u),u+=f,f<s?(a+=f,s-=f):(a=0,s=0);return this.pos=a,this.len=s,l}AES_Decrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=ye.DEC[this.mode],i=ye.HEAP_DATA,n=this.pos,a=this.len,s=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new _e("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(r,i+n,a),this.hasOwnProperty("padding")&&this.padding){let t=e[n+s-1];if(t<1||t>16||t>s)throw new ke("bad padding");let r=0;for(let i=t;i>1;i--)r|=t^e[n+s-i];if(r)throw new ke("bad padding");s-=t}}const o=new Uint8Array(s);return s>0&&o.set(e.subarray(n,n+s)),this.pos=0,this.len=0,this.release_asm(),o}}class Pe{static encrypt(e,t,r=!1){return new Pe(t,r).encrypt(e)}static decrypt(e,t,r=!1){return new Pe(t,r).decrypt(e)}constructor(e,t=!1,r){this.aes=r||new Ee(e,void 0,t,"ECB")}encrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return we(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function xe(e){const t=function(e){const t=new Pe(e);this.encrypt=function(e){return t.encrypt(e)},this.decrypt=function(e){return t.decrypt(e)}};return t.blockSize=t.prototype.blockSize=16,t.keySize=t.prototype.keySize=e/8,t}function Me(e,t,r,i,n,a){const s=[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],o=[-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],c=[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],u=[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],h=[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],d=[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],f=[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],l=[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];let p,y,b,m,g,w,v,_,k,A,S,E,P,x,M=0,K=t.length;const C=32===e.length?3:9;_=3===C?r?[0,32,2]:[30,-2,-2]:r?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],r&&(t=function(e,t){const r=8-e.length%8;let i;if(2===t&&r<8)i=32;else if(1===t)i=r;else{if(t||!(r<8)){if(8===r)return e;throw Error("des: invalid padding")}i=0}const n=new Uint8Array(e.length+r);for(let t=0;t<e.length;t++)n[t]=e[t];for(let t=0;t<r;t++)n[e.length+t]=i;return n}(t,a),K=t.length);let D=new Uint8Array(K),U=0;for(1===i&&(k=n[M++]<<24|n[M++]<<16|n[M++]<<8|n[M++],S=n[M++]<<24|n[M++]<<16|n[M++]<<8|n[M++],M=0);M<K;){for(w=t[M++]<<24|t[M++]<<16|t[M++]<<8|t[M++],v=t[M++]<<24|t[M++]<<16|t[M++]<<8|t[M++],1===i&&(r?(w^=k,v^=S):(A=k,E=S,k=w,S=v)),b=252645135&(w>>>4^v),v^=b,w^=b<<4,b=65535&(w>>>16^v),v^=b,w^=b<<16,b=858993459&(v>>>2^w),w^=b,v^=b<<2,b=16711935&(v>>>8^w),w^=b,v^=b<<8,b=1431655765&(w>>>1^v),v^=b,w^=b<<1,w=w<<1|w>>>31,v=v<<1|v>>>31,y=0;y<C;y+=3){for(P=_[y+1],x=_[y+2],p=_[y];p!==P;p+=x)m=v^e[p],g=(v>>>4|v<<28)^e[p+1],b=w,w=v,v=b^(o[m>>>24&63]|u[m>>>16&63]|d[m>>>8&63]|l[63&m]|s[g>>>24&63]|c[g>>>16&63]|h[g>>>8&63]|f[63&g]);b=w,w=v,v=b}w=w>>>1|w<<31,v=v>>>1|v<<31,b=1431655765&(w>>>1^v),v^=b,w^=b<<1,b=16711935&(v>>>8^w),w^=b,v^=b<<8,b=858993459&(v>>>2^w),w^=b,v^=b<<2,b=65535&(w>>>16^v),v^=b,w^=b<<16,b=252645135&(w>>>4^v),v^=b,w^=b<<4,1===i&&(r?(k=w,S=v):(w^=A,v^=E)),D[U++]=w>>>24,D[U++]=w>>>16&255,D[U++]=w>>>8&255,D[U++]=255&w,D[U++]=v>>>24,D[U++]=v>>>16&255,D[U++]=v>>>8&255,D[U++]=255&v}return r||(D=function(e,t){let r,i=null;if(2===t)r=32;else if(1===t)i=e[e.length-1];else{if(t)throw Error("des: invalid padding");r=0}if(!i){for(i=1;e[e.length-i]===r;)i++;i--}return e.subarray(0,e.length-i)}(D,a)),D}function Ke(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],i=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],n=[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],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],h=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],d=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],f=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],l=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length>8?3:1,b=Array(32*y),m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let g,w,v,_=0,k=0;for(let A=0;A<y;A++){let y=e[_++]<<24|e[_++]<<16|e[_++]<<8|e[_++],A=e[_++]<<24|e[_++]<<16|e[_++]<<8|e[_++];v=252645135&(y>>>4^A),A^=v,y^=v<<4,v=65535&(A>>>-16^y),y^=v,A^=v<<-16,v=858993459&(y>>>2^A),A^=v,y^=v<<2,v=65535&(A>>>-16^y),y^=v,A^=v<<-16,v=1431655765&(y>>>1^A),A^=v,y^=v<<1,v=16711935&(A>>>8^y),y^=v,A^=v<<8,v=1431655765&(y>>>1^A),A^=v,y^=v<<1,v=y<<8|A>>>20&240,y=A<<24|A<<8&16711680|A>>>8&65280|A>>>24&240,A=v;for(let e=0;e<16;e++)m[e]?(y=y<<2|y>>>26,A=A<<2|A>>>26):(y=y<<1|y>>>27,A=A<<1|A>>>27),y&=-15,A&=-15,g=t[y>>>28]|r[y>>>24&15]|i[y>>>20&15]|n[y>>>16&15]|a[y>>>12&15]|s[y>>>8&15]|o[y>>>4&15],w=c[A>>>28]|u[A>>>24&15]|h[A>>>20&15]|d[A>>>16&15]|f[A>>>12&15]|l[A>>>8&15]|p[A>>>4&15],v=65535&(w>>>16^g),b[k++]=g^v,b[k++]=w^v<<16}return b}function Ce(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Me(Ke(this.key[2]),Me(Ke(this.key[1]),Me(Ke(this.key[0]),e,!0,0,null,null),!1,0,null,null),!0,0,null,null)}}function De(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),e.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,s=c,c=o^i(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^n(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^i(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^n(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^i(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^n(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^i(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^n(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^i(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^n(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>>16&255,t[a+6]=o>>>8&255,t[a+7]=255&o}return t},this.decrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,s=c,c=o^n(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^i(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^n(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^i(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^n(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^i(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^n(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^i(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^n(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^i(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>16&255,t[a+6]=o>>8&255,t[a+7]=255&o}return t};const e=[,,,,];e[0]=[,,,,],e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=[,,,,],e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=[,,,,],e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=[,,,,],e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=[,,,,];function r(e,t,r){const i=t+e,n=i<<r|i>>>32-r;return(a[0][n>>>24]^a[1][n>>>16&255])-a[2][n>>>8&255]+a[3][255&n]}function i(e,t,r){const i=t^e,n=i<<r|i>>>32-r;return a[0][n>>>24]-a[1][n>>>16&255]+a[2][n>>>8&255]^a[3][255&n]}function n(e,t,r){const i=t-e,n=i<<r|i>>>32-r;return(a[0][n>>>24]+a[1][n>>>16&255]^a[2][n>>>8&255])-a[3][255&n]}t[0]=[,,,,],t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=[,,,,],t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=[,,,,],t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=[,,,,],t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const i=[,,,,,,,,],n=Array(32);let s;for(let e=0;e<4;e++)s=4*e,i[e]=r[s]<<24|r[s+1]<<16|r[s+2]<<8|r[s+3];const o=[6,7,4,5];let c,u=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(s=0;s<4;s++){const t=e[r][s];c=i[t[1]],c^=a[4][i[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=a[5][i[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=a[6][i[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=a[7][i[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=a[o[s]][i[t[6]>>>2]>>>24-8*(3&t[6])&255],i[t[0]]=c}for(s=0;s<4;s++){const e=t[r][s];c=a[4][i[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=a[5][i[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=a[6][i[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=a[7][i[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=a[4+s][i[e[4]>>>2]>>>24-8*(3&e[4])&255],n[u]=c,u++}}for(let e=0;e<16;e++)this.masking[e]=n[e],this.rotate[e]=31&n[16+e]};const a=[,,,,,,,,];a[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],a[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],a[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],a[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],a[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],a[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],a[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],a[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function Ue(e){this.cast5=new De,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}Ce.keySize=Ce.prototype.keySize=24,Ce.blockSize=Ce.prototype.blockSize=8,Ue.blockSize=Ue.prototype.blockSize=8,Ue.keySize=Ue.prototype.keySize=16;const Re=4294967295;function Ie(e,t){return(e<<t|e>>>32-t)&Re}function Be(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Te(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function ze(e,t){return e>>>8*t&255}function qe(e){this.tf=function(){let e=null,t=null,r=-1,i=[],n=[[],[],[],[]];function a(e){return n[0][ze(e,0)]^n[1][ze(e,1)]^n[2][ze(e,2)]^n[3][ze(e,3)]}function s(e){return n[0][ze(e,3)]^n[1][ze(e,0)]^n[2][ze(e,1)]^n[3][ze(e,2)]}function o(e,t){let r=a(t[0]),n=s(t[1]);t[2]=Ie(t[2]^r+n+i[4*e+8]&Re,31),t[3]=Ie(t[3],1)^r+2*n+i[4*e+9]&Re,r=a(t[2]),n=s(t[3]),t[0]=Ie(t[0]^r+n+i[4*e+10]&Re,31),t[1]=Ie(t[1],1)^r+2*n+i[4*e+11]&Re}function c(e,t){let r=a(t[0]),n=s(t[1]);t[2]=Ie(t[2],1)^r+n+i[4*e+10]&Re,t[3]=Ie(t[3]^r+2*n+i[4*e+11]&Re,31),r=a(t[2]),n=s(t[3]),t[0]=Ie(t[0],1)^r+n+i[4*e+8]&Re,t[1]=Ie(t[1]^r+2*n+i[4*e+9]&Re,31)}return{name:"twofish",blocksize:16,open:function(t){let r,a,s,o,c;e=t;const u=[],h=[],d=[];let f;const l=[];let p,y,b;const m=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],g=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],w=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],v=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],_=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],k=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],A=[[],[]],S=[[],[],[],[]];function E(e){return e^e>>2^[0,90,180,238][3&e]}function P(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function x(e,t){let r,i,n;for(r=0;r<8;r++)i=t>>>24,t=t<<8&Re|e>>>24,e=e<<8&Re,n=i<<1,128&i&&(n^=333),t^=i^n<<16,n^=i>>>1,1&i&&(n^=166),t^=n<<24|n<<8;return t}function M(e,t){const r=t>>4,i=15&t,n=m[e][r^i],a=g[e][_[i]^k[r]];return v[e][_[a]^k[n]]<<4|w[e][n^a]}function K(e,t){let r=ze(e,0),i=ze(e,1),n=ze(e,2),a=ze(e,3);switch(f){case 4:r=A[1][r]^ze(t[3],0),i=A[0][i]^ze(t[3],1),n=A[0][n]^ze(t[3],2),a=A[1][a]^ze(t[3],3);case 3:r=A[1][r]^ze(t[2],0),i=A[1][i]^ze(t[2],1),n=A[0][n]^ze(t[2],2),a=A[0][a]^ze(t[2],3);case 2:r=A[0][A[0][r]^ze(t[1],0)]^ze(t[0],0),i=A[0][A[1][i]^ze(t[1],1)]^ze(t[0],1),n=A[1][A[0][n]^ze(t[1],2)]^ze(t[0],2),a=A[1][A[1][a]^ze(t[1],3)]^ze(t[0],3)}return S[0][r]^S[1][i]^S[2][n]^S[3][a]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)d[r>>2]=Be(e,r);for(r=0;r<256;r++)A[0][r]=M(0,r),A[1][r]=M(1,r);for(r=0;r<256;r++)p=A[1][r],y=E(p),b=P(p),S[0][r]=p+(y<<8)+(b<<16)+(b<<24),S[2][r]=y+(b<<8)+(p<<16)+(b<<24),p=A[0][r],y=E(p),b=P(p),S[1][r]=b+(b<<8)+(y<<16)+(p<<24),S[3][r]=y+(p<<8)+(b<<16)+(y<<24);for(f=d.length/2,r=0;r<f;r++)a=d[r+r],u[r]=a,s=d[r+r+1],h[r]=s,l[f-r-1]=x(a,s);for(r=0;r<40;r+=2)a=16843009*r,s=a+16843009,a=K(a,u),s=Ie(K(s,h),8),i[r]=a+s&Re,i[r+1]=Ie(a+2*s,9);for(r=0;r<256;r++)switch(a=s=o=c=r,f){case 4:a=A[1][a]^ze(l[3],0),s=A[0][s]^ze(l[3],1),o=A[0][o]^ze(l[3],2),c=A[1][c]^ze(l[3],3);case 3:a=A[1][a]^ze(l[2],0),s=A[1][s]^ze(l[2],1),o=A[0][o]^ze(l[2],2),c=A[0][c]^ze(l[2],3);case 2:n[0][r]=S[0][A[0][A[0][a]^ze(l[1],0)]^ze(l[0],0)],n[1][r]=S[1][A[0][A[1][s]^ze(l[1],1)]^ze(l[0],1)],n[2][r]=S[2][A[1][A[0][o]^ze(l[1],2)]^ze(l[0],2)],n[3][r]=S[3][A[1][A[1][c]^ze(l[1],3)]^ze(l[0],3)]}},close:function(){i=[],n=[[],[],[],[]]},encrypt:function(e,n){t=e,r=n;const a=[Be(t,r)^i[0],Be(t,r+4)^i[1],Be(t,r+8)^i[2],Be(t,r+12)^i[3]];for(let e=0;e<8;e++)o(e,a);return Te(t,r,a[2]^i[4]),Te(t,r+4,a[3]^i[5]),Te(t,r+8,a[0]^i[6]),Te(t,r+12,a[1]^i[7]),r+=16,t},decrypt:function(e,n){t=e,r=n;const a=[Be(t,r)^i[4],Be(t,r+4)^i[5],Be(t,r+8)^i[6],Be(t,r+12)^i[7]];for(let e=7;e>=0;e--)c(e,a);Te(t,r,a[2]^i[0]),Te(t,r+4,a[3]^i[1]),Te(t,r+8,a[0]^i[2]),Te(t,r+12,a[1]^i[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Fe(){}function Oe(e){this.bf=new Fe,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}qe.keySize=qe.prototype.keySize=32,qe.blockSize=qe.prototype.blockSize=16,Fe.prototype.BLOCKSIZE=8,Fe.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Fe.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Fe.prototype.NN=16,Fe.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},Fe.prototype._F=function(e){let t;const r=255&e,i=255&(e>>>=8),n=255&(e>>>=8),a=255&(e>>>=8);return t=this.sboxes[0][a]+this.sboxes[1][n],t^=this.sboxes[2][i],t+=this.sboxes[3][r],t},Fe.prototype._encryptBlock=function(e){let t,r=e[0],i=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],i=this._F(r)^i;const e=r;r=i,i=e}r^=this.parray[this.NN+0],i^=this.parray[this.NN+1],e[0]=this._clean(i),e[1]=this._clean(r)},Fe.prototype.encryptBlock=function(e){let t;const r=[0,0],i=this.BLOCKSIZE/2;for(t=0;t<this.BLOCKSIZE/2;++t)r[0]=r[0]<<8|255&e[t+0],r[1]=r[1]<<8|255&e[t+i];this._encryptBlock(r);const n=[];for(t=0;t<this.BLOCKSIZE/2;++t)n[t+0]=r[0]>>>24-8*t&255,n[t+i]=r[1]>>>24-8*t&255;return n},Fe.prototype._decryptBlock=function(e){let t,r=e[0],i=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],i=this._F(r)^i;const e=r;r=i,i=e}r^=this.parray[1],i^=this.parray[0],e[0]=this._clean(i),e[1]=this._clean(r)},Fe.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let i=0;for(let t=0;t<4;++t)i=i<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^i}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const i=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(i),this.parray[t+0]=i[0],this.parray[t+1]=i[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(i),this.sboxes[t][r+0]=i[0],this.sboxes[t][r+1]=i[1]},Oe.keySize=Oe.prototype.keySize=16,Oe.blockSize=Oe.prototype.blockSize=8;const Ne=xe(128),Le=xe(192),je=xe(256),We=function(e){this.key=e,this.encrypt=function(e,t){return Me(Ke(this.key),e,!0,0,null,t)},this.decrypt=function(e,t){return Me(Ke(this.key),e,!1,0,null,t)}};var He=/*#__PURE__*/Object.freeze({__proto__:null,aes128:Ne,aes192:Le,aes256:je,des:We,tripledes:Ce,cast5:Ue,twofish:qe,blowfish:Oe,idea:function(){throw Error("IDEA symmetric-key algorithm not implemented")}}),Ge=function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0;var h=0,d=0,f=0,l=0,p=0,y=0,b=0,m=0,g=0,w=0;var v=new e.Uint8Array(r);function _(e,t,r,c,u,h,d,f,l,p,y,b,m,g,w,v){e=e|0;t=t|0;r=r|0;c=c|0;u=u|0;h=h|0;d=d|0;f=f|0;l=l|0;p=p|0;y=y|0;b=b|0;m=m|0;g=g|0;w=w|0;v=v|0;var _=0,k=0,A=0,S=0,E=0,P=0,x=0,M=0,K=0,C=0,D=0,U=0,R=0,I=0,B=0,T=0,z=0,q=0,F=0,O=0,N=0,L=0,j=0,W=0,H=0,G=0,V=0,$=0,Z=0,Y=0,X=0,Q=0,J=0,ee=0,te=0,re=0,ie=0,ne=0,ae=0,se=0,oe=0,ce=0,ue=0,he=0,de=0,fe=0,le=0,pe=0,ye=0,be=0,me=0,ge=0,we=0,ve=0,_e=0,ke=0,Ae=0,Se=0,Ee=0,Pe=0,xe=0,Me=0,Ke=0,Ce=0,De=0,Ue=0,Re=0,Ie=0,Be=0,Te=0,ze=0;_=i;k=n;A=a;S=s;E=o;x=e+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=t+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=r+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=c+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=u+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=h+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=d+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=f+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=l+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=p+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=y+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=b+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=m+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=g+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=w+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;x=v+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=g^l^r^e;M=P<<1|P>>>31;x=M+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=w^p^c^t;K=P<<1|P>>>31;x=K+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=v^y^u^r;C=P<<1|P>>>31;x=C+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=M^b^h^c;D=P<<1|P>>>31;x=D+(_<<5|_>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=K^m^d^u;U=P<<1|P>>>31;x=U+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=C^g^f^h;R=P<<1|P>>>31;x=R+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=D^w^l^d;I=P<<1|P>>>31;x=I+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=U^v^p^f;B=P<<1|P>>>31;x=B+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=R^M^y^l;T=P<<1|P>>>31;x=T+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=I^K^b^p;z=P<<1|P>>>31;x=z+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=B^C^m^y;q=P<<1|P>>>31;x=q+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=T^D^g^b;F=P<<1|P>>>31;x=F+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=z^U^w^m;O=P<<1|P>>>31;x=O+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=q^R^v^g;N=P<<1|P>>>31;x=N+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=F^I^M^w;L=P<<1|P>>>31;x=L+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=O^B^K^v;j=P<<1|P>>>31;x=j+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=N^T^C^M;W=P<<1|P>>>31;x=W+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=L^z^D^K;H=P<<1|P>>>31;x=H+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=j^q^U^C;G=P<<1|P>>>31;x=G+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=W^F^R^D;V=P<<1|P>>>31;x=V+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=H^O^I^U;$=P<<1|P>>>31;x=$+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=G^N^B^R;Z=P<<1|P>>>31;x=Z+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=V^L^T^I;Y=P<<1|P>>>31;x=Y+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=$^j^z^B;X=P<<1|P>>>31;x=X+(_<<5|_>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Z^W^q^T;Q=P<<1|P>>>31;x=Q+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Y^H^F^z;J=P<<1|P>>>31;x=J+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=X^G^O^q;ee=P<<1|P>>>31;x=ee+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Q^V^N^F;te=P<<1|P>>>31;x=te+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=J^$^L^O;re=P<<1|P>>>31;x=re+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ee^Z^j^N;ie=P<<1|P>>>31;x=ie+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=te^Y^W^L;ne=P<<1|P>>>31;x=ne+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=re^X^H^j;ae=P<<1|P>>>31;x=ae+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ie^Q^G^W;se=P<<1|P>>>31;x=se+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ne^J^V^H;oe=P<<1|P>>>31;x=oe+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ae^ee^$^G;ce=P<<1|P>>>31;x=ce+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=se^te^Z^V;ue=P<<1|P>>>31;x=ue+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=oe^re^Y^$;he=P<<1|P>>>31;x=he+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ce^ie^X^Z;de=P<<1|P>>>31;x=de+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ue^ne^Q^Y;fe=P<<1|P>>>31;x=fe+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=he^ae^J^X;le=P<<1|P>>>31;x=le+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=de^se^ee^Q;pe=P<<1|P>>>31;x=pe+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=fe^oe^te^J;ye=P<<1|P>>>31;x=ye+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=le^ce^re^ee;be=P<<1|P>>>31;x=be+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=pe^ue^ie^te;me=P<<1|P>>>31;x=me+(_<<5|_>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ye^he^ne^re;ge=P<<1|P>>>31;x=ge+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=be^de^ae^ie;we=P<<1|P>>>31;x=we+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=me^fe^se^ne;ve=P<<1|P>>>31;x=ve+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ge^le^oe^ae;_e=P<<1|P>>>31;x=_e+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=we^pe^ce^se;ke=P<<1|P>>>31;x=ke+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ve^ye^ue^oe;Ae=P<<1|P>>>31;x=Ae+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=_e^be^he^ce;Se=P<<1|P>>>31;x=Se+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=ke^me^de^ue;Ee=P<<1|P>>>31;x=Ee+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Ae^ge^fe^he;Pe=P<<1|P>>>31;x=Pe+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Se^we^le^de;xe=P<<1|P>>>31;x=xe+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Ee^ve^pe^fe;Me=P<<1|P>>>31;x=Me+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Pe^_e^ye^le;Ke=P<<1|P>>>31;x=Ke+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=xe^ke^be^pe;Ce=P<<1|P>>>31;x=Ce+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Me^Ae^me^ye;De=P<<1|P>>>31;x=De+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Ke^Se^ge^be;Ue=P<<1|P>>>31;x=Ue+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Ce^Ee^we^me;Re=P<<1|P>>>31;x=Re+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=De^Pe^ve^ge;Ie=P<<1|P>>>31;x=Ie+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Ue^xe^_e^we;Be=P<<1|P>>>31;x=Be+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Re^Me^ke^ve;Te=P<<1|P>>>31;x=Te+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;P=Ie^Ke^Ae^_e;ze=P<<1|P>>>31;x=ze+(_<<5|_>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=_;_=x;i=i+_|0;n=n+k|0;a=a+A|0;s=s+S|0;o=o+E|0}function k(e){e=e|0;_(v[e|0]<<24|v[e|1]<<16|v[e|2]<<8|v[e|3],v[e|4]<<24|v[e|5]<<16|v[e|6]<<8|v[e|7],v[e|8]<<24|v[e|9]<<16|v[e|10]<<8|v[e|11],v[e|12]<<24|v[e|13]<<16|v[e|14]<<8|v[e|15],v[e|16]<<24|v[e|17]<<16|v[e|18]<<8|v[e|19],v[e|20]<<24|v[e|21]<<16|v[e|22]<<8|v[e|23],v[e|24]<<24|v[e|25]<<16|v[e|26]<<8|v[e|27],v[e|28]<<24|v[e|29]<<16|v[e|30]<<8|v[e|31],v[e|32]<<24|v[e|33]<<16|v[e|34]<<8|v[e|35],v[e|36]<<24|v[e|37]<<16|v[e|38]<<8|v[e|39],v[e|40]<<24|v[e|41]<<16|v[e|42]<<8|v[e|43],v[e|44]<<24|v[e|45]<<16|v[e|46]<<8|v[e|47],v[e|48]<<24|v[e|49]<<16|v[e|50]<<8|v[e|51],v[e|52]<<24|v[e|53]<<16|v[e|54]<<8|v[e|55],v[e|56]<<24|v[e|57]<<16|v[e|58]<<8|v[e|59],v[e|60]<<24|v[e|61]<<16|v[e|62]<<8|v[e|63])}function A(e){e=e|0;v[e|0]=i>>>24;v[e|1]=i>>>16&255;v[e|2]=i>>>8&255;v[e|3]=i&255;v[e|4]=n>>>24;v[e|5]=n>>>16&255;v[e|6]=n>>>8&255;v[e|7]=n&255;v[e|8]=a>>>24;v[e|9]=a>>>16&255;v[e|10]=a>>>8&255;v[e|11]=a&255;v[e|12]=s>>>24;v[e|13]=s>>>16&255;v[e|14]=s>>>8&255;v[e|15]=s&255;v[e|16]=o>>>24;v[e|17]=o>>>16&255;v[e|18]=o>>>8&255;v[e|19]=o&255}function S(){i=0x67452301;n=0xefcdab89;a=0x98badcfe;s=0x10325476;o=0xc3d2e1f0;c=u=0}function E(e,t,r,h,d,f,l){e=e|0;t=t|0;r=r|0;h=h|0;d=d|0;f=f|0;l=l|0;i=e;n=t;a=r;s=h;o=d;c=f;u=l}function P(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){k(e);e=e+64|0;t=t-64|0;r=r+64|0}c=c+r|0;if(c>>>0<r>>>0)u=u+1|0;return r|0}function x(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){i=P(e,t)|0;if((i|0)==-1)return-1;e=e+i|0;t=t-i|0}i=i+t|0;c=c+t|0;if(c>>>0<t>>>0)u=u+1|0;v[e|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)v[e|n]=0x00;k(e);t=0;v[e|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)v[e|n]=0;v[e|56]=u>>>21&255;v[e|57]=u>>>13&255;v[e|58]=u>>>5&255;v[e|59]=u<<3&255|c>>>29;v[e|60]=c>>>21&255;v[e|61]=c>>>13&255;v[e|62]=c>>>5&255;v[e|63]=c<<3&255;k(e);if(~r)A(r);return i|0}function M(){i=h;n=d;a=f;s=l;o=p;c=64;u=0}function K(){i=y;n=b;a=m;s=g;o=w;c=64;u=0}function C(e,t,r,v,k,A,E,P,x,M,K,C,D,U,R,I){e=e|0;t=t|0;r=r|0;v=v|0;k=k|0;A=A|0;E=E|0;P=P|0;x=x|0;M=M|0;K=K|0;C=C|0;D=D|0;U=U|0;R=R|0;I=I|0;S();_(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,v^0x5c5c5c5c,k^0x5c5c5c5c,A^0x5c5c5c5c,E^0x5c5c5c5c,P^0x5c5c5c5c,x^0x5c5c5c5c,M^0x5c5c5c5c,K^0x5c5c5c5c,C^0x5c5c5c5c,D^0x5c5c5c5c,U^0x5c5c5c5c,R^0x5c5c5c5c,I^0x5c5c5c5c);y=i;b=n;m=a;g=s;w=o;S();_(e^0x36363636,t^0x36363636,r^0x36363636,v^0x36363636,k^0x36363636,A^0x36363636,E^0x36363636,P^0x36363636,x^0x36363636,M^0x36363636,K^0x36363636,C^0x36363636,D^0x36363636,U^0x36363636,R^0x36363636,I^0x36363636);h=i;d=n;f=a;l=s;p=o;c=64;u=0}function D(e,t,r){e=e|0;t=t|0;r=r|0;var c=0,u=0,h=0,d=0,f=0,l=0;if(e&63)return-1;if(~r)if(r&31)return-1;l=x(e,t,-1)|0;c=i,u=n,h=a,d=s,f=o;K();_(c,u,h,d,f,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)A(r);return l|0}function U(e,t,r,c,u){e=e|0;t=t|0;r=r|0;c=c|0;u=u|0;var h=0,d=0,f=0,l=0,p=0,y=0,b=0,m=0,g=0,w=0;if(e&63)return-1;if(~u)if(u&31)return-1;v[e+t|0]=r>>>24;v[e+t+1|0]=r>>>16&255;v[e+t+2|0]=r>>>8&255;v[e+t+3|0]=r&255;D(e,t+4|0,-1)|0;h=y=i,d=b=n,f=m=a,l=g=s,p=w=o;c=c-1|0;while((c|0)>0){M();_(y,b,m,g,w,0x80000000,0,0,0,0,0,0,0,0,0,672);y=i,b=n,m=a,g=s,w=o;K();_(y,b,m,g,w,0x80000000,0,0,0,0,0,0,0,0,0,672);y=i,b=n,m=a,g=s,w=o;h=h^i;d=d^n;f=f^a;l=l^s;p=p^o;c=c-1|0}i=h;n=d;a=f;s=l;o=p;if(~u)A(u);return 0}return{reset:S,init:E,process:P,finish:x,hmac_reset:M,hmac_init:C,hmac_finish:D,pbkdf2_generate_block:U}};class Ve{constructor(){this.pos=0,this.len=0}reset(){const{asm:e}=this.acquire_asm();return this.result=null,this.pos=0,this.len=0,e.reset(),this}process(e){if(null!==this.result)throw new ve("state must be reset before processing new data");const{asm:t,heap:r}=this.acquire_asm();let i=this.pos,n=this.len,a=0,s=e.length,o=0;for(;s>0;)o=ge(r,i+n,e,a,s),n+=o,a+=o,s-=o,o=t.process(i,n),i+=o,n-=o,n||(i=0);return this.pos=i,this.len=n,this}finish(){if(null!==this.result)throw new ve("state must be reset before processing new data");const{asm:e,heap:t}=this.acquire_asm();return e.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(t.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this.release_asm(),this}}const $e=[],Ze=[];class Ye extends Ve{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=$e.pop()||me(),this.asm=Ze.pop()||Ge({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&($e.push(this.heap),Ze.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new Ye).process(e).finish().result}}Ye.NAME="sha1",Ye.heap_pool=[],Ye.asm_pool=[],Ye.asm_function=Ge;const Xe=[],Qe=[];class Je extends Ve{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=Xe.pop()||me(),this.asm=Qe.pop()||function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0,h=0,d=0,f=0,l=0,p=0,y=0,b=0,m=0,g=0,w=0,v=0,_=0,k=0,A=0,S=0,E=0,P=0,x=0,M=0,K=new e.Uint8Array(r);function C(e,t,r,d,f,l,p,y,b,m,g,w,v,_,k,A){e=e|0;t=t|0;r=r|0;d=d|0;f=f|0;l=l|0;p=p|0;y=y|0;b=b|0;m=m|0;g=g|0;w=w|0;v=v|0;_=_|0;k=k|0;A=A|0;var S=0,E=0,P=0,x=0,M=0,K=0,C=0,D=0;S=i;E=n;P=a;x=s;M=o;K=c;C=u;D=h;D=e+D+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(K^C))+0x428a2f98|0;x=x+D|0;D=D+(S&E^P&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;C=t+C+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(K^x&(M^K))+0x71374491|0;P=P+C|0;C=C+(D&S^E&(D^S))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;K=r+K+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xb5c0fbcf|0;E=E+K|0;K=K+(C&D^S&(C^D))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;M=d+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(x^E&(P^x))+0xe9b5dba5|0;S=S+M|0;M=M+(K&C^D&(K^C))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;x=f+x+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(E^P))+0x3956c25b|0;D=D+x|0;x=x+(M&K^C&(M^K))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;P=l+P+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(S^E))+0x59f111f1|0;C=C+P|0;P=P+(x&M^K&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;E=p+E+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(D^S))+0x923f82a4|0;K=K+E|0;E=E+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;S=y+S+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(D^K&(C^D))+0xab1c5ed5|0;M=M+S|0;S=S+(E&P^x&(E^P))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;D=b+D+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(K^C))+0xd807aa98|0;x=x+D|0;D=D+(S&E^P&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;C=m+C+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(K^x&(M^K))+0x12835b01|0;P=P+C|0;C=C+(D&S^E&(D^S))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;K=g+K+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x243185be|0;E=E+K|0;K=K+(C&D^S&(C^D))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;M=w+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(x^E&(P^x))+0x550c7dc3|0;S=S+M|0;M=M+(K&C^D&(K^C))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;x=v+x+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(E^P))+0x72be5d74|0;D=D+x|0;x=x+(M&K^C&(M^K))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;P=_+P+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(S^E))+0x80deb1fe|0;C=C+P|0;P=P+(x&M^K&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;E=k+E+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(D^S))+0x9bdc06a7|0;K=K+E|0;E=E+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;S=A+S+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(D^K&(C^D))+0xc19bf174|0;M=M+S|0;S=S+(E&P^x&(E^P))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;D=e+D+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(K^C))+0xe49b69c1|0;x=x+D|0;D=D+(S&E^P&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;C=t+C+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(K^x&(M^K))+0xefbe4786|0;P=P+C|0;C=C+(D&S^E&(D^S))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;K=r+K+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x0fc19dc6|0;E=E+K|0;K=K+(C&D^S&(C^D))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+v|0;M=d+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(x^E&(P^x))+0x240ca1cc|0;S=S+M|0;M=M+(K&C^D&(K^C))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+f+_|0;x=f+x+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(E^P))+0x2de92c6f|0;D=D+x|0;x=x+(M&K^C&(M^K))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+l+k|0;P=l+P+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(S^E))+0x4a7484aa|0;C=C+P|0;P=P+(x&M^K&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+A|0;E=p+E+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(D^S))+0x5cb0a9dc|0;K=K+E|0;E=E+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;S=y+S+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(D^K&(C^D))+0x76f988da|0;M=M+S|0;S=S+(E&P^x&(E^P))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;D=b+D+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(K^C))+0x983e5152|0;x=x+D|0;D=D+(S&E^P&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;m=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+m+r|0;C=m+C+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(K^x&(M^K))+0xa831c66d|0;P=P+C|0;C=C+(D&S^E&(D^S))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+g+d|0;K=g+K+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xb00327c8|0;E=E+K|0;K=K+(C&D^S&(C^D))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+w+f|0;M=w+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(x^E&(P^x))+0xbf597fc7|0;S=S+M|0;M=M+(K&C^D&(K^C))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+v+l|0;x=v+x+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(E^P))+0xc6e00bf3|0;D=D+x|0;x=x+(M&K^C&(M^K))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+_+p|0;P=_+P+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(S^E))+0xd5a79147|0;C=C+P|0;P=P+(x&M^K&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+k+y|0;E=k+E+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(D^S))+0x06ca6351|0;K=K+E|0;E=E+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+A+b|0;S=A+S+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(D^K&(C^D))+0x14292967|0;M=M+S|0;S=S+(E&P^x&(E^P))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;D=e+D+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(K^C))+0x27b70a85|0;x=x+D|0;D=D+(S&E^P&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;C=t+C+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(K^x&(M^K))+0x2e1b2138|0;P=P+C|0;C=C+(D&S^E&(D^S))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;K=r+K+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x4d2c6dfc|0;E=E+K|0;K=K+(C&D^S&(C^D))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+v|0;M=d+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(x^E&(P^x))+0x53380d13|0;S=S+M|0;M=M+(K&C^D&(K^C))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+f+_|0;x=f+x+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(E^P))+0x650a7354|0;D=D+x|0;x=x+(M&K^C&(M^K))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+l+k|0;P=l+P+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(S^E))+0x766a0abb|0;C=C+P|0;P=P+(x&M^K&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+A|0;E=p+E+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(D^S))+0x81c2c92e|0;K=K+E|0;E=E+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;S=y+S+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(D^K&(C^D))+0x92722c85|0;M=M+S|0;S=S+(E&P^x&(E^P))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;D=b+D+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(K^C))+0xa2bfe8a1|0;x=x+D|0;D=D+(S&E^P&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;m=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+m+r|0;C=m+C+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(K^x&(M^K))+0xa81a664b|0;P=P+C|0;C=C+(D&S^E&(D^S))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+g+d|0;K=g+K+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xc24b8b70|0;E=E+K|0;K=K+(C&D^S&(C^D))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+w+f|0;M=w+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(x^E&(P^x))+0xc76c51a3|0;S=S+M|0;M=M+(K&C^D&(K^C))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+v+l|0;x=v+x+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(E^P))+0xd192e819|0;D=D+x|0;x=x+(M&K^C&(M^K))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+_+p|0;P=_+P+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(S^E))+0xd6990624|0;C=C+P|0;P=P+(x&M^K&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+k+y|0;E=k+E+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(D^S))+0xf40e3585|0;K=K+E|0;E=E+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+A+b|0;S=A+S+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(D^K&(C^D))+0x106aa070|0;M=M+S|0;S=S+(E&P^x&(E^P))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;D=e+D+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(K^C))+0x19a4c116|0;x=x+D|0;D=D+(S&E^P&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;C=t+C+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(K^x&(M^K))+0x1e376c08|0;P=P+C|0;C=C+(D&S^E&(D^S))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;K=r+K+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x2748774c|0;E=E+K|0;K=K+(C&D^S&(C^D))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+v|0;M=d+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(x^E&(P^x))+0x34b0bcb5|0;S=S+M|0;M=M+(K&C^D&(K^C))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+f+_|0;x=f+x+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(E^P))+0x391c0cb3|0;D=D+x|0;x=x+(M&K^C&(M^K))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+l+k|0;P=l+P+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(S^E))+0x4ed8aa4a|0;C=C+P|0;P=P+(x&M^K&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+A|0;E=p+E+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(D^S))+0x5b9cca4f|0;K=K+E|0;E=E+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;S=y+S+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(D^K&(C^D))+0x682e6ff3|0;M=M+S|0;S=S+(E&P^x&(E^P))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;D=b+D+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(K^C))+0x748f82ee|0;x=x+D|0;D=D+(S&E^P&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;m=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+m+r|0;C=m+C+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(K^x&(M^K))+0x78a5636f|0;P=P+C|0;C=C+(D&S^E&(D^S))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+g+d|0;K=g+K+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x84c87814|0;E=E+K|0;K=K+(C&D^S&(C^D))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+w+f|0;M=w+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(x^E&(P^x))+0x8cc70208|0;S=S+M|0;M=M+(K&C^D&(K^C))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+v+l|0;x=v+x+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(E^P))+0x90befffa|0;D=D+x|0;x=x+(M&K^C&(M^K))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+_+p|0;P=_+P+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(S^E))+0xa4506ceb|0;C=C+P|0;P=P+(x&M^K&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+k+y|0;E=k+E+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(D^S))+0xbef9a3f7|0;K=K+E|0;E=E+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+A+b|0;S=A+S+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(D^K&(C^D))+0xc67178f2|0;M=M+S|0;S=S+(E&P^x&(E^P))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;i=i+S|0;n=n+E|0;a=a+P|0;s=s+x|0;o=o+M|0;c=c+K|0;u=u+C|0;h=h+D|0}function D(e){e=e|0;C(K[e|0]<<24|K[e|1]<<16|K[e|2]<<8|K[e|3],K[e|4]<<24|K[e|5]<<16|K[e|6]<<8|K[e|7],K[e|8]<<24|K[e|9]<<16|K[e|10]<<8|K[e|11],K[e|12]<<24|K[e|13]<<16|K[e|14]<<8|K[e|15],K[e|16]<<24|K[e|17]<<16|K[e|18]<<8|K[e|19],K[e|20]<<24|K[e|21]<<16|K[e|22]<<8|K[e|23],K[e|24]<<24|K[e|25]<<16|K[e|26]<<8|K[e|27],K[e|28]<<24|K[e|29]<<16|K[e|30]<<8|K[e|31],K[e|32]<<24|K[e|33]<<16|K[e|34]<<8|K[e|35],K[e|36]<<24|K[e|37]<<16|K[e|38]<<8|K[e|39],K[e|40]<<24|K[e|41]<<16|K[e|42]<<8|K[e|43],K[e|44]<<24|K[e|45]<<16|K[e|46]<<8|K[e|47],K[e|48]<<24|K[e|49]<<16|K[e|50]<<8|K[e|51],K[e|52]<<24|K[e|53]<<16|K[e|54]<<8|K[e|55],K[e|56]<<24|K[e|57]<<16|K[e|58]<<8|K[e|59],K[e|60]<<24|K[e|61]<<16|K[e|62]<<8|K[e|63])}function U(e){e=e|0;K[e|0]=i>>>24;K[e|1]=i>>>16&255;K[e|2]=i>>>8&255;K[e|3]=i&255;K[e|4]=n>>>24;K[e|5]=n>>>16&255;K[e|6]=n>>>8&255;K[e|7]=n&255;K[e|8]=a>>>24;K[e|9]=a>>>16&255;K[e|10]=a>>>8&255;K[e|11]=a&255;K[e|12]=s>>>24;K[e|13]=s>>>16&255;K[e|14]=s>>>8&255;K[e|15]=s&255;K[e|16]=o>>>24;K[e|17]=o>>>16&255;K[e|18]=o>>>8&255;K[e|19]=o&255;K[e|20]=c>>>24;K[e|21]=c>>>16&255;K[e|22]=c>>>8&255;K[e|23]=c&255;K[e|24]=u>>>24;K[e|25]=u>>>16&255;K[e|26]=u>>>8&255;K[e|27]=u&255;K[e|28]=h>>>24;K[e|29]=h>>>16&255;K[e|30]=h>>>8&255;K[e|31]=h&255}function R(){i=0x6a09e667;n=0xbb67ae85;a=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;c=0x9b05688c;u=0x1f83d9ab;h=0x5be0cd19;d=f=0}function I(e,t,r,l,p,y,b,m,g,w){e=e|0;t=t|0;r=r|0;l=l|0;p=p|0;y=y|0;b=b|0;m=m|0;g=g|0;w=w|0;i=e;n=t;a=r;s=l;o=p;c=y;u=b;h=m;d=g;f=w}function B(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){D(e);e=e+64|0;t=t-64|0;r=r+64|0}d=d+r|0;if(d>>>0<r>>>0)f=f+1|0;return r|0}function T(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){i=B(e,t)|0;if((i|0)==-1)return-1;e=e+i|0;t=t-i|0}i=i+t|0;d=d+t|0;if(d>>>0<t>>>0)f=f+1|0;K[e|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)K[e|n]=0x00;D(e);t=0;K[e|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)K[e|n]=0;K[e|56]=f>>>21&255;K[e|57]=f>>>13&255;K[e|58]=f>>>5&255;K[e|59]=f<<3&255|d>>>29;K[e|60]=d>>>21&255;K[e|61]=d>>>13&255;K[e|62]=d>>>5&255;K[e|63]=d<<3&255;D(e);if(~r)U(r);return i|0}function z(){i=l;n=p;a=y;s=b;o=m;c=g;u=w;h=v;d=64;f=0}function q(){i=_;n=k;a=A;s=S;o=E;c=P;u=x;h=M;d=64;f=0}function F(e,t,r,K,D,U,I,B,T,z,q,F,O,N,L,j){e=e|0;t=t|0;r=r|0;K=K|0;D=D|0;U=U|0;I=I|0;B=B|0;T=T|0;z=z|0;q=q|0;F=F|0;O=O|0;N=N|0;L=L|0;j=j|0;R();C(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,K^0x5c5c5c5c,D^0x5c5c5c5c,U^0x5c5c5c5c,I^0x5c5c5c5c,B^0x5c5c5c5c,T^0x5c5c5c5c,z^0x5c5c5c5c,q^0x5c5c5c5c,F^0x5c5c5c5c,O^0x5c5c5c5c,N^0x5c5c5c5c,L^0x5c5c5c5c,j^0x5c5c5c5c);_=i;k=n;A=a;S=s;E=o;P=c;x=u;M=h;R();C(e^0x36363636,t^0x36363636,r^0x36363636,K^0x36363636,D^0x36363636,U^0x36363636,I^0x36363636,B^0x36363636,T^0x36363636,z^0x36363636,q^0x36363636,F^0x36363636,O^0x36363636,N^0x36363636,L^0x36363636,j^0x36363636);l=i;p=n;y=a;b=s;m=o;g=c;w=u;v=h;d=64;f=0}function O(e,t,r){e=e|0;t=t|0;r=r|0;var d=0,f=0,l=0,p=0,y=0,b=0,m=0,g=0,w=0;if(e&63)return-1;if(~r)if(r&31)return-1;w=T(e,t,-1)|0;d=i,f=n,l=a,p=s,y=o,b=c,m=u,g=h;q();C(d,f,l,p,y,b,m,g,0x80000000,0,0,0,0,0,0,768);if(~r)U(r);return w|0}function N(e,t,r,d,f){e=e|0;t=t|0;r=r|0;d=d|0;f=f|0;var l=0,p=0,y=0,b=0,m=0,g=0,w=0,v=0,_=0,k=0,A=0,S=0,E=0,P=0,x=0,M=0;if(e&63)return-1;if(~f)if(f&31)return-1;K[e+t|0]=r>>>24;K[e+t+1|0]=r>>>16&255;K[e+t+2|0]=r>>>8&255;K[e+t+3|0]=r&255;O(e,t+4|0,-1)|0;l=_=i,p=k=n,y=A=a,b=S=s,m=E=o,g=P=c,w=x=u,v=M=h;d=d-1|0;while((d|0)>0){z();C(_,k,A,S,E,P,x,M,0x80000000,0,0,0,0,0,0,768);_=i,k=n,A=a,S=s,E=o,P=c,x=u,M=h;q();C(_,k,A,S,E,P,x,M,0x80000000,0,0,0,0,0,0,768);_=i,k=n,A=a,S=s,E=o,P=c,x=u,M=h;l=l^i;p=p^n;y=y^a;b=b^s;m=m^o;g=g^c;w=w^u;v=v^h;d=d-1|0}i=l;n=p;a=y;s=b;o=m;c=g;u=w;h=v;if(~f)U(f);return 0}return{reset:R,init:I,process:B,finish:T,hmac_reset:z,hmac_init:F,hmac_finish:O,pbkdf2_generate_block:N}}({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(Xe.push(this.heap),Qe.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new Je).process(e).finish().result}}Je.NAME="sha256";var et=tt;function tt(e,t){if(!e)throw Error(t||"Assertion failed")}tt.equal=function(e,t,r){if(e!=t)throw Error(r||"Assertion failed: "+e+" != "+t)};var rt=void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function it(e,t){return e(t={exports:{}},t.exports),t.exports}function nt(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var at=it((function(e){e.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}));var st=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var i=0;i<e.length;i++){var n=e.charCodeAt(i),a=n>>8,s=255&n;a?r.push(a,s):r.push(s)}else for(i=0;i<e.length;i++)r[i]=0|e[i];return r};var ot=function(e){for(var t="",r=0;r<e.length;r++)t+=ht(e[r].toString(16));return t};function ct(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}var ut=function(e,t){for(var r="",i=0;i<e.length;i++){var n=e[i];"little"===t&&(n=ct(n)),r+=dt(n.toString(16))}return r};function ht(e){return 1===e.length?"0"+e:e}function dt(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var ft=function(e,t,r,i){var n=r-t;et(n%4==0);for(var a=Array(n/4),s=0,o=t;s<a.length;s++,o+=4){var c;c="big"===i?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o],a[s]=c>>>0}return a};var lt=function(e,t){for(var r=Array(4*e.length),i=0,n=0;i<e.length;i++,n+=4){var a=e[i];"big"===t?(r[n]=a>>>24,r[n+1]=a>>>16&255,r[n+2]=a>>>8&255,r[n+3]=255&a):(r[n+3]=a>>>24,r[n+2]=a>>>16&255,r[n+1]=a>>>8&255,r[n]=255&a)}return r};var pt={inherits:at,toArray:st,toHex:ot,htonl:ct,toHex32:ut,zero2:ht,zero8:dt,join32:ft,split32:lt,rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<<t|e>>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,i){return e+t+r+i>>>0},sum32_5:function(e,t,r,i,n){return e+t+r+i+n>>>0},sum64:function(e,t,r,i){var n=e[t],a=i+e[t+1]>>>0,s=(a<i?1:0)+r+n;e[t]=s>>>0,e[t+1]=a},sum64_hi:function(e,t,r,i){return(t+i>>>0<t?1:0)+e+r>>>0},sum64_lo:function(e,t,r,i){return t+i>>>0},sum64_4_hi:function(e,t,r,i,n,a,s,o){var c=0,u=t;return c+=(u=u+i>>>0)<t?1:0,c+=(u=u+a>>>0)<a?1:0,e+r+n+s+(c+=(u=u+o>>>0)<o?1:0)>>>0},sum64_4_lo:function(e,t,r,i,n,a,s,o){return t+i+a+o>>>0},sum64_5_hi:function(e,t,r,i,n,a,s,o,c,u){var h=0,d=t;return h+=(d=d+i>>>0)<t?1:0,h+=(d=d+a>>>0)<a?1:0,h+=(d=d+o>>>0)<o?1:0,e+r+n+s+c+(h+=(d=d+u>>>0)<u?1:0)>>>0},sum64_5_lo:function(e,t,r,i,n,a,s,o,c,u){return t+i+a+o+u>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function yt(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var bt=yt;yt.prototype.update=function(e,t){if(e=pt.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=pt.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},yt.prototype.digest=function(e){return this.update(this._pad()),et(null===this.pending),this._digest(e)},yt.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,i=Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=e>>>24&255,i[n++]=e>>>16&255,i[n++]=e>>>8&255,i[n++]=255&e}else for(i[n++]=255&e,i[n++]=e>>>8&255,i[n++]=e>>>16&255,i[n++]=e>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,a=8;a<this.padLength;a++)i[n++]=0;return i};var mt={BlockHash:bt},gt=pt.rotr32;var wt=function(e,t,r,i){return 0===e?vt(t,r,i):1===e||3===e?kt(t,r,i):2===e?_t(t,r,i):void 0};function vt(e,t,r){return e&t^~e&r}function _t(e,t,r){return e&t^e&r^t&r}function kt(e,t,r){return e^t^r}var At={ft_1:wt,ch32:vt,maj32:_t,p32:kt,s0_256:function(e){return gt(e,2)^gt(e,13)^gt(e,22)},s1_256:function(e){return gt(e,6)^gt(e,11)^gt(e,25)},g0_256:function(e){return gt(e,7)^gt(e,18)^e>>>3},g1_256:function(e){return gt(e,17)^gt(e,19)^e>>>10}},St=pt.sum32,Et=pt.sum32_4,Pt=pt.sum32_5,xt=At.ch32,Mt=At.maj32,Kt=At.s0_256,Ct=At.s1_256,Dt=At.g0_256,Ut=At.g1_256,Rt=mt.BlockHash,It=[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];function Bt(){if(!(this instanceof Bt))return new Bt;Rt.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=It,this.W=Array(64)}pt.inherits(Bt,Rt);var Tt=Bt;function zt(){if(!(this instanceof zt))return new zt;Tt.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Bt.blockSize=512,Bt.outSize=256,Bt.hmacStrength=192,Bt.padLength=64,Bt.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=Et(Ut(r[i-2]),r[i-7],Dt(r[i-15]),r[i-16]);var n=this.h[0],a=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4],u=this.h[5],h=this.h[6],d=this.h[7];for(et(this.k.length===r.length),i=0;i<r.length;i++){var f=Pt(d,Ct(c),xt(c,u,h),this.k[i],r[i]),l=St(Kt(n),Mt(n,a,s));d=h,h=u,u=c,c=St(o,f),o=s,s=a,a=n,n=St(f,l)}this.h[0]=St(this.h[0],n),this.h[1]=St(this.h[1],a),this.h[2]=St(this.h[2],s),this.h[3]=St(this.h[3],o),this.h[4]=St(this.h[4],c),this.h[5]=St(this.h[5],u),this.h[6]=St(this.h[6],h),this.h[7]=St(this.h[7],d)},Bt.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"big"):pt.split32(this.h,"big")},pt.inherits(zt,Tt);var qt=zt;zt.blockSize=512,zt.outSize=224,zt.hmacStrength=192,zt.padLength=64,zt.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h.slice(0,7),"big"):pt.split32(this.h.slice(0,7),"big")};var Ft=pt.rotr64_hi,Ot=pt.rotr64_lo,Nt=pt.shr64_hi,Lt=pt.shr64_lo,jt=pt.sum64,Wt=pt.sum64_hi,Ht=pt.sum64_lo,Gt=pt.sum64_4_hi,Vt=pt.sum64_4_lo,$t=pt.sum64_5_hi,Zt=pt.sum64_5_lo,Yt=mt.BlockHash,Xt=[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];function Qt(){if(!(this instanceof Qt))return new Qt;Yt.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Xt,this.W=Array(160)}pt.inherits(Qt,Yt);var Jt=Qt;function er(e,t,r,i,n){var a=e&r^~e&n;return a<0&&(a+=4294967296),a}function tr(e,t,r,i,n,a){var s=t&i^~t&a;return s<0&&(s+=4294967296),s}function rr(e,t,r,i,n){var a=e&r^e&n^r&n;return a<0&&(a+=4294967296),a}function ir(e,t,r,i,n,a){var s=t&i^t&a^i&a;return s<0&&(s+=4294967296),s}function nr(e,t){var r=Ft(e,t,28)^Ft(t,e,2)^Ft(t,e,7);return r<0&&(r+=4294967296),r}function ar(e,t){var r=Ot(e,t,28)^Ot(t,e,2)^Ot(t,e,7);return r<0&&(r+=4294967296),r}function sr(e,t){var r=Ft(e,t,14)^Ft(e,t,18)^Ft(t,e,9);return r<0&&(r+=4294967296),r}function or(e,t){var r=Ot(e,t,14)^Ot(e,t,18)^Ot(t,e,9);return r<0&&(r+=4294967296),r}function cr(e,t){var r=Ft(e,t,1)^Ft(e,t,8)^Nt(e,t,7);return r<0&&(r+=4294967296),r}function ur(e,t){var r=Ot(e,t,1)^Ot(e,t,8)^Lt(e,t,7);return r<0&&(r+=4294967296),r}function hr(e,t){var r=Ft(e,t,19)^Ft(t,e,29)^Nt(e,t,6);return r<0&&(r+=4294967296),r}function dr(e,t){var r=Ot(e,t,19)^Ot(t,e,29)^Lt(e,t,6);return r<0&&(r+=4294967296),r}function fr(){if(!(this instanceof fr))return new fr;Jt.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Qt.blockSize=1024,Qt.outSize=512,Qt.hmacStrength=192,Qt.padLength=128,Qt.prototype._prepareBlock=function(e,t){for(var r=this.W,i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=hr(r[i-4],r[i-3]),a=dr(r[i-4],r[i-3]),s=r[i-14],o=r[i-13],c=cr(r[i-30],r[i-29]),u=ur(r[i-30],r[i-29]),h=r[i-32],d=r[i-31];r[i]=Gt(n,a,s,o,c,u,h,d),r[i+1]=Vt(n,a,s,o,c,u,h,d)}},Qt.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,i=this.h[0],n=this.h[1],a=this.h[2],s=this.h[3],o=this.h[4],c=this.h[5],u=this.h[6],h=this.h[7],d=this.h[8],f=this.h[9],l=this.h[10],p=this.h[11],y=this.h[12],b=this.h[13],m=this.h[14],g=this.h[15];et(this.k.length===r.length);for(var w=0;w<r.length;w+=2){var v=m,_=g,k=sr(d,f),A=or(d,f),S=er(d,f,l,p,y),E=tr(d,f,l,p,y,b),P=this.k[w],x=this.k[w+1],M=r[w],K=r[w+1],C=$t(v,_,k,A,S,E,P,x,M,K),D=Zt(v,_,k,A,S,E,P,x,M,K);v=nr(i,n),_=ar(i,n),k=rr(i,n,a,s,o),A=ir(i,n,a,s,o,c);var U=Wt(v,_,k,A),R=Ht(v,_,k,A);m=y,g=b,y=l,b=p,l=d,p=f,d=Wt(u,h,C,D),f=Ht(h,h,C,D),u=o,h=c,o=a,c=s,a=i,s=n,i=Wt(C,D,U,R),n=Ht(C,D,U,R)}jt(this.h,0,i,n),jt(this.h,2,a,s),jt(this.h,4,o,c),jt(this.h,6,u,h),jt(this.h,8,d,f),jt(this.h,10,l,p),jt(this.h,12,y,b),jt(this.h,14,m,g)},Qt.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"big"):pt.split32(this.h,"big")},pt.inherits(fr,Jt);var lr=fr;fr.blockSize=1024,fr.outSize=384,fr.hmacStrength=192,fr.padLength=128,fr.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h.slice(0,12),"big"):pt.split32(this.h.slice(0,12),"big")};var pr=pt.rotl32,yr=pt.sum32,br=pt.sum32_3,mr=pt.sum32_4,gr=mt.BlockHash;function wr(){if(!(this instanceof wr))return new wr;gr.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}pt.inherits(wr,gr);var vr=wr;function _r(e,t,r,i){return e<=15?t^r^i:e<=31?t&r|~t&i:e<=47?(t|~r)^i:e<=63?t&i|r&~i:t^(r|~i)}function kr(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function Ar(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}wr.blockSize=512,wr.outSize=160,wr.hmacStrength=192,wr.padLength=64,wr.prototype._update=function(e,t){for(var r=this.h[0],i=this.h[1],n=this.h[2],a=this.h[3],s=this.h[4],o=r,c=i,u=n,h=a,d=s,f=0;f<80;f++){var l=yr(pr(mr(r,_r(f,i,n,a),e[Sr[f]+t],kr(f)),Pr[f]),s);r=s,s=a,a=pr(n,10),n=i,i=l,l=yr(pr(mr(o,_r(79-f,c,u,h),e[Er[f]+t],Ar(f)),xr[f]),d),o=d,d=h,h=pr(u,10),u=c,c=l}l=br(this.h[1],n,h),this.h[1]=br(this.h[2],a,d),this.h[2]=br(this.h[3],s,o),this.h[3]=br(this.h[4],r,c),this.h[4]=br(this.h[0],i,u),this.h[0]=l},wr.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"little"):pt.split32(this.h,"little")};var Sr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Er=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Pr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],xr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Mr={ripemd160:vr};function Kr(e,t){let r=e[0],i=e[1],n=e[2],a=e[3];r=Dr(r,i,n,a,t[0],7,-680876936),a=Dr(a,r,i,n,t[1],12,-389564586),n=Dr(n,a,r,i,t[2],17,606105819),i=Dr(i,n,a,r,t[3],22,-1044525330),r=Dr(r,i,n,a,t[4],7,-176418897),a=Dr(a,r,i,n,t[5],12,1200080426),n=Dr(n,a,r,i,t[6],17,-1473231341),i=Dr(i,n,a,r,t[7],22,-45705983),r=Dr(r,i,n,a,t[8],7,1770035416),a=Dr(a,r,i,n,t[9],12,-1958414417),n=Dr(n,a,r,i,t[10],17,-42063),i=Dr(i,n,a,r,t[11],22,-1990404162),r=Dr(r,i,n,a,t[12],7,1804603682),a=Dr(a,r,i,n,t[13],12,-40341101),n=Dr(n,a,r,i,t[14],17,-1502002290),i=Dr(i,n,a,r,t[15],22,1236535329),r=Ur(r,i,n,a,t[1],5,-165796510),a=Ur(a,r,i,n,t[6],9,-1069501632),n=Ur(n,a,r,i,t[11],14,643717713),i=Ur(i,n,a,r,t[0],20,-373897302),r=Ur(r,i,n,a,t[5],5,-701558691),a=Ur(a,r,i,n,t[10],9,38016083),n=Ur(n,a,r,i,t[15],14,-660478335),i=Ur(i,n,a,r,t[4],20,-405537848),r=Ur(r,i,n,a,t[9],5,568446438),a=Ur(a,r,i,n,t[14],9,-1019803690),n=Ur(n,a,r,i,t[3],14,-187363961),i=Ur(i,n,a,r,t[8],20,1163531501),r=Ur(r,i,n,a,t[13],5,-1444681467),a=Ur(a,r,i,n,t[2],9,-51403784),n=Ur(n,a,r,i,t[7],14,1735328473),i=Ur(i,n,a,r,t[12],20,-1926607734),r=Rr(r,i,n,a,t[5],4,-378558),a=Rr(a,r,i,n,t[8],11,-2022574463),n=Rr(n,a,r,i,t[11],16,1839030562),i=Rr(i,n,a,r,t[14],23,-35309556),r=Rr(r,i,n,a,t[1],4,-1530992060),a=Rr(a,r,i,n,t[4],11,1272893353),n=Rr(n,a,r,i,t[7],16,-155497632),i=Rr(i,n,a,r,t[10],23,-1094730640),r=Rr(r,i,n,a,t[13],4,681279174),a=Rr(a,r,i,n,t[0],11,-358537222),n=Rr(n,a,r,i,t[3],16,-722521979),i=Rr(i,n,a,r,t[6],23,76029189),r=Rr(r,i,n,a,t[9],4,-640364487),a=Rr(a,r,i,n,t[12],11,-421815835),n=Rr(n,a,r,i,t[15],16,530742520),i=Rr(i,n,a,r,t[2],23,-995338651),r=Ir(r,i,n,a,t[0],6,-198630844),a=Ir(a,r,i,n,t[7],10,1126891415),n=Ir(n,a,r,i,t[14],15,-1416354905),i=Ir(i,n,a,r,t[5],21,-57434055),r=Ir(r,i,n,a,t[12],6,1700485571),a=Ir(a,r,i,n,t[3],10,-1894986606),n=Ir(n,a,r,i,t[10],15,-1051523),i=Ir(i,n,a,r,t[1],21,-2054922799),r=Ir(r,i,n,a,t[8],6,1873313359),a=Ir(a,r,i,n,t[15],10,-30611744),n=Ir(n,a,r,i,t[6],15,-1560198380),i=Ir(i,n,a,r,t[13],21,1309151649),r=Ir(r,i,n,a,t[4],6,-145523070),a=Ir(a,r,i,n,t[11],10,-1120210379),n=Ir(n,a,r,i,t[2],15,718787259),i=Ir(i,n,a,r,t[9],21,-343485551),e[0]=qr(r,e[0]),e[1]=qr(i,e[1]),e[2]=qr(n,e[2]),e[3]=qr(a,e[3])}function Cr(e,t,r,i,n,a){return t=qr(qr(t,e),qr(i,a)),qr(t<<n|t>>>32-n,r)}function Dr(e,t,r,i,n,a,s){return Cr(t&r|~t&i,e,t,n,a,s)}function Ur(e,t,r,i,n,a,s){return Cr(t&i|r&~i,e,t,n,a,s)}function Rr(e,t,r,i,n,a,s){return Cr(t^r^i,e,t,n,a,s)}function Ir(e,t,r,i,n,a,s){return Cr(r^(t|~i),e,t,n,a,s)}function Br(e){const t=[];let r;for(r=0;r<64;r+=4)t[r>>2]=e.charCodeAt(r)+(e.charCodeAt(r+1)<<8)+(e.charCodeAt(r+2)<<16)+(e.charCodeAt(r+3)<<24);return t}const Tr="0123456789abcdef".split("");function zr(e){let t="",r=0;for(;r<4;r++)t+=Tr[e>>8*r+4&15]+Tr[e>>8*r&15];return t}function qr(e,t){return e+t&4294967295}const Fr=$.getWebCrypto(),Or=$.getNodeCrypto(),Nr=Or&&Or.getHashes();function Lr(e){if(Or&&Nr.includes(e))return async function(t){const r=Or.createHash(e);return B(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function jr(e,t){return async function(r,i=ne){if(s(r)&&(r=await L(r)),!$.isStream(r)&&Fr&&t&&r.length>=i.minBytesForWebCrypto)return new Uint8Array(await Fr.digest(t,r));const n=e();return B(r,(e=>{n.update(e)}),(()=>new Uint8Array(n.digest())))}}function Wr(e,t){return async function(r,i=ne){if(s(r)&&(r=await L(r)),$.isStream(r)){const t=new e;return B(r,(e=>{t.process(e)}),(()=>t.finish().result))}return Fr&&t&&r.length>=i.minBytesForWebCrypto?new Uint8Array(await Fr.digest(t,r)):e.bytes(r)}}const Hr={md5:Lr("md5")||async function(e){const t=function(e){const t=e.length,r=[1732584193,-271733879,-1732584194,271733878];let i;for(i=64;i<=e.length;i+=64)Kr(r,Br(e.substring(i-64,i)));e=e.substring(i-64);const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<e.length;i++)n[i>>2]|=e.charCodeAt(i)<<(i%4<<3);if(n[i>>2]|=128<<(i%4<<3),i>55)for(Kr(r,n),i=0;i<16;i++)n[i]=0;return n[14]=8*t,Kr(r,n),r}($.uint8ArrayToString(e));return $.hexToUint8Array(function(e){for(let t=0;t<e.length;t++)e[t]=zr(e[t]);return e.join("")}(t))},sha1:Lr("sha1")||Wr(Ye,"SHA-1"),sha224:Lr("sha224")||jr(qt),sha256:Lr("sha256")||Wr(Je,"SHA-256"),sha384:Lr("sha384")||jr(lr,"SHA-384"),sha512:Lr("sha512")||jr(Jt,"SHA-512"),ripemd:Lr("ripemd160")||jr(vr)};var Gr={md5:Hr.md5,sha1:Hr.sha1,sha224:Hr.sha224,sha256:Hr.sha256,sha384:Hr.sha384,sha512:Hr.sha512,ripemd:Hr.ripemd,digest:function(e,t){switch(e){case ie.hash.md5:return this.md5(t);case ie.hash.sha1:return this.sha1(t);case ie.hash.ripemd:return this.ripemd(t);case ie.hash.sha256:return this.sha256(t);case ie.hash.sha384:return this.sha384(t);case ie.hash.sha512:return this.sha512(t);case ie.hash.sha224:return this.sha224(t);default:throw Error("Invalid hash function.")}},getHashByteLength:function(e){switch(e){case ie.hash.md5:return 16;case ie.hash.sha1:case ie.hash.ripemd:return 20;case ie.hash.sha256:return 32;case ie.hash.sha384:return 48;case ie.hash.sha512:return 64;case ie.hash.sha224:return 28;default:throw Error("Invalid hash algorithm.")}},getBlockSize:function(e){switch(e){case ie.hash.md5:case ie.hash.sha1:case ie.hash.ripemd:case ie.hash.sha224:case ie.hash.sha256:return 64;case ie.hash.sha384:case ie.hash.sha512:return 128;default:throw Error("Invalid hash algorithm.")}}};class Vr{static encrypt(e,t,r){return new Vr(t,r).encrypt(e)}static decrypt(e,t,r){return new Vr(t,r).decrypt(e)}constructor(e,t,r){this.aes=r||new Ee(e,t,!0,"CFB"),delete this.aes.padding}encrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return we(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function $r(e){const t=ie.read(ie.symmetric,e);return He[t]}const Zr=$.getWebCrypto(),Yr=$.getNodeCrypto(),Xr=Yr?Yr.getCiphers():[],Qr={idea:Xr.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Xr.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Xr.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Xr.includes("bf-cfb")?"bf-cfb":void 0,aes128:Xr.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Xr.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Xr.includes("aes-256-cfb")?"aes-256-cfb":void 0};var Jr=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,i,n){const a=ie.read(ie.symmetric,e);if($.getNodeCrypto()&&Qr[a])return function(e,t,r,i){const n=ie.read(ie.symmetric,e),a=new Yr.createCipheriv(Qr[n],t,i);return B(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,i);if("aes"===a.substr(0,3))return function(e,t,r,i,n){if($.getWebCrypto()&&24!==t.length&&!$.isStream(r)&&r.length>=3e3*n.minBytesForWebCrypto)return async function(e,t,r,i){const n="AES-CBC",a=await Zr.importKey("raw",t,{name:n},!1,["encrypt"]),{blockSize:s}=$r(e),o=$.concatUint8Array([new Uint8Array(s),r]),c=new Uint8Array(await Zr.encrypt({name:n,iv:i},a,o)).subarray(0,r.length);return function(e,t){for(let r=0;r<e.length;r++)e[r]=e[r]^t[r]}(c,r),c}(e,t,r,i);const a=new Vr(t,i);return B(r,(e=>a.aes.AES_Encrypt_process(e)),(()=>a.aes.AES_Encrypt_finish()))}(e,t,r,i,n);const s=new($r(e))(t),o=s.blockSize,c=i.slice();let u=new Uint8Array;const h=e=>{e&&(u=$.concatUint8Array([u,e]));const t=new Uint8Array(u.length);let r,i=0;for(;e?u.length>=o:u.length;){const e=s.encrypt(c);for(r=0;r<o;r++)c[r]=u[r]^e[r],t[i++]=c[r];u=u.subarray(o)}return t.subarray(0,i)};return B(r,h,h)},decrypt:async function(e,t,r,i){const n=ie.read(ie.symmetric,e);if($.getNodeCrypto()&&Qr[n])return function(e,t,r,i){const n=ie.read(ie.symmetric,e),a=new Yr.createDecipheriv(Qr[n],t,i);return B(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,i);if("aes"===n.substr(0,3))return function(e,t,r,i){if($.isStream(r)){const e=new Vr(t,i);return B(r,(t=>e.aes.AES_Decrypt_process(t)),(()=>e.aes.AES_Decrypt_finish()))}return Vr.decrypt(r,t,i)}(0,t,r,i);const a=new($r(e))(t),s=a.blockSize;let o=i,c=new Uint8Array;const u=e=>{e&&(c=$.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,i=0;for(;e?c.length>=s:c.length;){const e=a.encrypt(o);for(o=c,r=0;r<s;r++)t[i++]=o[r]^e[r];c=c.subarray(s)}return t.subarray(0,i)};return B(r,u,u)}});class ei{static encrypt(e,t,r){return new ei(t,r).encrypt(e)}static decrypt(e,t,r){return new ei(t,r).encrypt(e)}constructor(e,t,r){this.aes=r||new Ee(e,void 0,!1,"CTR"),delete this.aes.padding,this.AES_CTR_set_options(t)}encrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}AES_CTR_set_options(e,t,r){let{asm:i}=this.aes.acquire_asm();if(void 0!==r){if(r<8||r>48)throw new _e("illegal counter size");let e=Math.pow(2,r)-1;i.set_mask(0,0,e/4294967296|0,0|e)}else r=48,i.set_mask(0,0,65535,4294967295);if(void 0===e)throw Error("nonce is required");{let t=e.length;if(!t||t>16)throw new _e("illegal nonce size");let r=new DataView(new ArrayBuffer(16));new Uint8Array(r.buffer).set(e),i.set_nonce(r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12))}if(void 0!==t){if(t<0||t>=Math.pow(2,r))throw new _e("illegal counter value");i.set_counter(0,0,t/4294967296|0,0|t)}}}class ti{static encrypt(e,t,r=!0,i){return new ti(t,i,r).encrypt(e)}static decrypt(e,t,r=!0,i){return new ti(t,i,r).decrypt(e)}constructor(e,t,r=!0,i){this.aes=i||new Ee(e,t,r,"CBC")}encrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return we(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}const ri=$.getWebCrypto(),ii=$.getNodeCrypto(),ni=16;function ai(e,t){const r=e.length-ni;for(let i=0;i<ni;i++)e[i+r]^=t[i];return e}const si=new Uint8Array(ni);async function oi(e){const t=await async function(e){if($.getWebCrypto()&&24!==e.length)return e=await ri.importKey("raw",e,{name:"AES-CBC",length:8*e.length},!1,["encrypt"]),async function(t){const r=await ri.encrypt({name:"AES-CBC",iv:si,length:8*ni},e,t);return new Uint8Array(r).subarray(0,r.byteLength-ni)};if($.getNodeCrypto())return async function(t){const r=new ii.createCipheriv("aes-"+8*e.length+"-cbc",e,si).update(t);return new Uint8Array(r)};return async function(t){return ti.encrypt(t,e,!1,si)}}(e),r=$.double(await t(si)),i=$.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%ni==0)return ai(e,t);const i=new Uint8Array(e.length+(ni-e.length%ni));return i.set(e),i[e.length]=128,ai(i,r)}(e,r,i))).subarray(-ni)}}const ci=$.getWebCrypto(),ui=$.getNodeCrypto(),hi=$.getNodeBuffer(),di=16,fi=di,li=di,pi=new Uint8Array(di),yi=new Uint8Array(di);yi[di-1]=1;const bi=new Uint8Array(di);async function mi(e){const t=await oi(e);return function(e,r){return t($.concatUint8Array([e,r]))}}async function gi(e){return $.getWebCrypto()&&24!==e.length?(e=await ci.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]),async function(t,r){const i=await ci.encrypt({name:"AES-CTR",counter:r,length:8*di},e,t);return new Uint8Array(i)}):$.getNodeCrypto()?async function(t,r){const i=new ui.createCipheriv("aes-"+8*e.length+"-ctr",e,r),n=hi.concat([i.update(t),i.final()]);return new Uint8Array(n)}:async function(t,r){return ei.encrypt(t,e,r)}}async function wi(e,t){if(e!==ie.symmetric.aes128&&e!==ie.symmetric.aes192&&e!==ie.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[r,i]=await Promise.all([mi(t),gi(t)]);return{encrypt:async function(e,t,n){const[a,s]=await Promise.all([r(pi,t),r(yi,n)]),o=await i(e,a),c=await r(bi,o);for(let e=0;e<li;e++)c[e]^=s[e]^a[e];return $.concatUint8Array([o,c])},decrypt:async function(e,t,n){if(e.length<li)throw Error("Invalid EAX ciphertext");const a=e.subarray(0,-li),s=e.subarray(-li),[o,c,u]=await Promise.all([r(pi,t),r(yi,n),r(bi,a)]),h=u;for(let e=0;e<li;e++)h[e]^=c[e]^o[e];if(!$.equalsUint8Array(s,h))throw Error("Authentication tag mismatch");return await i(a,o)}}}bi[di-1]=2,wi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},wi.blockLength=di,wi.ivLength=fi,wi.tagLength=li;const vi=16,_i=15,ki=16;function Ai(e){let t=0;for(let r=1;0==(e&r);r<<=1)t++;return t}function Si(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function Ei(e,t){return Si(e.slice(),t)}const Pi=new Uint8Array(vi),xi=new Uint8Array([1]);async function Mi(e,t){let r,i,n,a=0;function s(e,t,i,s){const o=t.length/vi|0;!function(e,t){const r=$.nbits(Math.max(e.length,t.length)/vi|0)-1;for(let e=a+1;e<=r;e++)n[e]=$.double(n[e-1]);a=r}(t,s);const c=$.concatUint8Array([Pi.subarray(0,_i-i.length),xi,i]),u=63&c[vi-1];c[vi-1]&=192;const h=r(c),d=$.concatUint8Array([h,Ei(h.subarray(0,8),h.subarray(1,9))]),f=$.shiftRight(d.subarray(0+(u>>3),17+(u>>3)),8-(7&u)).subarray(1),l=new Uint8Array(vi),p=new Uint8Array(t.length+ki);let y,b=0;for(y=0;y<o;y++)Si(f,n[Ai(y+1)]),p.set(Si(e(Ei(f,t)),f),b),Si(l,e===r?t:p.subarray(b)),t=t.subarray(vi),b+=vi;if(t.length){Si(f,n.x);const i=r(f);p.set(Ei(t,i),b);const a=new Uint8Array(vi);a.set(e===r?t:p.subarray(b,-ki),0),a[t.length]=128,Si(l,a),b+=t.length}const m=Si(r(Si(Si(l,f),n.$)),function(e){if(!e.length)return Pi;const t=e.length/vi|0,i=new Uint8Array(vi),a=new Uint8Array(vi);for(let s=0;s<t;s++)Si(i,n[Ai(s+1)]),Si(a,r(Ei(i,e))),e=e.subarray(vi);if(e.length){Si(i,n.x);const t=new Uint8Array(vi);t.set(e,0),t[e.length]=128,Si(t,i),Si(a,r(t))}return a}(s));return p.set(m,b),p}return function(e,t){const a=ie.read(ie.symmetric,e),s=new He[a](t);r=s.encrypt.bind(s),i=s.decrypt.bind(s);const o=r(Pi),c=$.double(o);n=[],n[0]=$.double(c),n.x=o,n.$=c}(e,t),{encrypt:async function(e,t,i){return s(r,e,t,i)},decrypt:async function(e,t,r){if(e.length<ki)throw Error("Invalid OCB ciphertext");const n=e.subarray(-ki);e=e.subarray(0,-ki);const a=s(i,e,t,r);if($.equalsUint8Array(n,a.subarray(-ki)))return a.subarray(0,-ki);throw Error("Authentication tag mismatch")}}}Mi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},Mi.blockLength=vi,Mi.ivLength=_i,Mi.tagLength=ki;const Ki=68719476704;class Ci{constructor(e,t,r,i=16,n){this.tagSize=i,this.gamma0=0,this.counter=1,this.aes=n||new Ee(e,void 0,!1,"CTR");let{asm:a,heap:s}=this.aes.acquire_asm();if(a.gcm_init(),this.tagSize<4||this.tagSize>16)throw new _e("illegal tagSize value");const o=t.length||0,c=new Uint8Array(16);12!==o?(this._gcm_mac_process(t),s[0]=0,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=0,s[11]=o>>>29,s[12]=o>>>21&255,s[13]=o>>>13&255,s[14]=o>>>5&255,s[15]=o<<3&255,a.mac(ye.MAC.GCM,ye.HEAP_DATA,16),a.get_iv(ye.HEAP_DATA),a.set_iv(0,0,0,0),c.set(s.subarray(0,16))):(c.set(t),c[15]=1);const u=new DataView(c.buffer);if(this.gamma0=u.getUint32(12),a.set_nonce(u.getUint32(0),u.getUint32(4),u.getUint32(8),0),a.set_mask(0,0,0,4294967295),void 0!==r){if(r.length>Ki)throw new _e("illegal adata length");r.length?(this.adata=r,this._gcm_mac_process(r)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");a.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(e,t,r,i,n){return new Ci(t,r,i,n).encrypt(e)}static decrypt(e,t,r,i,n){return new Ci(t,r,i,n).decrypt(e)}encrypt(e){return this.AES_GCM_encrypt(e)}decrypt(e){return this.AES_GCM_decrypt(e)}AES_GCM_Encrypt_process(e){let t=0,r=e.length||0,{asm:i,heap:n}=this.aes.acquire_asm(),a=this.counter,s=this.aes.pos,o=this.aes.len,c=0,u=o+r&-16,h=0;if((a-1<<4)+o+r>Ki)throw new RangeError("counter overflow");const d=new Uint8Array(u);for(;r>0;)h=ge(n,s+o,e,t,r),o+=h,t+=h,r-=h,h=i.cipher(ye.ENC.CTR,ye.HEAP_DATA+s,o),h=i.mac(ye.MAC.GCM,ye.HEAP_DATA+s,h),h&&d.set(n.subarray(s,s+h),c),a+=h>>>4,c+=h,h<o?(s+=h,o-=h):(s=0,o=0);return this.counter=a,this.aes.pos=s,this.aes.len=o,d}AES_GCM_Encrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.counter,i=this.tagSize,n=this.adata,a=this.aes.pos,s=this.aes.len;const o=new Uint8Array(s+i);e.cipher(ye.ENC.CTR,ye.HEAP_DATA+a,s+15&-16),s&&o.set(t.subarray(a,a+s));let c=s;for(;15&c;c++)t[a+c]=0;e.mac(ye.MAC.GCM,ye.HEAP_DATA+a,c);const u=void 0!==n?n.length:0,h=(r-1<<4)+s;return t[0]=0,t[1]=0,t[2]=0,t[3]=u>>>29,t[4]=u>>>21,t[5]=u>>>13&255,t[6]=u>>>5&255,t[7]=u<<3&255,t[8]=t[9]=t[10]=0,t[11]=h>>>29,t[12]=h>>>21&255,t[13]=h>>>13&255,t[14]=h>>>5&255,t[15]=h<<3&255,e.mac(ye.MAC.GCM,ye.HEAP_DATA,16),e.get_iv(ye.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(ye.ENC.CTR,ye.HEAP_DATA,16),o.set(t.subarray(0,i),s),this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_GCM_Decrypt_process(e){let t=0,r=e.length||0,{asm:i,heap:n}=this.aes.acquire_asm(),a=this.counter,s=this.tagSize,o=this.aes.pos,c=this.aes.len,u=0,h=c+r>s?c+r-s&-16:0,d=c+r-h,f=0;if((a-1<<4)+c+r>Ki)throw new RangeError("counter overflow");const l=new Uint8Array(h);for(;r>d;)f=ge(n,o+c,e,t,r-d),c+=f,t+=f,r-=f,f=i.mac(ye.MAC.GCM,ye.HEAP_DATA+o,f),f=i.cipher(ye.DEC.CTR,ye.HEAP_DATA+o,f),f&&l.set(n.subarray(o,o+f),u),a+=f>>>4,u+=f,o=0,c=0;return r>0&&(c+=ge(n,0,e,t,r)),this.counter=a,this.aes.pos=o,this.aes.len=c,l}AES_GCM_Decrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.tagSize,i=this.adata,n=this.counter,a=this.aes.pos,s=this.aes.len,o=s-r;if(s<r)throw new ve("authentication tag not found");const c=new Uint8Array(o),u=new Uint8Array(t.subarray(a+o,a+s));let h=o;for(;15&h;h++)t[a+h]=0;e.mac(ye.MAC.GCM,ye.HEAP_DATA+a,h),e.cipher(ye.DEC.CTR,ye.HEAP_DATA+a,h),o&&c.set(t.subarray(a,a+o));const d=void 0!==i?i.length:0,f=(n-1<<4)+s-r;t[0]=0,t[1]=0,t[2]=0,t[3]=d>>>29,t[4]=d>>>21,t[5]=d>>>13&255,t[6]=d>>>5&255,t[7]=d<<3&255,t[8]=t[9]=t[10]=0,t[11]=f>>>29,t[12]=f>>>21&255,t[13]=f>>>13&255,t[14]=f>>>5&255,t[15]=f<<3&255,e.mac(ye.MAC.GCM,ye.HEAP_DATA,16),e.get_iv(ye.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(ye.ENC.CTR,ye.HEAP_DATA,16);let l=0;for(let e=0;e<r;++e)l|=u[e]^t[e];if(l)throw new ke("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,c}AES_GCM_decrypt(e){const t=this.AES_GCM_Decrypt_process(e),r=this.AES_GCM_Decrypt_finish(),i=new Uint8Array(t.length+r.length);return t.length&&i.set(t),r.length&&i.set(r,t.length),i}AES_GCM_encrypt(e){const t=this.AES_GCM_Encrypt_process(e),r=this.AES_GCM_Encrypt_finish(),i=new Uint8Array(t.length+r.length);return t.length&&i.set(t),r.length&&i.set(r,t.length),i}_gcm_mac_process(e){let{asm:t,heap:r}=this.aes.acquire_asm(),i=0,n=e.length||0,a=0;for(;n>0;){for(a=ge(r,0,e,i,n),i+=a,n-=a;15&a;)r[a++]=0;t.mac(ye.MAC.GCM,ye.HEAP_DATA,a)}}}const Di=$.getWebCrypto(),Ui=$.getNodeCrypto(),Ri=$.getNodeBuffer(),Ii=16,Bi="AES-GCM";async function Ti(e,t){if(e!==ie.symmetric.aes128&&e!==ie.symmetric.aes192&&e!==ie.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if($.getWebCrypto()&&24!==t.length){const e=await Di.importKey("raw",t,{name:Bi},!1,["encrypt","decrypt"]);return{encrypt:async function(r,i,n=new Uint8Array){if(!r.length)return Ci.encrypt(r,t,i,n);const a=await Di.encrypt({name:Bi,iv:i,additionalData:n,tagLength:8*Ii},e,r);return new Uint8Array(a)},decrypt:async function(r,i,n=new Uint8Array){if(r.length===Ii)return Ci.decrypt(r,t,i,n);const a=await Di.decrypt({name:Bi,iv:i,additionalData:n,tagLength:8*Ii},e,r);return new Uint8Array(a)}}}return $.getNodeCrypto()?{encrypt:async function(e,r,i=new Uint8Array){const n=new Ui.createCipheriv("aes-"+8*t.length+"-gcm",t,r);n.setAAD(i);const a=Ri.concat([n.update(e),n.final(),n.getAuthTag()]);return new Uint8Array(a)},decrypt:async function(e,r,i=new Uint8Array){const n=new Ui.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);n.setAAD(i),n.setAuthTag(e.slice(e.length-Ii,e.length));const a=Ri.concat([n.update(e.slice(0,e.length-Ii)),n.final()]);return new Uint8Array(a)}}:{encrypt:async function(e,r,i){return Ci.encrypt(e,t,r,i)},decrypt:async function(e,r,i){return Ci.decrypt(e,t,r,i)}}}Ti.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},Ti.blockLength=16,Ti.ivLength=12,Ti.tagLength=Ii;var zi={cfb:Jr,gcm:Ti,experimentalGCM:Ti,eax:wi,ocb:Mi},qi=it((function(e){!function(e){var t=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},r=function(){throw Error("no PRNG")},i=new Uint8Array(32);i[0]=9;var n=t(),a=t([1]),s=t([56129,1]),o=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),c=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),u=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),h=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),d=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function f(e,t,r,i){return function(e,t,r,i,n){var a,s=0;for(a=0;a<n;a++)s|=e[t+a]^r[i+a];return(1&s-1>>>8)-1}(e,t,r,i,32)}function l(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function p(e){var t,r,i=1;for(t=0;t<16;t++)r=e[t]+i+65535,i=Math.floor(r/65536),e[t]=r-65536*i;e[0]+=i-1+37*(i-1)}function y(e,t,r){for(var i,n=~(r-1),a=0;a<16;a++)i=n&(e[a]^t[a]),e[a]^=i,t[a]^=i}function b(e,r){var i,n,a,s=t(),o=t();for(i=0;i<16;i++)o[i]=r[i];for(p(o),p(o),p(o),n=0;n<2;n++){for(s[0]=o[0]-65517,i=1;i<15;i++)s[i]=o[i]-65535-(s[i-1]>>16&1),s[i-1]&=65535;s[15]=o[15]-32767-(s[14]>>16&1),a=s[15]>>16&1,s[14]&=65535,y(o,s,1-a)}for(i=0;i<16;i++)e[2*i]=255&o[i],e[2*i+1]=o[i]>>8}function m(e,t){var r=new Uint8Array(32),i=new Uint8Array(32);return b(r,e),b(i,t),f(r,0,i,0)}function g(e){var t=new Uint8Array(32);return b(t,e),1&t[0]}function w(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function v(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]+r[i]}function _(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]-r[i]}function k(e,t,r){var i,n,a=0,s=0,o=0,c=0,u=0,h=0,d=0,f=0,l=0,p=0,y=0,b=0,m=0,g=0,w=0,v=0,_=0,k=0,A=0,S=0,E=0,P=0,x=0,M=0,K=0,C=0,D=0,U=0,R=0,I=0,B=0,T=r[0],z=r[1],q=r[2],F=r[3],O=r[4],N=r[5],L=r[6],j=r[7],W=r[8],H=r[9],G=r[10],V=r[11],$=r[12],Z=r[13],Y=r[14],X=r[15];a+=(i=t[0])*T,s+=i*z,o+=i*q,c+=i*F,u+=i*O,h+=i*N,d+=i*L,f+=i*j,l+=i*W,p+=i*H,y+=i*G,b+=i*V,m+=i*$,g+=i*Z,w+=i*Y,v+=i*X,s+=(i=t[1])*T,o+=i*z,c+=i*q,u+=i*F,h+=i*O,d+=i*N,f+=i*L,l+=i*j,p+=i*W,y+=i*H,b+=i*G,m+=i*V,g+=i*$,w+=i*Z,v+=i*Y,_+=i*X,o+=(i=t[2])*T,c+=i*z,u+=i*q,h+=i*F,d+=i*O,f+=i*N,l+=i*L,p+=i*j,y+=i*W,b+=i*H,m+=i*G,g+=i*V,w+=i*$,v+=i*Z,_+=i*Y,k+=i*X,c+=(i=t[3])*T,u+=i*z,h+=i*q,d+=i*F,f+=i*O,l+=i*N,p+=i*L,y+=i*j,b+=i*W,m+=i*H,g+=i*G,w+=i*V,v+=i*$,_+=i*Z,k+=i*Y,A+=i*X,u+=(i=t[4])*T,h+=i*z,d+=i*q,f+=i*F,l+=i*O,p+=i*N,y+=i*L,b+=i*j,m+=i*W,g+=i*H,w+=i*G,v+=i*V,_+=i*$,k+=i*Z,A+=i*Y,S+=i*X,h+=(i=t[5])*T,d+=i*z,f+=i*q,l+=i*F,p+=i*O,y+=i*N,b+=i*L,m+=i*j,g+=i*W,w+=i*H,v+=i*G,_+=i*V,k+=i*$,A+=i*Z,S+=i*Y,E+=i*X,d+=(i=t[6])*T,f+=i*z,l+=i*q,p+=i*F,y+=i*O,b+=i*N,m+=i*L,g+=i*j,w+=i*W,v+=i*H,_+=i*G,k+=i*V,A+=i*$,S+=i*Z,E+=i*Y,P+=i*X,f+=(i=t[7])*T,l+=i*z,p+=i*q,y+=i*F,b+=i*O,m+=i*N,g+=i*L,w+=i*j,v+=i*W,_+=i*H,k+=i*G,A+=i*V,S+=i*$,E+=i*Z,P+=i*Y,x+=i*X,l+=(i=t[8])*T,p+=i*z,y+=i*q,b+=i*F,m+=i*O,g+=i*N,w+=i*L,v+=i*j,_+=i*W,k+=i*H,A+=i*G,S+=i*V,E+=i*$,P+=i*Z,x+=i*Y,M+=i*X,p+=(i=t[9])*T,y+=i*z,b+=i*q,m+=i*F,g+=i*O,w+=i*N,v+=i*L,_+=i*j,k+=i*W,A+=i*H,S+=i*G,E+=i*V,P+=i*$,x+=i*Z,M+=i*Y,K+=i*X,y+=(i=t[10])*T,b+=i*z,m+=i*q,g+=i*F,w+=i*O,v+=i*N,_+=i*L,k+=i*j,A+=i*W,S+=i*H,E+=i*G,P+=i*V,x+=i*$,M+=i*Z,K+=i*Y,C+=i*X,b+=(i=t[11])*T,m+=i*z,g+=i*q,w+=i*F,v+=i*O,_+=i*N,k+=i*L,A+=i*j,S+=i*W,E+=i*H,P+=i*G,x+=i*V,M+=i*$,K+=i*Z,C+=i*Y,D+=i*X,m+=(i=t[12])*T,g+=i*z,w+=i*q,v+=i*F,_+=i*O,k+=i*N,A+=i*L,S+=i*j,E+=i*W,P+=i*H,x+=i*G,M+=i*V,K+=i*$,C+=i*Z,D+=i*Y,U+=i*X,g+=(i=t[13])*T,w+=i*z,v+=i*q,_+=i*F,k+=i*O,A+=i*N,S+=i*L,E+=i*j,P+=i*W,x+=i*H,M+=i*G,K+=i*V,C+=i*$,D+=i*Z,U+=i*Y,R+=i*X,w+=(i=t[14])*T,v+=i*z,_+=i*q,k+=i*F,A+=i*O,S+=i*N,E+=i*L,P+=i*j,x+=i*W,M+=i*H,K+=i*G,C+=i*V,D+=i*$,U+=i*Z,R+=i*Y,I+=i*X,v+=(i=t[15])*T,s+=38*(k+=i*q),o+=38*(A+=i*F),c+=38*(S+=i*O),u+=38*(E+=i*N),h+=38*(P+=i*L),d+=38*(x+=i*j),f+=38*(M+=i*W),l+=38*(K+=i*H),p+=38*(C+=i*G),y+=38*(D+=i*V),b+=38*(U+=i*$),m+=38*(R+=i*Z),g+=38*(I+=i*Y),w+=38*(B+=i*X),a=(i=(a+=38*(_+=i*z))+(n=1)+65535)-65536*(n=Math.floor(i/65536)),s=(i=s+n+65535)-65536*(n=Math.floor(i/65536)),o=(i=o+n+65535)-65536*(n=Math.floor(i/65536)),c=(i=c+n+65535)-65536*(n=Math.floor(i/65536)),u=(i=u+n+65535)-65536*(n=Math.floor(i/65536)),h=(i=h+n+65535)-65536*(n=Math.floor(i/65536)),d=(i=d+n+65535)-65536*(n=Math.floor(i/65536)),f=(i=f+n+65535)-65536*(n=Math.floor(i/65536)),l=(i=l+n+65535)-65536*(n=Math.floor(i/65536)),p=(i=p+n+65535)-65536*(n=Math.floor(i/65536)),y=(i=y+n+65535)-65536*(n=Math.floor(i/65536)),b=(i=b+n+65535)-65536*(n=Math.floor(i/65536)),m=(i=m+n+65535)-65536*(n=Math.floor(i/65536)),g=(i=g+n+65535)-65536*(n=Math.floor(i/65536)),w=(i=w+n+65535)-65536*(n=Math.floor(i/65536)),v=(i=v+n+65535)-65536*(n=Math.floor(i/65536)),a=(i=(a+=n-1+37*(n-1))+(n=1)+65535)-65536*(n=Math.floor(i/65536)),s=(i=s+n+65535)-65536*(n=Math.floor(i/65536)),o=(i=o+n+65535)-65536*(n=Math.floor(i/65536)),c=(i=c+n+65535)-65536*(n=Math.floor(i/65536)),u=(i=u+n+65535)-65536*(n=Math.floor(i/65536)),h=(i=h+n+65535)-65536*(n=Math.floor(i/65536)),d=(i=d+n+65535)-65536*(n=Math.floor(i/65536)),f=(i=f+n+65535)-65536*(n=Math.floor(i/65536)),l=(i=l+n+65535)-65536*(n=Math.floor(i/65536)),p=(i=p+n+65535)-65536*(n=Math.floor(i/65536)),y=(i=y+n+65535)-65536*(n=Math.floor(i/65536)),b=(i=b+n+65535)-65536*(n=Math.floor(i/65536)),m=(i=m+n+65535)-65536*(n=Math.floor(i/65536)),g=(i=g+n+65535)-65536*(n=Math.floor(i/65536)),w=(i=w+n+65535)-65536*(n=Math.floor(i/65536)),v=(i=v+n+65535)-65536*(n=Math.floor(i/65536)),a+=n-1+37*(n-1),e[0]=a,e[1]=s,e[2]=o,e[3]=c,e[4]=u,e[5]=h,e[6]=d,e[7]=f,e[8]=l,e[9]=p,e[10]=y,e[11]=b,e[12]=m,e[13]=g,e[14]=w,e[15]=v}function A(e,t){k(e,t,t)}function S(e,r){var i,n=t();for(i=0;i<16;i++)n[i]=r[i];for(i=253;i>=0;i--)A(n,n),2!==i&&4!==i&&k(n,n,r);for(i=0;i<16;i++)e[i]=n[i]}function E(e,r,i){var n,a,o=new Uint8Array(32),c=new Float64Array(80),u=t(),h=t(),d=t(),f=t(),l=t(),p=t();for(a=0;a<31;a++)o[a]=r[a];for(o[31]=127&r[31]|64,o[0]&=248,w(c,i),a=0;a<16;a++)h[a]=c[a],f[a]=u[a]=d[a]=0;for(u[0]=f[0]=1,a=254;a>=0;--a)y(u,h,n=o[a>>>3]>>>(7&a)&1),y(d,f,n),v(l,u,d),_(u,u,d),v(d,h,f),_(h,h,f),A(f,l),A(p,u),k(u,d,u),k(d,h,l),v(l,u,d),_(u,u,d),A(h,u),_(d,f,p),k(u,d,s),v(u,u,f),k(d,d,u),k(u,f,p),k(f,h,c),A(h,l),y(u,h,n),y(d,f,n);for(a=0;a<16;a++)c[a+16]=u[a],c[a+32]=d[a],c[a+48]=h[a],c[a+64]=f[a];var m=c.subarray(32),g=c.subarray(16);return S(m,m),k(g,g,m),b(e,g),0}function P(e,t){return E(e,t,i)}function x(e,r){var i=t(),n=t(),a=t(),s=t(),o=t(),u=t(),h=t(),d=t(),f=t();_(i,e[1],e[0]),_(f,r[1],r[0]),k(i,i,f),v(n,e[0],e[1]),v(f,r[0],r[1]),k(n,n,f),k(a,e[3],r[3]),k(a,a,c),k(s,e[2],r[2]),v(s,s,s),_(o,n,i),_(u,s,a),v(h,s,a),v(d,n,i),k(e[0],o,u),k(e[1],d,h),k(e[2],h,u),k(e[3],o,d)}function M(e,t,r){var i;for(i=0;i<4;i++)y(e[i],t[i],r)}function K(e,r){var i=t(),n=t(),a=t();S(a,r[2]),k(i,r[0],a),k(n,r[1],a),b(e,n),e[31]^=g(i)<<7}function C(e,t,r){var i,s;for(l(e[0],n),l(e[1],a),l(e[2],a),l(e[3],n),s=255;s>=0;--s)M(e,t,i=r[s/8|0]>>(7&s)&1),x(t,e),x(e,e),M(e,t,i)}function D(e,r){var i=[t(),t(),t(),t()];l(i[0],u),l(i[1],h),l(i[2],a),k(i[3],u,h),C(e,i,r)}function U(i,n,a){var s,o,c=[t(),t(),t(),t()];for(a||r(n,32),(s=e.hash(n.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64,D(c,s),K(i,c),o=0;o<32;o++)n[o+32]=i[o];return 0}var R=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function I(e,t){var r,i,n,a;for(i=63;i>=32;--i){for(r=0,n=i-32,a=i-12;n<a;++n)t[n]+=r-16*t[i]*R[n-(i-32)],r=Math.floor((t[n]+128)/256),t[n]-=256*r;t[n]+=r,t[i]=0}for(r=0,n=0;n<32;n++)t[n]+=r-(t[31]>>4)*R[n],r=t[n]>>8,t[n]&=255;for(n=0;n<32;n++)t[n]-=r*R[n];for(i=0;i<32;i++)t[i+1]+=t[i]>>8,e[i]=255&t[i]}function B(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;I(e,r)}function T(e,r){var i=t(),s=t(),c=t(),u=t(),h=t(),f=t(),p=t();return l(e[2],a),w(e[1],r),A(c,e[1]),k(u,c,o),_(c,c,e[2]),v(u,e[2],u),A(h,u),A(f,h),k(p,f,h),k(i,p,c),k(i,i,u),function(e,r){var i,n=t();for(i=0;i<16;i++)n[i]=r[i];for(i=250;i>=0;i--)A(n,n),1!==i&&k(n,n,r);for(i=0;i<16;i++)e[i]=n[i]}(i,i),k(i,i,c),k(i,i,u),k(i,i,u),k(e[0],i,u),A(s,e[0]),k(s,s,u),m(s,c)&&k(e[0],e[0],d),A(s,e[0]),k(s,s,u),m(s,c)?-1:(g(e[0])===r[31]>>7&&_(e[0],n,e[0]),k(e[3],e[0],e[1]),0)}var z=64;function q(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function F(e){for(var t=0;t<e.length;t++)e[t]=0}e.scalarMult=function(e,t){if(q(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");var r=new Uint8Array(32);return E(r,e,t),r},e.box={},e.box.keyPair=function(){var e,t,i=new Uint8Array(32),n=new Uint8Array(32);return e=i,r(t=n,32),P(e,t),{publicKey:i,secretKey:n}},e.box.keyPair.fromSecretKey=function(e){if(q(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return P(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.sign=function(r,i){if(q(r,i),64!==i.length)throw Error("bad secret key size");var n=new Uint8Array(z+r.length);return function(r,i,n,a){var s,o,c,u,h,d=new Float64Array(64),f=[t(),t(),t(),t()];(s=e.hash(a.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64;var l=n+64;for(u=0;u<n;u++)r[64+u]=i[u];for(u=0;u<32;u++)r[32+u]=s[32+u];for(B(c=e.hash(r.subarray(32,l))),D(f,c),K(r,f),u=32;u<64;u++)r[u]=a[u];for(B(o=e.hash(r.subarray(0,l))),u=0;u<64;u++)d[u]=0;for(u=0;u<32;u++)d[u]=c[u];for(u=0;u<32;u++)for(h=0;h<32;h++)d[u+h]+=o[u]*s[h];I(r.subarray(32),d)}(n,r,r.length,i),n},e.sign.detached=function(t,r){for(var i=e.sign(t,r),n=new Uint8Array(z),a=0;a<n.length;a++)n[a]=i[a];return n},e.sign.detached.verify=function(r,i,n){if(q(r,i,n),i.length!==z)throw Error("bad signature size");if(32!==n.length)throw Error("bad public key size");var a,s=new Uint8Array(z+r.length),o=new Uint8Array(z+r.length);for(a=0;a<z;a++)s[a]=i[a];for(a=0;a<r.length;a++)s[a+z]=r[a];return function(r,i,n,a){var s,o,c=new Uint8Array(32),u=[t(),t(),t(),t()],h=[t(),t(),t(),t()];if(n<64)return-1;if(T(h,a))return-1;for(s=0;s<n;s++)r[s]=i[s];for(s=0;s<32;s++)r[s+32]=a[s];if(B(o=e.hash(r.subarray(0,n))),C(u,h,o),D(h,i.subarray(32)),x(u,h),K(c,u),n-=64,f(i,0,c,0)){for(s=0;s<n;s++)r[s]=0;return-1}for(s=0;s<n;s++)r[s]=i[s+64];return n}(o,s,s.length,n)>=0},e.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return U(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(q(e),64!==e.length)throw Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(q(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),i=0;i<32;i++)r[i]=e[i];return U(t,r,!0),{publicKey:t,secretKey:r}},e.setPRNG=function(e){r=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){e.setPRNG((function(e,r){var i,n=new Uint8Array(r);for(i=0;i<r;i+=65536)t.getRandomValues(n.subarray(i,i+Math.min(r-i,65536)));for(i=0;i<r;i++)e[i]=n[i];F(n)}))}else void 0!==nt&&(t=void 0)&&t.randomBytes&&e.setPRNG((function(e,r){var i,n=t.randomBytes(r);for(i=0;i<r;i++)e[i]=n[i];F(n)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})}));const Fi=$.getNodeCrypto();function Oi(e){const t=new Uint8Array(e);if("undefined"!=typeof crypto&&crypto.getRandomValues)crypto.getRandomValues(t);else{if(!Fi)throw Error("No secure random number generator available.");{const e=Fi.randomBytes(t.length);t.set(e)}}return t}async function Ni(e,t){const r=await $.getBigInteger();if(t.lt(e))throw Error("Illegal parameter value: max <= min");const i=t.sub(e),n=i.byteLength();return new r(await Oi(n+8)).mod(i).add(e)}var Li=/*#__PURE__*/Object.freeze({__proto__:null,getRandomBytes:Oi,getRandomBigInteger:Ni});async function ji(e,t,r){const i=await $.getBigInteger(),n=new i(1),a=n.leftShift(new i(e-1)),s=new i(30),o=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2],c=await Ni(a,a.leftShift(n));let u=c.mod(s).toNumber();do{c.iadd(new i(o[u])),u=(u+o[u])%o.length,c.bitLength()>e&&(c.imod(a.leftShift(n)).iadd(a),u=c.mod(s).toNumber())}while(!await Wi(c,t,r));return c}async function Wi(e,t,r){return!(t&&!e.dec().gcd(t).isOne())&&(!!await async function(e){const t=await $.getBigInteger();return Hi.every((r=>0!==e.mod(new t(r))))}(e)&&(!!await async function(e,t){const r=await $.getBigInteger();return t=t||new r(2),t.modExp(e.dec(),e).isOne()}(e)&&!!await async function(e,t,r){const i=await $.getBigInteger(),n=e.bitLength();t||(t=Math.max(1,n/48|0));const a=e.dec();let s=0;for(;!a.getBit(s);)s++;const o=e.rightShift(new i(s));for(;t>0;t--){let t,n=(r?r():await Ni(new i(2),a)).modExp(o,e);if(!n.isOne()&&!n.equal(a)){for(t=1;t<s;t++){if(n=n.mul(n).mod(e),n.isOne())return!1;if(n.equal(a))break}if(t===s)return!1}}return!0}(e,r)))}const Hi=[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,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999];const Gi=[];function Vi(e,t){const r=e.length;if(r>t-11)throw Error("Message too long");const i=function(e){const t=new Uint8Array(e);let r=0;for(;r<e;){const i=Oi(e-r);for(let e=0;e<i.length;e++)0!==i[e]&&(t[r++]=i[e])}return t}(t-r-3),n=new Uint8Array(t);return n[1]=2,n.set(i,2),n.set(e,t-r),n}function $i(e,t){let r=2,i=1;for(let t=r;t<e.length;t++)i&=0!==e[t],r+=i;const n=r-2,a=e.subarray(r+1),s=0===e[0]&2===e[1]&n>=8&!i;if(t)return $.selectUint8Array(s,a,t);if(s)return a;throw Error("Decryption error")}async function Zi(e,t,r){let i;if(t.length!==Gr.getHashByteLength(e))throw Error("Invalid hash length");const n=new Uint8Array(Gi[e].length);for(i=0;i<Gi[e].length;i++)n[i]=Gi[e][i];const a=n.length+t.length;if(r<a+11)throw Error("Intended encoded message length too short");const s=new Uint8Array(r-a-3).fill(255),o=new Uint8Array(r);return o[1]=1,o.set(s,2),o.set(n,r-a),o.set(t,r-t.length),o}Gi[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],Gi[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],Gi[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],Gi[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],Gi[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],Gi[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],Gi[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];var Yi=/*#__PURE__*/Object.freeze({__proto__:null,emeEncode:Vi,emeDecode:$i,emsaEncode:Zi});const Xi=$.getWebCrypto(),Qi=$.getNodeCrypto(),Ji=void 0,en=Qi?Ji.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())})):void 0,tn=Qi?Ji.define("RSAPubliceKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())})):void 0;var rn=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a,s,o,c){if(t&&!$.isStream(t))if($.getWebCrypto())try{return await async function(e,t,r,i,n,a,s,o){const c=await async function(e,t,r,i,n,a){const s=await $.getBigInteger(),o=new s(i),c=new s(n),u=new s(r);let h=u.mod(c.dec()),d=u.mod(o.dec());return d=d.toUint8Array(),h=h.toUint8Array(),{kty:"RSA",n:te(e,!0),e:te(t,!0),d:te(r,!0),p:te(n,!0),q:te(i,!0),dp:te(h,!0),dq:te(d,!0),qi:te(a,!0),ext:!0}}(r,i,n,a,s,o),u={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},h=await Xi.importKey("jwk",c,u,!1,["sign"]);return new Uint8Array(await Xi.sign("RSASSA-PKCS1-v1_5",h,t))}(ie.read(ie.webHash,e),t,r,i,n,a,s,o)}catch(e){$.printDebugError(e)}else if($.getNodeCrypto())return async function(e,t,r,i,n,a,s,o){const{default:c}=await Promise.resolve().then((function(){return sy})),u=new c(a),h=new c(s),d=new c(n),f=d.mod(h.subn(1)),l=d.mod(u.subn(1)),p=Qi.createSign(ie.read(ie.hash,e));p.write(t),p.end();const y={version:0,modulus:new c(r),publicExponent:new c(i),privateExponent:new c(n),prime1:new c(s),prime2:new c(a),exponent1:f,exponent2:l,coefficient:new c(o)};if(void 0!==Qi.createPrivateKey){const e=en.encode(y,"der");return new Uint8Array(p.sign({key:e,format:"der",type:"pkcs1"}))}const b=en.encode(y,"pem",{label:"RSA PRIVATE KEY"});return new Uint8Array(p.sign(b))}(e,t,r,i,n,a,s,o);return async function(e,t,r,i){const n=await $.getBigInteger();t=new n(t);const a=new n(await Zi(e,i,t.byteLength()));if(r=new n(r),a.gte(t))throw Error("Message size cannot exceed modulus size");return a.modExp(r,t).toUint8Array("be",t.byteLength())}(e,r,n,c)},verify:async function(e,t,r,i,n,a){if(t&&!$.isStream(t))if($.getWebCrypto())try{return await async function(e,t,r,i,n){const a=function(e,t){return{kty:"RSA",n:te(e,!0),e:te(t,!0),ext:!0}}(i,n),s=await Xi.importKey("jwk",a,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return Xi.verify("RSASSA-PKCS1-v1_5",s,r,t)}(ie.read(ie.webHash,e),t,r,i,n)}catch(e){$.printDebugError(e)}else if($.getNodeCrypto())return async function(e,t,r,i,n){const{default:a}=await Promise.resolve().then((function(){return sy})),s=Qi.createVerify(ie.read(ie.hash,e));s.write(t),s.end();const o={modulus:new a(i),publicExponent:new a(n)};let c;if(void 0!==Qi.createPrivateKey){c={key:tn.encode(o,"der"),format:"der",type:"pkcs1"}}else c=tn.encode(o,"pem",{label:"RSA PUBLIC KEY"});try{return await s.verify(c,r)}catch(e){return!1}}(e,t,r,i,n);return async function(e,t,r,i,n){const a=await $.getBigInteger();if(r=new a(r),t=new a(t),i=new a(i),t.gte(r))throw Error("Signature size cannot exceed modulus size");const s=t.modExp(i,r).toUint8Array("be",r.byteLength()),o=await Zi(e,n,r.byteLength());return $.equalsUint8Array(s,o)}(e,r,i,n,a)},encrypt:async function(e,t,r){return $.getNodeCrypto()?async function(e,t,r){const{default:i}=await Promise.resolve().then((function(){return sy})),n={modulus:new i(t),publicExponent:new i(r)};let a;if(void 0!==Qi.createPrivateKey){a={key:tn.encode(n,"der"),format:"der",type:"pkcs1",padding:Qi.constants.RSA_PKCS1_PADDING}}else{a={key:tn.encode(n,"pem",{label:"RSA PUBLIC KEY"}),padding:Qi.constants.RSA_PKCS1_PADDING}}return new Uint8Array(Qi.publicEncrypt(a,e))}(e,t,r):async function(e,t,r){const i=await $.getBigInteger();if(t=new i(t),e=new i(Vi(e,t.byteLength())),r=new i(r),e.gte(t))throw Error("Message size cannot exceed modulus size");return e.modExp(r,t).toUint8Array("be",t.byteLength())}(e,t,r)},decrypt:async function(e,t,r,i,n,a,s,o){return $.getNodeCrypto()?async function(e,t,r,i,n,a,s,o){const{default:c}=await Promise.resolve().then((function(){return sy})),u=new c(n),h=new c(a),d=new c(i),f=d.mod(h.subn(1)),l=d.mod(u.subn(1)),p={version:0,modulus:new c(t),publicExponent:new c(r),privateExponent:new c(i),prime1:new c(a),prime2:new c(n),exponent1:f,exponent2:l,coefficient:new c(s)};let y;if(void 0!==Qi.createPrivateKey){y={key:en.encode(p,"der"),format:"der",type:"pkcs1",padding:Qi.constants.RSA_PKCS1_PADDING}}else{y={key:en.encode(p,"pem",{label:"RSA PRIVATE KEY"}),padding:Qi.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(Qi.privateDecrypt(y,e))}catch(e){if(o)return o;throw Error("Decryption error")}}(e,t,r,i,n,a,s,o):async function(e,t,r,i,n,a,s,o){const c=await $.getBigInteger();if(e=new c(e),t=new c(t),r=new c(r),i=new c(i),n=new c(n),a=new c(a),s=new c(s),e.gte(t))throw Error("Data too large.");const u=i.mod(a.dec()),h=i.mod(n.dec()),d=(await Ni(new c(2),t)).mod(t),f=d.modInv(t).modExp(r,t);e=e.mul(f).mod(t);const l=e.modExp(h,n),p=e.modExp(u,a),y=s.mul(p.sub(l)).mod(a);let b=y.mul(n).add(l);return b=b.mul(d).mod(t),$i(b.toUint8Array("be",t.byteLength()),o)}(e,t,r,i,n,a,s,o)},generate:async function(e,t){if(t=new(await $.getBigInteger())(t),$.getWebCrypto()){const r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:t.toUint8Array(),hash:{name:"SHA-1"}},i=await Xi.generateKey(r,!0,["sign","verify"]),n=await Xi.exportKey("jwk",i.privateKey);return{n:ee(n.n),e:t.toUint8Array(),d:ee(n.d),p:ee(n.q),q:ee(n.p),u:ee(n.qi)}}if($.getNodeCrypto()&&Qi.generateKeyPair&&en){const r={modulusLength:e,publicExponent:t.toNumber(),publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"der"}},i=await new Promise(((e,t)=>{Qi.generateKeyPair("rsa",r,((r,i,n)=>{r?t(r):e(en.decode(n,"der"))}))}));return{n:i.modulus.toArrayLike(Uint8Array),e:i.publicExponent.toArrayLike(Uint8Array),d:i.privateExponent.toArrayLike(Uint8Array),p:i.prime2.toArrayLike(Uint8Array),q:i.prime1.toArrayLike(Uint8Array),u:i.coefficient.toArrayLike(Uint8Array)}}let r,i,n;do{i=await ji(e-(e>>1),t,40),r=await ji(e>>1,t,40),n=r.mul(i)}while(n.bitLength()!==e);const a=r.dec().imul(i.dec());return i.lt(r)&&([r,i]=[i,r]),{n:n.toUint8Array(),e:t.toUint8Array(),d:t.modInv(a).toUint8Array(),p:r.toUint8Array(),q:i.toUint8Array(),u:r.modInv(i).toUint8Array()}},validateParams:async function(e,t,r,i,n,a){const s=await $.getBigInteger();if(e=new s(e),i=new s(i),n=new s(n),!i.mul(n).equal(e))return!1;const o=new s(2);if(a=new s(a),!i.mul(a).mod(n).isOne())return!1;t=new s(t),r=new s(r);const c=new s(Math.floor(e.bitLength()/3)),u=await Ni(o,o.leftShift(c)),h=u.mul(r).mul(t);return!(!h.mod(i.dec()).equal(u)||!h.mod(n.dec()).equal(u))}});var nn=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,i){const n=await $.getBigInteger();t=new n(t),r=new n(r),i=new n(i);const a=new n(Vi(e,t.byteLength())),s=await Ni(new n(1),t.dec());return{c1:r.modExp(s,t).toUint8Array(),c2:i.modExp(s,t).imul(a).imod(t).toUint8Array()}},decrypt:async function(e,t,r,i,n){const a=await $.getBigInteger();return e=new a(e),t=new a(t),r=new a(r),i=new a(i),$i(e.modExp(i,r).modInv(r).imul(t).imod(r).toUint8Array("be",r.byteLength()),n)},validateParams:async function(e,t,r,i){const n=await $.getBigInteger();e=new n(e),t=new n(t),r=new n(r);const a=new n(1);if(t.lte(a)||t.gte(e))return!1;const s=new n(e.bitLength()),o=new n(1023);if(s.lt(o))return!1;if(!t.modExp(e.dec(),e).isOne())return!1;let c=t;const u=new n(1),h=new n(2).leftShift(new n(17));for(;u.lt(h);){if(c=c.mul(t).imod(e),c.isOne())return!1;u.iinc()}i=new n(i);const d=new n(2),f=await Ni(d.leftShift(s.dec()),d.leftShift(s)),l=e.dec().imul(f).iadd(i);return!!r.equal(t.modExp(l,e))}});class an{constructor(e){if(e instanceof an)this.oid=e.oid;else if($.isArray(e)||$.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw Error("Invalid oid")}write(){return $.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return $.uint8ArrayToHex(this.oid)}getName(){const e=this.toHex();if(ie.curve[e])return ie.write(ie.curve,e);throw Error("Unknown curve object identifier.")}}function sn(e,t){return e.keyPair({priv:t})}function on(e,t){const r=e.keyPair({pub:t});if(!0!==r.validate().result)throw Error("Invalid elliptic public key");return r}async function cn(e){if(!ne.useIndutnyElliptic)throw Error("This curve is only supported in the full build of OpenPGP.js");const{default:t}=await Promise.resolve().then((function(){return Eb}));return new t.ec(e)}function un(e){let t,r=0;const i=e[0];return i<192?([r]=e,t=1):i<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===i&&(r=$.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function hn(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):$.concatUint8Array([new Uint8Array([255]),$.writeNumber(e,4)])}function dn(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function fn(e){return new Uint8Array([192|e])}function ln(e,t){return $.concatUint8Array([fn(e),hn(t)])}function pn(e){return[ie.packet.literalData,ie.packet.compressedData,ie.packet.symmetricallyEncryptedData,ie.packet.symEncryptedIntegrityProtectedData,ie.packet.aeadEncryptedData].includes(e)}async function yn(e,t){const r=C(e);let i,n;try{const s=await r.peekBytes(2);if(!s||s.length<2||0==(128&s[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const o=await r.readByte();let c,u,h=-1,d=-1;d=0,0!=(64&o)&&(d=1),d?h=63&o:(h=(63&o)>>2,u=3&o);const f=pn(h);let l,p=null;if(f){if("array"===$.isStream(e)){const e=new a;i=D(e),p=e}else{const e=new S;i=D(e.writable),p=e.readable}n=t({tag:h,packet:p})}else p=[];do{if(d){const e=await r.readByte();if(l=!1,e<192)c=e;else if(e>=192&&e<224)c=(e-192<<8)+await r.readByte()+192;else if(e>223&&e<255){if(c=1<<(31&e),l=!0,!f)throw new TypeError("This packet type does not support partial lengths.")}else c=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte()}else switch(u){case 0:c=await r.readByte();break;case 1:c=await r.readByte()<<8|await r.readByte();break;case 2:c=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte();break;default:c=1/0}if(c>0){let e=0;for(;;){i&&await i.ready;const{done:t,value:n}=await r.read();if(t){if(c===1/0)break;throw Error("Unexpected end of packet")}const a=c===1/0?n:n.subarray(0,c-e);if(i?await i.write(a):p.push(a),e+=n.length,e>=c){r.unshift(n.subarray(c-e+n.length));break}}}}while(l);const y=await r.peekBytes(f?1/0:2);return i?(await i.ready,await i.close()):(p=$.concatUint8Array(p),await t({tag:h,packet:p})),!y||!y.length}catch(e){if(i)return await i.abort(e),!0;throw e}finally{i&&await n,r.releaseLock()}}class bn extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,bn),this.name="UnsupportedError"}}class mn{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}const gn=$.getWebCrypto(),wn=$.getNodeCrypto(),vn={p256:"P-256",p384:"P-384",p521:"P-521"},_n=wn?wn.getCurves():[],kn=wn?{secp256k1:_n.includes("secp256k1")?"secp256k1":void 0,p256:_n.includes("prime256v1")?"prime256v1":void 0,p384:_n.includes("secp384r1")?"secp384r1":void 0,p521:_n.includes("secp521r1")?"secp521r1":void 0,ed25519:_n.includes("ED25519")?"ED25519":void 0,curve25519:_n.includes("X25519")?"X25519":void 0,brainpoolP256r1:_n.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,brainpoolP384r1:_n.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,brainpoolP512r1:_n.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},An={p256:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha256,cipher:ie.symmetric.aes128,node:kn.p256,web:vn.p256,payloadSize:32,sharedSize:256},p384:{oid:[6,5,43,129,4,0,34],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha384,cipher:ie.symmetric.aes192,node:kn.p384,web:vn.p384,payloadSize:48,sharedSize:384},p521:{oid:[6,5,43,129,4,0,35],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha512,cipher:ie.symmetric.aes256,node:kn.p521,web:vn.p521,payloadSize:66,sharedSize:528},secp256k1:{oid:[6,5,43,129,4,0,10],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha256,cipher:ie.symmetric.aes128,node:kn.secp256k1,payloadSize:32},ed25519:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:ie.publicKey.eddsa,hash:ie.hash.sha512,node:!1,payloadSize:32},curve25519:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:ie.publicKey.ecdh,hash:ie.hash.sha256,cipher:ie.symmetric.aes128,node:!1,payloadSize:32},brainpoolP256r1:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha256,cipher:ie.symmetric.aes128,node:kn.brainpoolP256r1,payloadSize:32},brainpoolP384r1:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha384,cipher:ie.symmetric.aes192,node:kn.brainpoolP384r1,payloadSize:48},brainpoolP512r1:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha512,cipher:ie.symmetric.aes256,node:kn.brainpoolP512r1,payloadSize:64}};class Sn{constructor(e,t){try{($.isArray(e)||$.isUint8Array(e))&&(e=new an(e)),e instanceof an&&(e=e.getName()),this.name=ie.write(ie.curve,e)}catch(e){throw new bn("Unknown curve")}t=t||An[this.name],this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node&&An[this.name],this.web=t.web&&An[this.name],this.payloadSize=t.payloadSize,this.web&&$.getWebCrypto()?this.type="web":this.node&&$.getNodeCrypto()?this.type="node":"curve25519"===this.name?this.type="curve25519":"ed25519"===this.name&&(this.type="ed25519")}async genKeyPair(){let e;switch(this.type){case"web":try{return await async function(e){const t=await gn.generateKey({name:"ECDSA",namedCurve:vn[e]},!0,["sign","verify"]),r=await gn.exportKey("jwk",t.privateKey),i=await gn.exportKey("jwk",t.publicKey);return{publicKey:Pn(i),privateKey:ee(r.d)}}(this.name)}catch(e){$.printDebugError("Browser did not support generating ec key "+e.message);break}case"node":return async function(e){const t=wn.createECDH(kn[e]);return await t.generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())}}(this.name);case"curve25519":{const t=Oi(32);t[0]=127&t[0]|64,t[31]&=248;const r=t.slice().reverse();e=qi.box.keyPair.fromSecretKey(r);return{publicKey:$.concatUint8Array([new Uint8Array([64]),e.publicKey]),privateKey:t}}case"ed25519":{const e=Oi(32),t=qi.sign.keyPair.fromSeed(e);return{publicKey:$.concatUint8Array([new Uint8Array([64]),t.publicKey]),privateKey:e}}}const t=await cn(this.name);return e=await t.genKeyPair({entropy:$.uint8ArrayToString(Oi(32))}),{publicKey:new Uint8Array(e.getPublic("array",!1)),privateKey:e.getPrivate().toArrayLike(Uint8Array)}}}async function En(e,t,r,i){const n={p256:!0,p384:!0,p521:!0,secp256k1:!0,curve25519:e===ie.publicKey.ecdh,brainpoolP256r1:!0,brainpoolP384r1:!0,brainpoolP512r1:!0},a=t.getName();if(!n[a])return!1;if("curve25519"===a){i=i.slice().reverse();const{publicKey:e}=qi.box.keyPair.fromSecretKey(i);r=new Uint8Array(r);const t=new Uint8Array([64,...e]);return!!$.equalsUint8Array(t,r)}const s=await cn(a);try{r=on(s,r).getPublic()}catch(e){return!1}return!!sn(s,i).getPublic().eq(r)}function Pn(e){const t=ee(e.x),r=ee(e.y),i=new Uint8Array(t.length+r.length+1);return i[0]=4,i.set(t,1),i.set(r,t.length+1),i}function xn(e,t,r){const i=e,n=r.slice(1,i+1),a=r.slice(i+1,2*i+1);return{kty:"EC",crv:t,x:te(n,!0),y:te(a,!0),ext:!0}}function Mn(e,t,r,i){const n=xn(e,t,r);return n.d=te(i,!0),n}const Kn=$.getWebCrypto(),Cn=$.getNodeCrypto();async function Dn(e,t,r,i,n,a){const s=new Sn(e);if(r&&!$.isStream(r)){const e={publicKey:i,privateKey:n};switch(s.type){case"web":try{return await async function(e,t,r,i){const n=e.payloadSize,a=Mn(e.payloadSize,vn[e.name],i.publicKey,i.privateKey),s=await Kn.importKey("jwk",a,{name:"ECDSA",namedCurve:vn[e.name],hash:{name:ie.read(ie.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await Kn.sign({name:"ECDSA",namedCurve:vn[e.name],hash:{name:ie.read(ie.webHash,t)}},s,r));return{r:o.slice(0,n),s:o.slice(n,n<<1)}}(s,t,r,e)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;$.printDebugError("Browser did not support signing: "+e.message)}break;case"node":{const i=await async function(e,t,r,i){const n=Cn.createSign(ie.read(ie.hash,t));n.write(r),n.end();const a=Bn.encode({version:1,parameters:e.oid,privateKey:Array.from(i.privateKey),publicKey:{unused:0,data:Array.from(i.publicKey)}},"pem",{label:"EC PRIVATE KEY"});return In.decode(n.sign(a),"der")}(s,t,r,e);return{r:i.r.toArrayLike(Uint8Array),s:i.s.toArrayLike(Uint8Array)}}}}return async function(e,t,r){const i=await cn(e.name),n=sn(i,r),a=n.sign(t);return{r:a.r.toArrayLike(Uint8Array),s:a.s.toArrayLike(Uint8Array)}}(s,a,n)}async function Un(e,t,r,i,n,a){const s=new Sn(e);if(i&&!$.isStream(i))switch(s.type){case"web":try{return await async function(e,t,{r,s:i},n,a){const s=xn(e.payloadSize,vn[e.name],a),o=await Kn.importKey("jwk",s,{name:"ECDSA",namedCurve:vn[e.name],hash:{name:ie.read(ie.webHash,e.hash)}},!1,["verify"]),c=$.concatUint8Array([r,i]).buffer;return Kn.verify({name:"ECDSA",namedCurve:vn[e.name],hash:{name:ie.read(ie.webHash,t)}},o,c,n)}(s,t,r,i,n)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;$.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":return async function(e,t,{r,s:i},n,a){const{default:s}=await Promise.resolve().then((function(){return sy})),o=Cn.createVerify(ie.read(ie.hash,t));o.write(n),o.end();const c=zn.encode({algorithm:{algorithm:[1,2,840,10045,2,1],parameters:e.oid},subjectPublicKey:{unused:0,data:Array.from(a)}},"pem",{label:"PUBLIC KEY"}),u=In.encode({r:new s(r),s:new s(i)},"der");try{return o.verify(c,u)}catch(e){return!1}}(s,t,r,i,n)}return async function(e,t,r,i){const n=await cn(e.name),a=on(n,i);return a.verify(r,t)}(s,r,void 0===t?i:a,n)}const Rn=void 0,In=Cn?Rn.define("ECDSASignature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())})):void 0,Bn=Cn?Rn.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").explicit(0).optional().any(),this.key("publicKey").explicit(1).optional().bitstr())})):void 0,Tn=Cn?Rn.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional().any())})):void 0,zn=Cn?Rn.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(Tn),this.key("subjectPublicKey").bitstr())})):void 0;var qn=/*#__PURE__*/Object.freeze({__proto__:null,sign:Dn,verify:Un,validateParams:async function(e,t,r){const i=new Sn(e);if(i.keyType!==ie.publicKey.ecdsa)return!1;switch(i.type){case"web":case"node":{const i=Oi(8),n=ie.hash.sha256,a=await Gr.digest(n,i);try{const s=await Dn(e,n,i,t,r,a);return await Un(e,n,s,i,t,a)}catch(e){return!1}}default:return En(ie.publicKey.ecdsa,e,t,r)}}});qi.hash=e=>new Uint8Array(Jt().update(e).digest());var Fn=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength(ie.hash.sha256))throw Error("Hash algorithm too weak: sha256 or stronger is required for EdDSA.");const s=$.concatUint8Array([n,i.subarray(1)]),o=qi.sign.detached(a,s);return{r:o.subarray(0,32),s:o.subarray(32)}},verify:async function(e,t,{r,s:i},n,a,s){const o=$.concatUint8Array([r,i]);return qi.sign.detached.verify(s,o,a.subarray(1))},validateParams:async function(e,t,r){if("ed25519"!==e.getName())return!1;const{publicKey:i}=qi.sign.keyPair.fromSeed(r),n=new Uint8Array([64,...i]);return $.equalsUint8Array(t,n)}});function On(e,t){const r=new He["aes"+8*e.length](e),i=new Uint32Array([2795939494,2795939494]),n=Ln(t);let a=i;const s=n,o=n.length/2,c=new Uint32Array([0,0]);let u=new Uint32Array(4);for(let e=0;e<=5;++e)for(let t=0;t<o;++t)c[1]=o*e+(1+t),u[0]=a[0],u[1]=a[1],u[2]=s[2*t],u[3]=s[2*t+1],u=Ln(r.encrypt(jn(u))),a=u.subarray(0,2),a[0]^=c[0],a[1]^=c[1],s[2*t]=u[2],s[2*t+1]=u[3];return jn(a,s)}function Nn(e,t){const r=new He["aes"+8*e.length](e),i=new Uint32Array([2795939494,2795939494]),n=Ln(t);let a=n.subarray(0,2);const s=n.subarray(2),o=n.length/2-1,c=new Uint32Array([0,0]);let u=new Uint32Array(4);for(let e=5;e>=0;--e)for(let t=o-1;t>=0;--t)c[1]=o*e+(t+1),u[0]=a[0]^c[0],u[1]=a[1]^c[1],u[2]=s[2*t],u[3]=s[2*t+1],u=Ln(r.decrypt(jn(u))),a=u.subarray(0,2),s[2*t]=u[2],s[2*t+1]=u[3];if(a[0]===i[0]&&a[1]===i[1])return jn(s);throw Error("Key Data Integrity failed")}function Ln(e){const{length:t}=e,r=function(e){if($.isString(e)){const{length:t}=e,r=new ArrayBuffer(t),i=new Uint8Array(r);for(let r=0;r<t;++r)i[r]=e.charCodeAt(r);return r}return new Uint8Array(e).buffer}(e),i=new DataView(r),n=new Uint32Array(t/4);for(let e=0;e<t/4;++e)n[e]=i.getUint32(4*e);return n}function jn(){let e=0;for(let t=0;t<arguments.length;++t)e+=4*arguments[t].length;const t=new ArrayBuffer(e),r=new DataView(t);let i=0;for(let e=0;e<arguments.length;++e){for(let t=0;t<arguments[e].length;++t)r.setUint32(i+4*t,arguments[e][t]);i+=4*arguments[e].length}return new Uint8Array(t)}var Wn=/*#__PURE__*/Object.freeze({__proto__:null,wrap:On,unwrap:Nn});function Hn(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}function Gn(e){const t=e.length;if(t>0){const r=e[t-1];if(r>=1){const i=e.subarray(t-r),n=new Uint8Array(r).fill(r);if($.equalsUint8Array(i,n))return e.subarray(0,t-r)}}throw Error("Invalid padding")}var Vn=/*#__PURE__*/Object.freeze({__proto__:null,encode:Hn,decode:Gn});const $n=$.getWebCrypto(),Zn=$.getNodeCrypto();function Yn(e,t,r,i){return $.concatUint8Array([t.write(),new Uint8Array([e]),r.replacementKDFParams||r.write(),$.stringToUint8Array("Anonymous Sender "),r.replacementFingerprint||i.subarray(0,20)])}async function Xn(e,t,r,i,n=!1,a=!1){let s;if(n){for(s=0;s<t.length&&0===t[s];s++);t=t.subarray(s)}if(a){for(s=t.length-1;s>=0&&0===t[s];s--);t=t.subarray(0,s+1)}return(await Gr.digest(e,$.concatUint8Array([new Uint8Array([0,0,0,1]),t,i]))).subarray(0,r)}async function Qn(e,t){switch(e.type){case"curve25519":{const r=Oi(32),{secretKey:i,sharedKey:n}=await Jn(e,t,null,r);let{publicKey:a}=qi.box.keyPair.fromSecretKey(i);return a=$.concatUint8Array([new Uint8Array([64]),a]),{publicKey:a,sharedKey:n}}case"web":if(e.web&&$.getWebCrypto())try{return await async function(e,t){const r=xn(e.payloadSize,e.web.web,t);let i=$n.generateKey({name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]),n=$n.importKey("jwk",r,{name:"ECDH",namedCurve:e.web.web},!1,[]);[i,n]=await Promise.all([i,n]);let a=$n.deriveBits({name:"ECDH",namedCurve:e.web.web,public:n},i.privateKey,e.web.sharedSize),s=$n.exportKey("jwk",i.publicKey);[a,s]=await Promise.all([a,s]);const o=new Uint8Array(a),c=new Uint8Array(Pn(s));return{publicKey:c,sharedKey:o}}(e,t)}catch(e){$.printDebugError(e)}break;case"node":return async function(e,t){const r=Zn.createECDH(e.node.node);r.generateKeys();const i=new Uint8Array(r.computeSecret(t)),n=new Uint8Array(r.getPublicKey());return{publicKey:n,sharedKey:i}}(e,t)}return async function(e,t){const r=await cn(e.name),i=await e.genKeyPair();t=on(r,t);const n=sn(r,i.privateKey),a=i.publicKey,s=n.derive(t.getPublic()),o=r.curve.p.byteLength(),c=s.toArrayLike(Uint8Array,"be",o);return{publicKey:a,sharedKey:c}}(e,t)}async function Jn(e,t,r,i){if(i.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(i,e.payloadSize-i.length),i=t}switch(e.type){case"curve25519":{const e=i.slice().reverse();return{secretKey:e,sharedKey:qi.scalarMult(e,t.subarray(1))}}case"web":if(e.web&&$.getWebCrypto())try{return await async function(e,t,r,i){const n=Mn(e.payloadSize,e.web.web,r,i);let a=$n.importKey("jwk",n,{name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]);const s=xn(e.payloadSize,e.web.web,t);let o=$n.importKey("jwk",s,{name:"ECDH",namedCurve:e.web.web},!0,[]);[a,o]=await Promise.all([a,o]);let c=$n.deriveBits({name:"ECDH",namedCurve:e.web.web,public:o},a,e.web.sharedSize),u=$n.exportKey("jwk",a);[c,u]=await Promise.all([c,u]);const h=new Uint8Array(c);return{secretKey:ee(u.d),sharedKey:h}}(e,t,r,i)}catch(e){$.printDebugError(e)}break;case"node":return async function(e,t,r){const i=Zn.createECDH(e.node.node);i.setPrivateKey(r);const n=new Uint8Array(i.computeSecret(t));return{secretKey:new Uint8Array(i.getPrivateKey()),sharedKey:n}}(e,t,i)}return async function(e,t,r){const i=await cn(e.name);t=on(i,t),r=sn(i,r);const n=new Uint8Array(r.getPrivate()),a=r.derive(t.getPublic()),s=i.curve.p.byteLength(),o=a.toArrayLike(Uint8Array,"be",s);return{secretKey:n,sharedKey:o}}(e,t,i)}var ea=/*#__PURE__*/Object.freeze({__proto__:null,validateParams:async function(e,t,r){return En(ie.publicKey.ecdh,e,t,r)},encrypt:async function(e,t,r,i,n){const a=Hn(r),s=new Sn(e),{publicKey:o,sharedKey:c}=await Qn(s,i),u=Yn(ie.publicKey.ecdh,e,t,n),{keySize:h}=$r(t.cipher);return{publicKey:o,wrappedKey:On(await Xn(t.hash,c,h,u),a)}},decrypt:async function(e,t,r,i,n,a,s){const o=new Sn(e),{sharedKey:c}=await Jn(o,r,n,a),u=Yn(ie.publicKey.ecdh,e,t,s),{keySize:h}=$r(t.cipher);let d;for(let e=0;e<3;e++)try{return Gn(Nn(await Xn(t.hash,c,h,u,1===e,2===e),i))}catch(e){d=e}throw d}}),ta=/*#__PURE__*/Object.freeze({__proto__:null,Curve:Sn,ecdh:ea,ecdsa:qn,eddsa:Fn,generate:async function(e){const t=await $.getBigInteger();e=new Sn(e);const r=await e.genKeyPair(),i=new t(r.publicKey).toUint8Array(),n=new t(r.privateKey).toUint8Array("be",e.payloadSize);return{oid:e.oid,Q:i,secret:n,hash:e.hash,cipher:e.cipher}},getPreferredHashAlgo:function(e){return An[ie.write(ie.curve,e.toHex())].hash}});var ra=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a){const s=await $.getBigInteger(),o=new s(1);let c,u,h,d;i=new s(i),n=new s(n),r=new s(r),a=new s(a),r=r.mod(i),a=a.mod(n);const f=new s(t.subarray(0,n.byteLength())).mod(n);for(;;){if(c=await Ni(o,n),u=r.modExp(c,i).imod(n),u.isZero())continue;const e=a.mul(u).imod(n);if(d=f.add(e).imod(n),h=c.modInv(n).imul(d).imod(n),!h.isZero())break}return{r:u.toUint8Array("be",n.byteLength()),s:h.toUint8Array("be",n.byteLength())}},verify:async function(e,t,r,i,n,a,s,o){const c=await $.getBigInteger(),u=new c(0);if(t=new c(t),r=new c(r),a=new c(a),s=new c(s),n=new c(n),o=new c(o),t.lte(u)||t.gte(s)||r.lte(u)||r.gte(s))return $.printDebug("invalid DSA Signature"),!1;const h=new c(i.subarray(0,s.byteLength())).imod(s),d=r.modInv(s);if(d.isZero())return $.printDebug("invalid DSA Signature"),!1;n=n.mod(a),o=o.mod(a);const f=h.mul(d).imod(s),l=t.mul(d).imod(s),p=n.modExp(f,a),y=o.modExp(l,a);return p.mul(y).imod(a).imod(s).equal(t)},validateParams:async function(e,t,r,i,n){const a=await $.getBigInteger();e=new a(e),t=new a(t),r=new a(r),i=new a(i);const s=new a(1);if(r.lte(s)||r.gte(e))return!1;if(!e.dec().mod(t).isZero())return!1;if(!r.modExp(t,e).isOne())return!1;const o=new a(t.bitLength()),c=new a(150);if(o.lt(c)||!await Wi(t,null,32))return!1;n=new a(n);const u=new a(2),h=await Ni(u.leftShift(o.dec()),u.leftShift(o)),d=t.mul(h).add(n);return!!i.equal(r.modExp(d,e))}}),ia={rsa:rn,elgamal:nn,elliptic:ta,dsa:ra,nacl:qi};function na(e,t,r){switch(e){case ie.hash.sha1:case ie.hash.sha256:case ie.hash.sha512:return async function(e,t,r){const i=Gr.getBlockSize(e),n=new Uint8Array(i);n.fill(92),aa(n,t);const a=new Uint8Array(i);a.fill(54),aa(a,t);const s=$.concatUint8Array([a,r]),o=await Gr.digest(e,s),c=$.concatUint8Array([n,o]);return Gr.digest(e,c)}(e,t,r);default:throw Error("Unsupported hash algorithm.")}}function aa(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r]||0}class sa{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!$.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return $.concatUint8Array([new Uint8Array([this.length]),this.data])}read(e){if(e.length>=1){const t=e[0];if(e.length>=t+1)return this.data=e.subarray(1,1+t),this.length=t,1+t}throw Error("Invalid octet string")}}var oa=/*#__PURE__*/Object.freeze({__proto__:null,parseSignatureParams:function(e,t){let r=0;switch(e){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaSign:return{s:$.readMPI(t.subarray(r))};case ie.publicKey.dsa:case ie.publicKey.ecdsa:{const e=$.readMPI(t.subarray(r));r+=e.length+2;return{r:e,s:$.readMPI(t.subarray(r))}}case ie.publicKey.eddsa:{let e=$.readMPI(t.subarray(r));r+=e.length+2,e=$.leftPad(e,32);let i=$.readMPI(t.subarray(r));return i=$.leftPad(i,32),{r:e,s:i}}case ie.publicKey.hmac:{const e=new sa;return e.read(t.subarray(r)),{mac:e}}default:throw new bn("Unknown signature algorithm.")}},verify:async function(e,t,r,i,n,a,s){switch(e){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaSign:{const{n:e,e:n}=i,o=$.leftPad(r.s,e.length);return ia.rsa.verify(t,a,o,e,n,s)}case ie.publicKey.dsa:{const{g:e,p:n,q:a,y:o}=i,{r:c,s:u}=r;return ia.dsa.verify(t,c,u,s,e,n,a,o)}case ie.publicKey.ecdsa:{const{oid:e,Q:n}=i,o=new ia.elliptic.Curve(e).payloadSize,c=$.leftPad(r.r,o),u=$.leftPad(r.s,o);return ia.elliptic.ecdsa.verify(e,t,{r:c,s:u},a,n,s)}case ie.publicKey.eddsa:{const{oid:e,Q:n}=i;return ia.elliptic.eddsa.verify(e,t,r,a,n,s)}case ie.publicKey.hmac:{if(!n)throw Error("Cannot verify HMAC signature with symmetric key missing private parameters");const{cipher:e}=i,{keyMaterial:t}=n,a=await na(e.getValue(),t,s);return $.equalsUint8Array(a,r.mac.data)}default:throw Error("Unknown signature algorithm.")}},sign:async function(e,t,r,i,n,a){if(!r||!i)throw Error("Missing key parameters");switch(e){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaSign:{const{n:e,e:s}=r,{d:o,p:c,q:u,u:h}=i;return{s:await ia.rsa.sign(t,n,e,s,o,c,u,h,a)}}case ie.publicKey.dsa:{const{g:e,p:n,q:s}=r,{x:o}=i;return ia.dsa.sign(t,a,e,n,s,o)}case ie.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case ie.publicKey.ecdsa:{const{oid:e,Q:s}=r,{d:o}=i;return ia.elliptic.ecdsa.sign(e,t,n,s,o,a)}case ie.publicKey.eddsa:{const{oid:e,Q:s}=r,{seed:o}=i;return ia.elliptic.eddsa.sign(e,t,n,s,o,a)}case ie.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=i,n=await na(e.getValue(),t,a);return{mac:new sa(n)}}default:throw Error("Unknown signature algorithm.")}}});class ca{constructor(e){e=void 0===e?new Uint8Array([]):$.isString(e)?$.stringToUint8Array(e):new Uint8Array(e),this.data=e}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw Error("Invalid symmetric key")}write(){return $.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class ua{constructor(e){if(e){const{version:t,hash:r,cipher:i,flags:n,replacementFingerprint:a,replacementKDFParams:s}=e;this.version=t||1,this.hash=r,this.cipher=i,this.flags=n,this.replacementFingerprint=a,this.replacementKDFParams=s}else this.version=null,this.hash=null,this.cipher=null,this.flags=null,this.replacementFingerprint=null,this.replacementKDFParams=null}read(e){this.version=e[1],this.hash=e[2],this.cipher=e[3];let t=4;if(2===this.version&&(this.flags=e[t++],this.flags&ie.kdfFlags.replace_fingerprint&&(this.replacementFingerprint=e.slice(t,t+20),t+=20),this.flags&ie.kdfFlags.replace_kdf_params)){const r=e[t]+1;this.replacementKDFParams=e.slice(t,t+r),t+=r}return t}write(){if(!this.version||1===this.version)return new Uint8Array([3,1,this.hash,this.cipher]);const e=$.concatUint8Array([new Uint8Array([4,2,this.hash,this.cipher,this.flags]),this.replacementFingerprint||new Uint8Array,this.replacementKDFParams||new Uint8Array]);return e[0]=e.length-1,new Uint8Array(e)}}const ha=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=ie.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return ie.read(e,this.data)}getValue(){return this.data}},da=ha(ie.aead),fa=ha(ie.symmetric),la=ha(ie.hash);async function pa(e,t){const r=Oi(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await Gr.sha256(r)}}}function ya(e){const{keySize:t}=$r(e);return Oi(t)}function ba(e){const t=ie.read(ie.aead,e);return zi[t]}function ma(e){try{e.getName()}catch(e){throw new bn("Unknown curve OID")}}var ga=/*#__PURE__*/Object.freeze({__proto__:null,publicKeyEncrypt:async function(e,t,r,i,n){switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:{const{n:e,e:r}=t;return{c:await ia.rsa.encrypt(i,e,r)}}case ie.publicKey.elgamal:{const{p:e,g:r,y:n}=t;return ia.elgamal.encrypt(i,e,r,n)}case ie.publicKey.ecdh:{const{oid:e,Q:r,kdfParams:a}=t,{publicKey:s,wrappedKey:o}=await ia.elliptic.ecdh.encrypt(e,a,i,r,n);return{V:s,C:new ca(o)}}case ie.publicKey.aead:{if(!r)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=t,n=e.getValue(),{keyMaterial:a}=r,s=ne.preferredAEADAlgorithm,o=ba(ne.preferredAEADAlgorithm),{ivLength:c}=o,u=Oi(c),h=await o(n,a),d=await h.encrypt(i,u,new Uint8Array);return{aeadMode:new da(s),iv:u,c:new sa(d)}}default:return[]}},publicKeyDecrypt:async function(e,t,r,i,n,a){switch(e){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaEncrypt:{const{c:e}=i,{n,e:s}=t,{d:o,p:c,q:u,u:h}=r;return ia.rsa.decrypt(e,n,s,o,c,u,h,a)}case ie.publicKey.elgamal:{const{c1:e,c2:n}=i,s=t.p,o=r.x;return ia.elgamal.decrypt(e,n,s,o,a)}case ie.publicKey.ecdh:{const{oid:e,Q:a,kdfParams:s}=t,{d:o}=r,{V:c,C:u}=i;return ia.elliptic.ecdh.decrypt(e,s,c,u.data,a,o,n)}case ie.publicKey.aead:{const{cipher:e}=t,n=e.getValue(),{keyMaterial:a}=r,{aeadMode:s,iv:o,c}=i,u=ba(s.getValue());return(await u(n,a)).decrypt(c.data,o,new Uint8Array)}default:throw Error("Unknown public key encryption algorithm.")}},parsePublicKeyParams:function(e,t){let r=0;switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:{const e=$.readMPI(t.subarray(r));r+=e.length+2;const i=$.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{n:e,e:i}}}case ie.publicKey.dsa:{const e=$.readMPI(t.subarray(r));r+=e.length+2;const i=$.readMPI(t.subarray(r));r+=i.length+2;const n=$.readMPI(t.subarray(r));r+=n.length+2;const a=$.readMPI(t.subarray(r));return r+=a.length+2,{read:r,publicParams:{p:e,q:i,g:n,y:a}}}case ie.publicKey.elgamal:{const e=$.readMPI(t.subarray(r));r+=e.length+2;const i=$.readMPI(t.subarray(r));r+=i.length+2;const n=$.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{p:e,g:i,y:n}}}case ie.publicKey.ecdsa:{const e=new an;r+=e.read(t),ma(e);const i=$.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{oid:e,Q:i}}}case ie.publicKey.eddsa:{const e=new an;r+=e.read(t),ma(e);let i=$.readMPI(t.subarray(r));return r+=i.length+2,i=$.leftPad(i,33),{read:r,publicParams:{oid:e,Q:i}}}case ie.publicKey.ecdh:{const e=new an;r+=e.read(t),ma(e);const i=$.readMPI(t.subarray(r));r+=i.length+2;const n=new ua;return r+=n.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:i,kdfParams:n}}}case ie.publicKey.hmac:case ie.publicKey.aead:{const e=new fa;r+=e.read(t);const i=Gr.getHashByteLength(ie.hash.sha256),n=t.subarray(r,r+i);return r+=i,{read:r,publicParams:{cipher:e,digest:n}}}default:throw new bn("Unknown public key encryption algorithm.")}},parsePrivateKeyParams:function(e,t,r){let i=0;switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:{const e=$.readMPI(t.subarray(i));i+=e.length+2;const r=$.readMPI(t.subarray(i));i+=r.length+2;const n=$.readMPI(t.subarray(i));i+=n.length+2;const a=$.readMPI(t.subarray(i));return i+=a.length+2,{read:i,privateParams:{d:e,p:r,q:n,u:a}}}case ie.publicKey.dsa:case ie.publicKey.elgamal:{const e=$.readMPI(t.subarray(i));return i+=e.length+2,{read:i,privateParams:{x:e}}}case ie.publicKey.ecdsa:case ie.publicKey.ecdh:{const e=new Sn(r.oid);let n=$.readMPI(t.subarray(i));return i+=n.length+2,n=$.leftPad(n,e.payloadSize),{read:i,privateParams:{d:n}}}case ie.publicKey.eddsa:{const e=new Sn(r.oid);let n=$.readMPI(t.subarray(i));return i+=n.length+2,n=$.leftPad(n,e.payloadSize),{read:i,privateParams:{seed:n}}}case ie.publicKey.hmac:{const{cipher:e}=r,n=Gr.getHashByteLength(e.getValue()),a=t.subarray(i,i+32);i+=32;const s=t.subarray(i,i+n);return i+=n,{read:i,privateParams:{hashSeed:a,keyMaterial:s}}}case ie.publicKey.aead:{const{cipher:e}=r,n=t.subarray(i,i+32);i+=32;const{keySize:a}=$r(e.getValue()),s=t.subarray(i,i+a);return i+=a,{read:i,privateParams:{hashSeed:n,keyMaterial:s}}}default:throw new bn("Unknown public key encryption algorithm.")}},parseEncSessionKeyParams:function(e,t){let r=0;switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:return{c:$.readMPI(t.subarray(r))};case ie.publicKey.elgamal:{const e=$.readMPI(t.subarray(r));r+=e.length+2;return{c1:e,c2:$.readMPI(t.subarray(r))}}case ie.publicKey.ecdh:{const e=$.readMPI(t.subarray(r));r+=e.length+2;const i=new ca;return i.read(t.subarray(r)),{V:e,C:i}}case ie.publicKey.aead:{const e=new da;r+=e.read(t.subarray(r));const{ivLength:i}=ba(e.getValue()),n=t.subarray(r,r+i);r+=i;const a=new sa;return r+=a.read(t.subarray(r)),{aeadMode:e,iv:n,c:a}}default:throw new bn("Unknown public key encryption algorithm.")}},serializeParams:function(e,t){let r;switch(e){case ie.publicKey.hmac:case ie.publicKey.aead:r=Object.keys(t).map((e=>{const r=t[e];return $.isUint8Array(r)?r:r.write()}));break;default:r=Object.keys(t).map((e=>{const r=t[e];return $.isUint8Array(r)?$.uint8ArrayToMPI(r):r.write()}))}return $.concatUint8Array(r)},generateParams:function(e,t,r,i){switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:return ia.rsa.generate(t,65537).then((({n:e,e:t,d:r,p:i,q:n,u:a})=>({privateParams:{d:r,p:i,q:n,u:a},publicParams:{n:e,e:t}})));case ie.publicKey.ecdsa:return ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new an(e),Q:t}})));case ie.publicKey.eddsa:return ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new an(e),Q:t}})));case ie.publicKey.ecdh:return ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r,hash:i,cipher:n})=>({privateParams:{d:r},publicParams:{oid:new an(e),Q:t,kdfParams:new ua({hash:i,cipher:n})}})));case ie.publicKey.hmac:{const e=ie.write(ie.hash,i);return pa(Oi(Gr.getHashByteLength(e)),new la(e))}case ie.publicKey.aead:{const e=ie.write(ie.symmetric,i);return pa(ya(e),new fa(e))}case ie.publicKey.dsa:case ie.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}},validateParams:async function(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:{const{n:e,e:i}=t,{d:n,p:a,q:s,u:o}=r;return ia.rsa.validateParams(e,i,n,a,s,o)}case ie.publicKey.dsa:{const{p:e,q:i,g:n,y:a}=t,{x:s}=r;return ia.dsa.validateParams(e,i,n,a,s)}case ie.publicKey.elgamal:{const{p:e,g:i,y:n}=t,{x:a}=r;return ia.elgamal.validateParams(e,i,n,a)}case ie.publicKey.ecdsa:case ie.publicKey.ecdh:{const i=ia.elliptic[ie.read(ie.publicKey,e)],{oid:n,Q:a}=t,{d:s}=r;return i.validateParams(n,a,s)}case ie.publicKey.eddsa:{const{oid:e,Q:i}=t,{seed:n}=r;return ia.elliptic.eddsa.validateParams(e,i,n)}case ie.publicKey.hmac:{const{cipher:e,digest:i}=t,{hashSeed:n,keyMaterial:a}=r;return Gr.getHashByteLength(e.getValue())===a.length&&$.equalsUint8Array(i,await Gr.sha256(n))}case ie.publicKey.aead:{const{cipher:e,digest:i}=t,{hashSeed:n,keyMaterial:a}=r,{keySize:s}=$r(e.getValue());return s===a.length&&$.equalsUint8Array(i,await Gr.sha256(n))}default:throw Error("Unknown public key algorithm.")}},getPrefixRandom:async function(e){const{blockSize:t}=$r(e),r=await Oi(t),i=new Uint8Array([r[r.length-2],r[r.length-1]]);return $.concat([r,i])},generateSessionKey:ya,getAEADMode:ba,getCipher:$r});const wa={cipher:He,hash:Gr,mode:zi,publicKey:ia,signature:oa,random:Li,pkcs1:Yi,pkcs5:Vn,aesKW:Wn};Object.assign(wa,ga);var va="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function _a(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)}const ka={arraySet:function(e,t,r,i,n){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+i),n);else for(let a=0;a<i;a++)e[n+a]=t[r+a]},flattenChunks:function(e){let t,r,i,n,a;for(i=0,t=0,r=e.length;t<r;t++)i+=e[t].length;const s=new Uint8Array(i);for(n=0,t=0,r=e.length;t<r;t++)a=e[t],s.set(a,n),n+=a.length;return s}},Aa={arraySet:function(e,t,r,i,n){for(let a=0;a<i;a++)e[n+a]=t[r+a]},flattenChunks:function(e){return[].concat.apply([],e)}};let Sa=va?Uint8Array:Array,Ea=va?Uint16Array:Array,Pa=va?Int32Array:Array,xa=va?ka.flattenChunks:Aa.flattenChunks,Ma=va?ka.arraySet:Aa.arraySet;const Ka=0,Ca=1,Da=2,Ua=3,Ra=4,Ia=5,Ba=6,Ta=0,za=1,qa=2,Fa=-2,Oa=-3,Na=-5,La=-1,ja=1,Wa=2,Ha=3,Ga=4,Va=0,$a=1,Za=2,Ya=8;function Xa(e){let t=e.length;for(;--t>=0;)e[t]=0}const Qa=0,Ja=1,es=2,ts=29,rs=256,is=rs+1+ts,ns=30,as=19,ss=2*is+1,os=15,cs=16,us=7,hs=256,ds=16,fs=17,ls=18,ps=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ys=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],bs=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ms=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],gs=Array(2*(is+2));Xa(gs);const ws=Array(2*ns);Xa(ws);const vs=Array(512);Xa(vs);const _s=Array(256);Xa(_s);const ks=Array(ts);Xa(ks);const As=Array(ns);function Ss(e,t,r,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}let Es,Ps,xs;function Ms(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Ks(e){return e<256?vs[e]:vs[256+(e>>>7)]}function Cs(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Ds(e,t,r){e.bi_valid>cs-r?(e.bi_buf|=t<<e.bi_valid&65535,Cs(e,e.bi_buf),e.bi_buf=t>>cs-e.bi_valid,e.bi_valid+=r-cs):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function Us(e,t,r){Ds(e,r[2*t],r[2*t+1])}function Rs(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function Is(e,t,r){const i=Array(os+1);let n,a,s=0;for(n=1;n<=os;n++)i[n]=s=s+r[n-1]<<1;for(a=0;a<=t;a++){const t=e[2*a+1];0!==t&&(e[2*a]=Rs(i[t]++,t))}}function Bs(e){let t;for(t=0;t<is;t++)e.dyn_ltree[2*t]=0;for(t=0;t<ns;t++)e.dyn_dtree[2*t]=0;for(t=0;t<as;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*hs]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Ts(e){e.bi_valid>8?Cs(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function zs(e,t,r,i){const n=2*t,a=2*r;return e[n]<e[a]||e[n]===e[a]&&i[t]<=i[r]}function qs(e,t,r){const i=e.heap[r];let n=r<<1;for(;n<=e.heap_len&&(n<e.heap_len&&zs(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!zs(t,i,e.heap[n],e.depth));)e.heap[r]=e.heap[n],r=n,n<<=1;e.heap[r]=i}function Fs(e,t,r){let i,n,a,s,o=0;if(0!==e.last_lit)do{i=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],n=e.pending_buf[e.l_buf+o],o++,0===i?Us(e,n,t):(a=_s[n],Us(e,a+rs+1,t),s=ps[a],0!==s&&(n-=ks[a],Ds(e,n,s)),i--,a=Ks(i),Us(e,a,r),s=ys[a],0!==s&&(i-=As[a],Ds(e,i,s)))}while(o<e.last_lit);Us(e,hs,t)}function Os(e,t){const r=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,a=t.stat_desc.elems;let s,o,c,u=-1;for(e.heap_len=0,e.heap_max=ss,s=0;s<a;s++)0!==r[2*s]?(e.heap[++e.heap_len]=u=s,e.depth[s]=0):r[2*s+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=u<2?++u:0,r[2*c]=1,e.depth[c]=0,e.opt_len--,n&&(e.static_len-=i[2*c+1]);for(t.max_code=u,s=e.heap_len>>1;s>=1;s--)qs(e,r,s);c=a;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],qs(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,r[2*c]=r[2*s]+r[2*o],e.depth[c]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,r[2*s+1]=r[2*o+1]=c,e.heap[1]=c++,qs(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){const r=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,c=t.stat_desc.max_length;let u,h,d,f,l,p,y=0;for(f=0;f<=os;f++)e.bl_count[f]=0;for(r[2*e.heap[e.heap_max]+1]=0,u=e.heap_max+1;u<ss;u++)h=e.heap[u],f=r[2*r[2*h+1]+1]+1,f>c&&(f=c,y++),r[2*h+1]=f,h>i||(e.bl_count[f]++,l=0,h>=o&&(l=s[h-o]),p=r[2*h],e.opt_len+=p*(f+l),a&&(e.static_len+=p*(n[2*h+1]+l)));if(0!==y){do{for(f=c-1;0===e.bl_count[f];)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,y-=2}while(y>0);for(f=c;0!==f;f--)for(h=e.bl_count[f];0!==h;)d=e.heap[--u],d>i||(r[2*d+1]!==f&&(e.opt_len+=(f-r[2*d+1])*r[2*d],r[2*d+1]=f),h--)}}(e,t),Is(r,u,e.bl_count)}function Ns(e,t,r){let i,n,a=-1,s=t[1],o=0,c=7,u=4;for(0===s&&(c=138,u=3),t[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=t[2*(i+1)+1],++o<c&&n===s||(o<u?e.bl_tree[2*n]+=o:0!==n?(n!==a&&e.bl_tree[2*n]++,e.bl_tree[2*ds]++):o<=10?e.bl_tree[2*fs]++:e.bl_tree[2*ls]++,o=0,a=n,0===s?(c=138,u=3):n===s?(c=6,u=3):(c=7,u=4))}function Ls(e,t,r){let i,n,a=-1,s=t[1],o=0,c=7,u=4;for(0===s&&(c=138,u=3),i=0;i<=r;i++)if(n=s,s=t[2*(i+1)+1],!(++o<c&&n===s)){if(o<u)do{Us(e,n,e.bl_tree)}while(0!=--o);else 0!==n?(n!==a&&(Us(e,n,e.bl_tree),o--),Us(e,ds,e.bl_tree),Ds(e,o-3,2)):o<=10?(Us(e,fs,e.bl_tree),Ds(e,o-3,3)):(Us(e,ls,e.bl_tree),Ds(e,o-11,7));o=0,a=n,0===s?(c=138,u=3):n===s?(c=6,u=3):(c=7,u=4)}}Xa(As);let js=!1;function Ws(e){js||(!function(){let e,t,r,i,n;const a=Array(os+1);for(r=0,i=0;i<ts-1;i++)for(ks[i]=r,e=0;e<1<<ps[i];e++)_s[r++]=i;for(_s[r-1]=i,n=0,i=0;i<16;i++)for(As[i]=n,e=0;e<1<<ys[i];e++)vs[n++]=i;for(n>>=7;i<ns;i++)for(As[i]=n<<7,e=0;e<1<<ys[i]-7;e++)vs[256+n++]=i;for(t=0;t<=os;t++)a[t]=0;for(e=0;e<=143;)gs[2*e+1]=8,e++,a[8]++;for(;e<=255;)gs[2*e+1]=9,e++,a[9]++;for(;e<=279;)gs[2*e+1]=7,e++,a[7]++;for(;e<=287;)gs[2*e+1]=8,e++,a[8]++;for(Is(gs,is+1,a),e=0;e<ns;e++)ws[2*e+1]=5,ws[2*e]=Rs(e,5);Es=new Ss(gs,ps,rs+1,is,os),Ps=new Ss(ws,ys,0,ns,os),xs=new Ss([],bs,0,as,us)}(),js=!0),e.l_desc=new Ms(e.dyn_ltree,Es),e.d_desc=new Ms(e.dyn_dtree,Ps),e.bl_desc=new Ms(e.bl_tree,xs),e.bi_buf=0,e.bi_valid=0,Bs(e)}function Hs(e,t,r,i){Ds(e,(Qa<<1)+(i?1:0),3),function(e,t,r,i){Ts(e),i&&(Cs(e,r),Cs(e,~r)),Ma(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}function Gs(e){Ds(e,Ja<<1,3),Us(e,hs,gs),function(e){16===e.bi_valid?(Cs(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function Vs(e,t,r,i){let n,a,s=0;e.level>0?(e.strm.data_type===Za&&(e.strm.data_type=function(e){let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return Va;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return $a;for(t=32;t<rs;t++)if(0!==e.dyn_ltree[2*t])return $a;return Va}(e)),Os(e,e.l_desc),Os(e,e.d_desc),s=function(e){let t;for(Ns(e,e.dyn_ltree,e.l_desc.max_code),Ns(e,e.dyn_dtree,e.d_desc.max_code),Os(e,e.bl_desc),t=as-1;t>=3&&0===e.bl_tree[2*ms[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),n=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=n&&(n=a)):n=a=r+5,r+4<=n&&-1!==t?Hs(e,t,r,i):e.strategy===Ga||a===n?(Ds(e,(Ja<<1)+(i?1:0),3),Fs(e,gs,ws)):(Ds(e,(es<<1)+(i?1:0),3),function(e,t,r,i){let n;for(Ds(e,t-257,5),Ds(e,r-1,5),Ds(e,i-4,4),n=0;n<i;n++)Ds(e,e.bl_tree[2*ms[n]+1],3);Ls(e,e.dyn_ltree,t-1),Ls(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),Fs(e,e.dyn_ltree,e.dyn_dtree)),Bs(e),i&&Ts(e)}function $s(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(_s[r]+rs+1)]++,e.dyn_dtree[2*Ks(t)]++),e.last_lit===e.lit_bufsize-1}function Zs(e,t,r,i){let n=65535&e|0,a=e>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+t[i++]|0,a=a+n|0}while(--s);n%=65521,a%=65521}return n|a<<16|0}const Ys=function(){let e;const t=[];for(let r=0;r<256;r++){e=r;for(let t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function Xs(e,t,r,i){const n=Ys,a=i+r;e^=-1;for(let r=i;r<a;r++)e=e>>>8^n[255&(e^t[r])];return-1^e}var Qs={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};const Js=9,eo=3,to=258,ro=to+eo+1,io=32,no=42,ao=69,so=73,oo=91,co=103,uo=113,ho=666,fo=1,lo=2,po=3,yo=4,bo=3;function mo(e,t){return e.msg=Qs[t],t}function go(e){return(e<<1)-(e>4?9:0)}function wo(e){let t=e.length;for(;--t>=0;)e[t]=0}function vo(e){const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(Ma(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function _o(e,t){Vs(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,vo(e.strm)}function ko(e,t){e.pending_buf[e.pending++]=t}function Ao(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function So(e,t,r,i){let n=e.avail_in;return n>i&&(n=i),0===n?0:(e.avail_in-=n,Ma(t,e.input,e.next_in,n,r),1===e.state.wrap?e.adler=Zs(e.adler,t,n,r):2===e.state.wrap&&(e.adler=Xs(e.adler,t,n,r)),e.next_in+=n,e.total_in+=n,n)}function Eo(e,t){let r,i,n=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match;const c=e.strstart>e.w_size-ro?e.strstart-(e.w_size-ro):0,u=e.window,h=e.w_mask,d=e.prev,f=e.strstart+to;let l=u[a+s-1],p=u[a+s];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do{if(r=t,u[r+s]===p&&u[r+s-1]===l&&u[r]===u[a]&&u[++r]===u[a+1]){a+=2,r++;do{}while(u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&a<f);if(i=to-(f-a),a=f-to,i>s){if(e.match_start=t,s=i,i>=o)break;l=u[a+s-1],p=u[a+s]}}}while((t=d[t&h])>c&&0!=--n);return s<=e.lookahead?s:e.lookahead}function Po(e){const t=e.w_size;let r,i,n,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-ro)){Ma(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,r=i;do{n=e.head[--r],e.head[r]=n>=t?n-t:0}while(--i);i=t,r=i;do{n=e.prev[--r],e.prev[r]=n>=t?n-t:0}while(--i);a+=t}if(0===e.strm.avail_in)break;if(i=So(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=eo)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+eo-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<eo)););}while(e.lookahead<ro&&0!==e.strm.avail_in)}function xo(e,t){let r,i;for(;;){if(e.lookahead<ro){if(Po(e),e.lookahead<ro&&t===Ka)return fo;if(0===e.lookahead)break}if(r=0,e.lookahead>=eo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+eo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-ro&&(e.match_length=Eo(e,r)),e.match_length>=eo)if(i=$s(e,e.strstart-e.match_start,e.match_length-eo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=eo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+eo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=$s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(_o(e,!1),0===e.strm.avail_out))return fo}return e.insert=e.strstart<eo-1?e.strstart:eo-1,t===Ra?(_o(e,!0),0===e.strm.avail_out?po:yo):e.last_lit&&(_o(e,!1),0===e.strm.avail_out)?fo:lo}function Mo(e,t){let r,i,n;for(;;){if(e.lookahead<ro){if(Po(e),e.lookahead<ro&&t===Ka)return fo;if(0===e.lookahead)break}if(r=0,e.lookahead>=eo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+eo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=eo-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ro&&(e.match_length=Eo(e,r),e.match_length<=5&&(e.strategy===ja||e.match_length===eo&&e.strstart-e.match_start>4096)&&(e.match_length=eo-1)),e.prev_length>=eo&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-eo,i=$s(e,e.strstart-1-e.prev_match,e.prev_length-eo),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+eo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=eo-1,e.strstart++,i&&(_o(e,!1),0===e.strm.avail_out))return fo}else if(e.match_available){if(i=$s(e,0,e.window[e.strstart-1]),i&&_o(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return fo}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=$s(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<eo-1?e.strstart:eo-1,t===Ra?(_o(e,!0),0===e.strm.avail_out?po:yo):e.last_lit&&(_o(e,!1),0===e.strm.avail_out)?fo:lo}class Ko{constructor(e,t,r,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=i,this.func=n}}const Co=[new Ko(0,0,0,0,(function(e,t){let r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Po(e),0===e.lookahead&&t===Ka)return fo;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;const i=e.block_start+r;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,_o(e,!1),0===e.strm.avail_out))return fo;if(e.strstart-e.block_start>=e.w_size-ro&&(_o(e,!1),0===e.strm.avail_out))return fo}return e.insert=0,t===Ra?(_o(e,!0),0===e.strm.avail_out?po:yo):(e.strstart>e.block_start&&(_o(e,!1),e.strm.avail_out),fo)})),new Ko(4,4,8,4,xo),new Ko(4,5,16,8,xo),new Ko(4,6,32,32,xo),new Ko(4,4,16,16,Mo),new Ko(8,16,32,32,Mo),new Ko(8,16,128,128,Mo),new Ko(8,32,128,256,Mo),new Ko(32,128,258,1024,Mo),new Ko(32,258,258,4096,Mo)];class Do{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ya,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Ea(1146),this.dyn_dtree=new Ea(122),this.bl_tree=new Ea(78),wo(this.dyn_ltree),wo(this.dyn_dtree),wo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ea(16),this.heap=new Ea(573),wo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ea(573),wo(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}}function Uo(e){const t=function(e){let t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=Za,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?no:uo,e.adler=2===t.wrap?0:1,t.last_flush=Ka,Ws(t),Ta):mo(e,Fa)}(e);return t===Ta&&function(e){e.window_size=2*e.w_size,wo(e.head),e.max_lazy_match=Co[e.level].max_lazy,e.good_match=Co[e.level].good_length,e.nice_match=Co[e.level].nice_length,e.max_chain_length=Co[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=eo-1,e.match_available=0,e.ins_h=0}(e.state),t}function Ro(e,t){let r,i,n,a;if(!e||!e.state||t>Ia||t<0)return e?mo(e,Fa):Fa;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===ho&&t!==Ra)return mo(e,0===e.avail_out?Na:Fa);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===no)if(2===i.wrap)e.adler=0,ko(i,31),ko(i,139),ko(i,8),i.gzhead?(ko(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),ko(i,255&i.gzhead.time),ko(i,i.gzhead.time>>8&255),ko(i,i.gzhead.time>>16&255),ko(i,i.gzhead.time>>24&255),ko(i,9===i.level?2:i.strategy>=Wa||i.level<2?4:0),ko(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(ko(i,255&i.gzhead.extra.length),ko(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=Xs(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=ao):(ko(i,0),ko(i,0),ko(i,0),ko(i,0),ko(i,0),ko(i,9===i.level?2:i.strategy>=Wa||i.level<2?4:0),ko(i,bo),i.status=uo);else{let t=Ya+(i.w_bits-8<<4)<<8,r=-1;r=i.strategy>=Wa||i.level<2?0:i.level<6?1:6===i.level?2:3,t|=r<<6,0!==i.strstart&&(t|=io),t+=31-t%31,i.status=uo,Ao(i,t),0!==i.strstart&&(Ao(i,e.adler>>>16),Ao(i,65535&e.adler)),e.adler=1}if(i.status===ao)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(e.adler=Xs(e.adler,i.pending_buf,i.pending-n,n)),vo(e),n=i.pending,i.pending!==i.pending_buf_size));)ko(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(e.adler=Xs(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=so)}else i.status=so;if(i.status===so)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=Xs(e.adler,i.pending_buf,i.pending-n,n)),vo(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,ko(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>n&&(e.adler=Xs(e.adler,i.pending_buf,i.pending-n,n)),0===a&&(i.gzindex=0,i.status=oo)}else i.status=oo;if(i.status===oo)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=Xs(e.adler,i.pending_buf,i.pending-n,n)),vo(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,ko(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>n&&(e.adler=Xs(e.adler,i.pending_buf,i.pending-n,n)),0===a&&(i.status=co)}else i.status=co;if(i.status===co&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&vo(e),i.pending+2<=i.pending_buf_size&&(ko(i,255&e.adler),ko(i,e.adler>>8&255),e.adler=0,i.status=uo)):i.status=uo),0!==i.pending){if(vo(e),0===e.avail_out)return i.last_flush=-1,Ta}else if(0===e.avail_in&&go(t)<=go(r)&&t!==Ra)return mo(e,Na);if(i.status===ho&&0!==e.avail_in)return mo(e,Na);if(0!==e.avail_in||0!==i.lookahead||t!==Ka&&i.status!==ho){var s=i.strategy===Wa?function(e,t){let r;for(;;){if(0===e.lookahead&&(Po(e),0===e.lookahead)){if(t===Ka)return fo;break}if(e.match_length=0,r=$s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(_o(e,!1),0===e.strm.avail_out))return fo}return e.insert=0,t===Ra?(_o(e,!0),0===e.strm.avail_out?po:yo):e.last_lit&&(_o(e,!1),0===e.strm.avail_out)?fo:lo}(i,t):i.strategy===Ha?function(e,t){let r,i,n,a;const s=e.window;for(;;){if(e.lookahead<=to){if(Po(e),e.lookahead<=to&&t===Ka)return fo;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=eo&&e.strstart>0&&(n=e.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){a=e.strstart+to;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<a);e.match_length=to-(a-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=eo?(r=$s(e,1,e.match_length-eo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=$s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(_o(e,!1),0===e.strm.avail_out))return fo}return e.insert=0,t===Ra?(_o(e,!0),0===e.strm.avail_out?po:yo):e.last_lit&&(_o(e,!1),0===e.strm.avail_out)?fo:lo}(i,t):Co[i.level].func(i,t);if(s!==po&&s!==yo||(i.status=ho),s===fo||s===po)return 0===e.avail_out&&(i.last_flush=-1),Ta;if(s===lo&&(t===Ca?Gs(i):t!==Ia&&(Hs(i,0,0,!1),t===Ua&&(wo(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),vo(e),0===e.avail_out))return i.last_flush=-1,Ta}return t!==Ra?Ta:i.wrap<=0?za:(2===i.wrap?(ko(i,255&e.adler),ko(i,e.adler>>8&255),ko(i,e.adler>>16&255),ko(i,e.adler>>24&255),ko(i,255&e.total_in),ko(i,e.total_in>>8&255),ko(i,e.total_in>>16&255),ko(i,e.total_in>>24&255)):(Ao(i,e.adler>>>16),Ao(i,65535&e.adler)),vo(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?Ta:za)}try{String.fromCharCode.call(null,0)}catch(e){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){}const Io=new Sa(256);for(let e=0;e<256;e++)Io[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;function Bo(e){let t,r,i,n,a=0;const s=e.length;for(i=0;i<s;i++)t=e.charCodeAt(i),55296==(64512&t)&&i+1<s&&(r=e.charCodeAt(i+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),i++)),a+=t<128?1:t<2048?2:t<65536?3:4;const o=new Sa(a);for(n=0,i=0;n<a;i++)t=e.charCodeAt(i),55296==(64512&t)&&i+1<s&&(r=e.charCodeAt(i+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),i++)),t<128?o[n++]=t:t<2048?(o[n++]=192|t>>>6,o[n++]=128|63&t):t<65536?(o[n++]=224|t>>>12,o[n++]=128|t>>>6&63,o[n++]=128|63&t):(o[n++]=240|t>>>18,o[n++]=128|t>>>12&63,o[n++]=128|t>>>6&63,o[n++]=128|63&t);return o}Io[254]=Io[254]=1;class To{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}class zo{constructor(e){this.options={level:La,method:Ya,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,...e||{}};const t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new To,this.strm.avail_out=0;var r,i,n=function(e,t,r,i,n,a){if(!e)return Fa;let s=1;if(t===La&&(t=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>Js||r!==Ya||i<8||i>15||t<0||t>9||a<0||a>Ga)return mo(e,Fa);8===i&&(i=9);const o=new Do;return e.state=o,o.strm=e,o.wrap=s,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+eo-1)/eo),o.window=new Sa(2*o.w_size),o.head=new Ea(o.hash_size),o.prev=new Ea(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Sa(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=a,o.method=r,Uo(e)}(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Ta)throw Error(Qs[n]);if(t.header&&(r=this.strm,i=t.header,r&&r.state&&(2!==r.state.wrap||(r.state.gzhead=i))),t.dictionary){let e;if(e="string"==typeof t.dictionary?Bo(t.dictionary):t.dictionary instanceof ArrayBuffer?new Uint8Array(t.dictionary):t.dictionary,n=function(e,t){let r,i,n,a,s,o,c,u,h=t.length;if(!e||!e.state)return Fa;if(r=e.state,a=r.wrap,2===a||1===a&&r.status!==no||r.lookahead)return Fa;for(1===a&&(e.adler=Zs(e.adler,t,h,0)),r.wrap=0,h>=r.w_size&&(0===a&&(wo(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new Sa(r.w_size),Ma(u,t,h-r.w_size,r.w_size,0),t=u,h=r.w_size),s=e.avail_in,o=e.next_in,c=e.input,e.avail_in=h,e.next_in=0,e.input=t,Po(r);r.lookahead>=eo;){i=r.strstart,n=r.lookahead-(eo-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+eo-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++}while(--n);r.strstart=i,r.lookahead=eo-1,Po(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=eo-1,r.match_available=0,e.next_in=o,e.input=c,e.avail_in=s,r.wrap=a,Ta}(this.strm,e),n!==Ta)throw Error(Qs[n]);this._dict_set=!0}}push(e,t){const{strm:r,options:{chunkSize:i}}=this;var n,a;if(this.ended)return!1;a=t===~~t?t:!0===t?Ra:Ka,"string"==typeof e?r.input=Bo(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new Sa(i),r.next_out=0,r.avail_out=i),(n=Ro(r,a))!==za&&n!==Ta)return this.onEnd(n),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||a!==Ra&&a!==Da)||this.onData(_a(r.output,r.next_out))}while((r.avail_in>0||0===r.avail_out)&&n!==za);return a===Ra?(n=function(e){let t;return e&&e.state?(t=e.state.status,t!==no&&t!==ao&&t!==so&&t!==oo&&t!==co&&t!==uo&&t!==ho?mo(e,Fa):(e.state=null,t===uo?mo(e,Oa):Ta)):Fa}(this.strm),this.onEnd(n),this.ended=!0,n===Ta):a!==Da||(this.onEnd(Ta),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ta&&(this.result=xa(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}const qo=30,Fo=12;function Oo(e,t){let r,i,n,a,s,o,c,u,h,d;const f=e.state;r=e.next_in;const l=e.input,p=r+(e.avail_in-5);i=e.next_out;const y=e.output,b=i-(t-e.avail_out),m=i+(e.avail_out-257),g=f.dmax,w=f.wsize,v=f.whave,_=f.wnext,k=f.window;n=f.hold,a=f.bits;const A=f.lencode,S=f.distcode,E=(1<<f.lenbits)-1,P=(1<<f.distbits)-1;e:do{a<15&&(n+=l[r++]<<a,a+=8,n+=l[r++]<<a,a+=8),s=A[n&E];t:for(;;){if(o=s>>>24,n>>>=o,a-=o,o=s>>>16&255,0===o)y[i++]=65535&s;else{if(!(16&o)){if(0==(64&o)){s=A[(65535&s)+(n&(1<<o)-1)];continue t}if(32&o){f.mode=Fo;break e}e.msg="invalid literal/length code",f.mode=qo;break e}c=65535&s,o&=15,o&&(a<o&&(n+=l[r++]<<a,a+=8),c+=n&(1<<o)-1,n>>>=o,a-=o),a<15&&(n+=l[r++]<<a,a+=8,n+=l[r++]<<a,a+=8),s=S[n&P];r:for(;;){if(o=s>>>24,n>>>=o,a-=o,o=s>>>16&255,!(16&o)){if(0==(64&o)){s=S[(65535&s)+(n&(1<<o)-1)];continue r}e.msg="invalid distance code",f.mode=qo;break e}if(u=65535&s,o&=15,a<o&&(n+=l[r++]<<a,a+=8,a<o&&(n+=l[r++]<<a,a+=8)),u+=n&(1<<o)-1,u>g){e.msg="invalid distance too far back",f.mode=qo;break e}if(n>>>=o,a-=o,o=i-b,u>o){if(o=u-o,o>v&&f.sane){e.msg="invalid distance too far back",f.mode=qo;break e}if(h=0,d=k,0===_){if(h+=w-o,o<c){c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,d=y}}else if(_<o){if(h+=w+_-o,o-=_,o<c){c-=o;do{y[i++]=k[h++]}while(--o);if(h=0,_<c){o=_,c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,d=y}}}else if(h+=_-o,o<c){c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,d=y}for(;c>2;)y[i++]=d[h++],y[i++]=d[h++],y[i++]=d[h++],c-=3;c&&(y[i++]=d[h++],c>1&&(y[i++]=d[h++]))}else{h=i-u;do{y[i++]=y[h++],y[i++]=y[h++],y[i++]=y[h++],c-=3}while(c>2);c&&(y[i++]=y[h++],c>1&&(y[i++]=y[h++]))}break}}break}}while(r<p&&i<m);c=a>>3,r-=c,a-=c<<3,n&=(1<<a)-1,e.next_in=r,e.next_out=i,e.avail_in=r<p?p-r+5:5-(r-p),e.avail_out=i<m?m-i+257:257-(i-m),f.hold=n,f.bits=a}const No=15,Lo=852,jo=592,Wo=0,Ho=1,Go=2,Vo=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],$o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Zo=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Yo=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function Xo(e,t,r,i,n,a,s,o){const c=o.bits;let u,h,d,f,l,p=0,y=0,b=0,m=0,g=0,w=0,v=0,_=0,k=0,A=0,S=null,E=0;const P=new Ea(No+1),x=new Ea(No+1);let M,K,C,D=null,U=0;for(p=0;p<=No;p++)P[p]=0;for(y=0;y<i;y++)P[t[r+y]]++;for(g=c,m=No;m>=1&&0===P[m];m--);if(g>m&&(g=m),0===m)return n[a++]=20971520,n[a++]=20971520,o.bits=1,0;for(b=1;b<m&&0===P[b];b++);for(g<b&&(g=b),_=1,p=1;p<=No;p++)if(_<<=1,_-=P[p],_<0)return-1;if(_>0&&(e===Wo||1!==m))return-1;for(x[1]=0,p=1;p<No;p++)x[p+1]=x[p]+P[p];for(y=0;y<i;y++)0!==t[r+y]&&(s[x[t[r+y]]++]=y);e===Wo?(S=D=s,l=19):e===Ho?(S=Vo,E-=257,D=$o,U-=257,l=256):(S=Zo,D=Yo,l=-1),A=0,y=0,p=b,f=a,w=g,v=0,d=-1,k=1<<g;const R=k-1;if(e===Ho&&k>Lo||e===Go&&k>jo)return 1;for(;;){M=p-v,s[y]<l?(K=0,C=s[y]):s[y]>l?(K=D[U+s[y]],C=S[E+s[y]]):(K=96,C=0),u=1<<p-v,h=1<<w,b=h;do{h-=u,n[f+(A>>v)+h]=M<<24|K<<16|C|0}while(0!==h);for(u=1<<p-1;A&u;)u>>=1;if(0!==u?(A&=u-1,A+=u):A=0,y++,0==--P[p]){if(p===m)break;p=t[r+s[y]]}if(p>g&&(A&R)!==d){for(0===v&&(v=g),f+=b,w=p-v,_=1<<w;w+v<m&&(_-=P[w+v],!(_<=0));)w++,_<<=1;if(k+=1<<w,e===Ho&&k>Lo||e===Go&&k>jo)return 1;d=A&R,n[d]=g<<24|w<<16|f-a|0}}return 0!==A&&(n[f+A]=p-v<<24|64<<16|0),o.bits=g,0}const Qo=0,Jo=1,ec=2,tc=1,rc=2,ic=3,nc=4,ac=5,sc=6,oc=7,cc=8,uc=9,hc=10,dc=11,fc=12,lc=13,pc=14,yc=15,bc=16,mc=17,gc=18,wc=19,vc=20,_c=21,kc=22,Ac=23,Sc=24,Ec=25,Pc=26,xc=27,Mc=28,Kc=29,Cc=30,Dc=852,Uc=592;function Rc(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}class Ic{constructor(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Ea(320),this.work=new Ea(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function Bc(e){let t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,function(e){let t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=tc,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Pa(Dc),t.distcode=t.distdyn=new Pa(Uc),t.sane=1,t.back=-1,Ta):Fa}(e)):Fa}function Tc(e,t){let r,i;return e?(i=new Ic,e.state=i,i.window=null,r=function(e,t){let r,i;return e&&e.state?(i=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Fa:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=r,i.wbits=t,Bc(e))):Fa}(e,t),r!==Ta&&(e.state=null),r):Fa}let zc,qc,Fc=!0;function Oc(e){if(Fc){let t;for(zc=new Pa(512),qc=new Pa(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Xo(Jo,e.lens,0,288,zc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Xo(ec,e.lens,0,32,qc,0,e.work,{bits:5}),Fc=!1}e.lencode=zc,e.lenbits=9,e.distcode=qc,e.distbits=5}function Nc(e,t,r,i){let n;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Sa(a.wsize)),i>=a.wsize?(Ma(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),Ma(a.window,t,r-i,n,a.wnext),(i-=n)?(Ma(a.window,t,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}function Lc(e,t){let r,i,n,a,s,o,c,u,h,d,f,l,p,y,b,m,g,w,v,_,k,A,S,E,P=0,x=new Sa(4);const M=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Fa;r=e.state,r.mode===fc&&(r.mode=lc),s=e.next_out,n=e.output,c=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,u=r.hold,h=r.bits,d=o,f=c,A=Ta;e:for(;;)switch(r.mode){case tc:if(0===r.wrap){r.mode=lc;break}for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(2&r.wrap&&35615===u){r.check=0,x[0]=255&u,x[1]=u>>>8&255,r.check=Xs(r.check,x,2,0),u=0,h=0,r.mode=rc;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=Cc;break}if((15&u)!==Ya){e.msg="unknown compression method",r.mode=Cc;break}if(u>>>=4,h-=4,k=8+(15&u),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=Cc;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?hc:fc,u=0,h=0;break;case rc:for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(r.flags=u,(255&r.flags)!==Ya){e.msg="unknown compression method",r.mode=Cc;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=Cc;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(x[0]=255&u,x[1]=u>>>8&255,r.check=Xs(r.check,x,2,0)),u=0,h=0,r.mode=ic;case ic:for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.head&&(r.head.time=u),512&r.flags&&(x[0]=255&u,x[1]=u>>>8&255,x[2]=u>>>16&255,x[3]=u>>>24&255,r.check=Xs(r.check,x,4,0)),u=0,h=0,r.mode=nc;case nc:for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(x[0]=255&u,x[1]=u>>>8&255,r.check=Xs(r.check,x,2,0)),u=0,h=0,r.mode=ac;case ac:if(1024&r.flags){for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(x[0]=255&u,x[1]=u>>>8&255,r.check=Xs(r.check,x,2,0)),u=0,h=0}else r.head&&(r.head.extra=null);r.mode=sc;case sc:if(1024&r.flags&&(l=r.length,l>o&&(l=o),l&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=Array(r.head.extra_len)),Ma(r.head.extra,i,a,l,k)),512&r.flags&&(r.check=Xs(r.check,i,l,a)),o-=l,a+=l,r.length-=l),r.length))break e;r.length=0,r.mode=oc;case oc:if(2048&r.flags){if(0===o)break e;l=0;do{k=i[a+l++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k))}while(k&&l<o);if(512&r.flags&&(r.check=Xs(r.check,i,l,a)),o-=l,a+=l,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=cc;case cc:if(4096&r.flags){if(0===o)break e;l=0;do{k=i[a+l++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k))}while(k&&l<o);if(512&r.flags&&(r.check=Xs(r.check,i,l,a)),o-=l,a+=l,k)break e}else r.head&&(r.head.comment=null);r.mode=uc;case uc:if(512&r.flags){for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=Cc;break}u=0,h=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=fc;break;case hc:for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}e.adler=r.check=Rc(u),u=0,h=0,r.mode=dc;case dc:if(0===r.havedict)return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,qa;e.adler=r.check=1,r.mode=fc;case fc:if(t===Ia||t===Ba)break e;case lc:if(r.last){u>>>=7&h,h-=7&h,r.mode=xc;break}for(;h<3;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}switch(r.last=1&u,u>>>=1,h-=1,3&u){case 0:r.mode=pc;break;case 1:if(Oc(r),r.mode=vc,t===Ba){u>>>=2,h-=2;break e}break;case 2:r.mode=mc;break;case 3:e.msg="invalid block type",r.mode=Cc}u>>>=2,h-=2;break;case pc:for(u>>>=7&h,h-=7&h;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=Cc;break}if(r.length=65535&u,u=0,h=0,r.mode=yc,t===Ba)break e;case yc:r.mode=bc;case bc:if(l=r.length,l){if(l>o&&(l=o),l>c&&(l=c),0===l)break e;Ma(n,i,a,l,s),o-=l,a+=l,c-=l,s+=l,r.length-=l;break}r.mode=fc;break;case mc:for(;h<14;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(r.nlen=257+(31&u),u>>>=5,h-=5,r.ndist=1+(31&u),u>>>=5,h-=5,r.ncode=4+(15&u),u>>>=4,h-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=Cc;break}r.have=0,r.mode=gc;case gc:for(;r.have<r.ncode;){for(;h<3;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.lens[M[r.have++]]=7&u,u>>>=3,h-=3}for(;r.have<19;)r.lens[M[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},A=Xo(Qo,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,A){e.msg="invalid code lengths set",r.mode=Cc;break}r.have=0,r.mode=wc;case wc:for(;r.have<r.nlen+r.ndist;){for(;P=r.lencode[u&(1<<r.lenbits)-1],b=P>>>24,m=P>>>16&255,g=65535&P,!(b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(g<16)u>>>=b,h-=b,r.lens[r.have++]=g;else{if(16===g){for(E=b+2;h<E;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u>>>=b,h-=b,0===r.have){e.msg="invalid bit length repeat",r.mode=Cc;break}k=r.lens[r.have-1],l=3+(3&u),u>>>=2,h-=2}else if(17===g){for(E=b+3;h<E;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=b,h-=b,k=0,l=3+(7&u),u>>>=3,h-=3}else{for(E=b+7;h<E;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=b,h-=b,k=0,l=11+(127&u),u>>>=7,h-=7}if(r.have+l>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=Cc;break}for(;l--;)r.lens[r.have++]=k}}if(r.mode===Cc)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=Cc;break}if(r.lenbits=9,S={bits:r.lenbits},A=Xo(Jo,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,A){e.msg="invalid literal/lengths set",r.mode=Cc;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},A=Xo(ec,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,A){e.msg="invalid distances set",r.mode=Cc;break}if(r.mode=vc,t===Ba)break e;case vc:r.mode=_c;case _c:if(o>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,Oo(e,f),s=e.next_out,n=e.output,c=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,u=r.hold,h=r.bits,r.mode===fc&&(r.back=-1);break}for(r.back=0;P=r.lencode[u&(1<<r.lenbits)-1],b=P>>>24,m=P>>>16&255,g=65535&P,!(b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(m&&0==(240&m)){for(w=b,v=m,_=g;P=r.lencode[_+((u&(1<<w+v)-1)>>w)],b=P>>>24,m=P>>>16&255,g=65535&P,!(w+b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=w,h-=w,r.back+=w}if(u>>>=b,h-=b,r.back+=b,r.length=g,0===m){r.mode=Pc;break}if(32&m){r.back=-1,r.mode=fc;break}if(64&m){e.msg="invalid literal/length code",r.mode=Cc;break}r.extra=15&m,r.mode=kc;case kc:if(r.extra){for(E=r.extra;h<E;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,h-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Ac;case Ac:for(;P=r.distcode[u&(1<<r.distbits)-1],b=P>>>24,m=P>>>16&255,g=65535&P,!(b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(0==(240&m)){for(w=b,v=m,_=g;P=r.distcode[_+((u&(1<<w+v)-1)>>w)],b=P>>>24,m=P>>>16&255,g=65535&P,!(w+b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=w,h-=w,r.back+=w}if(u>>>=b,h-=b,r.back+=b,64&m){e.msg="invalid distance code",r.mode=Cc;break}r.offset=g,r.extra=15&m,r.mode=Sc;case Sc:if(r.extra){for(E=r.extra;h<E;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,h-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=Cc;break}r.mode=Ec;case Ec:if(0===c)break e;if(l=f-c,r.offset>l){if(l=r.offset-l,l>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=Cc;break}l>r.wnext?(l-=r.wnext,p=r.wsize-l):p=r.wnext-l,l>r.length&&(l=r.length),y=r.window}else y=n,p=s-r.offset,l=r.length;l>c&&(l=c),c-=l,r.length-=l;do{n[s++]=y[p++]}while(--l);0===r.length&&(r.mode=_c);break;case Pc:if(0===c)break e;n[s++]=r.length,c--,r.mode=_c;break;case xc:if(r.wrap){for(;h<32;){if(0===o)break e;o--,u|=i[a++]<<h,h+=8}if(f-=c,e.total_out+=f,r.total+=f,f&&(e.adler=r.check=r.flags?Xs(r.check,n,f,s-f):Zs(r.check,n,f,s-f)),f=c,(r.flags?u:Rc(u))!==r.check){e.msg="incorrect data check",r.mode=Cc;break}u=0,h=0}r.mode=Mc;case Mc:if(r.wrap&&r.flags){for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=Cc;break}u=0,h=0}r.mode=Kc;case Kc:A=za;break e;case Cc:A=Oa;break e;default:return Fa}return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,(r.wsize||f!==e.avail_out&&r.mode<Cc&&(r.mode<xc||t!==Ra))&&Nc(e,e.output,e.next_out,f-e.avail_out),d-=e.avail_in,f-=e.avail_out,e.total_in+=d,e.total_out+=f,r.total+=f,r.wrap&&f&&(e.adler=r.check=r.flags?Xs(r.check,n,f,e.next_out-f):Zs(r.check,n,f,e.next_out-f)),e.data_type=r.bits+(r.last?64:0)+(r.mode===fc?128:0)+(r.mode===vc||r.mode===yc?256:0),(0===d&&0===f||t===Ra)&&A===Ta&&(A=Na),A}function jc(e,t){const r=t.length;let i,n;return e&&e.state?(i=e.state,0!==i.wrap&&i.mode!==dc?Fa:i.mode===dc&&(n=1,n=Zs(n,t,r,0),n!==i.check)?Oa:(Nc(e,t,r,r),i.havedict=1,Ta)):Fa}class Wc{constructor(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}}class Hc{constructor(e){this.options={chunkSize:16384,windowBits:0,...e||{}};const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new To,this.strm.avail_out=0;let r=Tc(this.strm,t.windowBits);if(r!==Ta)throw Error(Qs[r]);if(this.header=new Wc,function(e,t){let r;e&&e.state&&(r=e.state,0==(2&r.wrap)||(r.head=t,t.done=!1))}(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Bo(t.dictionary):t.dictionary instanceof ArrayBuffer&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=jc(this.strm,t.dictionary),r!==Ta)))throw Error(Qs[r])}push(e,t){const{strm:r,options:{chunkSize:i,dictionary:n}}=this;let a,s,o=!1;if(this.ended)return!1;s=t===~~t?t:!0===t?Ra:Ka,"string"==typeof e?r.input=function(e){const t=new Sa(e.length);for(let r=0,i=t.length;r<i;r++)t[r]=e.charCodeAt(r);return t}(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new Sa(i),r.next_out=0,r.avail_out=i),a=Lc(r,Ka),a===qa&&n&&(a=jc(this.strm,n)),a===Na&&!0===o&&(a=Ta,o=!1),a!==za&&a!==Ta)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(0!==r.avail_out&&a!==za&&(0!==r.avail_in||s!==Ra&&s!==Da)||this.onData(_a(r.output,r.next_out))),0===r.avail_in&&0===r.avail_out&&(o=!0)}while((r.avail_in>0||0===r.avail_out)&&a!==za);return a===za&&(s=Ra),s===Ra?(a=function(e){if(!e||!e.state)return Fa;const t=e.state;return t.window&&(t.window=null),e.state=null,Ta}(this.strm),this.onEnd(a),this.ended=!0,a===Ta):s!==Da||(this.onEnd(Ta),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ta&&(this.result=xa(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}var Gc=[0,1,3,7,15,31,63,127,255],Vc=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};Vc.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},Vc.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=Gc[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var i=r-e;t|=(this.curByte&Gc[e]<<i)>>i,this.bitOffset+=e,e=0}}return t},Vc.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},Vc.prototype.pi=function(){var e,t=new Uint8Array(6);for(e=0;e<t.length;e++)t[e]=this.read(8);return function(e){return Array.prototype.map.call(e,(e=>("00"+e.toString(16)).slice(-2))).join("")}(t)};var $c=Vc,Zc=function(){};Zc.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},Zc.prototype.read=function(e,t,r){for(var i=0;i<r;){var n=this.readByte();if(n<0)return 0===i?-1:i;e[t++]=n,i++}return i},Zc.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},Zc.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},Zc.prototype.write=function(e,t,r){var i;for(i=0;i<r;i++)this.writeByte(e[t++]);return r},Zc.prototype.flush=function(){};var Yc,Xc=Zc,Qc=(Yc=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),function(){var e=4294967295;this.getCRC=function(){return~e>>>0},this.updateCRC=function(t){e=e<<8^Yc[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^Yc[255&(e>>>24^t)]}}),Jc=function(e,t){var r,i=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=i,i},eu={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},tu={};tu[eu.LAST_BLOCK]="Bad file checksum",tu[eu.NOT_BZIP_DATA]="Not bzip data",tu[eu.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",tu[eu.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",tu[eu.DATA_ERROR]="Data error",tu[eu.OUT_OF_MEMORY]="Out of memory",tu[eu.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var ru=function(e,t){var r=tu[e]||"unknown error";t&&(r+=": "+t);var i=new TypeError(r);throw i.errorCode=e,i},iu=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};iu.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new Qc,!0):(this.writeCount=-1,!1)},iu.prototype._start_bunzip=function(e,t){var r=new Uint8Array(4);4===e.read(r,0,4)&&"BZh"===String.fromCharCode(r[0],r[1],r[2])||ru(eu.NOT_BZIP_DATA,"bad magic");var i=r[3]-48;(i<1||i>9)&&ru(eu.NOT_BZIP_DATA,"level out of range"),this.reader=new $c(e),this.dbufSize=1e5*i,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},iu.prototype._get_next_block=function(){var e,t,r,i=this.reader,n=i.pi();if("177245385090"===n)return!1;"314159265359"!==n&&ru(eu.NOT_BZIP_DATA),this.targetBlockCRC=i.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,i.read(1)&&ru(eu.OBSOLETE_INPUT);var a=i.read(24);a>this.dbufSize&&ru(eu.DATA_ERROR,"initial position out of bounds");var s=i.read(16),o=new Uint8Array(256),c=0;for(e=0;e<16;e++)if(s&1<<15-e){var u=16*e;for(r=i.read(16),t=0;t<16;t++)r&1<<15-t&&(o[c++]=u+t)}var h=i.read(3);(h<2||h>6)&&ru(eu.DATA_ERROR);var d=i.read(15);0===d&&ru(eu.DATA_ERROR);var f=new Uint8Array(256);for(e=0;e<h;e++)f[e]=e;var l=new Uint8Array(d);for(e=0;e<d;e++){for(t=0;i.read(1);t++)t>=h&&ru(eu.DATA_ERROR);l[e]=Jc(f,t)}var p,y=c+2,b=[];for(t=0;t<h;t++){var m,g,w=new Uint8Array(y),v=new Uint16Array(21);for(s=i.read(5),e=0;e<y;e++){for(;(s<1||s>20)&&ru(eu.DATA_ERROR),i.read(1);)i.read(1)?s--:s++;w[e]=s}for(m=g=w[0],e=1;e<y;e++)w[e]>g?g=w[e]:w[e]<m&&(m=w[e]);p={},b.push(p),p.permute=new Uint16Array(258),p.limit=new Uint32Array(22),p.base=new Uint32Array(21),p.minLen=m,p.maxLen=g;var _=0;for(e=m;e<=g;e++)for(v[e]=p.limit[e]=0,s=0;s<y;s++)w[s]===e&&(p.permute[_++]=s);for(e=0;e<y;e++)v[w[e]]++;for(_=s=0,e=m;e<g;e++)_+=v[e],p.limit[e]=_-1,_<<=1,s+=v[e],p.base[e+1]=_-s;p.limit[g+1]=Number.MAX_VALUE,p.limit[g]=_+v[g]-1,p.base[m]=0}var k=new Uint32Array(256);for(e=0;e<256;e++)f[e]=e;var A,S=0,E=0,P=0,x=this.dbuf=new Uint32Array(this.dbufSize);for(y=0;;){for(y--||(y=49,P>=d&&ru(eu.DATA_ERROR),p=b[l[P++]]),e=p.minLen,t=i.read(e);e>p.maxLen&&ru(eu.DATA_ERROR),!(t<=p.limit[e]);e++)t=t<<1|i.read(1);((t-=p.base[e])<0||t>=258)&&ru(eu.DATA_ERROR);var M=p.permute[t];if(0!==M&&1!==M){if(S)for(S=0,E+s>this.dbufSize&&ru(eu.DATA_ERROR),k[A=o[f[0]]]+=s;s--;)x[E++]=A;if(M>c)break;E>=this.dbufSize&&ru(eu.DATA_ERROR),k[A=o[A=Jc(f,e=M-1)]]++,x[E++]=A}else S||(S=1,s=0),s+=0===M?S:2*S,S<<=1}for((a<0||a>=E)&&ru(eu.DATA_ERROR),t=0,e=0;e<256;e++)r=t+k[e],k[e]=t,t=r;for(e=0;e<E;e++)x[k[A=255&x[e]]]|=e<<8,k[A]++;var K=0,C=0,D=0;return E&&(C=255&(K=x[a]),K>>=8,D=-1),this.writePos=K,this.writeCurrent=C,this.writeCount=E,this.writeRun=D,!0},iu.prototype._read_bunzip=function(e,t){var r,i,n;if(this.writeCount<0)return 0;var a=this.dbuf,s=this.writePos,o=this.writeCurrent,c=this.writeCount;this.outputsize;for(var u=this.writeRun;c;){for(c--,i=o,o=255&(s=a[s]),s>>=8,3==u++?(r=o,n=i,o=-1):(r=1,n=o),this.blockCRC.updateCRCRun(n,r);r--;)this.outputStream.writeByte(n),this.nextoutput++;o!=i&&(u=0)}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&ru(eu.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var nu=function(e){if("readByte"in e)return e;var t=new Xc;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},au=function(e){var t=new Xc,r=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),r=!1;else{if("writeByte"in e)return e;t.buffer=e,r=!1}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(r&&this.pos>=this.buffer.length){var t=new Uint8Array(2*this.buffer.length);t.set(this.buffer),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!r)throw new TypeError("outputsize does not match decoded input");var e=new Uint8Array(this.pos);e.set(this.buffer.subarray(0,this.pos)),this.buffer=e}return this.buffer},t._coerced=!0,t};var su=function(e,t,r){for(var i=nu(e),n=au(t),a=new iu(i,n);!("eof"in i)||!i.eof();)if(a._init_block())a._read_bunzip();else{var s=a.reader.read(32)>>>0;if(s!==a.streamCRC&&ru(eu.DATA_ERROR,"Bad stream CRC (got "+a.streamCRC.toString(16)+" expected "+s.toString(16)+")"),!r||!("eof"in i)||i.eof())break;a._start_bunzip(i,n)}if("getBuffer"in n)return n.getBuffer()};class ou{static get tag(){return ie.packet.literalData}constructor(e=new Date){this.format=ie.literal.utf8,this.date=$.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=ie.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||$.isStream(this.text))&&(this.text=$.decodeUTF8($.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=$.canonicalizeEOL($.encodeUTF8(this.text))),e?F(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await z(e,(async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=$.decodeUTF8(await e.readBytes(r)),this.date=$.readDate(await e.readBytes(4));let i=e.remainder();s(i)&&(i=await L(i)),this.setBytes(i,t)}))}writeHeader(){const e=$.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),i=$.writeDate(this.date);return $.concatUint8Array([r,t,e,i])}write(){const e=this.writeHeader(),t=this.getBytes();return $.concat([e,t])}}const cu=Symbol("verified"),uu=new Set([ie.signatureSubpacket.issuer,ie.signatureSubpacket.issuerFingerprint,ie.signatureSubpacket.embeddedSignature]);class hu{static get tag(){return ie.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.signedHashValue=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new pe,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.revoked=null,this[cu]=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new bn(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[t++],this.publicKeyAlgorithm=e[t++],this.hashAlgorithm=e[t++],t+=this.readSubPackets(e.subarray(t,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");this.signatureData=e.subarray(0,t),t+=this.readSubPackets(e.subarray(t,e.length),!1),this.signedHashValue=e.subarray(t,t+2),t+=2,this.params=wa.signature.parseSignatureParams(this.publicKeyAlgorithm,e.subarray(t,e.length))}writeParams(){return this.params instanceof Promise?W((async()=>wa.serializeParams(this.publicKeyAlgorithm,await this.params))):wa.serializeParams(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),e.push(this.writeParams()),$.concat(e)}async sign(e,t,r=new Date,i=!1){5===e.version?this.version=5:this.version=4;const n=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];this.created=$.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID(),n.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=$.concat(n);const a=this.toHash(this.signatureType,t,i),s=await this.hash(this.signatureType,t,a,i);this.signedHashValue=N(q(s),0,2);const o=async()=>wa.signature.sign(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await L(s));$.isStream(s)?this.params=o():(this.params=await o(),this[cu]=!0)}writeHashedSubPackets(){const e=ie.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(du(e.signatureCreationTime,!0,$.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(du(e.signatureExpirationTime,!0,$.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(du(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(du(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(du(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(du(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(du(e.keyExpirationTime,!0,$.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=$.stringToUint8Array($.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(du(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=$.concat([r,this.revocationKeyFingerprint]),t.push(du(e.revocationKey,!1,r))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||t.push(du(e.issuer,!0,this.issuerKeyID.write())),this.rawNotations.forEach((({name:i,value:n,humanReadable:a,critical:s})=>{r=[new Uint8Array([a?128:0,0,0,0])];const o=$.encodeUTF8(i);r.push($.writeNumber(o.length,2)),r.push($.writeNumber(n.length,2)),r.push(o),r.push(n),r=$.concat(r),t.push(du(e.notationData,s,r))})),null!==this.preferredHashAlgorithms&&(r=$.stringToUint8Array($.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(du(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=$.stringToUint8Array($.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(du(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=$.stringToUint8Array($.uint8ArrayToString(this.keyServerPreferences)),t.push(du(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(du(e.preferredKeyServer,!1,$.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(du(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(du(e.policyURI,!1,$.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=$.stringToUint8Array($.uint8ArrayToString(this.keyFlags)),t.push(du(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(du(e.signersUserID,!1,$.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=$.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(du(e.reasonForRevocation,!0,r))),null!==this.features&&(r=$.stringToUint8Array($.uint8ArrayToString(this.features)),t.push(du(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push($.stringToUint8Array(this.signatureTargetHash)),r=$.concat(r),t.push(du(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(du(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=$.concat(r),t.push(du(e.issuerFingerprint,5===this.version,r))),null!==this.preferredAEADAlgorithms&&(r=$.stringToUint8Array($.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(du(e.preferredAEADAlgorithms,!1,r)));const i=$.concat(t),n=$.writeNumber(i.length,2);return $.concat([n,i])}writeUnhashedSubPackets(){const e=[];this.unhashedSubpackets.forEach((t=>{e.push(hn(t.length)),e.push(t)}));const t=$.concat(e),r=$.writeNumber(t.length,2);return $.concat([r,t])}readSubPacket(e,t=!0){let r=0;const i=!!(128&e[r]),n=127&e[r];if(t||(this.unhashedSubpackets.push(e.subarray(r,e.length)),uu.has(n)))switch(r++,n){case ie.signatureSubpacket.signatureCreationTime:this.created=$.readDate(e.subarray(r,e.length));break;case ie.signatureSubpacket.signatureExpirationTime:{const t=$.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case ie.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case ie.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case ie.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case ie.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case ie.signatureSubpacket.keyExpirationTime:{const t=$.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case ie.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case ie.signatureSubpacket.issuer:this.issuerKeyID.read(e.subarray(r,e.length));break;case ie.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const n=$.readNumber(e.subarray(r,r+2));r+=2;const a=$.readNumber(e.subarray(r,r+2));r+=2;const s=$.decodeUTF8(e.subarray(r,r+n)),o=e.subarray(r+n,r+n+a);this.rawNotations.push({name:s,humanReadable:t,value:o,critical:i}),t&&(this.notations[s]=$.decodeUTF8(o));break}case ie.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=$.decodeUTF8(e.subarray(r,e.length));break;case ie.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case ie.signatureSubpacket.policyURI:this.policyURI=$.decodeUTF8(e.subarray(r,e.length));break;case ie.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.signersUserID:this.signersUserID=$.decodeUTF8(e.subarray(r,e.length));break;case ie.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=$.decodeUTF8(e.subarray(r,e.length));break;case ie.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=wa.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=$.uint8ArrayToString(e.subarray(r,r+t));break}case ie.signatureSubpacket.embeddedSignature:this.embeddedSignature=new hu,this.embeddedSignature.read(e.subarray(r,e.length));break;case ie.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),5===this.issuerKeyVersion?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case ie.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;default:{const e=Error("Unknown signature subpacket type "+n);if(i)throw e;$.printDebug(e)}}}readSubPackets(e,t=!0,r){const i=$.readNumber(e.subarray(0,2));let n=2;for(;n<2+i;){const i=un(e.subarray(n,e.length));n+=i.offset,this.readSubPacket(e.subarray(n,n+i.len),t,r),n+=i.len}return n}toSign(e,t){const r=ie.signature;switch(e){case r.binary:return null!==t.text?$.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return $.canonicalizeEOL(e)}case r.standalone:return new Uint8Array(0);case r.certGeneric:case r.certPersona:case r.certCasual:case r.certPositive:case r.certRevocation:{let e,i;if(t.userID)i=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");i=209,e=t.userAttribute}const n=e.write();return $.concat([this.toSign(r.key,t),new Uint8Array([i]),$.writeNumber(n.length,4),n])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return $.concat([this.toSign(r.key,t),this.toSign(r.key,{key:t.bind})]);case r.key:if(void 0===t.key)throw Error("Key packet is required for this signature.");return t.key.writeForHash(this.version);case r.keyRevocation:return this.toSign(r.key,t);case r.timestamp:return new Uint8Array(0);case r.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(e,t){let r=0;return B(q(this.signatureData),(e=>{r+=e.length}),(()=>{const i=[];return 5!==this.version||this.signatureType!==ie.signature.binary&&this.signatureType!==ie.signature.text||(t?i.push(new Uint8Array(6)):i.push(e.writeHeader())),i.push(new Uint8Array([this.version,255])),5===this.version&&i.push(new Uint8Array(4)),i.push($.writeNumber(r,4)),$.concat(i)}))}toHash(e,t,r=!1){const i=this.toSign(e,t);return $.concat([i,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,i=!1){return r||(r=this.toHash(e,t,i)),wa.hash.digest(this.hashAlgorithm,r)}async verify(e,t,r,i=new Date,n=!1,a=ne){if(!this.issuerKeyID.equals(e.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const s=t===ie.signature.binary||t===ie.signature.text;if(!(this[cu]&&!s)){let i,a;if(this.hashed?a=await this.hashed:(i=this.toHash(t,r,n),a=await this.hash(t,r,i)),a=await L(a),this.signedHashValue[0]!==a[0]||this.signedHashValue[1]!==a[1])throw Error("Signed digest did not match");this.params=await this.params;const s=this.publicKeyAlgorithm===ie.publicKey.hmac?e.privateParams:null;if(this[cu]=await wa.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,s,i,a),!this[cu])throw Error("Signature verification failed")}const o=$.normalizeDate(i);if(o&&this.created>o)throw Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw Error("Signature is expired");if(a.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+ie.read(ie.hash,this.hashAlgorithm).toUpperCase());if(a.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[ie.signature.binary,ie.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+ie.read(ie.hash,this.hashAlgorithm).toUpperCase());if(this.rawNotations.forEach((({name:e,critical:t})=>{if(t&&a.knownNotations.indexOf(e)<0)throw Error("Unknown critical notation: "+e)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=$.normalizeDate(e);return null!==t&&!(this.created<=t&&t<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function du(e,t,r){const i=[];return i.push(hn(r.length+1)),i.push(new Uint8Array([(t?128:0)|e])),i.push(r),$.concat(i)}class fu{static get tag(){return ie.packet.onePassSignature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.issuerKeyID=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new bn(`Version ${this.version} of the one-pass signature packet is unsupported.`);return this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],this.issuerKeyID=new pe,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8,this.flags=e[t++],this}write(){const e=new Uint8Array([3,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm]),t=new Uint8Array([this.flags]);return $.concatUint8Array([e,this.issuerKeyID.write(),t])}calculateTrailer(...e){return W((async()=>hu.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==ie.packet.signature)throw Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function lu(e,t){if(!t[e]){let t;try{t=ie.read(ie.packet,e)}catch(t){throw new bn("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}fu.prototype.hash=hu.prototype.hash,fu.prototype.toHash=hu.prototype.toHash,fu.prototype.toSign=hu.prototype.toSign;class pu extends Array{static async fromBinary(e,t,r=ne){const i=new pu;return await i.read(e,t,r),i}async read(e,t,r=ne){this.stream=T(e,(async(e,i)=>{const n=D(i);try{for(;;){await n.ready;if(await yn(e,(async e=>{try{if(e.tag===ie.packet.marker||e.tag===ie.packet.trust)return;const i=lu(e.tag,t);i.packets=new pu,i.fromStream=$.isStream(e.packet),await i.read(e.packet,r),await n.write(i)}catch(t){const i=!r.ignoreUnsupportedPackets&&t instanceof bn,a=!(r.ignoreMalformedPackets||t instanceof bn);if(i||a||pn(e.tag))await n.abort(t);else{const t=new mn(e.tag,e.packet);await n.write(t)}$.printDebugError(t)}})))return await n.ready,void await n.close()}}catch(e){await n.abort(e)}}));const i=C(this.stream);for(;;){const{done:e,value:t}=await i.read();if(e?this.stream=null:this.push(t),e||pn(t.constructor.tag))break}i.releaseLock()}write(){const e=[];for(let t=0;t<this.length;t++){const r=this[t]instanceof mn?this[t].tag:this[t].constructor.tag,i=this[t].write();if($.isStream(i)&&pn(this[t].constructor.tag)){let t=[],n=0;const a=512;e.push(fn(r)),e.push(B(i,(e=>{if(t.push(e),n+=e.length,n>=a){const e=Math.min(Math.log(n)/Math.LN2|0,30),r=2**e,i=$.concat([dn(e)].concat(t));return t=[i.subarray(1+r)],n=t[0].length,i.subarray(0,1+r)}}),(()=>$.concat([hn(n)].concat(t)))))}else{if($.isStream(i)){let t=0;e.push(B(q(i),(e=>{t+=e.length}),(()=>ln(r,t))))}else e.push(ln(r,i.length));e.push(i)}}return $.concat(e)}filterByTag(...e){const t=new pu,r=e=>t=>e===t;for(let i=0;i<this.length;i++)e.some(r(this[i].constructor.tag))&&t.push(this[i]);return t}findPacket(e){return this.find((t=>t.constructor.tag===e))}indexOfTag(...e){const t=[],r=this,i=e=>t=>e===t;for(let n=0;n<this.length;n++)e.some(i(r[n].constructor.tag))&&t.push(n);return t}}const yu=/*#__PURE__*/$.constructAllowedPackets([ou,fu,hu]);class bu{static get tag(){return ie.packet.compressedData}constructor(e=ne){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null,this.deflateLevel=e.deflateLevel}async read(e,t=ne){await z(e,(async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)}))}write(){return null===this.compressed&&this.compress(),$.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=ne){const t=ie.read(ie.compression,this.algorithm),r=Au[t];if(!r)throw Error(t+" decompression not supported");this.packets=await pu.fromBinary(r(this.compressed),yu,e)}compress(){const e=ie.read(ie.compression,this.algorithm),t=ku[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write(),this.deflateLevel)}}const mu=$.getNodeZlib();function gu(e){return e}function wu(e,t,r={}){return function(i){return!$.isStream(i)||s(i)?W((()=>L(i).then((t=>new Promise(((i,n)=>{e(t,r,((e,t)=>{if(e)return n(e);i(t)}))})))))):y(b(i).pipe(t(r)))}}function vu(e,t={}){return function(r){const i=new e(t);return B(r,(e=>{if(e.length)return i.push(e,Da),i.result}),(()=>{if(e===zo)return i.push([],Ra),i.result}))}}function _u(e){return function(t){return W((async()=>e(await L(t))))}}const ku=mu?{zip:/*#__PURE__*/(e,t)=>wu(mu.deflateRaw,mu.createDeflateRaw,{level:t})(e),zlib:/*#__PURE__*/(e,t)=>wu(mu.deflate,mu.createDeflate,{level:t})(e)}:{zip:/*#__PURE__*/(e,t)=>vu(zo,{raw:!0,level:t})(e),zlib:/*#__PURE__*/(e,t)=>vu(zo,{level:t})(e)},Au=mu?{uncompressed:gu,zip:/*#__PURE__*/wu(mu.inflateRaw,mu.createInflateRaw),zlib:/*#__PURE__*/wu(mu.inflate,mu.createInflate),bzip2:/*#__PURE__*/_u(su)}:{uncompressed:gu,zip:/*#__PURE__*/vu(Hc,{raw:!0}),zlib:/*#__PURE__*/vu(Hc),bzip2:/*#__PURE__*/_u(su)},Su=/*#__PURE__*/$.constructAllowedPackets([ou,bu,fu,hu]);class Eu{static get tag(){return ie.packet.symEncryptedIntegrityProtectedData}constructor(){this.version=1,this.encrypted=null,this.packets=null}async read(e){await z(e,(async e=>{const t=await e.readByte();if(1!==t)throw new bn(`Version ${t} of the SEIP packet is unsupported.`);this.encrypted=e.remainder()}))}write(){return $.concat([new Uint8Array([1]),this.encrypted])}async encrypt(e,t,r=ne){const{blockSize:i}=wa.getCipher(e);let n=this.packets.write();s(n)&&(n=await L(n));const a=await wa.getPrefixRandom(e),o=new Uint8Array([211,20]),c=$.concat([a,n,o]),u=await wa.hash.sha1(F(c)),h=$.concat([c,u]);return this.encrypted=await wa.mode.cfb.encrypt(e,t,h,new Uint8Array(i),r),!0}async decrypt(e,t,r=ne){const{blockSize:i}=wa.getCipher(e);let n=q(this.encrypted);s(n)&&(n=await L(n));const a=await wa.mode.cfb.decrypt(e,t,n,new Uint8Array(i)),o=N(F(a),-20),c=N(a,0,-20),u=Promise.all([L(await wa.hash.sha1(F(c))),L(o)]).then((([e,t])=>{if(!$.equalsUint8Array(e,t))throw Error("Modification detected.");return new Uint8Array})),h=N(c,i+2);let d=N(h,0,-2);return d=K([d,W((()=>u))]),$.isStream(n)&&r.allowUnauthenticatedStream||(d=await L(d)),this.packets=await pu.fromBinary(d,Su,r),!0}}const Pu=/*#__PURE__*/$.constructAllowedPackets([ou,bu,fu,hu]);class xu{static get tag(){return ie.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=ie.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await z(e,(async e=>{const t=await e.readByte();if(1!==t)throw new bn(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=wa.getAEADMode(this.aeadAlgorithm);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return $.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=ne){this.packets=await pu.fromBinary(await this.crypt("decrypt",t,q(this.encrypted)),Pu,r)}async encrypt(e,t,r=ne){this.cipherAlgorithm=e;const{ivLength:i}=wa.getAEADMode(this.aeadAlgorithm);this.iv=wa.random.getRandomBytes(i),this.chunkSizeByte=r.aeadChunkSizeByte;const n=this.packets.write();this.encrypted=await this.crypt("encrypt",t,n)}async crypt(e,t,r){const i=wa.getAEADMode(this.aeadAlgorithm),n=await i(this.cipherAlgorithm,t),a="decrypt"===e?i.tagLength:0,s="encrypt"===e?i.tagLength:0,o=2**(this.chunkSizeByte+6)+a,c=new ArrayBuffer(21),u=new Uint8Array(c,0,13),h=new Uint8Array(c),d=new DataView(c),f=new Uint8Array(c,5,8);u.set([192|xu.tag,this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte],0);let l=0,p=Promise.resolve(),y=0,b=0;const m=this.iv;return T(r,(async(t,r)=>{if("array"!==$.isStream(t)){const e=new S({},{highWaterMark:$.getHardwareConcurrency()*2**(this.chunkSizeByte+6),size:e=>e.length});U(e.readable,r),r=e.writable}const c=C(t),g=D(r);try{for(;;){let t=await c.readBytes(o+a)||new Uint8Array;const r=t.subarray(t.length-a);let w,v;if(t=t.subarray(0,t.length-a),!l||t.length?(c.unshift(r),w=n[e](t,i.getNonce(m,f),u),b+=t.length-a+s):(d.setInt32(17,y),w=n[e](r,i.getNonce(m,f),h),b+=s,v=!0),y+=t.length-a,p=p.then((()=>w)).then((async e=>{await g.ready,await g.write(e),b-=e.length})).catch((e=>g.abort(e))),(v||b>g.desiredSize)&&await p,v){await g.close();break}d.setInt32(9,++l)}}catch(e){await g.abort(e)}}))}}class Mu{static get tag(){return ie.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new pe,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}read(e){if(this.version=e[0],3!==this.version)throw new bn(`Version ${this.version} of the PKESK packet is unsupported.`);this.publicKeyID.read(e.subarray(1,e.length)),this.publicKeyAlgorithm=e[9],this.encrypted=wa.parseEncSessionKeyParams(this.publicKeyAlgorithm,e.subarray(10))}write(){const e=[new Uint8Array([this.version]),this.publicKeyID.write(),new Uint8Array([this.publicKeyAlgorithm]),wa.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return $.concatUint8Array(e)}async encrypt(e){const t=$.concatUint8Array([new Uint8Array([ie.write(ie.symmetric,this.sessionKeyAlgorithm)]),this.sessionKey,$.writeChecksum(this.sessionKey)]),r=ie.write(ie.publicKey,this.publicKeyAlgorithm),i=r===ie.publicKey.aead?e.privateParams:null;this.encrypted=await wa.publicKeyEncrypt(r,e.publicParams,i,t,e.getFingerprintBytes())}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?$.concatUint8Array([new Uint8Array([t.sessionKeyAlgorithm]),t.sessionKey,$.writeChecksum(t.sessionKey)]):null,i=await wa.publicKeyDecrypt(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,e.getFingerprintBytes(),r),n=i[0],a=i.subarray(1,i.length-2),s=i.subarray(i.length-2),o=$.writeChecksum(a),c=o[0]===s[0]&o[1]===s[1];if(t){const e=c&n===t.sessionKeyAlgorithm&a.length===t.sessionKey.length;this.sessionKeyAlgorithm=$.selectUint8(e,n,t.sessionKeyAlgorithm),this.sessionKey=$.selectUint8Array(e,a,t.sessionKey)}else{if(!(c&&ie.read(ie.symmetric,n)))throw Error("Decryption error");this.sessionKey=a,this.sessionKeyAlgorithm=n}}}class Ku{constructor(e=ne){this.algorithm=ie.hash.sha256,this.type="iterated",this.c=e.s2kIterationCountByte,this.salt=null}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.type=ie.read(ie.s2k,e[t++]),this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==$.uint8ArrayToString(e.subarray(t,t+3)))throw Error("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw Error("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw Error("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...$.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([ie.write(ie.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return $.concatUint8Array(e)}async produceKey(e,t){e=$.encodeUTF8(e);const r=[];let i=0,n=0;for(;i<t;){let t;switch(this.type){case"simple":t=$.concatUint8Array([new Uint8Array(n),e]);break;case"salted":t=$.concatUint8Array([new Uint8Array(n),this.salt,e]);break;case"iterated":{const r=$.concatUint8Array([this.salt,e]);let i=r.length;const a=Math.max(this.getCount(),i);t=new Uint8Array(n+a),t.set(r,n);for(let e=n+i;e<a;e+=i,i*=2)t.copyWithin(e,n,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const a=await wa.hash.digest(this.algorithm,t);r.push(a),i+=a.length,n++}return $.concatUint8Array(r).subarray(0,t)}}class Cu{static get tag(){return ie.packet.symEncryptedSessionKey}constructor(e=ne){this.version=e.aeadProtect?5:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=ie.symmetric.aes256,this.aeadAlgorithm=ie.write(ie.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new bn(`Version ${this.version} of the SKESK packet is unsupported.`);const r=e[t++];if(5===this.version&&(this.aeadAlgorithm=e[t++]),this.s2k=new Ku,t+=this.s2k.read(e.subarray(t,e.length)),5===this.version){const r=wa.getAEADMode(this.aeadAlgorithm);this.iv=e.subarray(t,t+=r.ivLength)}5===this.version||t<e.length?(this.encrypted=e.subarray(t,e.length),this.sessionKeyEncryptionAlgorithm=r):this.sessionKeyAlgorithm=r}write(){const e=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let t;return 5===this.version?t=$.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),this.s2k.write(),this.iv,this.encrypted]):(t=$.concatUint8Array([new Uint8Array([this.version,e]),this.s2k.write()]),null!==this.encrypted&&(t=$.concatUint8Array([t,this.encrypted]))),t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:i}=wa.getCipher(t),n=await this.s2k.produceKey(e,i);if(5===this.version){const e=wa.getAEADMode(this.aeadAlgorithm),r=new Uint8Array([192|Cu.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),i=await e(t,n);this.sessionKey=await i.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await wa.mode.cfb.decrypt(t,n,this.encrypted,new Uint8Array(r));this.sessionKeyAlgorithm=ie.write(ie.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length)}else this.sessionKey=n}async encrypt(e,t=ne){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=new Ku(t),this.s2k.salt=wa.random.getRandomBytes(8);const{blockSize:i,keySize:n}=wa.getCipher(r),a=await this.s2k.produceKey(e,n);if(null===this.sessionKey&&(this.sessionKey=wa.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const e=wa.getAEADMode(this.aeadAlgorithm);this.iv=wa.random.getRandomBytes(e.ivLength);const t=new Uint8Array([192|Cu.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),i=await e(r,a);this.encrypted=await i.encrypt(this.sessionKey,this.iv,t)}else{const e=$.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await wa.mode.cfb.encrypt(r,a,e,new Uint8Array(i),t)}}}class Du{static get tag(){return ie.packet.publicKey}constructor(e=new Date,t=ne){this.version=t.v5Keys?5:4,this.created=$.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new Du,{version:r,created:i,algorithm:n,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=i,t.algorithm=n,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}async read(e){let t=0;if(this.version=e[t++],4===this.version||5===this.version){this.created=$.readDate(e.subarray(t,t+4)),t+=4,this.algorithm=e[t++],5===this.version&&(t+=4);const{read:r,publicParams:i}=wa.parsePublicKeyParams(this.algorithm,e.subarray(t));return this.publicParams=i,t+=r,await this.computeFingerprintAndKeyID(),t}throw new bn(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push($.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=wa.serializeParams(this.algorithm,this.publicParams);return 5===this.version&&e.push($.writeNumber(t.length,4)),e.push(t),$.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey();return 5===e?$.concatUint8Array([new Uint8Array([154]),$.writeNumber(t.length,4),t]):$.concatUint8Array([new Uint8Array([153]),$.writeNumber(t.length,2),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new pe,5===this.version)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(5===this.version)this.fingerprint=await wa.hash.sha256(e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await wa.hash.sha1(e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return $.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&$.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=ie.read(ie.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=$.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():e.symmetric=this.publicParams.cipher.getName(),e}}Du.prototype.readPublicKey=Du.prototype.read,Du.prototype.writePublicKey=Du.prototype.write;const Uu=/*#__PURE__*/$.constructAllowedPackets([ou,bu,fu,hu]);class Ru{static get tag(){return ie.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=ne){if(!r.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:i}=wa.getCipher(e),n=await L(q(this.encrypted)),a=await wa.mode.cfb.decrypt(e,t,n.subarray(i+2),n.subarray(2,i+2));this.packets=await pu.fromBinary(a,Uu,r)}async encrypt(e,t,r=ne){const i=this.packets.write(),{blockSize:n}=wa.getCipher(e),a=await wa.getPrefixRandom(e),s=await wa.mode.cfb.encrypt(e,t,a,new Uint8Array(n),r),o=await wa.mode.cfb.encrypt(e,t,i,s.subarray(2),r);this.encrypted=$.concat([s,o])}}class Iu{static get tag(){return ie.packet.marker}read(e){return 80===e[0]&&71===e[1]&&80===e[2]}write(){return new Uint8Array([80,71,80])}}class Bu extends Du{static get tag(){return ie.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new Bu,{version:r,created:i,algorithm:n,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=i,t.algorithm=n,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}}class Tu{static get tag(){return ie.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){const r=un(e.subarray(t,e.length));t+=r.offset,this.attributes.push($.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){const e=[];for(let t=0;t<this.attributes.length;t++)e.push(hn(this.attributes[t].length)),e.push($.stringToUint8Array(this.attributes[t]));return $.concatUint8Array(e)}equals(e){return!!(e&&e instanceof Tu)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class zu extends Du{static get tag(){return ie.packet.secretKey}constructor(e=new Date,t=ne){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.privateParams=null}async read(e){let t=await this.readPublicKey(e);if(this.s2kUsage=e[t++],5===this.version&&t++,255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){if(this.symmetric=e[t++],253===this.s2kUsage&&(this.aead=e[t++]),this.s2k=new Ku,t+=this.s2k.read(e.subarray(t,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);if(this.s2kUsage&&(this.iv=e.subarray(t,t+wa.getCipher(this.symmetric).blockSize),t+=this.iv.length),5===this.version&&(t+=4),this.keyMaterial=e.subarray(t),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){const e=this.keyMaterial.subarray(0,-2);if(!$.equalsUint8Array($.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{privateParams:t}=wa.parsePrivateKeyParams(this.algorithm,e,this.publicParams);this.privateParams=t}catch(e){if(e instanceof bn)throw e;throw Error("Error reading MPIs")}}}write(){const e=[this.writePublicKey()];e.push(new Uint8Array([this.s2kUsage]));const t=[];return 255!==this.s2kUsage&&254!==this.s2kUsage&&253!==this.s2kUsage||(t.push(this.symmetric),253===this.s2kUsage&&t.push(this.aead),t.push(...this.s2k.write())),this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&t.push(...this.iv),5===this.version&&e.push(new Uint8Array([t.length])),e.push(new Uint8Array(t)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=wa.serializeParams(this.algorithm,this.privateParams)),5===this.version&&e.push($.writeNumber(this.keyMaterial.length,4)),e.push(this.keyMaterial),this.s2kUsage||e.push($.writeChecksum(this.keyMaterial))),$.concatUint8Array(e)}isDecrypted(){return!1===this.isEncrypted}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=ne){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),this.isEncrypted=null,this.keyMaterial=null,this.s2k=new Ku(e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=ie.symmetric.aes256)}async encrypt(e,t=ne){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!e)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=new Ku(t),this.s2k.salt=wa.random.getRandomBytes(8);const r=wa.serializeParams(this.algorithm,this.privateParams);this.symmetric=ie.symmetric.aes256;const i=await qu(this.s2k,e,this.symmetric),{blockSize:n}=wa.getCipher(this.symmetric);if(this.iv=wa.random.getRandomBytes(n),t.aeadProtect){this.s2kUsage=253,this.aead=ie.aead.eax;const e=wa.getAEADMode(this.aead),t=await e(this.symmetric,i);this.keyMaterial=await t.encrypt(r,this.iv.subarray(0,e.ivLength),new Uint8Array)}else this.s2kUsage=254,this.keyMaterial=await wa.mode.cfb.encrypt(this.symmetric,i,$.concatUint8Array([r,await wa.hash.sha1(r,t)]),this.iv,t)}async decrypt(e){if(this.isDummy())return!1;if(this.isDecrypted())throw Error("Key packet is already decrypted.");let t,r;if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");if(t=await qu(this.s2k,e,this.symmetric),253===this.s2kUsage){const e=wa.getAEADMode(this.aead),i=await e(this.symmetric,t);try{r=await i.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),new Uint8Array)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{const e=await wa.mode.cfb.decrypt(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);const i=await wa.hash.sha1(r);if(!$.equalsUint8Array(i,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=wa.parsePrivateKeyParams(this.algorithm,r,this.publicParams);this.privateParams=e}catch(e){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");let e;try{e=await wa.validateParams(this.algorithm,this.publicParams,this.privateParams)}catch(t){e=!1}if(!e)throw Error("Key is invalid")}async generate(e,t,r){const{privateParams:i,publicParams:n}=await wa.generateParams(this.algorithm,e,t,r);this.privateParams=i,this.publicParams=n,this.isEncrypted=!1}clearPrivateParams(){this.isDummy()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function qu(e,t,r){const{keySize:i}=wa.getCipher(r);return e.produceKey(t,i)}var Fu=it((function(e){!function(t){function r(e){function t(){return Ae<Se}function r(){return Ae}function n(e){Ae=e}function a(){Ae=0,Se=ke.length}function s(e,t){return{name:e,tokens:t||"",semantic:t||"",children:[]}}function o(e,t){var r;return null===t?null:((r=s(e)).tokens=t.tokens,r.semantic=t.semantic,r.children.push(t),r)}function c(e,t){return null!==t&&(e.tokens+=t.tokens,e.semantic+=t.semantic),e.children.push(t),e}function u(e){var r;return t()&&e(r=ke[Ae])?(Ae+=1,s("token",r)):null}function h(e){return function(){return o("literal",u((function(t){return t===e})))}}function d(){var e=arguments;return function(){var t,i,a,o;for(o=r(),i=s("and"),t=0;t<e.length;t+=1){if(null===(a=e[t]()))return n(o),null;c(i,a)}return i}}function f(){var e=arguments;return function(){var t,i,a;for(a=r(),t=0;t<e.length;t+=1){if(null!==(i=e[t]()))return i;n(a)}return null}}function l(e){return function(){var t,i;return i=r(),null!==(t=e())?t:(n(i),s("opt"))}}function p(e){return function(){var t=e();return null!==t&&(t.semantic=""),t}}function y(e){return function(){var t=e();return null!==t&&t.semantic.length>0&&(t.semantic=" "),t}}function b(e,t){return function(){var i,a,o,u,h;for(u=r(),i=s("star"),o=0,h=void 0===t?0:t;null!==(a=e());)o+=1,c(i,a);return o>=h?i:(n(u),null)}}function m(e){return e.charCodeAt(0)>=128}function g(){return o("cr",h("\r")())}function w(){return o("crlf",d(g,k)())}function v(){return o("dquote",h('"')())}function _(){return o("htab",h("\t")())}function k(){return o("lf",h("\n")())}function A(){return o("sp",h(" ")())}function S(){return o("vchar",u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=126;return e.rfc6532&&(i=i||m(t)),i})))}function E(){return o("wsp",f(A,_)())}function P(){var e=o("quoted-pair",f(d(h("\\"),f(S,E)),ie)());return null===e?null:(e.semantic=e.semantic[1],e)}function x(){return o("fws",f(ae,d(l(d(b(E),p(w))),b(E,1)))())}function M(){return o("ctext",f((function(){return u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=39||42<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(i=i||m(t)),i}))}),te)())}function K(){return o("ccontent",f(M,P,C)())}function C(){return o("comment",d(h("("),b(d(l(x),K)),l(x),h(")"))())}function D(){return o("cfws",f(d(b(d(l(x),C),1),l(x)),x)())}function U(){return o("atext",u((function(t){var r="a"<=t&&t<="z"||"A"<=t&&t<="Z"||"0"<=t&&t<="9"||["!","#","$","%","&","'","*","+","-","/","=","?","^","_","`","{","|","}","~"].indexOf(t)>=0;return e.rfc6532&&(r=r||m(t)),r})))}function R(){return o("atom",d(y(l(D)),b(U,1),y(l(D)))())}function I(){var e,t;return null===(e=o("dot-atom-text",b(U,1)()))||null!==(t=b(d(h("."),b(U,1)))())&&c(e,t),e}function B(){return o("dot-atom",d(p(l(D)),I,p(l(D)))())}function T(){return o("qtext",f((function(){return u((function(t){var r=t.charCodeAt(0),i=33===r||35<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(i=i||m(t)),i}))}),re)())}function z(){return o("qcontent",f(T,P)())}function q(){return o("quoted-string",d(p(l(D)),p(v),b(d(l(y(x)),z)),l(p(x)),p(v),p(l(D)))())}function F(){return o("word",f(R,q)())}function O(){return o("address",f(N,W)())}function N(){return o("mailbox",f(L,J)())}function L(){return o("name-addr",d(l(H),j)())}function j(){return o("angle-addr",f(d(p(l(D)),h("<"),J,h(">"),p(l(D))),se)())}function W(){return o("group",d(H,h(":"),l($),h(";"),p(l(D)))())}function H(){return o("display-name",(null!==(e=o("phrase",f(ne,b(F,1))()))&&(e.semantic=function(e){return e.replace(/([ \t]|\r\n)+/g," ").replace(/^\s*/,"").replace(/\s*$/,"")}(e.semantic)),e));var e}function G(){return o("mailbox-list",f(d(N,b(d(h(","),N))),ue)())}function V(){return o("address-list",f(d(O,b(d(h(","),O))),he)())}function $(){return o("group-list",f(G,p(D),de)())}function Z(){return o("local-part",f(fe,B,q)())}function Y(){return o("dtext",f((function(){return u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=90||94<=r&&r<=126;return e.rfc6532&&(i=i||m(t)),i}))}),pe)())}function X(){return o("domain-literal",d(p(l(D)),h("["),b(d(l(x),Y)),l(x),h("]"),p(l(D)))())}function Q(){return o("domain",(t=f(le,B,X)(),e.rejectTLD&&t&&t.semantic&&t.semantic.indexOf(".")<0?null:(t&&(t.semantic=t.semantic.replace(/\s+/g,"")),t)));var t}function J(){return o("addr-spec",d(Z,h("@"),Q)())}function ee(){return e.strict?null:o("obs-NO-WS-CTL",u((function(e){var t=e.charCodeAt(0);return 1<=t&&t<=8||11===t||12===t||14<=t&&t<=31||127===t})))}function te(){return e.strict?null:o("obs-ctext",ee())}function re(){return e.strict?null:o("obs-qtext",ee())}function ie(){return e.strict?null:o("obs-qp",d(h("\\"),f(h("\0"),ee,k,g))())}function ne(){return e.strict?null:e.atInDisplayName?o("obs-phrase",d(F,b(f(F,h("."),h("@"),y(D))))()):o("obs-phrase",d(F,b(f(F,h("."),y(D))))())}function ae(){return e.strict?null:o("obs-FWS",b(d(p(l(w)),E),1)())}function se(){return e.strict?null:o("obs-angle-addr",d(p(l(D)),h("<"),oe,J,h(">"),p(l(D)))())}function oe(){return e.strict?null:o("obs-route",d(ce,h(":"))())}function ce(){return e.strict?null:o("obs-domain-list",d(b(f(p(D),h(","))),h("@"),Q,b(d(h(","),p(l(D)),l(d(h("@"),Q)))))())}function ue(){return e.strict?null:o("obs-mbox-list",d(b(d(p(l(D)),h(","))),N,b(d(h(","),l(d(N,p(D))))))())}function he(){return e.strict?null:o("obs-addr-list",d(b(d(p(l(D)),h(","))),O,b(d(h(","),l(d(O,p(D))))))())}function de(){return e.strict?null:o("obs-group-list",d(b(d(p(l(D)),h(",")),1),p(l(D)))())}function fe(){return e.strict?null:o("obs-local-part",d(F,b(d(h("."),F)))())}function le(){return e.strict?null:o("obs-domain",d(R,b(d(h("."),R)))())}function pe(){return e.strict?null:o("obs-dtext",f(ee,P)())}function ye(e,t){var r,i,n;if(null==t)return null;for(i=[t];i.length>0;){if((n=i.pop()).name===e)return n;for(r=n.children.length-1;r>=0;r-=1)i.push(n.children[r])}return null}function be(e,t){var r,i,n,a,s;if(null==t)return null;for(i=[t],a=[],s={},r=0;r<e.length;r+=1)s[e[r]]=!0;for(;i.length>0;)if((n=i.pop()).name in s)a.push(n);else for(r=n.children.length-1;r>=0;r-=1)i.push(n.children[r]);return a}function me(t){var r,i,n,a,s;if(null===t)return null;for(r=[],i=be(["group","mailbox"],t),n=0;n<i.length;n+=1)"group"===(a=i[n]).name?r.push(ge(a)):"mailbox"===a.name&&r.push(we(a));return s={ast:t,addresses:r},e.simple&&(s=function(e){var t;if(e&&e.addresses)for(t=0;t<e.addresses.length;t+=1)delete e.addresses[t].node;return e}(s)),e.oneResult?function(t){if(!t)return null;if(!e.partial&&t.addresses.length>1)return null;return t.addresses&&t.addresses[0]}(s):e.simple?s&&s.addresses:s}function ge(e){var t,r=ye("display-name",e),i=[],n=be(["mailbox"],e);for(t=0;t<n.length;t+=1)i.push(we(n[t]));return{node:e,parts:{name:r},type:e.name,name:ve(r),addresses:i}}function we(e){var t=ye("display-name",e),r=ye("addr-spec",e),i=function(e,t){var r,i,n,a;if(null==t)return null;for(i=[t],a=[];i.length>0;)for((n=i.pop()).name===e&&a.push(n),r=n.children.length-1;r>=0;r-=1)i.push(n.children[r]);return a}("cfws",e),n=be(["comment"],e),a=ye("local-part",r),s=ye("domain",r);return{node:e,parts:{name:t,address:r,local:a,domain:s,comments:i},type:e.name,name:ve(t),address:ve(r),local:ve(a),domain:ve(s),comments:_e(n),groupName:ve(e.groupName)}}function ve(e){return null!=e?e.semantic:null}function _e(e){var t="";if(e)for(var r=0;r<e.length;r+=1)t+=ve(e[r]);return t}var ke,Ae,Se,Ee,Pe;if(null===(e=i(e,{})))return null;if(ke=e.input,Pe={address:O,"address-list":V,"angle-addr":j,from:function(){return o("from",f(G,V)())},group:W,mailbox:N,"mailbox-list":G,"reply-to":function(){return o("reply-to",V())},sender:function(){return o("sender",f(N,O)())}}[e.startAt]||V,!e.strict){if(a(),e.strict=!0,Ee=Pe(ke),e.partial||!t())return me(Ee);e.strict=!1}return a(),Ee=Pe(ke),!e.partial&&t()?null:me(Ee)}function i(e,t){function r(e){return"[object String]"===Object.prototype.toString.call(e)}function i(e){return null==e}var n,a;if(r(e))e={input:e};else if(!function(e){return e===Object(e)}(e))return null;if(!r(e.input))return null;if(!t)return null;for(a in n={oneResult:!1,partial:!1,rejectTLD:!1,rfc6532:!1,simple:!1,startAt:"address-list",strict:!1,atInDisplayName:!1})i(e[a])&&(e[a]=i(t[a])?n[a]:t[a]);return e}r.parseOneAddress=function(e){return r(i(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseAddressList=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseFrom=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"from"}))},r.parseSender=function(e){return r(i(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"sender"}))},r.parseReplyTo=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"reply-to"}))},e.exports=r}()}));class Ou{static get tag(){return ie.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if($.isString(e)||e.name&&!$.isString(e.name)||e.email&&!$.isEmailAddress(e.email)||e.comment&&!$.isString(e.comment))throw Error("Invalid user ID format");const t=new Ou;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=ne){const r=$.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");try{const{name:e,address:t,comments:i}=Fu.parseOneAddress({input:r,atInDisplayName:!0});this.comment=i.replace(/^\(|\)$/g,""),this.name=e,this.email=t}catch(e){}this.userID=r}write(){return $.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class Nu extends zu{static get tag(){return ie.packet.secretSubkey}constructor(e=new Date,t=ne){super(e,t)}}class Lu{static get tag(){return ie.packet.trust}read(){throw new bn("Trust packets are not supported")}write(){throw new bn("Trust packets are not supported")}}const ju=/*#__PURE__*/$.constructAllowedPackets([hu]);class Wu{constructor(e){this.packets=e||new pu}write(){return this.packets.write()}armor(e=ne){return le(ie.armor.signature,this.write(),void 0,void 0,void 0,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function Hu({armoredSignature:e,binarySignature:t,config:r,...i}){r={...ne,...r};let n=e||t;if(!n)throw Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");if(e&&!$.isString(e))throw Error("readSignature: options.armoredSignature must be a string");if(t&&!$.isUint8Array(t))throw Error("readSignature: options.binarySignature must be a Uint8Array");const a=Object.keys(i);if(a.length>0)throw Error("Unknown option: "+a.join(", "));if(e){const{type:e,data:t}=await fe(n,r);if(e!==ie.armor.signature)throw Error("Armored text not of type signature");n=t}const s=await pu.fromBinary(n,ju,r);return new Wu(s)}async function Gu(e,t){const r=new Nu(e.date,t);return r.packets=null,r.algorithm=ie.write(ie.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function Vu(e,t){const r=new zu(e.date,t);return r.packets=null,r.algorithm=ie.write(ie.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function $u(e,t,r,i,n=new Date,a){let s,o;for(let c=e.length-1;c>=0;c--)try{(!s||e[c].created>=s.created)&&(await e[c].verify(t,r,i,n,void 0,a),s=e[c])}catch(e){o=e}if(!s)throw $.wrapError(`Could not find valid ${ie.read(ie.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((e,t,r)=>t+" "+r.toLowerCase())),o);return s}function Zu(e,t,r=new Date){const i=$.normalizeDate(r);if(null!==i){const r=rh(e,t);return!(e.created<=i&&i<r)}return!1}async function Yu(e,t,r,i){const n={};n.key=t,n.bind=e;const a=new hu;return a.signatureType=ie.signature.subkeyBinding,a.publicKeyAlgorithm=t.algorithm,a.hashAlgorithm=await Xu(null,e,void 0,void 0,i),r.sign?(a.keyFlags=[ie.keyFlags.signData],a.embeddedSignature=await Ju(n,null,e,{signatureType:ie.signature.keyBinding},r.date,void 0,void 0,void 0,i)):a.keyFlags=[ie.keyFlags.encryptCommunication|ie.keyFlags.encryptStorage],r.keyExpirationTime>0&&(a.keyExpirationTime=r.keyExpirationTime,a.keyNeverExpires=!1),await a.sign(t,n,r.date),a}async function Xu(e,t,r=new Date,i={},n){let a=n.preferredHashAlgorithm,s=a;if(e){const t=await e.getPrimaryUser(r,i,n);t.selfCertification.preferredHashAlgorithms&&([s]=t.selfCertification.preferredHashAlgorithms,a=wa.hash.getHashByteLength(a)<=wa.hash.getHashByteLength(s)?s:a)}switch(Object.getPrototypeOf(t)){case zu.prototype:case Du.prototype:case Nu.prototype:case Bu.prototype:switch(t.algorithm){case ie.publicKey.ecdh:case ie.publicKey.ecdsa:case ie.publicKey.eddsa:s=wa.publicKey.elliptic.getPreferredHashAlgo(t.publicParams.oid)}}return wa.hash.getHashByteLength(a)<=wa.hash.getHashByteLength(s)?s:a}async function Qu(e,t=[],r=new Date,i=[],n=ne){const a={symmetric:ie.symmetric.aes128,aead:ie.aead.eax,compression:ie.compression.uncompressed}[e],s={symmetric:n.preferredSymmetricAlgorithm,aead:n.preferredAEADAlgorithm,compression:n.preferredCompressionAlgorithm}[e],o={symmetric:"preferredSymmetricAlgorithms",aead:"preferredAEADAlgorithms",compression:"preferredCompressionAlgorithms"}[e],c=await Promise.all(t.map((async function(e,t){const a=(await e.getPrimaryUser(r,i[t],n)).selfCertification[o];return!!a&&a.indexOf(s)>=0})));return c.every(Boolean)?s:a}async function Ju(e,t,r,i,n,a,s=[],o=!1,c){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");const u=new hu;return Object.assign(u,i),u.publicKeyAlgorithm=r.algorithm,u.hashAlgorithm=await Xu(t,r,n,a,c),u.rawNotations=s,await u.sign(r,e,n,o),u}async function eh(e,t,r,i=new Date,n){(e=e[r])&&(t[r].length?await Promise.all(e.map((async function(e){e.isExpired(i)||n&&!await n(e)||t[r].some((function(t){return $.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function th(e,t,r,i,n,a,s=new Date,o){a=a||e;const c=[];return await Promise.all(i.map((async function(e){try{n&&!e.issuerKeyID.equals(n.issuerKeyID)||(await e.verify(a,t,r,o.revocationsExpire?s:null,!1,o),c.push(e.issuerKeyID))}catch(e){}}))),n?(n.revoked=!!c.some((e=>e.equals(n.issuerKeyID)))||(n.revoked||!1),n.revoked):c.length>0}function rh(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function ih(e,t={}){switch(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=$.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.type){case"ecc":try{e.curve=ie.write(ie.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==ie.curve.ed25519&&e.curve!==ie.curve.curve25519||(e.curve=e.sign?ie.curve.ed25519:ie.curve.curve25519),e.sign?e.algorithm=e.curve===ie.curve.ed25519?ie.publicKey.eddsa:ie.publicKey.ecdsa:e.algorithm=ie.publicKey.ecdh;break;case"rsa":e.algorithm=ie.publicKey.rsaEncryptSign;break;case"symmetric":e.sign?(e.algorithm=ie.publicKey.hmac,e.symmetric=e.symmetricHash||t.symmetricHash):(e.algorithm=ie.publicKey.aead,e.symmetric=e.symmetricCipher||t.symmetricCipher);break;default:throw Error("Unsupported key type "+e.type)}return e}function nh(e,t){const r=e.algorithm;return r!==ie.publicKey.rsaEncrypt&&r!==ie.publicKey.elgamal&&r!==ie.publicKey.ecdh&&(!t.keyFlags||0!=(t.keyFlags[0]&ie.keyFlags.signData))}function ah(e,t){const r=e.algorithm;return r!==ie.publicKey.dsa&&r!==ie.publicKey.rsaSign&&r!==ie.publicKey.ecdsa&&r!==ie.publicKey.eddsa&&(!t.keyFlags||0!=(t.keyFlags[0]&ie.keyFlags.encryptCommunication)||0!=(t.keyFlags[0]&ie.keyFlags.encryptStorage))}function sh(e,t){return!!t.allowInsecureDecryptionWithSigningKeys||(!e.keyFlags||0!=(e.keyFlags[0]&ie.keyFlags.encryptCommunication)||0!=(e.keyFlags[0]&ie.keyFlags.encryptStorage))}function oh(e,t){const r=ie.write(ie.publicKey,e.algorithm),i=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(i.algorithm+" keys are considered too weak.");switch(r){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:case ie.publicKey.rsaEncrypt:if(i.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case ie.publicKey.ecdsa:case ie.publicKey.eddsa:case ie.publicKey.ecdh:if(t.rejectCurves.has(i.curve))throw Error(`Support for ${i.algorithm} keys using curve ${i.curve} is disabled.`)}}class ch{constructor(e,t){this.userID=e.constructor.tag===ie.packet.userID?e:null,this.userAttribute=e.constructor.tag===ie.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new pu;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new ch(this.userID||this.userAttribute,this.mainKey);return e.selfCertifications=[...this.selfCertifications],e.otherCertifications=[...this.otherCertifications],e.revocationSignatures=[...this.revocationSignatures],e}async certify(e,t,r){const i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i},a=new ch(n.userID||n.userAttribute,this.mainKey);return a.otherCertifications=await Promise.all(e.map((async function(e){if(!e.isPrivate())throw Error("Need private key for signing");if(e.hasSameFingerprintAs(i))throw Error("The user's own key can only be used for self-certifications");const a=await e.getSigningKey(void 0,t,void 0,r);return Ju(n,e,a.keyPacket,{signatureType:ie.signature.certGeneric,keyFlags:[ie.keyFlags.certifyKeys|ie.keyFlags.signData]},t,void 0,void 0,void 0,r)}))),await a.update(this,t,r),a}async isRevoked(e,t,r=new Date,i=ne){const n=this.mainKey.keyPacket;return th(n,ie.signature.certRevocation,{key:n,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,i)}async verifyCertificate(e,t,r=new Date,i){const n=this,a=this.mainKey.keyPacket,s={userID:this.userID,userAttribute:this.userAttribute,key:a},{issuerKeyID:o}=e,c=t.filter((e=>e.getKeys(o).length>0));return 0===c.length?null:(await Promise.all(c.map((async t=>{const a=await t.getSigningKey(o,e.created,void 0,i);if(e.revoked||await n.isRevoked(e,a.keyPacket,r,i))throw Error("User certificate is revoked");try{await e.verify(a.keyPacket,ie.signature.certGeneric,s,r,void 0,i)}catch(e){throw $.wrapError("User certificate is invalid",e)}}))),!0)}async verifyAllCertifications(e,t=new Date,r){const i=this,n=this.selfCertifications.concat(this.otherCertifications);return Promise.all(n.map((async n=>({keyID:n.issuerKeyID,valid:await i.verifyCertificate(n,e,t,r).catch((()=>!1))}))))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw Error("No self-certifications found");const r=this,i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i};let a;for(let s=this.selfCertifications.length-1;s>=0;s--)try{const a=this.selfCertifications[s];if(a.revoked||await r.isRevoked(a,void 0,e,t))throw Error("Self-certification is revoked");try{await a.verify(i,ie.signature.certGeneric,n,e,void 0,t)}catch(e){throw $.wrapError("Self-certification is invalid",e)}return!0}catch(e){a=e}throw a}async update(e,t,r){const i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i};await eh(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(i,ie.signature.certGeneric,n,t,!1,r),!0}catch(e){return!1}})),await eh(e,this,"otherCertifications",t),await eh(e,this,"revocationSignatures",t,(function(e){return th(i,ie.signature.certRevocation,n,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ie.reasonForRevocation.noReason,string:r=""}={},i=new Date,n=ne){const a={userID:this.userID,userAttribute:this.userAttribute,key:e},s=new ch(a.userID||a.userAttribute,this.mainKey);return s.revocationSignatures.push(await Ju(a,null,e,{signatureType:ie.signature.certRevocation,reasonForRevocationFlag:ie.write(ie.reasonForRevocation,t),reasonForRevocationString:r},i,void 0,void 0,!1,n)),await s.update(this),s}}class uh{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new pu;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new uh(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,i=ne){const n=this.mainKey.keyPacket;return th(n,ie.signature.subkeyRevocation,{key:n,bind:this.keyPacket},this.revocationSignatures,e,t,r,i)}async verify(e=new Date,t=ne){const r=this.mainKey.keyPacket,i={key:r,bind:this.keyPacket},n=await $u(this.bindingSignatures,r,ie.signature.subkeyBinding,i,e,t);if(n.revoked||await this.isRevoked(n,null,e,t))throw Error("Subkey is revoked");if(Zu(this.keyPacket,n,e))throw Error("Subkey is expired");return n}async getExpirationTime(e=new Date,t=ne){const r=this.mainKey.keyPacket,i={key:r,bind:this.keyPacket};let n;try{n=await $u(this.bindingSignatures,r,ie.signature.subkeyBinding,i,e,t)}catch(e){return null}const a=rh(this.keyPacket,n),s=n.getExpirationTime();return a<s?a:s}async update(e,t=new Date,r=ne){const i=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===ie.packet.publicSubkey&&e.keyPacket.constructor.tag===ie.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const n=this,a={key:i,bind:n.keyPacket};await eh(e,this,"bindingSignatures",t,(async function(e){for(let t=0;t<n.bindingSignatures.length;t++)if(n.bindingSignatures[t].issuerKeyID.equals(e.issuerKeyID))return e.created>n.bindingSignatures[t].created&&(n.bindingSignatures[t]=e),!1;try{return await e.verify(i,ie.signature.subkeyBinding,a,t,void 0,r),!0}catch(e){return!1}})),await eh(e,this,"revocationSignatures",t,(function(e){return th(i,ie.signature.subkeyRevocation,a,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ie.reasonForRevocation.noReason,string:r=""}={},i=new Date,n=ne){const a={key:e,bind:this.keyPacket},s=new uh(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await Ju(a,null,e,{signatureType:ie.signature.subkeyRevocation,reasonForRevocationFlag:ie.write(ie.reasonForRevocation,t),reasonForRevocationString:r},i,void 0,void 0,!1,n)),await s.update(this),s}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((e=>{uh.prototype[e]=function(){return this.keyPacket[e]()}}));const hh=/*#__PURE__*/$.constructAllowedPackets([hu]),dh=new Set([ie.packet.publicKey,ie.packet.privateKey]),fh=new Set([ie.packet.publicKey,ie.packet.privateKey,ie.packet.publicSubkey,ie.packet.privateSubkey]);class lh{packetListToStructure(e,t=new Set){let r,i,n,a;for(const s of e){if(s instanceof mn){fh.has(s.tag)&&!a&&(a=dh.has(s.tag)?dh:fh);continue}const e=s.constructor.tag;if(a){if(!a.has(e))continue;a=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case ie.packet.publicKey:case ie.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=s,i=this.getKeyID(),!i)throw Error("Missing Key ID");break;case ie.packet.userID:case ie.packet.userAttribute:r=new ch(s,this),this.users.push(r);break;case ie.packet.publicSubkey:case ie.packet.secretSubkey:r=null,n=new uh(s,this),this.subkeys.push(n);break;case ie.packet.signature:switch(s.signatureType){case ie.signature.certGeneric:case ie.signature.certPersona:case ie.signature.certCasual:case ie.signature.certPositive:if(!r){$.printDebug("Dropping certification signatures without preceding user packet");continue}s.issuerKeyID.equals(i)?r.selfCertifications.push(s):r.otherCertifications.push(s);break;case ie.signature.certRevocation:r?r.revocationSignatures.push(s):this.directSignatures.push(s);break;case ie.signature.key:this.directSignatures.push(s);break;case ie.signature.subkeyBinding:if(!n){$.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}n.bindingSignatures.push(s);break;case ie.signature.keyRevocation:this.revocationSignatures.push(s);break;case ie.signature.subkeyRevocation:if(!n){$.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}n.revocationSignatures.push(s)}}}}toPacketList(){const e=new pu;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map((t=>e.push(...t.toPacketList()))),this.subkeys.map((t=>e.push(...t.toPacketList()))),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach((e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach((r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])})),e.keyPacket.privateParams=t})),t}getSubkeys(e=null){return this.subkeys.filter((t=>!e||t.getKeyID().equals(e,!0)))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map((e=>e.getKeyID()))}getUserIDs(){return this.users.map((e=>e.userID?e.userID.userID:null)).filter((e=>null!==e))}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},i=ne){await this.verifyPrimaryKey(t,r,i);const n=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,i);const e={key:n,bind:r.keyPacket},a=await $u(r.bindingSignatures,n,ie.signature.subkeyBinding,e,t,i);if(!nh(r.keyPacket,a))continue;if(!a.embeddedSignature)throw Error("Missing embedded signature");return await $u([a.embeddedSignature],r.keyPacket,ie.signature.keyBinding,e,t,i),oh(r.keyPacket,i),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,i);if((!e||n.getKeyID().equals(e))&&nh(n,a.selfCertification))return oh(n,i),this}catch(e){s=e}throw $.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),s)}async getEncryptionKey(e,t=new Date,r={},i=ne){await this.verifyPrimaryKey(t,r,i);const n=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,i);const e={key:n,bind:r.keyPacket},a=await $u(r.bindingSignatures,n,ie.signature.subkeyBinding,e,t,i);if(ah(r.keyPacket,a))return oh(r.keyPacket,i),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,i);if((!e||n.getKeyID().equals(e))&&ah(n,a.selfCertification))return oh(n,i),this}catch(e){s=e}throw $.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),s)}async isRevoked(e,t,r=new Date,i=ne){return th(this.keyPacket,ie.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,i)}async verifyPrimaryKey(e=new Date,t={},r=ne){const i=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");const{selfCertification:n}=await this.getPrimaryUser(e,t,r);if(Zu(i,n,e))throw Error("Primary key is expired");const a=await $u(this.directSignatures,i,ie.signature.key,{key:i},e,r).catch((()=>{}));if(a&&Zu(i,a,e))throw Error("Primary key is expired")}async getExpirationTime(e,t=ne){let r;try{const{selfCertification:i}=await this.getPrimaryUser(null,e,t),n=rh(this.keyPacket,i),a=i.getExpirationTime(),s=await $u(this.directSignatures,this.keyPacket,ie.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(s){const e=rh(this.keyPacket,s);r=Math.min(n,a,e)}else r=n<a?n:a}catch(e){r=null}return $.normalizeDate(r)}async getPrimaryUser(e=new Date,t={},r=ne){const i=this.keyPacket,n=[];let a;for(let s=0;s<this.users.length;s++)try{const a=this.users[s];if(!a.userID)continue;if(void 0!==t.name&&a.userID.name!==t.name||void 0!==t.email&&a.userID.email!==t.email||void 0!==t.comment&&a.userID.comment!==t.comment)throw Error("Could not find user that matches that user ID");const o={userID:a.userID,key:i},c=await $u(a.selfCertifications,i,ie.signature.certGeneric,o,e,r);n.push({index:s,user:a,selfCertification:c})}catch(e){a=e}if(!n.length)throw a||Error("Could not find primary user");await Promise.all(n.map((async function(t){return t.user.revoked||t.user.isRevoked(t.selfCertification,null,e,r)})));const s=n.sort((function(e,t){const r=e.selfCertification,i=t.selfCertification;return i.revoked-r.revoked||r.isPrimaryUserID-i.isPrimaryUserID||r.created-i.created})).pop(),{user:o,selfCertification:c}=s;if(c.revoked||await o.isRevoked(c,null,e,r))throw Error("Primary user is revoked");return s}async update(e,t=new Date,r=ne){if(!this.hasSameFingerprintAs(e))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(!(this.subkeys.length===e.subkeys.length&&this.subkeys.every((t=>e.subkeys.some((e=>t.hasSameFingerprintAs(e)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const i=this.clone();return await eh(e,i,"revocationSignatures",t,(n=>th(i.keyPacket,ie.signature.keyRevocation,i,[n],null,e.keyPacket,t,r))),await eh(e,i,"directSignatures",t),await Promise.all(e.users.map((async e=>{const n=i.users.filter((t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute)));if(n.length>0)await Promise.all(n.map((i=>i.update(e,t,r))));else{const t=e.clone();t.mainKey=i,i.users.push(t)}}))),await Promise.all(e.subkeys.map((async e=>{const n=i.subkeys.filter((t=>t.hasSameFingerprintAs(e)));if(n.length>0)await Promise.all(n.map((i=>i.update(e,t,r))));else{const t=e.clone();t.mainKey=i,i.subkeys.push(t)}}))),i}async getRevocationCertificate(e=new Date,t=ne){const r={key:this.keyPacket},i=await $u(this.revocationSignatures,this.keyPacket,ie.signature.keyRevocation,r,e,t),n=new pu;return n.push(i),le(ie.armor.publicKey,n.write(),null,null,"This is a revocation certificate")}async applyRevocationCertificate(e,t=new Date,r=ne){const i=await fe(e,r),n=(await pu.fromBinary(i.data,hh,r)).findPacket(ie.packet.signature);if(!n||n.signatureType!==ie.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!n.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await n.verify(this.keyPacket,ie.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw $.wrapError("Could not verify revocation signature",e)}const a=this.clone();return a.revocationSignatures.push(n),a}async signPrimaryUser(e,t,r,i=ne){const{index:n,user:a}=await this.getPrimaryUser(t,r,i),s=await a.certify(e,t,i),o=this.clone();return o.users[n]=s,o}async signAllUsers(e,t=new Date,r=ne){const i=this.clone();return i.users=await Promise.all(this.users.map((function(i){return i.certify(e,t,r)}))),i}async verifyPrimaryUser(e,t=new Date,r,i=ne){const n=this.keyPacket,{user:a}=await this.getPrimaryUser(t,r,i);return e?await a.verifyAllCertifications(e,t,i):[{keyID:n.getKeyID(),valid:await a.verify(t,i).catch((()=>!1))}]}async verifyAllUsers(e,t=new Date,r=ne){const i=this.keyPacket,n=[];return await Promise.all(this.users.map((async a=>{const s=e?await a.verifyAllCertifications(e,t,r):[{keyID:i.getKeyID(),valid:await a.verify(t,r).catch((()=>!1))}];n.push(...s.map((e=>({userID:a.userID.userID,keyID:e.keyID,valid:e.valid}))))}))),n}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((e=>{lh.prototype[e]=uh.prototype[e]}));class ph extends lh{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([ie.packet.secretKey,ie.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=ne){return le(ie.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,e)}}class yh extends ph{constructor(e){if(super(),this.packetListToStructure(e,new Set([ie.packet.publicKey,ie.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new pu,t=this.toPacketList();let r=!1;for(const i of t)if(!r||i.constructor.tag!==ie.packet.Signature)switch(r&&(r=!1),i.constructor.tag){case ie.packet.secretKey:{const t=ie.write(ie.publicKey,i.algorithm);if(t===ie.publicKey.aead||t===ie.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const r=Du.fromSecretKeyPacket(i);e.push(r);break}case ie.packet.secretSubkey:{const t=ie.write(ie.publicKey,i.algorithm);if(t===ie.publicKey.aead||t===ie.publicKey.hmac){r=!0;break}const n=Bu.fromSecretSubkeyPacket(i);e.push(n);break}default:e.push(i)}return new ph(e)}armor(e=ne){return le(ie.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,e)}async getDecryptionKeys(e,t=new Date,r={},i=ne){const n=this.keyPacket,a=[];for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0))try{const e={key:n,bind:this.subkeys[r].keyPacket};sh(await $u(this.subkeys[r].bindingSignatures,n,ie.signature.subkeyBinding,e,t,i),i)&&a.push(this.subkeys[r])}catch(e){}const s=await this.getPrimaryUser(t,r,i);return e&&!n.getKeyID().equals(e,!0)||!sh(s.selfCertification,i)||a.push(this),a}isDecrypted(){return this.getKeys().some((({keyPacket:e})=>e.isDecrypted()))}async validate(e=ne){if(!this.isPrivate())throw Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys(),t=e.map((e=>e.keyPacket.isDummy())).every(Boolean);if(t)throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map((async e=>e.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()}))}async revoke({flag:e=ie.reasonForRevocation.noReason,string:t=""}={},r=new Date,i=ne){if(!this.isPrivate())throw Error("Need private key for revoking");const n={key:this.keyPacket},a=this.clone();return a.revocationSignatures.push(await Ju(n,null,this.keyPacket,{signatureType:ie.signature.keyRevocation,reasonForRevocationFlag:ie.write(ie.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,i)),a}async addSubkey(e={}){const t={...ne,...e.config};if(e.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits<t.minRSABits)throw Error(`rsaBits should be at least ${t.minRSABits}, got: ${e.rsaBits}`);const r=this.keyPacket;if(r.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!r.isDecrypted())throw Error("Key is not decrypted");const i=r.getAlgorithmInfo();i.type=i.curve?"ecc":"rsa",i.rsaBits=i.bits||4096,i.curve=i.curve||"curve25519",e=ih(e,i);const n=await Gu(e);oh(n,t);const a=await Yu(n,r,e,t),s=this.toPacketList();return s.push(n,a),new yh(s)}}const bh=/*#__PURE__*/$.constructAllowedPackets([Du,Bu,zu,Nu,Ou,Tu,hu]);function mh(e){for(const t of e)switch(t.constructor.tag){case ie.packet.secretKey:return new yh(e);case ie.packet.publicKey:return new ph(e)}throw Error("No key packet found")}async function gh(e,t,r,i){r.passphrase&&await e.encrypt(r.passphrase,i),await Promise.all(t.map((async function(e,t){const n=r.subkeys[t].passphrase;n&&await e.encrypt(n,i)})));const n=new pu;n.push(e),await Promise.all(r.userIDs.map((async function(t,n){function a(e,t){return[t,...e.filter((e=>e!==t))]}const s=Ou.fromObject(t),o={};o.userID=s,o.key=e;const c=new hu;return c.signatureType=ie.signature.certGeneric,c.publicKeyAlgorithm=e.algorithm,c.hashAlgorithm=await Xu(null,e,void 0,void 0,i),c.keyFlags=[ie.keyFlags.certifyKeys|ie.keyFlags.signData],c.preferredSymmetricAlgorithms=a([ie.symmetric.aes256,ie.symmetric.aes128,ie.symmetric.aes192],i.preferredSymmetricAlgorithm),i.aeadProtect&&(c.preferredAEADAlgorithms=a([ie.aead.eax,ie.aead.ocb],i.preferredAEADAlgorithm)),c.preferredHashAlgorithms=a([ie.hash.sha256,ie.hash.sha512],i.preferredHashAlgorithm),c.preferredCompressionAlgorithms=a([ie.compression.zlib,ie.compression.zip,ie.compression.uncompressed],i.preferredCompressionAlgorithm),0===n&&(c.isPrimaryUserID=!0),c.features=[0],c.features[0]|=ie.features.modificationDetection,i.aeadProtect&&(c.features[0]|=ie.features.aead),i.v5Keys&&(c.features[0]|=ie.features.v5Keys),r.keyExpirationTime>0&&(c.keyExpirationTime=r.keyExpirationTime,c.keyNeverExpires=!1),await c.sign(e,o,r.date),{userIDPacket:s,signaturePacket:c}}))).then((e=>{e.forEach((({userIDPacket:e,signaturePacket:t})=>{n.push(e),n.push(t)}))})),await Promise.all(t.map((async function(t,n){const a=r.subkeys[n];return{secretSubkeyPacket:t,subkeySignaturePacket:await Yu(t,e,a,i)}}))).then((e=>{e.forEach((({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{n.push(e),n.push(t)}))}));const a={key:e};return n.push(await Ju(a,null,e,{signatureType:ie.signature.keyRevocation,reasonForRevocationFlag:ie.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,i)),r.passphrase&&e.clearPrivateParams(),await Promise.all(t.map((async function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}))),new yh(n)}async function wh({armoredKey:e,binaryKey:t,config:r,...i}){if(r={...ne,...r},!e&&!t)throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!$.isString(e))throw Error("readKey: options.armoredKey must be a string");if(t&&!$.isUint8Array(t))throw Error("readKey: options.binaryKey must be a Uint8Array");const n=Object.keys(i);if(n.length>0)throw Error("Unknown option: "+n.join(", "));let a;if(e){const{type:t,data:i}=await fe(e,r);if(t!==ie.armor.publicKey&&t!==ie.armor.privateKey)throw Error("Armored text not of type key");a=i}else a=t;return mh(await pu.fromBinary(a,bh,r))}async function vh({armoredKey:e,binaryKey:t,config:r,...i}){if(r={...ne,...r},!e&&!t)throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!$.isString(e))throw Error("readPrivateKey: options.armoredKey must be a string");if(t&&!$.isUint8Array(t))throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");const n=Object.keys(i);if(n.length>0)throw Error("Unknown option: "+n.join(", "));let a;if(e){const{type:t,data:i}=await fe(e,r);if(t!==ie.armor.privateKey)throw Error("Armored text not of type private key");a=i}else a=t;const s=await pu.fromBinary(a,bh,r);return new yh(s)}async function _h({armoredKeys:e,binaryKeys:t,config:r,...i}){r={...ne,...r};let n=e||t;if(!n)throw Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!$.isString(e))throw Error("readKeys: options.armoredKeys must be a string");if(t&&!$.isUint8Array(t))throw Error("readKeys: options.binaryKeys must be a Uint8Array");const a=Object.keys(i);if(a.length>0)throw Error("Unknown option: "+a.join(", "));if(e){const{type:t,data:i}=await fe(e,r);if(t!==ie.armor.publicKey&&t!==ie.armor.privateKey)throw Error("Armored text not of type key");n=i}const s=[],o=await pu.fromBinary(n,bh,r),c=o.indexOfTag(ie.packet.publicKey,ie.packet.secretKey);if(0===c.length)throw Error("No key packet found");for(let e=0;e<c.length;e++){const t=mh(o.slice(c[e],c[e+1]));s.push(t)}return s}async function kh({armoredKeys:e,binaryKeys:t,config:r}){r={...ne,...r};let i=e||t;if(!i)throw Error("readPrivateKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!$.isString(e))throw Error("readPrivateKeys: options.armoredKeys must be a string");if(t&&!$.isUint8Array(t))throw Error("readPrivateKeys: options.binaryKeys must be a Uint8Array");if(e){const{type:t,data:n}=await fe(e,r);if(t!==ie.armor.privateKey)throw Error("Armored text not of type private key");i=n}const n=[],a=await pu.fromBinary(i,bh,r),s=a.indexOfTag(ie.packet.secretKey);if(0===s.length)throw Error("No secret key packet found");for(let e=0;e<s.length;e++){const t=a.slice(s[e],s[e+1]),r=new yh(t);n.push(r)}return n}const Ah=/*#__PURE__*/$.constructAllowedPackets([ou,bu,xu,Eu,Ru,Mu,Cu,fu,hu]),Sh=/*#__PURE__*/$.constructAllowedPackets([Cu]),Eh=/*#__PURE__*/$.constructAllowedPackets([hu]);class Ph{constructor(e){this.packets=e||new pu}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(ie.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(ie.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag(ie.packet.signature).map((e=>e.issuerKeyID))}async decrypt(e,t,r,i=new Date,n=ne){const a=r||await this.decryptSessionKeys(e,t,i,n),s=this.packets.filterByTag(ie.packet.symmetricallyEncryptedData,ie.packet.symEncryptedIntegrityProtectedData,ie.packet.aeadEncryptedData);if(0===s.length)throw Error("No encrypted data found");const o=s[0];let c=null;const u=Promise.all(a.map((async({algorithm:e,data:t})=>{if(!$.isUint8Array(t)||!$.isString(e))throw Error("Invalid session key for decryption.");try{const r=ie.write(ie.symmetric,e);await o.decrypt(r,t,n)}catch(e){$.printDebugError(e),c=e}})));if(j(o.encrypted),o.encrypted=null,await u,!o.packets||!o.packets.length)throw c||Error("Decryption failed.");const h=new Ph(o.packets);return o.packets=new pu,h}async decryptSessionKeys(e,t,r=new Date,i=ne){let n,a=[];if(t){const e=this.packets.filterByTag(ie.packet.symEncryptedSessionKey);if(0===e.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map((async function(t,r){let n;n=r?await pu.fromBinary(e.write(),Sh,i):e,await Promise.all(n.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){$.printDebugError(e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag(ie.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw Error("No public key encrypted session key packet found.");await Promise.all(t.map((async function(t){await Promise.all(e.map((async function(e){let s=[ie.symmetric.aes256,ie.symmetric.aes128,ie.symmetric.tripledes,ie.symmetric.cast5];try{const t=await e.getPrimaryUser(r,void 0,i);t.selfCertification.preferredSymmetricAlgorithms&&(s=s.concat(t.selfCertification.preferredSymmetricAlgorithms))}catch(e){}const o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map((e=>e.keyPacket));await Promise.all(o.map((async function(e){if(!e||e.isDummy())return;if(!e.isDecrypted())throw Error("Decryption key is not decrypted.");if(i.constantTimePKCS1Decryption&&(t.publicKeyAlgorithm===ie.publicKey.rsaEncrypt||t.publicKeyAlgorithm===ie.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===ie.publicKey.rsaSign||t.publicKeyAlgorithm===ie.publicKey.elgamal)){const r=t.write();await Promise.all(Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map((async t=>{const i=new Mu;i.read(r);const s={sessionKeyAlgorithm:t,sessionKey:wa.generateSessionKey(t)};try{await i.decrypt(e,s),a.push(i)}catch(e){$.printDebugError(e),n=e}})))}else try{if(await t.decrypt(e),!s.includes(ie.write(ie.symmetric,t.sessionKeyAlgorithm)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){$.printDebugError(e),n=e}})))}))),j(t.encrypted),t.encrypted=null})))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter((t=>{const r=t.sessionKeyAlgorithm+$.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:ie.read(ie.symmetric,e.sessionKeyAlgorithm)})))}throw n||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(ie.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(ie.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(ie.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],i=ne){const n=await Qu("symmetric",e,t,r,i),a=ie.read(ie.symmetric,n),s=i.aeadProtect&&await async function(e,t=new Date,r=[],i=ne){let n=!0;return await Promise.all(e.map((async function(e,a){const s=await e.getPrimaryUser(t,r[a],i);s.selfCertification.features&&s.selfCertification.features[0]&ie.features.aead||(n=!1)}))),n}(e,t,r,i)?ie.read(ie.aead,await Qu("aead",e,t,r,i)):void 0;return{data:wa.generateSessionKey(n),algorithm:a,aeadAlgorithm:s}}async encrypt(e,t,r,i=!1,n=[],a=new Date,s=[],o=ne){if(r){if(!$.isUint8Array(r.data)||!$.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Ph.generateSessionKey(e,a,s,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await Ph.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:u,aeadAlgorithm:h}=r,d=await Ph.encryptSessionKey(c,u,h,e,t,i,n,a,s,o);let f;h?(f=new xu,f.aeadAlgorithm=ie.write(ie.aead,h)):f=new Eu,f.packets=this.packets;const l=ie.write(ie.symmetric,u);return await f.encrypt(l,c,o),d.packets.push(f),f.packets=new pu,d}static async encryptSessionKey(e,t,r,i,n,a=!1,s=[],o=new Date,c=[],u=ne){const h=new pu,d=ie.write(ie.symmetric,t),f=r&&ie.write(ie.aead,r);if(i){const t=await Promise.all(i.map((async function(t,r){const i=await t.getEncryptionKey(s[r],o,c,u),n=new Mu;return n.publicKeyID=a?pe.wildcard():i.getKeyID(),n.publicKeyAlgorithm=i.keyPacket.algorithm,n.sessionKey=e,n.sessionKeyAlgorithm=d,await n.encrypt(i.keyPacket),delete n.sessionKey,n})));h.push(...t)}if(n){const t=async function(e,t){try{return await e.decrypt(t),1}catch(e){return 0}},r=(e,t)=>e+t,i=async function(e,a,s,o){const c=new Cu(u);if(c.sessionKey=e,c.sessionKeyAlgorithm=a,s&&(c.aeadAlgorithm=s),await c.encrypt(o,u),u.passwordCollisionCheck){if(1!==(await Promise.all(n.map((e=>t(c,e))))).reduce(r))return i(e,a,o)}return delete c.sessionKey,c},a=await Promise.all(n.map((t=>i(e,d,f,t))));h.push(...a)}return new Ph(h)}async sign(e=[],t=null,r=[],i=new Date,n=[],a=[],s=ne){const o=new pu,c=this.packets.findPacket(ie.packet.literalData);if(!c)throw Error("No literal data packet to sign.");let u,h;const d=null===c.text?ie.signature.binary:ie.signature.text;if(t)for(h=t.packets.filterByTag(ie.packet.signature),u=h.length-1;u>=0;u--){const t=h[u],r=new fu;r.signatureType=t.signatureType,r.hashAlgorithm=t.hashAlgorithm,r.publicKeyAlgorithm=t.publicKeyAlgorithm,r.issuerKeyID=t.issuerKeyID,e.length||0!==u||(r.flags=1),o.push(r)}return await Promise.all(Array.from(e).reverse().map((async function(t,a){if(!t.isPrivate())throw Error("Need private key for signing");const o=r[e.length-1-a],c=await t.getSigningKey(o,i,n,s),u=new fu;return u.signatureType=d,u.hashAlgorithm=await Xu(t,c.keyPacket,i,n,s),u.publicKeyAlgorithm=c.keyPacket.algorithm,u.issuerKeyID=c.getKeyID(),a===e.length-1&&(u.flags=1),u}))).then((e=>{e.forEach((e=>o.push(e)))})),o.push(c),o.push(...await xh(c,e,t,r,i,n,a,!1,s)),new Ph(o)}compress(e,t=ne){if(e===ie.compression.uncompressed)return this;const r=new bu(t);r.algorithm=e,r.packets=this.packets;const i=new pu;return i.push(r),new Ph(i)}async signDetached(e=[],t=null,r=[],i=new Date,n=[],a=[],s=ne){const o=this.packets.findPacket(ie.packet.literalData);if(!o)throw Error("No literal data packet to sign.");return new Wu(await xh(o,e,t,r,i,n,a,!0,s))}async verify(e,t=new Date,r=ne){const i=this.unwrapCompressed(),n=i.packets.filterByTag(ie.packet.literalData);if(1!==n.length)throw Error("Can only verify message with one literal data packet.");s(i.packets.stream)&&i.packets.push(...await L(i.packets.stream,(e=>e||[])));const a=i.packets.filterByTag(ie.packet.onePassSignature).reverse(),o=i.packets.filterByTag(ie.packet.signature);return a.length&&!o.length&&$.isStream(i.packets.stream)&&!s(i.packets.stream)?(await Promise.all(a.map((async e=>{e.correspondingSig=new Promise(((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r})),e.signatureData=W((async()=>(await e.correspondingSig).signatureData)),e.hashed=L(await e.hash(e.signatureType,n[0],void 0,!1)),e.hashed.catch((()=>{}))}))),i.packets.stream=T(i.packets.stream,(async(e,t)=>{const r=C(e),i=D(t);try{for(let e=0;e<a.length;e++){const{value:t}=await r.read();a[e].correspondingSigResolve(t)}await r.readToEnd(),await i.ready,await i.close()}catch(e){a.forEach((t=>{t.correspondingSigReject(e)})),await i.abort(e)}})),Mh(a,n,e,t,!1,r)):Mh(o,n,e,t,!1,r)}verifyDetached(e,t,r=new Date,i=ne){const n=this.unwrapCompressed().packets.filterByTag(ie.packet.literalData);if(1!==n.length)throw Error("Can only verify message with one literal data packet.");return Mh(e.packets,n,t,r,!0,i)}unwrapCompressed(){const e=this.packets.filterByTag(ie.packet.compressedData);return e.length?new Ph(e[0].packets):this}async appendSignature(e,t=ne){await this.packets.read($.isUint8Array(e)?e:(await fe(e)).data,Eh,t)}write(){return this.packets.write()}armor(e=ne){return le(ie.armor.message,this.write(),null,null,null,e)}}async function xh(e,t,r=null,i=[],n=new Date,a=[],s=[],o=!1,c=ne){const u=new pu,h=null===e.text?ie.signature.binary:ie.signature.text;if(await Promise.all(t.map((async(t,r)=>{const u=a[r];if(!t.isPrivate())throw Error("Need private key for signing");const d=await t.getSigningKey(i[r],n,u,c);return Ju(e,t,d.keyPacket,{signatureType:h},n,u,s,o,c)}))).then((e=>{u.push(...e)})),r){const e=r.packets.filterByTag(ie.packet.signature);u.push(...e)}return u}async function Mh(e,t,r,i=new Date,n=!1,a=ne){return Promise.all(e.filter((function(e){return["text","binary"].includes(ie.read(ie.signature,e.signatureType))})).map((async function(e){return async function(e,t,r,i=new Date,n=!1,a=ne){let s,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){s=t,o=r[0];break}}const c=e instanceof fu?e.correspondingSig:e,u={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw Error("Could not find signing key with key ID "+e.issuerKeyID.toHex());await e.verify(o.keyPacket,e.signatureType,t[0],i,n,a);const r=await c;if(o.getCreationTime()>r.created)throw Error("Key is newer than the signature");try{await s.getSigningKey(o.getKeyID(),r.created,void 0,a)}catch(e){if(!a.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await s.getSigningKey(o.getKeyID(),i,void 0,a)}return!0})(),signature:(async()=>{const e=await c,t=new pu;return e&&t.push(e),new Wu(t)})()};return u.signature.catch((()=>{})),u.verified.catch((()=>{})),u}(e,t,r,i,n,a)})))}async function Kh({armoredMessage:e,binaryMessage:t,config:r,...i}){r={...ne,...r};let n=e||t;if(!n)throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!$.isString(e)&&!$.isStream(e))throw Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!$.isUint8Array(t)&&!$.isStream(t))throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const a=Object.keys(i);if(a.length>0)throw Error("Unknown option: "+a.join(", "));const s=$.isStream(n);if(s&&(await E(),n=x(n)),e){const{type:e,data:t}=await fe(n,r);if(e!==ie.armor.message)throw Error("Armored text not of type message");n=t}const o=await pu.fromBinary(n,Ah,r),c=new Ph(o);return c.fromStream=s,c}async function Ch({text:e,binary:t,filename:r,date:i=new Date,format:n=(void 0!==e?"utf8":"binary"),...a}){let s=void 0!==e?e:t;if(void 0===s)throw Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!$.isString(e)&&!$.isStream(e))throw Error("createMessage: options.text must be a string or stream");if(t&&!$.isUint8Array(t)&&!$.isStream(t))throw Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(a);if(o.length>0)throw Error("Unknown option: "+o.join(", "));const c=$.isStream(s);c&&(await E(),s=x(s));const u=new ou(i);void 0!==e?u.setText(s,ie.write(ie.literal,n)):u.setBytes(s,ie.write(ie.literal,n)),void 0!==r&&u.setFilename(r);const h=new pu;h.push(u);const d=new Ph(h);return d.fromStream=c,d}const Dh=/*#__PURE__*/$.constructAllowedPackets([hu]);class Uh{constructor(e,t){if(this.text=$.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof Wu))throw Error("Invalid signature input");this.signature=t||new Wu(new pu)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach((function(t){e.push(t.issuerKeyID)})),e}async sign(e,t=null,r=[],i=new Date,n=[],a=[],s=ne){const o=new ou;o.setText(this.text);const c=new Wu(await xh(o,e,t,r,i,n,a,!0,s));return new Uh(this.text,c)}verify(e,t=new Date,r=ne){const i=this.signature.packets,n=new ou;return n.setText(this.text),Mh(i,[n],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=ne){let t=this.signature.packets.map((function(e){return ie.read(ie.hash,e.hashAlgorithm).toUpperCase()}));t=t.filter((function(e,t,r){return r.indexOf(e)===t}));const r={hash:t.join(),text:this.text,data:this.signature.packets.write()};return le(ie.armor.signed,r,void 0,void 0,void 0,e)}}async function Rh({cleartextMessage:e,config:t,...r}){if(t={...ne,...t},!e)throw Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!$.isString(e))throw Error("readCleartextMessage: options.cleartextMessage must be a string");const i=Object.keys(r);if(i.length>0)throw Error("Unknown option: "+i.join(", "));const n=await fe(e);if(n.type!==ie.armor.signed)throw Error("No cleartext signed message.");const a=await pu.fromBinary(n.data,Dh,t);!function(e,t){const r=function(e){const r=e=>t=>e.hashAlgorithm===t;for(let i=0;i<t.length;i++)if(t[i].constructor.tag===ie.packet.signature&&!e.some(r(t[i])))return!1;return!0};let i=null,n=[];if(e.forEach((function(e){if(i=e.match(/Hash: (.+)/),!i)throw Error('Only "Hash" header allowed in cleartext signed message');i=i[1].replace(/\s/g,""),i=i.split(","),i=i.map((function(e){e=e.toLowerCase();try{return ie.write(ie.hash,e)}catch(t){throw Error("Unknown hash algorithm in armor header: "+e)}})),n=n.concat(i)})),!n.length&&!r([ie.hash.md5]))throw Error('If no "Hash" header in cleartext signed message, then only MD5 signatures allowed');if(n.length&&!r(n))throw Error("Hash algorithm mismatch in armor header and signature")}(n.headers,a);const s=new Wu(a);return new Uh(n.text,s)}async function Ih({text:e,...t}){if(!e)throw Error("createCleartextMessage: must pass options object containing `text`");if(!$.isString(e))throw Error("createCleartextMessage: options.text must be a string");const r=Object.keys(t);if(r.length>0)throw Error("Unknown option: "+r.join(", "));return new Uh(e)}async function Bh({userIDs:e=[],passphrase:t,type:r="ecc",rsaBits:i=4096,curve:n="curve25519",keyExpirationTime:a=0,date:s=new Date,subkeys:o=[{}],format:c="armored",config:u,symmetricHash:h="sha256",symmetricCipher:d="aes256",...f}){Xh(u={...ne,...u}),e=Qh(e);const l=Object.keys(f);if(l.length>0)throw Error("Unknown option: "+l.join(", "));if(0===e.length)throw Error("UserIDs are required for key generation");if("rsa"===r&&i<u.minRSABits)throw Error(`rsaBits should be at least ${u.minRSABits}, got: ${i}`);const p={userIDs:e,passphrase:t,type:r,rsaBits:i,curve:n,keyExpirationTime:a,date:s,subkeys:o,symmetricHash:h,symmetricCipher:d};try{const{key:e,revocationCertificate:t}=await async function(e,t){e.sign=!0,(e=ih(e)).subkeys=e.subkeys.map(((t,r)=>ih(e.subkeys[r],e)));let r=[Vu(e,t)];r=r.concat(e.subkeys.map((e=>Gu(e,t))));const i=await Promise.all(r),n=await gh(i[0],i.slice(1),e,t),a=await n.getRevocationCertificate(e.date,t);return n.revocationSignatures=[],{key:n,revocationCertificate:a}}(p,u);return e.getKeys().forEach((({keyPacket:e})=>oh(e,u))),{privateKey:td(e,c,u),publicKey:"symmetric"!==r?td(e.toPublic(),c,u):null,revocationCertificate:t}}catch(e){throw $.wrapError("Error generating keypair",e)}}async function Th({privateKey:e,userIDs:t=[],passphrase:r,keyExpirationTime:i=0,date:n,format:a="armored",config:s,...o}){Xh(s={...ne,...s}),t=Qh(t);const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(0===t.length)throw Error("UserIDs are required for key reformat");const u={privateKey:e,userIDs:t,passphrase:r,keyExpirationTime:i,date:n};try{const{key:e,revocationCertificate:t}=await async function(e,t){e=o(e);const{privateKey:r}=e;if(!r.isPrivate())throw Error("Cannot reformat a public key");if(r.keyPacket.isDummy())throw Error("Cannot reformat a gnu-dummy primary key");if(!r.getKeys().every((({keyPacket:e})=>e.isDecrypted())))throw Error("Key is not decrypted");const i=r.keyPacket;e.subkeys||(e.subkeys=await Promise.all(r.subkeys.map((async e=>{const r=e.keyPacket,n={key:i,bind:r},a=await $u(e.bindingSignatures,i,ie.signature.subkeyBinding,n,null,t).catch((()=>({})));return{sign:a.keyFlags&&a.keyFlags[0]&ie.keyFlags.signData}}))));const n=r.subkeys.map((e=>e.keyPacket));if(e.subkeys.length!==n.length)throw Error("Number of subkey options does not match number of subkeys");e.subkeys=e.subkeys.map((t=>o(t,e)));const a=await gh(i,n,e,t),s=await a.getRevocationCertificate(e.date,t);return a.revocationSignatures=[],{key:a,revocationCertificate:s};function o(e,t={}){return e.keyExpirationTime=e.keyExpirationTime||t.keyExpirationTime,e.passphrase=$.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e}}(u,s);return{privateKey:td(e,a,s),publicKey:td(e.toPublic(),a,s),revocationCertificate:t}}catch(e){throw $.wrapError("Error reformatting keypair",e)}}async function zh({key:e,revocationCertificate:t,reasonForRevocation:r,date:i=new Date,format:n="armored",config:a,...s}){Xh(a={...ne,...a});const o=Object.keys(s);if(o.length>0)throw Error("Unknown option: "+o.join(", "));try{const s=t?await e.applyRevocationCertificate(t,i,a):await e.revoke(r,i,a);return s.isPrivate()?{privateKey:td(s,n,a),publicKey:td(s.toPublic(),n,a)}:{privateKey:null,publicKey:td(s,n,a)}}catch(e){throw $.wrapError("Error revoking key",e)}}async function qh({privateKey:e,passphrase:t,config:r,...i}){Xh(r={...ne,...r});const n=Object.keys(i);if(n.length>0)throw Error("Unknown option: "+n.join(", "));if(!e.isPrivate())throw Error("Cannot decrypt a public key");const a=e.clone(!0),s=$.isArray(t)?t:[t];try{return await Promise.all(a.getKeys().map((e=>$.anyPromise(s.map((t=>e.keyPacket.decrypt(t))))))),await a.validate(r),a}catch(e){throw a.clearPrivateParams(),$.wrapError("Error decrypting private key",e)}}async function Fh({privateKey:e,passphrase:t,config:r,...i}){Xh(r={...ne,...r});const n=Object.keys(i);if(n.length>0)throw Error("Unknown option: "+n.join(", "));if(!e.isPrivate())throw Error("Cannot encrypt a public key");const a=e.clone(!0),s=a.getKeys(),o=$.isArray(t)?t:Array(s.length).fill(t);if(o.length!==s.length)throw Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(s.map((async(e,t)=>{const{keyPacket:i}=e;await i.encrypt(o[t],r),i.clearPrivateParams()}))),a}catch(e){throw a.clearPrivateParams(),$.wrapError("Error encrypting private key",e)}}async function Oh({message:e,encryptionKeys:t,signingKeys:r,passwords:i,sessionKey:n,format:a="armored",signature:s=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:u=[],date:h=new Date,signingUserIDs:d=[],encryptionUserIDs:f=[],signatureNotations:l=[],config:p,...y}){if(Xh(p={...ne,...p}),Vh(e),Zh(a),t=Qh(t),r=Qh(r),i=Qh(i),c=Qh(c),u=Qh(u),d=Qh(d),f=Qh(f),l=Qh(l),y.detached)throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(y.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(y.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==y.armor)throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const b=Object.keys(y);if(b.length>0)throw Error("Unknown option: "+b.join(", "));r||(r=[]);const m=e.fromStream;try{if((r.length||s)&&(e=await e.sign(r,s,c,h,d,l,p)),e=e.compress(await Qu("compression",t,h,f,p),p),e=await e.encrypt(t,i,n,o,u,h,f,p),"object"===a)return e;const y="armored"===a;return Jh(y?e.armor(p):e.write(),m,y?"utf8":"binary")}catch(e){throw $.wrapError("Error encrypting message",e)}}async function Nh({message:e,decryptionKeys:t,passwords:r,sessionKeys:i,verificationKeys:n,expectSigned:a=!1,format:s="utf8",signature:o=null,date:c=new Date,config:u,...h}){if(Xh(u={...ne,...u}),Vh(e),n=Qh(n),t=Qh(t),r=Qh(r),i=Qh(i),h.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");if(h.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");const d=Object.keys(h);if(d.length>0)throw Error("Unknown option: "+d.join(", "));try{const h=await e.decrypt(t,r,i,c,u);n||(n=[]);const d={};if(d.signatures=o?await h.verifyDetached(o,n,c,u):await h.verify(n,c,u),d.data="binary"===s?h.getLiteralData():h.getText(),d.filename=h.getFilename(),ed(d,e),a){if(0===n.length)throw Error("Verification keys are required to verify message signatures");if(0===d.signatures.length)throw Error("Message is not signed");d.data=K([d.data,W((async()=>{await $.anyPromise(d.signatures.map((e=>e.verified)))}))])}return d.data=await Jh(d.data,e.fromStream,s),d}catch(e){throw $.wrapError("Error decrypting message",e)}}async function Lh({message:e,signingKeys:t,format:r="armored",detached:i=!1,signingKeyIDs:n=[],date:a=new Date,signingUserIDs:s=[],signatureNotations:o=[],config:c,...u}){if(Xh(c={...ne,...c}),$h(e),Zh(r),t=Qh(t),n=Qh(n),s=Qh(s),o=Qh(o),u.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==u.armor)throw Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const h=Object.keys(u);if(h.length>0)throw Error("Unknown option: "+h.join(", "));if(e instanceof Uh&&"binary"===r)throw Error("Cannot return signed cleartext message in binary format");if(e instanceof Uh&&i)throw Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw Error("No signing keys provided");try{let u;if(u=i?await e.signDetached(t,void 0,n,a,s,o,c):await e.sign(t,void 0,n,a,s,o,c),"object"===r)return u;const h="armored"===r;return u=h?u.armor(c):u.write(),i&&(u=T(e.packets.write(),(async(e,t)=>{await Promise.all([U(u,t),L(e).catch((()=>{}))])}))),Jh(u,e.fromStream,h?"utf8":"binary")}catch(e){throw $.wrapError("Error signing message",e)}}async function jh({message:e,verificationKeys:t,expectSigned:r=!1,format:i="utf8",signature:n=null,date:a=new Date,config:s,...o}){if(Xh(s={...ne,...s}),$h(e),t=Qh(t),o.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead");const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(e instanceof Uh&&"binary"===i)throw Error("Can't return cleartext message data as binary");if(e instanceof Uh&&n)throw Error("Can't verify detached cleartext signature");try{const o={};if(o.signatures=n?await e.verifyDetached(n,t,a,s):await e.verify(t,a,s),o.data="binary"===i?e.getLiteralData():e.getText(),e.fromStream&&ed(o,e),r){if(0===o.signatures.length)throw Error("Message is not signed");o.data=K([o.data,W((async()=>{await $.anyPromise(o.signatures.map((e=>e.verified)))}))])}return o.data=await Jh(o.data,e.fromStream,i),o}catch(e){throw $.wrapError("Error verifying signed message",e)}}async function Wh({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:i,...n}){if(Xh(i={...ne,...i}),e=Qh(e),r=Qh(r),n.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead");const a=Object.keys(n);if(a.length>0)throw Error("Unknown option: "+a.join(", "));try{return await Ph.generateSessionKey(e,t,r,i)}catch(e){throw $.wrapError("Error generating session key",e)}}async function Hh({data:e,algorithm:t,aeadAlgorithm:r,encryptionKeys:i,passwords:n,format:a="armored",wildcard:s=!1,encryptionKeyIDs:o=[],date:c=new Date,encryptionUserIDs:u=[],config:h,...d}){if(Xh(h={...ne,...h}),function(e,t){if(!$.isUint8Array(e))throw Error("Parameter ["+(t||"data")+"] must be of type Uint8Array")}(e),function(e,t){if(!$.isString(e))throw Error("Parameter ["+(t||"data")+"] must be of type String")}(t,"algorithm"),Zh(a),i=Qh(i),n=Qh(n),o=Qh(o),u=Qh(u),d.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead");const f=Object.keys(d);if(f.length>0)throw Error("Unknown option: "+f.join(", "));if(!(i&&0!==i.length||n&&0!==n.length))throw Error("No encryption keys or passwords provided.");try{return td(await Ph.encryptSessionKey(e,t,r,i,n,s,o,c,u,h),a,h)}catch(e){throw $.wrapError("Error encrypting session key",e)}}async function Gh({message:e,decryptionKeys:t,passwords:r,date:i=new Date,config:n,...a}){if(Xh(n={...ne,...n}),Vh(e),t=Qh(t),r=Qh(r),a.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead");const s=Object.keys(a);if(s.length>0)throw Error("Unknown option: "+s.join(", "));try{return await e.decryptSessionKeys(t,r,i,n)}catch(e){throw $.wrapError("Error decrypting session keys",e)}}function Vh(e){if(!(e instanceof Ph))throw Error("Parameter [message] needs to be of type Message")}function $h(e){if(!(e instanceof Uh||e instanceof Ph))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function Zh(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const Yh=Object.keys(ne).length;function Xh(e){const t=Object.keys(e);if(t.length!==Yh)for(const e of t)if(void 0===ne[e])throw Error("Unknown config property: "+e)}function Qh(e){return e&&!$.isArray(e)&&(e=[e]),e}async function Jh(e,t,r="utf8"){const i=$.isStream(e);return"array"===i?L(e):"node"===t?(e=b(e),"binary"!==r&&e.setEncoding(r),e):"web"===t&&"ponyfill"===i?_(e):e}function ed(e,t){e.data=T(t.packets.stream,(async(t,r)=>{await U(e.data,r,{preventClose:!0});const i=D(r);try{await L(t,(e=>e)),await i.close()}catch(e){await i.abort(e)}}))}function td(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw Error("Unsupported format "+t)}}const rd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:e=>`Symbol(${e})`;function id(){}const nd="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function ad(e){return"object"==typeof e&&null!==e||"function"==typeof e}const sd=id,od=Promise,cd=Promise.prototype.then,ud=Promise.resolve.bind(od),hd=Promise.reject.bind(od);function dd(e){return new od(e)}function fd(e){return ud(e)}function ld(e){return hd(e)}function pd(e,t,r){return cd.call(e,t,r)}function yd(e,t,r){pd(pd(e,t,r),void 0,sd)}function bd(e,t){yd(e,t)}function md(e,t){yd(e,void 0,t)}function gd(e,t,r){return pd(e,t,r)}function wd(e){pd(e,void 0,sd)}const vd=(()=>{const e=nd&&nd.queueMicrotask;if("function"==typeof e)return e;const t=fd(void 0);return e=>pd(t,e)})();function _d(e,t,r){if("function"!=typeof e)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function kd(e,t,r){try{return fd(_d(e,t,r))}catch(e){return ld(e)}}class Ad{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){const t=this._back;let r=t;16383===t._elements.length&&(r={_elements:[],_next:void 0}),t._elements.push(e),r!==t&&(this._back=r,t._next=r),++this._size}shift(){const e=this._front;let t=e;const r=this._cursor;let i=r+1;const n=e._elements,a=n[r];return 16384===i&&(t=e._next,i=0),--this._size,this._cursor=i,e!==t&&(this._front=t),n[r]=void 0,a}forEach(e){let t=this._cursor,r=this._front,i=r._elements;for(;!(t===i.length&&void 0===r._next||t===i.length&&(r=r._next,i=r._elements,t=0,0===i.length));)e(i[t]),++t}peek(){const e=this._front,t=this._cursor;return e._elements[t]}}function Sd(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?Md(e):"closed"===t._state?function(e){Md(e),Dd(e)}(e):Kd(e,t._storedError)}function Ed(e,t){return up(e._ownerReadableStream,t)}function Pd(e){"readable"===e._ownerReadableStream._state?Cd(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){Kd(e,t)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function xd(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Md(e){e._closedPromise=dd(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r}))}function Kd(e,t){Md(e),Cd(e,t)}function Cd(e,t){void 0!==e._closedPromise_reject&&(wd(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Dd(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}const Ud=rd("[[AbortSteps]]"),Rd=rd("[[ErrorSteps]]"),Id=rd("[[CancelSteps]]"),Bd=rd("[[PullSteps]]"),Td=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},zd=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function qd(e,t){if(void 0!==e&&("object"!=typeof(r=e)&&"function"!=typeof r))throw new TypeError(t+" is not an object.");var r}function Fd(e,t){if("function"!=typeof e)throw new TypeError(t+" is not a function.")}function Od(e,t){if(!function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e))throw new TypeError(t+" is not an object.")}function Nd(e,t,r){if(void 0===e)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function Ld(e,t,r){if(void 0===e)throw new TypeError(`${t} is required in '${r}'.`)}function jd(e){return Number(e)}function Wd(e){return 0===e?0:e}function Hd(e,t){const r=Number.MAX_SAFE_INTEGER;let i=Number(e);if(i=Wd(i),!Td(i))throw new TypeError(t+" is not a finite number");if(i=function(e){return Wd(zd(e))}(i),i<0||i>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Td(i)&&0!==i?i:0}function Gd(e,t){if(!op(e))throw new TypeError(t+" is not a ReadableStream.")}function Vd(e){return new Qd(e)}function $d(e,t){e._reader._readRequests.push(t)}function Zd(e,t,r){const i=e._reader._readRequests.shift();r?i._closeSteps():i._chunkSteps(t)}function Yd(e){return e._reader._readRequests.length}function Xd(e){const t=e._reader;return void 0!==t&&!!Jd(t)}class Qd{constructor(e){if(Nd(e,1,"ReadableStreamDefaultReader"),Gd(e,"First parameter"),cp(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Sd(this,e),this._readRequests=new Ad}get closed(){return Jd(this)?this._closedPromise:ld(tf("closed"))}cancel(e=undefined){return Jd(this)?void 0===this._ownerReadableStream?ld(xd("cancel")):Ed(this,e):ld(tf("cancel"))}read(){if(!Jd(this))return ld(tf("read"));if(void 0===this._ownerReadableStream)return ld(xd("read from"));let e,t;const r=dd(((r,i)=>{e=r,t=i}));return ef(this,{_chunkSteps:t=>e({value:t,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:e=>t(e)}),r}releaseLock(){if(!Jd(this))throw tf("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Pd(this)}}}function Jd(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function ef(e,t){const r=e._ownerReadableStream;r._disturbed=!0,"closed"===r._state?t._closeSteps():"errored"===r._state?t._errorSteps(r._storedError):r._readableStreamController[Bd](t)}function tf(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}let rf;Object.defineProperties(Qd.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(Qd.prototype,rd.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0}),"symbol"==typeof rd.asyncIterator&&(rf={[rd.asyncIterator](){return this}},Object.defineProperty(rf,rd.asyncIterator,{enumerable:!1}));class nf{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){const e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?gd(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){const t=()=>this._returnSteps(e);return this._ongoingPromise?gd(this._ongoingPromise,t,t):t()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const e=this._reader;if(void 0===e._ownerReadableStream)return ld(xd("iterate"));let t,r;const i=dd(((e,i)=>{t=e,r=i}));return ef(e,{_chunkSteps:e=>{this._ongoingPromise=void 0,vd((()=>t({value:e,done:!1})))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Pd(e),t({value:void 0,done:!0})},_errorSteps:t=>{this._ongoingPromise=void 0,this._isFinished=!0,Pd(e),r(t)}}),i}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;const t=this._reader;if(void 0===t._ownerReadableStream)return ld(xd("finish iterating"));if(!this._preventCancel){const r=Ed(t,e);return Pd(t),gd(r,(()=>({value:e,done:!0})))}return Pd(t),fd({value:e,done:!0})}}const af={next(){return sf(this)?this._asyncIteratorImpl.next():ld(of("next"))},return(e){return sf(this)?this._asyncIteratorImpl.return(e):ld(of("return"))}};function sf(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl")}function of(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}void 0!==rf&&Object.setPrototypeOf(af,rf);const cf=Number.isNaN||function(e){return e!=e};function uf(e){return!!function(e){if("number"!=typeof e)return!1;if(cf(e))return!1;if(e<0)return!1;return!0}(e)&&e!==1/0}function hf(e){const t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function df(e,t,r){if(!uf(r=Number(r)))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function ff(e){e._queue=new Ad,e._queueTotalSize=0}function lf(e){return e.slice()}class pf{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!mf(this))throw Rf("view");return this._view}respond(e){if(!mf(this))throw Rf("respond");if(Nd(e,1,"respond"),e=Hd(e,"First parameter"),void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(e,t){if(t=Number(t),!uf(t))throw new RangeError("bytesWritten must be a finite");xf(e,t)}(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!mf(this))throw Rf("respondWithNewView");if(Nd(e,1,"respondWithNewView"),!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");!function(e,t){const r=e._pendingPullIntos.peek();if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=t.buffer,xf(e,t.byteLength)}(this._associatedReadableByteStreamController,e)}}Object.defineProperties(pf.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(pf.prototype,rd.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class yf{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!bf(this))throw If("byobRequest");if(null===this._byobRequest&&this._pendingPullIntos.length>0){const e=this._pendingPullIntos.peek(),t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled),r=Object.create(pf.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(r,this,t),this._byobRequest=r}return this._byobRequest}get desiredSize(){if(!bf(this))throw If("desiredSize");return Df(this)}close(){if(!bf(this))throw If("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");const e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);!function(e){const t=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==t._state)return;if(e._queueTotalSize>0)return void(e._closeRequested=!0);if(e._pendingPullIntos.length>0){if(e._pendingPullIntos.peek().bytesFilled>0){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Cf(e,t),t}}Kf(e),hp(t)}(this)}enqueue(e){if(!bf(this))throw If("enqueue");if(Nd(e,1,"enqueue"),!ArrayBuffer.isView(e))throw new TypeError("chunk must be an array buffer view");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");const t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);!function(e,t){const r=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==r._state)return;const i=t.buffer,n=t.byteOffset,a=t.byteLength,s=i;if(Xd(r))if(0===Yd(r))_f(e,s,n,a);else{Zd(r,new Uint8Array(s,n,a),!1)}else zf(r)?(_f(e,s,n,a),Pf(e)):_f(e,s,n,a);gf(e)}(this,e)}error(e=undefined){if(!bf(this))throw If("error");Cf(this,e)}[Id](e){if(this._pendingPullIntos.length>0){this._pendingPullIntos.peek().bytesFilled=0}ff(this);const t=this._cancelAlgorithm(e);return Kf(this),t}[Bd](e){const t=this._controlledReadableByteStream;if(this._queueTotalSize>0){const t=this._queue.shift();this._queueTotalSize-=t.byteLength,Sf(this);const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return void e._chunkSteps(r)}const r=this._autoAllocateChunkSize;if(void 0!==r){let t;try{t=new ArrayBuffer(r)}catch(t){return void e._errorSteps(t)}const i={buffer:t,byteOffset:0,byteLength:r,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}$d(t,e),gf(this)}}function bf(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function mf(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function gf(e){const t=function(e){const t=e._controlledReadableByteStream;if("readable"!==t._state)return!1;if(e._closeRequested)return!1;if(!e._started)return!1;if(Xd(t)&&Yd(t)>0)return!0;if(zf(t)&&Tf(t)>0)return!0;const r=Df(e);if(r>0)return!0;return!1}(e);if(!t)return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;yd(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,gf(e))}),(t=>{Cf(e,t)}))}function wf(e,t){let r=!1;"closed"===e._state&&(r=!0);const i=vf(t);"default"===t.readerType?Zd(e,i,r):function(e,t,r){const i=e._reader,n=i._readIntoRequests.shift();r?n._closeSteps(t):n._chunkSteps(t)}(e,i,r)}function vf(e){const t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function _f(e,t,r,i){e._queue.push({buffer:t,byteOffset:r,byteLength:i}),e._queueTotalSize+=i}function kf(e,t){const r=t.elementSize,i=t.bytesFilled-t.bytesFilled%r,n=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),a=t.bytesFilled+n,s=a-a%r;let o=n,c=!1;s>i&&(o=s-t.bytesFilled,c=!0);const u=e._queue;for(;o>0;){const r=u.peek(),i=Math.min(o,r.byteLength),n=t.byteOffset+t.bytesFilled;h=t.buffer,d=n,f=r.buffer,l=r.byteOffset,p=i,new Uint8Array(h).set(new Uint8Array(f,l,p),d),r.byteLength===i?u.shift():(r.byteOffset+=i,r.byteLength-=i),e._queueTotalSize-=i,Af(e,i,t),o-=i}var h,d,f,l,p;return c}function Af(e,t,r){Ef(e),r.bytesFilled+=t}function Sf(e){0===e._queueTotalSize&&e._closeRequested?(Kf(e),hp(e._controlledReadableByteStream)):gf(e)}function Ef(e){null!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Pf(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;const t=e._pendingPullIntos.peek();kf(e,t)&&(Mf(e),wf(e._controlledReadableByteStream,t))}}function xf(e,t){const r=e._pendingPullIntos.peek();if("closed"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(e,t){t.buffer=t.buffer;const r=e._controlledReadableByteStream;if(zf(r))for(;Tf(r)>0;)wf(r,Mf(e))}(e,r)}else!function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(Af(e,t,r),r.bytesFilled<r.elementSize)return;Mf(e);const i=r.bytesFilled%r.elementSize;if(i>0){const t=r.byteOffset+r.bytesFilled,n=r.buffer.slice(t-i,t);_f(e,n,0,n.byteLength)}r.buffer=r.buffer,r.bytesFilled-=i,wf(e._controlledReadableByteStream,r),Pf(e)}(e,t,r);gf(e)}function Mf(e){const t=e._pendingPullIntos.shift();return Ef(e),t}function Kf(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Cf(e,t){const r=e._controlledReadableByteStream;"readable"===r._state&&(!function(e){Ef(e),e._pendingPullIntos=new Ad}(e),ff(e),Kf(e),dp(r,t))}function Df(e){const t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function Uf(e,t,r){const i=Object.create(yf.prototype);let n=()=>{},a=()=>fd(void 0),s=()=>fd(void 0);void 0!==t.start&&(n=()=>t.start(i)),void 0!==t.pull&&(a=()=>t.pull(i)),void 0!==t.cancel&&(s=e=>t.cancel(e));const o=t.autoAllocateChunkSize;if(0===o)throw new TypeError("autoAllocateChunkSize must be greater than 0");!function(e,t,r,i,n,a,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,ff(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=i,t._cancelAlgorithm=n,t._autoAllocateChunkSize=s,t._pendingPullIntos=new Ad,e._readableStreamController=t,yd(fd(r()),(()=>{t._started=!0,gf(t)}),(e=>{Cf(t,e)}))}(e,i,n,a,s,r,o)}function Rf(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function If(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function Bf(e,t){e._reader._readIntoRequests.push(t)}function Tf(e){return e._reader._readIntoRequests.length}function zf(e){const t=e._reader;return void 0!==t&&!!Ff(t)}Object.defineProperties(yf.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(yf.prototype,rd.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class qf{constructor(e){if(Nd(e,1,"ReadableStreamBYOBReader"),Gd(e,"First parameter"),cp(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!bf(e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Sd(this,e),this._readIntoRequests=new Ad}get closed(){return Ff(this)?this._closedPromise:ld(Of("closed"))}cancel(e=undefined){return Ff(this)?void 0===this._ownerReadableStream?ld(xd("cancel")):Ed(this,e):ld(Of("cancel"))}read(e){if(!Ff(this))return ld(Of("read"));if(!ArrayBuffer.isView(e))return ld(new TypeError("view must be an array buffer view"));if(0===e.byteLength)return ld(new TypeError("view must have non-zero byteLength"));if(0===e.buffer.byteLength)return ld(new TypeError("view's buffer must have non-zero byteLength"));if(void 0===this._ownerReadableStream)return ld(xd("read from"));let t,r;const i=dd(((e,i)=>{t=e,r=i}));return function(e,t,r){const i=e._ownerReadableStream;i._disturbed=!0,"errored"===i._state?r._errorSteps(i._storedError):function(e,t,r){const i=e._controlledReadableByteStream;let n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);const a=t.constructor,s={buffer:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(s),void Bf(i,r);if("closed"!==i._state){if(e._queueTotalSize>0){if(kf(e,s)){const t=vf(s);return Sf(e),void r._chunkSteps(t)}if(e._closeRequested){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");return Cf(e,t),void r._errorSteps(t)}}e._pendingPullIntos.push(s),Bf(i,r),gf(e)}else{const e=new a(s.buffer,s.byteOffset,0);r._closeSteps(e)}}(i._readableStreamController,t,r)}(this,e,{_chunkSteps:e=>t({value:e,done:!1}),_closeSteps:e=>t({value:e,done:!0}),_errorSteps:e=>r(e)}),i}releaseLock(){if(!Ff(this))throw Of("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Pd(this)}}}function Ff(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function Of(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Nf(e,t){const{highWaterMark:r}=e;if(void 0===r)return t;if(cf(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Lf(e){const{size:t}=e;return t||(()=>1)}function jf(e,t){qd(e,t);const r=null==e?void 0:e.highWaterMark,i=null==e?void 0:e.size;return{highWaterMark:void 0===r?void 0:jd(r),size:void 0===i?void 0:Wf(i,t+" has member 'size' that")}}function Wf(e,t){return Fd(e,t),t=>jd(e(t))}function Hf(e,t,r){return Fd(e,r),r=>kd(e,t,[r])}function Gf(e,t,r){return Fd(e,r),()=>kd(e,t,[])}function Vf(e,t,r){return Fd(e,r),r=>_d(e,t,[r])}function $f(e,t,r){return Fd(e,r),(r,i)=>kd(e,t,[r,i])}function Zf(e,t){if(!Jf(e))throw new TypeError(t+" is not a WritableStream.")}Object.defineProperties(qf.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(qf.prototype,rd.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});class Yf{constructor(e={},t={}){void 0===e?e=null:Od(e,"First parameter");const r=jf(t,"Second parameter"),i=function(e,t){qd(e,t);const r=null==e?void 0:e.abort,i=null==e?void 0:e.close,n=null==e?void 0:e.start,a=null==e?void 0:e.type,s=null==e?void 0:e.write;return{abort:void 0===r?void 0:Hf(r,e,t+" has member 'abort' that"),close:void 0===i?void 0:Gf(i,e,t+" has member 'close' that"),start:void 0===n?void 0:Vf(n,e,t+" has member 'start' that"),write:void 0===s?void 0:$f(s,e,t+" has member 'write' that"),type:a}}(e,"First parameter");Qf(this);if(void 0!==i.type)throw new RangeError("Invalid type is specified");const n=Lf(r);!function(e,t,r,i){const n=Object.create(ml.prototype);let a=()=>{},s=()=>fd(void 0),o=()=>fd(void 0),c=()=>fd(void 0);void 0!==t.start&&(a=()=>t.start(n));void 0!==t.write&&(s=e=>t.write(e,n));void 0!==t.close&&(o=()=>t.close());void 0!==t.abort&&(c=e=>t.abort(e));gl(e,n,a,s,o,c,r,i)}(this,i,Nf(r,1),n)}get locked(){if(!Jf(this))throw El("locked");return el(this)}abort(e=undefined){return Jf(this)?el(this)?ld(new TypeError("Cannot abort a stream that already has a writer")):tl(this,e):ld(El("abort"))}close(){return Jf(this)?el(this)?ld(new TypeError("Cannot close a stream that already has a writer")):sl(this)?ld(new TypeError("Cannot close an already-closing stream")):rl(this):ld(El("close"))}getWriter(){if(!Jf(this))throw El("getWriter");return Xf(this)}}function Xf(e){return new ul(e)}function Qf(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Ad,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function Jf(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")}function el(e){return void 0!==e._writer}function tl(e,t){const r=e._state;if("closed"===r||"errored"===r)return fd(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;let i=!1;"erroring"===r&&(i=!0,t=void 0);const n=dd(((r,n)=>{e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:n,_reason:t,_wasAlreadyErroring:i}}));return e._pendingAbortRequest._promise=n,i||nl(e,t),n}function rl(e){const t=e._state;if("closed"===t||"errored"===t)return ld(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));const r=dd(((t,r)=>{const i={_resolve:t,_reject:r};e._closeRequest=i})),i=e._writer;var n;return void 0!==i&&e._backpressure&&"writable"===t&&Tl(i),df(n=e._writableStreamController,bl,0),_l(n),r}function il(e,t){"writable"!==e._state?al(e):nl(e,t)}function nl(e,t){const r=e._writableStreamController;e._state="erroring",e._storedError=t;const i=e._writer;void 0!==i&&ll(i,t),!function(e){if(void 0===e._inFlightWriteRequest&&void 0===e._inFlightCloseRequest)return!1;return!0}(e)&&r._started&&al(e)}function al(e){e._state="errored",e._writableStreamController[Rd]();const t=e._storedError;if(e._writeRequests.forEach((e=>{e._reject(t)})),e._writeRequests=new Ad,void 0===e._pendingAbortRequest)return void ol(e);const r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void ol(e);yd(e._writableStreamController[Ud](r._reason),(()=>{r._resolve(),ol(e)}),(t=>{r._reject(t),ol(e)}))}function sl(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function ol(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);const t=e._writer;void 0!==t&&Cl(t,e._storedError)}function cl(e,t){const r=e._writer;void 0!==r&&t!==e._backpressure&&(t?function(e){Ul(e)}(r):Tl(r)),e._backpressure=t}Object.defineProperties(Yf.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(Yf.prototype,rd.toStringTag,{value:"WritableStream",configurable:!0});class ul{constructor(e){if(Nd(e,1,"WritableStreamDefaultWriter"),Zf(e,"First parameter"),el(e))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=e,e._writer=this;const t=e._state;if("writable"===t)!sl(e)&&e._backpressure?Ul(this):Il(this),Ml(this);else if("erroring"===t)Rl(this,e._storedError),Ml(this);else if("closed"===t)Il(this),Ml(r=this),Dl(r);else{const t=e._storedError;Rl(this,t),Kl(this,t)}var r}get closed(){return hl(this)?this._closedPromise:ld(Pl("closed"))}get desiredSize(){if(!hl(this))throw Pl("desiredSize");if(void 0===this._ownerWritableStream)throw xl("desiredSize");return function(e){const t=e._ownerWritableStream,r=t._state;if("errored"===r||"erroring"===r)return null;if("closed"===r)return 0;return vl(t._writableStreamController)}(this)}get ready(){return hl(this)?this._readyPromise:ld(Pl("ready"))}abort(e=undefined){return hl(this)?void 0===this._ownerWritableStream?ld(xl("abort")):function(e,t){const r=e._ownerWritableStream;return tl(r,t)}(this,e):ld(Pl("abort"))}close(){if(!hl(this))return ld(Pl("close"));const e=this._ownerWritableStream;return void 0===e?ld(xl("close")):sl(e)?ld(new TypeError("Cannot close an already-closing stream")):dl(this)}releaseLock(){if(!hl(this))throw Pl("releaseLock");void 0!==this._ownerWritableStream&&pl(this)}write(e=undefined){return hl(this)?void 0===this._ownerWritableStream?ld(xl("write to")):yl(this,e):ld(Pl("write"))}}function hl(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")}function dl(e){return rl(e._ownerWritableStream)}function fl(e,t){"pending"===e._closedPromiseState?Cl(e,t):function(e,t){Kl(e,t)}(e,t)}function ll(e,t){"pending"===e._readyPromiseState?Bl(e,t):function(e,t){Rl(e,t)}(e,t)}function pl(e){const t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");ll(e,r),fl(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function yl(e,t){const r=e._ownerWritableStream,i=r._writableStreamController,n=function(e,t){try{return e._strategySizeAlgorithm(t)}catch(t){return kl(e,t),1}}(i,t);if(r!==e._ownerWritableStream)return ld(xl("write to"));const a=r._state;if("errored"===a)return ld(r._storedError);if(sl(r)||"closed"===a)return ld(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===a)return ld(r._storedError);const s=function(e){return dd(((t,r)=>{const i={_resolve:t,_reject:r};e._writeRequests.push(i)}))}(r);return function(e,t,r){try{df(e,t,r)}catch(t){return void kl(e,t)}const i=e._controlledWritableStream;if(!sl(i)&&"writable"===i._state){cl(i,Al(e))}_l(e)}(i,t,n),s}Object.defineProperties(ul.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(ul.prototype,rd.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});const bl={};class ml{constructor(){throw new TypeError("Illegal constructor")}error(e=undefined){if(!function(e){if(!ad(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream"))return!1;return!0}(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");"writable"===this._controlledWritableStream._state&&Sl(this,e)}[Ud](e){const t=this._abortAlgorithm(e);return wl(this),t}[Rd](){ff(this)}}function gl(e,t,r,i,n,a,s,o){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,ff(t),t._started=!1,t._strategySizeAlgorithm=o,t._strategyHWM=s,t._writeAlgorithm=i,t._closeAlgorithm=n,t._abortAlgorithm=a;const c=Al(t);cl(e,c);yd(fd(r()),(()=>{t._started=!0,_l(t)}),(r=>{t._started=!0,il(e,r)}))}function wl(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function vl(e){return e._strategyHWM-e._queueTotalSize}function _l(e){const t=e._controlledWritableStream;if(!e._started)return;if(void 0!==t._inFlightWriteRequest)return;if("erroring"===t._state)return void al(t);if(0===e._queue.length)return;const r=e._queue.peek().value;r===bl?function(e){const t=e._controlledWritableStream;(function(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0})(t),hf(e);const r=e._closeAlgorithm();wl(e),yd(r,(()=>{!function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,"erroring"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";const t=e._writer;void 0!==t&&Dl(t)}(t)}),(e=>{!function(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),il(e,t)}(t,e)}))}(e):function(e,t){const r=e._controlledWritableStream;!function(e){e._inFlightWriteRequest=e._writeRequests.shift()}(r);const i=e._writeAlgorithm(t);yd(i,(()=>{!function(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}(r);const t=r._state;if(hf(e),!sl(r)&&"writable"===t){const t=Al(e);cl(r,t)}_l(e)}),(t=>{"writable"===r._state&&wl(e),function(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,il(e,t)}(r,t)}))}(e,r)}function kl(e,t){"writable"===e._controlledWritableStream._state&&Sl(e,t)}function Al(e){return vl(e)<=0}function Sl(e,t){const r=e._controlledWritableStream;wl(e),nl(r,t)}function El(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function Pl(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function xl(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function Ml(e){e._closedPromise=dd(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"}))}function Kl(e,t){Ml(e),Cl(e,t)}function Cl(e,t){void 0!==e._closedPromise_reject&&(wd(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function Dl(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Ul(e){e._readyPromise=dd(((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r})),e._readyPromiseState="pending"}function Rl(e,t){Ul(e),Bl(e,t)}function Il(e){Ul(e),Tl(e)}function Bl(e,t){void 0!==e._readyPromise_reject&&(wd(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function Tl(e){void 0!==e._readyPromise_resolve&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(ml.prototype,{error:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(ml.prototype,rd.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});const zl="undefined"!=typeof DOMException?DOMException:void 0;const ql=function(e){if("function"!=typeof e&&"object"!=typeof e)return!1;try{return new e,!0}catch(e){return!1}}(zl)?zl:function(){const e=function(e,t){this.message=e||"",this.name=t||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return Object.defineProperty(e.prototype=Object.create(Error.prototype),"constructor",{value:e,writable:!0,configurable:!0}),e}();function Fl(e,t,r,i,n,a){const s=Vd(e),o=Xf(t);e._disturbed=!0;let c=!1,u=fd(void 0);return dd(((h,d)=>{let f;if(void 0!==a){if(f=()=>{const r=new ql("Aborted","AbortError"),a=[];i||a.push((()=>"writable"===t._state?tl(t,r):fd(void 0))),n||a.push((()=>"readable"===e._state?up(e,r):fd(void 0))),y((()=>Promise.all(a.map((e=>e())))),!0,r)},a.aborted)return void f();a.addEventListener("abort",f)}if(p(e,s._closedPromise,(e=>{i?b(!0,e):y((()=>tl(t,e)),!0,e)})),p(t,o._closedPromise,(t=>{n?b(!0,t):y((()=>up(e,t)),!0,t)})),function(e,t,r){"closed"===e._state?r():bd(t,r)}(e,s._closedPromise,(()=>{r?b():y((()=>function(e){const t=e._ownerWritableStream,r=t._state;return sl(t)||"closed"===r?fd(void 0):"errored"===r?ld(t._storedError):dl(e)}(o)))})),sl(t)||"closed"===t._state){const t=new TypeError("the destination writable stream closed before all data could be piped to it");n?b(!0,t):y((()=>up(e,t)),!0,t)}function l(){const e=u;return pd(u,(()=>e!==u?l():void 0))}function p(e,t,r){"errored"===e._state?r(e._storedError):md(t,r)}function y(e,r,i){function n(){yd(e(),(()=>m(r,i)),(e=>m(!0,e)))}c||(c=!0,"writable"!==t._state||sl(t)?n():bd(l(),n))}function b(e,r){c||(c=!0,"writable"!==t._state||sl(t)?m(e,r):bd(l(),(()=>m(e,r))))}function m(e,t){pl(o),Pd(s),void 0!==a&&a.removeEventListener("abort",f),e?d(t):h(void 0)}wd(dd(((e,t)=>{!function r(i){i?e():pd(c?fd(!0):pd(o._readyPromise,(()=>dd(((e,t)=>{ef(s,{_chunkSteps:t=>{u=pd(yl(o,t),void 0,id),e(!1)},_closeSteps:()=>e(!0),_errorSteps:t})})))),r,t)}(!1)})))}))}class Ol{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Nl(this))throw Xl("desiredSize");return $l(this)}close(){if(!Nl(this))throw Xl("close");if(!Zl(this))throw new TypeError("The stream is not in a state that permits close");Hl(this)}enqueue(e=undefined){if(!Nl(this))throw Xl("enqueue");if(!Zl(this))throw new TypeError("The stream is not in a state that permits enqueue");return Gl(this,e)}error(e=undefined){if(!Nl(this))throw Xl("error");Vl(this,e)}[Id](e){ff(this);const t=this._cancelAlgorithm(e);return Wl(this),t}[Bd](e){const t=this._controlledReadableStream;if(this._queue.length>0){const r=hf(this);this._closeRequested&&0===this._queue.length?(Wl(this),hp(t)):Ll(this),e._chunkSteps(r)}else $d(t,e),Ll(this)}}function Nl(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function Ll(e){if(!jl(e))return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;yd(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Ll(e))}),(t=>{Vl(e,t)}))}function jl(e){const t=e._controlledReadableStream;if(!Zl(e))return!1;if(!e._started)return!1;if(cp(t)&&Yd(t)>0)return!0;return $l(e)>0}function Wl(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Hl(e){if(!Zl(e))return;const t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(Wl(e),hp(t))}function Gl(e,t){if(!Zl(e))return;const r=e._controlledReadableStream;if(cp(r)&&Yd(r)>0)Zd(r,t,!1);else{let r;try{r=e._strategySizeAlgorithm(t)}catch(t){throw Vl(e,t),t}try{df(e,t,r)}catch(t){throw Vl(e,t),t}}Ll(e)}function Vl(e,t){const r=e._controlledReadableStream;"readable"===r._state&&(ff(e),Wl(e),dp(r,t))}function $l(e){const t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function Zl(e){const t=e._controlledReadableStream._state;return!e._closeRequested&&"readable"===t}function Yl(e,t,r,i,n,a,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,ff(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=a,t._pullAlgorithm=i,t._cancelAlgorithm=n,e._readableStreamController=t;yd(fd(r()),(()=>{t._started=!0,Ll(t)}),(e=>{Vl(t,e)}))}function Xl(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function Ql(e,t,r){return Fd(e,r),r=>kd(e,t,[r])}function Jl(e,t,r){return Fd(e,r),r=>kd(e,t,[r])}function ep(e,t,r){return Fd(e,r),r=>_d(e,t,[r])}function tp(e,t){if("bytes"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function rp(e,t){if("byob"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function ip(e,t){qd(e,t);const r=null==e?void 0:e.preventAbort,i=null==e?void 0:e.preventCancel,n=null==e?void 0:e.preventClose,a=null==e?void 0:e.signal;return void 0!==a&&function(e,t){if(!function(e){if("object"!=typeof e||null===e)return!1;try{return"boolean"==typeof e.aborted}catch(e){return!1}}(e))throw new TypeError(t+" is not an AbortSignal.")}(a,t+" has member 'signal' that"),{preventAbort:!!r,preventCancel:!!i,preventClose:!!n,signal:a}}Object.defineProperties(Ol.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(Ol.prototype,rd.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class np{constructor(e={},t={}){void 0===e?e=null:Od(e,"First parameter");const r=jf(t,"Second parameter"),i=function(e,t){qd(e,t);const r=e,i=null==r?void 0:r.autoAllocateChunkSize,n=null==r?void 0:r.cancel,a=null==r?void 0:r.pull,s=null==r?void 0:r.start,o=null==r?void 0:r.type;return{autoAllocateChunkSize:void 0===i?void 0:Hd(i,t+" has member 'autoAllocateChunkSize' that"),cancel:void 0===n?void 0:Ql(n,r,t+" has member 'cancel' that"),pull:void 0===a?void 0:Jl(a,r,t+" has member 'pull' that"),start:void 0===s?void 0:ep(s,r,t+" has member 'start' that"),type:void 0===o?void 0:tp(o,t+" has member 'type' that")}}(e,"First parameter");if(sp(this),"bytes"===i.type){if(void 0!==r.size)throw new RangeError("The strategy for a byte stream cannot have a size function");Uf(this,i,Nf(r,0))}else{const e=Lf(r);!function(e,t,r,i){const n=Object.create(Ol.prototype);let a=()=>{},s=()=>fd(void 0),o=()=>fd(void 0);void 0!==t.start&&(a=()=>t.start(n)),void 0!==t.pull&&(s=()=>t.pull(n)),void 0!==t.cancel&&(o=e=>t.cancel(e)),Yl(e,n,a,s,o,r,i)}(this,i,Nf(r,1),e)}}get locked(){if(!op(this))throw fp("locked");return cp(this)}cancel(e=undefined){return op(this)?cp(this)?ld(new TypeError("Cannot cancel a stream that already has a reader")):up(this,e):ld(fp("cancel"))}getReader(e=undefined){if(!op(this))throw fp("getReader");const t=function(e,t){qd(e,t);const r=null==e?void 0:e.mode;return{mode:void 0===r?void 0:rp(r,t+" has member 'mode' that")}}(e,"First parameter");return void 0===t.mode?Vd(this):function(e){return new qf(e)}(this)}pipeThrough(e,t={}){if(!op(this))throw fp("pipeThrough");Nd(e,1,"pipeThrough");const r=function(e,t){qd(e,t);const r=null==e?void 0:e.readable;Ld(r,"readable","ReadableWritablePair"),Gd(r,t+" has member 'readable' that");const i=null==e?void 0:e.writable;return Ld(i,"writable","ReadableWritablePair"),Zf(i,t+" has member 'writable' that"),{readable:r,writable:i}}(e,"First parameter"),i=ip(t,"Second parameter");if(cp(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(el(r.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return wd(Fl(this,r.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),r.readable}pipeTo(e,t={}){if(!op(this))return ld(fp("pipeTo"));if(void 0===e)return ld("Parameter 1 is required in 'pipeTo'.");if(!Jf(e))return ld(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let r;try{r=ip(t,"Second parameter")}catch(e){return ld(e)}return cp(this)?ld(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):el(e)?ld(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Fl(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!op(this))throw fp("tee");const e=function(e,t){const r=Vd(e);let i,n,a,s,o,c=!1,u=!1,h=!1;const d=dd((e=>{o=e}));function f(){return c||(c=!0,ef(r,{_chunkSteps:e=>{vd((()=>{c=!1;const t=e,r=e;u||Gl(a._readableStreamController,t),h||Gl(s._readableStreamController,r)}))},_closeSteps:()=>{c=!1,u||Hl(a._readableStreamController),h||Hl(s._readableStreamController),u&&h||o(void 0)},_errorSteps:()=>{c=!1}})),fd(void 0)}function l(){}return a=ap(l,f,(function(t){if(u=!0,i=t,h){const t=lf([i,n]),r=up(e,t);o(r)}return d})),s=ap(l,f,(function(t){if(h=!0,n=t,u){const t=lf([i,n]),r=up(e,t);o(r)}return d})),md(r._closedPromise,(e=>{Vl(a._readableStreamController,e),Vl(s._readableStreamController,e),u&&h||o(void 0)})),[a,s]}(this);return lf(e)}values(e=undefined){if(!op(this))throw fp("values");return function(e,t){const r=Vd(e),i=new nf(r,t),n=Object.create(af);return n._asyncIteratorImpl=i,n}(this,function(e,t){return qd(e,t),{preventCancel:!!(null==e?void 0:e.preventCancel)}}(e,"First parameter").preventCancel)}}function ap(e,t,r,i=1,n=(()=>1)){const a=Object.create(np.prototype);sp(a);return Yl(a,Object.create(Ol.prototype),e,t,r,i,n),a}function sp(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function op(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")}function cp(e){return void 0!==e._reader}function up(e,t){if(e._disturbed=!0,"closed"===e._state)return fd(void 0);if("errored"===e._state)return ld(e._storedError);hp(e);return gd(e._readableStreamController[Id](t),id)}function hp(e){e._state="closed";const t=e._reader;void 0!==t&&(Dd(t),Jd(t)&&(t._readRequests.forEach((e=>{e._closeSteps()})),t._readRequests=new Ad))}function dp(e,t){e._state="errored",e._storedError=t;const r=e._reader;void 0!==r&&(Cd(r,t),Jd(r)?(r._readRequests.forEach((e=>{e._errorSteps(t)})),r._readRequests=new Ad):(r._readIntoRequests.forEach((e=>{e._errorSteps(t)})),r._readIntoRequests=new Ad))}function fp(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function lp(e,t){qd(e,t);const r=null==e?void 0:e.highWaterMark;return Ld(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:jd(r)}}Object.defineProperties(np.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(np.prototype,rd.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof rd.asyncIterator&&Object.defineProperty(np.prototype,rd.asyncIterator,{value:np.prototype.values,writable:!0,configurable:!0});const pp=function(e){return e.byteLength};class yp{constructor(e){Nd(e,1,"ByteLengthQueuingStrategy"),e=lp(e,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!mp(this))throw bp("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!mp(this))throw bp("size");return pp}}function bp(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function mp(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")}Object.defineProperties(yp.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(yp.prototype,rd.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});const gp=function(){return 1};class wp{constructor(e){Nd(e,1,"CountQueuingStrategy"),e=lp(e,"First parameter"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!_p(this))throw vp("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!_p(this))throw vp("size");return gp}}function vp(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function _p(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")}function kp(e,t,r){return Fd(e,r),r=>kd(e,t,[r])}function Ap(e,t,r){return Fd(e,r),r=>_d(e,t,[r])}function Sp(e,t,r){return Fd(e,r),(r,i)=>kd(e,t,[r,i])}Object.defineProperties(wp.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(wp.prototype,rd.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class Ep{constructor(e={},t={},r={}){void 0===e&&(e=null);const i=jf(t,"Second parameter"),n=jf(r,"Third parameter"),a=function(e,t){qd(e,t);const r=null==e?void 0:e.flush,i=null==e?void 0:e.readableType,n=null==e?void 0:e.start,a=null==e?void 0:e.transform,s=null==e?void 0:e.writableType;return{flush:void 0===r?void 0:kp(r,e,t+" has member 'flush' that"),readableType:i,start:void 0===n?void 0:Ap(n,e,t+" has member 'start' that"),transform:void 0===a?void 0:Sp(a,e,t+" has member 'transform' that"),writableType:s}}(e,"First parameter");if(void 0!==a.readableType)throw new RangeError("Invalid readableType specified");if(void 0!==a.writableType)throw new RangeError("Invalid writableType specified");const s=Nf(n,0),o=Lf(n),c=Nf(i,1),u=Lf(i);let h;!function(e,t,r,i,n,a){function s(){return t}function o(t){return function(e,t){const r=e._transformStreamController;if(e._backpressure){return gd(e._backpressureChangePromise,(()=>{const i=e._writable;if("erroring"===i._state)throw i._storedError;return Ip(r,t)}))}return Ip(r,t)}(e,t)}function c(t){return function(e,t){return xp(e,t),fd(void 0)}(e,t)}function u(){return function(e){const t=e._readable,r=e._transformStreamController,i=r._flushAlgorithm();return Up(r),gd(i,(()=>{if("errored"===t._state)throw t._storedError;Hl(t._readableStreamController)}),(r=>{throw xp(e,r),t._storedError}))}(e)}function h(){return function(e){return Kp(e,!1),e._backpressureChangePromise}(e)}function d(t){return Mp(e,t),fd(void 0)}e._writable=function(e,t,r,i,n=1,a=(()=>1)){const s=Object.create(Yf.prototype);return Qf(s),gl(s,Object.create(ml.prototype),e,t,r,i,n,a),s}(s,o,u,c,r,i),e._readable=ap(s,h,d,n,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Kp(e,!0),e._transformStreamController=void 0}(this,dd((e=>{h=e})),c,u,s,o),function(e,t){const r=Object.create(Cp.prototype);let i=e=>{try{return Rp(r,e),fd(void 0)}catch(e){return ld(e)}},n=()=>fd(void 0);void 0!==t.transform&&(i=e=>t.transform(e,r));void 0!==t.flush&&(n=()=>t.flush(r));!function(e,t,r,i){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=i}(e,r,i,n)}(this,a),void 0!==a.start?h(a.start(this._transformStreamController)):h(void 0)}get readable(){if(!Pp(this))throw Tp("readable");return this._readable}get writable(){if(!Pp(this))throw Tp("writable");return this._writable}}function Pp(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function xp(e,t){Vl(e._readable._readableStreamController,t),Mp(e,t)}function Mp(e,t){Up(e._transformStreamController),kl(e._writable._writableStreamController,t),e._backpressure&&Kp(e,!1)}function Kp(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=dd((t=>{e._backpressureChangePromise_resolve=t})),e._backpressure=t}Object.defineProperties(Ep.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(Ep.prototype,rd.toStringTag,{value:"TransformStream",configurable:!0});class Cp{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Dp(this))throw Bp("desiredSize");return $l(this._controlledTransformStream._readable._readableStreamController)}enqueue(e=undefined){if(!Dp(this))throw Bp("enqueue");Rp(this,e)}error(e=undefined){if(!Dp(this))throw Bp("error");var t;t=e,xp(this._controlledTransformStream,t)}terminate(){if(!Dp(this))throw Bp("terminate");!function(e){const t=e._controlledTransformStream,r=t._readable._readableStreamController;Hl(r);Mp(t,new TypeError("TransformStream terminated"))}(this)}}function Dp(e){return!!ad(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function Up(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function Rp(e,t){const r=e._controlledTransformStream,i=r._readable._readableStreamController;if(!Zl(i))throw new TypeError("Readable side is not in a state that permits enqueue");try{Gl(i,t)}catch(e){throw Mp(r,e),r._readable._storedError}const n=function(e){return!jl(e)}(i);n!==r._backpressure&&Kp(r,!0)}function Ip(e,t){return gd(e._transformAlgorithm(t),void 0,(t=>{throw xp(e._controlledTransformStream,t),t}))}function Bp(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function Tp(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Cp.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof rd.toStringTag&&Object.defineProperty(Cp.prototype,rd.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var zp=/*#__PURE__*/Object.freeze({__proto__:null,ByteLengthQueuingStrategy:yp,CountQueuingStrategy:wp,ReadableByteStreamController:yf,ReadableStream:np,ReadableStreamBYOBReader:qf,ReadableStreamBYOBRequest:pf,ReadableStreamDefaultController:Ol,ReadableStreamDefaultReader:Qd,TransformStream:Ep,TransformStreamDefaultController:Cp,WritableStream:Yf,WritableStreamDefaultController:ml,WritableStreamDefaultWriter:ul}),qp=function(e,t){return qp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},qp(e,t)};
|
|
1
|
+
/*! OpenPGP.js v5.9.0 - 2023-05-15 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
|
+
const e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=Symbol("doneWritingPromise"),r=Symbol("doneWritingResolve"),i=Symbol("doneWritingReject"),n=Symbol("readingIndex");class a extends Array{constructor(){super(),this[t]=new Promise(((e,t)=>{this[r]=e,this[i]=t})),this[t].catch((()=>{}))}}function s(e){return e&&e.getReader&&Array.isArray(e)}function o(e){if(!s(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch((function(){})),r.call(t)},t}this.stream=e}a.prototype.getReader=function(){return void 0===this[n]&&(this[n]=0),{read:async()=>(await this[t],this[n]===this.length?{value:void 0,done:!0}:{value:this[this[n]++],done:!1})}},a.prototype.readToEnd=async function(e){await this[t];const r=e(this.slice(this[n]));return this.length=0,r},a.prototype.clone=function(){const e=new a;return e[t]=this[t].then((()=>{e.push(...this)})),e},o.prototype.write=async function(e){this.stream.push(e)},o.prototype.close=async function(){this.stream[r]()},o.prototype.abort=async function(e){return this.stream[i](e),e},o.prototype.releaseLock=function(){};const c="object"==typeof e.process&&"object"==typeof e.process.versions,u=c&&void 0;function h(t){return s(t)?"array":e.ReadableStream&&e.ReadableStream.prototype.isPrototypeOf(t)?"web":_&&_.prototype.isPrototypeOf(t)?"ponyfill":u&&u.prototype.isPrototypeOf(t)?"node":!(!t||!t.getReader)&&"web-like"}function f(e){return Uint8Array.prototype.isPrototypeOf(e)}function d(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!f(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let i=0;return e.forEach((function(e){r.set(e,i),i+=e.length})),r}const l=c&&void 0,p=c&&void 0;let y,b;if(p){y=function(e){let t=!1;return new _({start(r){e.pause(),e.on("data",(i=>{t||(l.isBuffer(i)&&(i=new Uint8Array(i.buffer,i.byteOffset,i.byteLength)),r.enqueue(i),e.pause())})),e.on("end",(()=>{t||r.close()})),e.on("error",(e=>r.error(e)))},pull(){e.resume()},cancel(r){t=!0,e.destroy(r)}})};class e extends p{constructor(e,t){super(t),this._reader=M(e)}async _read(e){try{for(;;){const{done:e,value:t}=await this._reader.read();if(e){this.push(null);break}if(!this.push(t)||this._cancelling){this._reading=!1;break}}}catch(e){this.emit("error",e)}}_destroy(e){this._reader.cancel(e)}}b=function(t,r){return new e(t,r)}}const g=new WeakSet,m=Symbol("externalBuffer");function w(e){if(this.stream=e,e[m]&&(this[m]=e[m].slice()),s(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}let t=h(e);if("node"===t&&(e=y(e)),t){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch((function(){})),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let r=!1;this._read=async()=>r||g.has(e)?{value:void 0,done:!0}:(r=!0,{value:e,done:!1}),this._releaseLock=()=>{if(r)try{g.add(e)}catch(e){}}}w.prototype.read=async function(){if(this[m]&&this[m].length){return{done:!1,value:this[m].shift()}}return this._read()},w.prototype.releaseLock=function(){this[m]&&(this.stream[m]=this[m]),this._releaseLock()},w.prototype.cancel=function(e){return this._cancel(e)},w.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:i}=await this.read();if(i+="",r)return t.length?P(t):void 0;const n=i.indexOf("\n")+1;n&&(e=P(t.concat(i.substr(0,n))),t=[]),n!==i.length&&t.push(i.substr(n))}return this.unshift(...t),e},w.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(q(t,1)),r},w.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:i,value:n}=await this.read();if(i)return t.length?P(t):void 0;if(t.push(n),r+=n.length,r>=e){const r=P(t);return this.unshift(q(r,e)),q(r,0,e)}}},w.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},w.prototype.unshift=function(...e){this[m]||(this[m]=[]),1===e.length&&f(e[0])&&this[m].length&&e[0].length&&this[m][0].byteOffset>=e[0].length?this[m][0]=new Uint8Array(this[m][0].buffer,this[m][0].byteOffset-e[0].length,this[m][0].byteLength+e[0].length):this[m].unshift(...e.filter((e=>e&&e.length)))},w.prototype.readToEnd=async function(e=P){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};let A,v,{ReadableStream:_,WritableStream:k,TransformStream:E}=e;async function S(){if(E)return;const[t,r]=await Promise.all([Promise.resolve().then((function(){return Hp})),Promise.resolve().then((function(){return fy}))]);({ReadableStream:_,WritableStream:k,TransformStream:E}=t);const{createReadableStreamWrapper:i}=r;e.ReadableStream&&_!==e.ReadableStream&&(A=i(_),v=i(e.ReadableStream))}const C=c&&void 0;function I(e){let t=h(e);return"node"===t?y(e):"web"===t&&A?A(e):t?e:new _({start(t){t.enqueue(e),t.close()}})}function B(e){if(h(e))return e;const t=new a;return(async()=>{const r=D(t);await r.write(e),await r.close()})(),t}function P(e){return e.some((e=>h(e)&&!s(e)))?function(e){e=e.map(I);const t=U((async function(e){await Promise.all(i.map((t=>O(t,e))))}));let r=Promise.resolve();const i=e.map(((i,n)=>T(i,((i,a)=>(r=r.then((()=>x(i,t.writable,{preventClose:n!==e.length-1}))),r)))));return t.readable}(e):e.some((e=>s(e)))?function(e){const t=new a;let r=Promise.resolve();return e.forEach(((i,n)=>(r=r.then((()=>x(i,t,{preventClose:n!==e.length-1}))),r))),t}(e):"string"==typeof e[0]?e.join(""):C&&C.isBuffer(e[0])?C.concat(e):d(e)}function M(e){return new w(e)}function D(e){return new o(e)}async function x(e,t,{preventClose:r=!1,preventAbort:i=!1,preventCancel:n=!1}={}){if(h(e)&&!s(e)){e=I(e);try{if(e[m]){const r=D(t);for(let t=0;t<e[m].length;t++)await r.ready,await r.write(e[m][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:i,preventCancel:n})}catch(e){}return}const a=M(e=B(e)),o=D(t);try{for(;;){await o.ready;const{done:e,value:t}=await a.read();if(e){r||await o.close();break}await o.write(t)}}catch(e){i||await o.abort(e)}finally{a.releaseLock(),o.releaseLock()}}function K(e,t){const r=new E(t);return x(e,r.writable),r.readable}function U(e){let t,r,i=!1;return{readable:new _({start(e){r=e},pull(){t?t():i=!0},cancel:e},{highWaterMark:0}),writable:new k({write:async function(e){r.enqueue(e),i?i=!1:(await new Promise((e=>{t=e})),t=null)},close:r.close.bind(r),abort:r.error.bind(r)})}}function R(e,t=(()=>{}),r=(()=>{})){if(s(e)){const i=new a;return(async()=>{const n=D(i);try{const i=await L(e),a=t(i),s=r();let o;o=void 0!==a&&void 0!==s?P([a,s]):void 0!==a?a:s,await n.write(o),await n.close()}catch(e){await n.abort(e)}})(),i}if(h(e))return K(e,{async transform(e,r){try{const i=await t(e);void 0!==i&&r.enqueue(i)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const i=t(e),n=r();return void 0!==i&&void 0!==n?P([i,n]):void 0!==i?i:n}function T(e,t){if(h(e)&&!s(e)){let r;const i=new E({start(e){r=e}}),n=x(e,i.writable),a=U((async function(e){r.error(e),await n,await new Promise(setTimeout)}));return t(i.readable,a.writable),a.readable}e=B(e);const r=new a;return t(e,r),r}function Q(e,t){let r;const i=T(e,((e,n)=>{const a=M(e);a.remainder=()=>(a.releaseLock(),x(e,n),i),r=t(a)}));return r}function z(e){if(s(e))return e.clone();if(h(e)){const t=function(e){if(s(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(h(e)){const t=I(e).tee();return t[0][m]=t[1][m]=e[m],t}return[q(e),q(e)]}(e);return N(e,t[0]),t[1]}return q(e)}function F(e){return s(e)?z(e):h(e)?new _({start(t){const r=T(e,(async(e,r)=>{const i=M(e),n=D(r);try{for(;;){await n.ready;const{done:e,value:r}=await i.read();if(e){try{t.close()}catch(e){}return void await n.close()}try{t.enqueue(r)}catch(e){}await n.write(r)}}catch(e){t.error(e),await n.abort(e)}}));N(e,r)}}):q(e)}function N(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r,i])=>{"constructor"!==r&&(i.value?i.value=i.value.bind(t):i.get=i.get.bind(t),Object.defineProperty(e,r,i))}))}function q(e,t=0,r=1/0){if(s(e))throw Error("Not implemented");if(h(e)){if(t>=0&&r>=0){let i=0;return K(e,{transform(e,n){i<r?(i+e.length>=t&&n.enqueue(q(e,Math.max(t-i,0),r-i)),i+=e.length):n.terminate()}})}if(t<0&&(r<0||r===1/0)){let i=[];return R(e,(e=>{e.length>=-t?i=[e]:i.push(e)}),(()=>q(P(i),t,r)))}if(0===t&&r<0){let i;return R(e,(e=>{const n=i?P([i,e]):e;if(n.length>=-r)return i=q(n,r),q(n,t,r);i=n}))}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),H((async()=>q(await L(e),t,r)))}return e[m]&&(e=P(e[m].concat([e]))),!f(e)||C&&C.isBuffer(e)?e.slice(t,r):(r===1/0&&(r=e.length),e.subarray(t,r))}async function L(e,t=P){return s(e)?e.readToEnd(t):h(e)?M(e).readToEnd(t):e}async function O(e,t){if(h(e)){if(e.cancel)return e.cancel(t);if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function H(e){const t=new a;return(async()=>{const r=D(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}class j{constructor(e){if(void 0===e)throw Error("Invalid BigInteger input");if(e instanceof Uint8Array){const t=e,r=Array(t.length);for(let e=0;e<t.length;e++){const i=t[e].toString(16);r[e]=t[e]<=15?"0"+i:i}this.value=BigInt("0x0"+r.join(""))}else this.value=BigInt(e)}clone(){return new j(this.value)}iinc(){return this.value++,this}inc(){return this.clone().iinc()}idec(){return this.value--,this}dec(){return this.clone().idec()}iadd(e){return this.value+=e.value,this}add(e){return this.clone().iadd(e)}isub(e){return this.value-=e.value,this}sub(e){return this.clone().isub(e)}imul(e){return this.value*=e.value,this}mul(e){return this.clone().imul(e)}imod(e){return this.value%=e.value,this.isNegative()&&this.iadd(e),this}mod(e){return this.clone().imod(e)}modExp(e,t){if(t.isZero())throw Error("Modulo cannot be zero");if(t.isOne())return new j(0);if(e.isNegative())throw Error("Unsopported negative exponent");let r=e.value,i=this.value;i%=t.value;let n=BigInt(1);for(;r>BigInt(0);){const e=r&BigInt(1);r>>=BigInt(1);const a=n*i%t.value;n=e?a:n,i=i*i%t.value}return new j(n)}modInv(e){const{gcd:t,x:r}=this._egcd(e);if(!t.isOne())throw Error("Inverse does not exist");return r.add(e).mod(e)}_egcd(e){let t=BigInt(0),r=BigInt(1),i=BigInt(1),n=BigInt(0),a=this.value;for(e=e.value;e!==BigInt(0);){const s=a/e;let o=t;t=i-s*t,i=o,o=r,r=n-s*r,n=o,o=e,e=a%e,a=o}return{x:new j(i),y:new j(n),gcd:new j(a)}}gcd(e){let t=this.value;for(e=e.value;e!==BigInt(0);){const r=e;e=t%e,t=r}return new j(t)}ileftShift(e){return this.value<<=e.value,this}leftShift(e){return this.clone().ileftShift(e)}irightShift(e){return this.value>>=e.value,this}rightShift(e){return this.clone().irightShift(e)}equal(e){return this.value===e.value}lt(e){return this.value<e.value}lte(e){return this.value<=e.value}gt(e){return this.value>e.value}gte(e){return this.value>=e.value}isZero(){return this.value===BigInt(0)}isOne(){return this.value===BigInt(1)}isNegative(){return this.value<BigInt(0)}isEven(){return!(this.value&BigInt(1))}abs(){const e=this.clone();return this.isNegative()&&(e.value=-e.value),e}toString(){return this.value.toString()}toNumber(){const e=Number(this.value);if(e>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return e}getBit(e){return(this.value>>BigInt(e)&BigInt(1))===BigInt(0)?0:1}bitLength(){const e=new j(0),t=new j(1),r=new j(-1),i=this.isNegative()?r:e;let n=1;const a=this.clone();for(;!a.irightShift(t).equal(i);)n++;return n}byteLength(){const e=new j(0),t=new j(-1),r=this.isNegative()?t:e,i=new j(8);let n=1;const a=this.clone();for(;!a.irightShift(i).equal(r);)n++;return n}toUint8Array(e="be",t){let r=this.value.toString(16);r.length%2==1&&(r="0"+r);const i=r.length/2,n=new Uint8Array(t||i),a=t?t-i:0;let s=0;for(;s<i;)n[s+a]=parseInt(r.slice(2*s,2*s+2),16),s++;return"be"!==e&&n.reverse(),n}}const G=()=>"undefined"!=typeof BigInt;const W=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),V={isString:function(e){return"string"==typeof e||e instanceof String},isArray:function(e){return e instanceof Array},isUint8Array:f,isStream:h,readNumber:function(e){let t=0;for(let r=0;r<e.length;r++)t+=256**r*e[e.length-1-r];return t},writeNumber:function(e,t){const r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e>>8*(t-i-1)&255;return r},readDate:function(e){const t=V.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return V.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=(e[0]<<8|e[1])+7>>>3;return e.subarray(2,2+t)},leftPad(e,t){const r=new Uint8Array(t),i=t-e.length;return r.set(e,i),r},uint8ArrayToMPI:function(e){const t=V.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),i=new Uint8Array([(65280&t)>>8,255&t]);return V.concatUint8Array([i,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;const r=e.subarray(t);return 8*(r.length-1)+V.nbits(r[0])},hexToUint8Array:function(e){const t=new Uint8Array(e.length>>1);for(let r=0;r<e.length>>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t=[],r=e.length;let i,n=0;for(;n<r;){for(i=e[n++].toString(16);i.length<2;)i="0"+i;t.push(""+i)}return t.join("")},stringToUint8Array:function(e){return R(e,(e=>{if(!V.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}))},uint8ArrayToString:function(e){const t=[],r=16384,i=(e=new Uint8Array(e)).length;for(let n=0;n<i;n+=r)t.push(String.fromCharCode.apply(String,e.subarray(n,n+r<i?n+r:i)));return t.join("")},encodeUTF8:function(e){const t=new TextEncoder("utf-8");function r(e,r=!1){return t.encode(e,{stream:!r})}return R(e,r,(()=>r("",!0)))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return R(e,r,(()=>r(new Uint8Array,!0)))},concat:P,concatUint8Array:d,equalsUint8Array:function(e,t){if(!V.isUint8Array(e)||!V.isUint8Array(t))throw Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},writeChecksum:function(e){let t=0;for(let r=0;r<e.length;r++)t=t+e[r]&65535;return V.writeNumber(t,2)},printDebug:function(e){W&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){W&&console.error("[OpenPGP.js debug]",e)},nbits:function(e){let t=1,r=e>>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let i=0;i<r;i++)t[i]=e[i]<<1^e[i+1]>>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){return void 0!==e&&e.crypto&&e.crypto.subtle},getBigInteger:async function(){if(G())return j;{const{default:e}=await Promise.resolve().then((function(){return by}));return e}},getNodeCrypto:function(){},getNodeZlib:function(){},getNodeBuffer:function(){return{}.Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return(void 0).cpus().length},isEmailAddress:function(e){if(!V.isString(e))return!1;return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+([a-zA-Z]{2,}[0-9]*|xn--[a-zA-Z\-0-9]+)))$/.test(e)},canonicalizeEOL:function(e){let t=!1;return R(e,(e=>{let r;t&&(e=V.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const i=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&i.push(r);if(!i.length)return e;const n=new Uint8Array(e.length+i.length);let a=0;for(let t=0;t<i.length;t++){const r=e.subarray(i[t-1]||0,i[t]);n.set(r,a),a+=r.length,n[a-1]=13,n[a]=10,a++}return n.set(e.subarray(i[i.length-1]||0),a),n}),(()=>t?new Uint8Array([13]):void 0))},nativeEOL:function(e){let t=!1;return R(e,(e=>{let r;13===(e=t&&10!==e[0]?V.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let i=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const n=r-(10===e[r]?1:0);t&&e.copyWithin(i,t,n),i+=n-t}return e.subarray(0,i)}),(()=>t?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(e){return e.split("\n").map((e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)})).join("\n")},wrapError:function(e,t){if(!t)return Error(e);try{t.message=e+": "+t.message}catch(e){}return t},constructAllowedPackets:function(e){const t={};return e.forEach((e=>{if(!e.tag)throw Error("Invalid input: expected a packet class");t[e.tag]=e})),t},anyPromise:function(e){return new Promise((async(t,r)=>{let i;await Promise.all(e.map((async e=>{try{t(await e)}catch(e){i=e}}))),r(i)}))},selectUint8Array:function(e,t,r){const i=Math.max(t.length,r.length),n=new Uint8Array(i);let a=0;for(let i=0;i<n.length;i++)n[i]=t[i]&256-e|r[i]&255+e,a+=e&i<t.length|1-e&i<r.length;return n.subarray(0,a)},selectUint8:function(e,t,r){return t&256-e|r&255+e}},J=V.getNodeBuffer();let Y,Z;function X(e){let t=new Uint8Array;return R(e,(e=>{t=V.concatUint8Array([t,e]);const r=[],i=Math.floor(t.length/45),n=45*i,a=Y(t.subarray(0,n));for(let e=0;e<i;e++)r.push(a.substr(60*e,60)),r.push("\n");return t=t.subarray(n),r.join("")}),(()=>t.length?Y(t)+"\n":""))}function $(e){let t="";return R(e,(e=>{t+=e;let r=0;const i=[" ","\t","\r","\n"];for(let e=0;e<i.length;e++){const n=i[e];for(let e=t.indexOf(n);-1!==e;e=t.indexOf(n,e+1))r++}let n=t.length;for(;n>0&&(n-r)%4!=0;n--)i.includes(t[n])&&r--;const a=Z(t.substr(0,n));return t=t.substr(n),a}),(()=>Z(t)))}function ee(e){return $(e.replace(/-/g,"+").replace(/_/g,"/"))}function te(e,t){let r=X(e).replace(/[\r\n]/g,"");return t&&(r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")),r}J?(Y=e=>J.from(e).toString("base64"),Z=e=>{const t=J.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(Y=e=>btoa(V.uint8ArrayToString(e)),Z=e=>V.stringToUint8Array(atob(e)));const re=Symbol("byValue");var ie={curve:{p256:"p256","P-256":"p256",secp256r1:"p256",prime256v1:"p256","1.2.840.10045.3.1.7":"p256","2a8648ce3d030107":"p256","2A8648CE3D030107":"p256",p384:"p384","P-384":"p384",secp384r1:"p384","1.3.132.0.34":"p384","2b81040022":"p384","2B81040022":"p384",p521:"p521","P-521":"p521",secp521r1:"p521","1.3.132.0.35":"p521","2b81040023":"p521","2B81040023":"p521",secp256k1:"secp256k1","1.3.132.0.10":"secp256k1","2b8104000a":"secp256k1","2B8104000A":"secp256k1",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",X25519:"curve25519",cv25519:"curve25519",curve25519:"curve25519",Curve25519:"curve25519","1.3.6.1.4.1.3029.1.5.1":"curve25519","2b060104019755010501":"curve25519","2B060104019755010501":"curve25519",brainpoolP256r1:"brainpoolP256r1","1.3.36.3.3.2.8.1.1.7":"brainpoolP256r1","2b2403030208010107":"brainpoolP256r1","2B2403030208010107":"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1","1.3.36.3.3.2.8.1.1.11":"brainpoolP384r1","2b240303020801010b":"brainpoolP384r1","2B240303020801010B":"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1","1.3.36.3.3.2.8.1.1.13":"brainpoolP512r1","2b240303020801010d":"brainpoolP512r1","2B240303020801010D":"brainpoolP512r1"},kdfFlags:{replace_fingerprint:1,replace_kdf_params:2},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsa:22,aedh:23,aedsa:24,aead:100,hmac:101},symmetric:{plaintext:0,idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuer:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,forwardedCommunication:64,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw Error("Invalid enum value.")},read:function(e,t){if(e[re]||(e[re]=[],Object.entries(e).forEach((([t,r])=>{e[re][r]=t}))),void 0!==e[re][t])return e[re][t];throw Error("Invalid enum value.")}},ne={preferredHashAlgorithm:ie.hash.sha256,preferredSymmetricAlgorithm:ie.symmetric.aes256,preferredCompressionAlgorithm:ie.compression.uncompressed,deflateLevel:6,aeadProtect:!1,preferredAEADAlgorithm:ie.aead.eax,aeadChunkSizeByte:12,v5Keys:!1,s2kType:ie.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,allowForwardedMessages:!1,checksumRequired:!1,minRSABits:2047,passwordCollisionCheck:!1,revocationsExpire:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([ie.symmetric.aes128,ie.symmetric.aes192,ie.symmetric.aes256]),minBytesForWebCrypto:1e3,ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 5.9.0",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],useIndutnyElliptic:!0,rejectHashAlgorithms:new Set([ie.hash.md5,ie.hash.ripemd]),rejectMessageHashAlgorithms:new Set([ie.hash.md5,ie.hash.ripemd,ie.hash.sha1]),rejectPublicKeyAlgorithms:new Set([ie.publicKey.elgamal,ie.publicKey.dsa]),rejectCurves:new Set([ie.curve.secp256k1])};function ae(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?ie.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?ie.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?ie.armor.signed:/MESSAGE/.test(t[1])?ie.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?ie.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?ie.armor.privateKey:/SIGNATURE/.test(t[1])?ie.armor.signature:void 0}function se(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function oe(e){return X(function(e){let t=13501623;return R(e,(e=>{const r=ue?Math.floor(e.length/4):0,i=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=i[e],t=ce[0][t>>24&255]^ce[1][t>>16&255]^ce[2][t>>8&255]^ce[3][t>>0&255];for(let i=4*r;i<e.length;i++)t=t>>8^ce[0][255&t^e[i]]}),(()=>new Uint8Array([t,t>>8,t>>16])))}(e))}const ce=[Array(255),Array(255),Array(255),Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(0!=(8388608&t)?8801531:0);ce[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)ce[1][e]=ce[0][e]>>8^ce[0][255&ce[0][e]];for(let e=0;e<=255;e++)ce[2][e]=ce[1][e]>>8^ce[0][255&ce[1][e]];for(let e=0;e<=255;e++)ce[3][e]=ce[2][e]>>8^ce[0][255&ce[2][e]];const ue=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function he(e){for(let t=0;t<e.length;t++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t])||V.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||V.printDebugError(Error("Unknown header: "+e[t]))}function fe(e){let t=e,r="";const i=e.lastIndexOf("=");return i>=0&&i!==e.length-1&&(t=e.slice(0,i),r=e.slice(i+1).substr(0,4)),{body:t,checksum:r}}function de(e,t=ne){return new Promise((async(r,i)=>{try{const n=/^-----[^-]+-----$/m,a=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const o=[];let c,u,h,f=o,d=[],l=$(T(e,(async(e,t)=>{const p=M(e);try{for(;;){let e=await p.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=V.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(c)u||2!==s||(n.test(e)?(d=d.join("\r\n"),u=!0,he(f),f=[],c=!1):d.push(e.replace(/^- /,"")));else if(n.test(e)&&i(Error("Mandatory blank line missing between armor headers and armor data")),a.test(e)){if(he(f),c=!0,u||2!==s){r({text:d,data:l,headers:o,type:s});break}}else f.push(e);else n.test(e)&&(s=ae(e))}}catch(e){return void i(e)}const y=D(t);try{for(;;){await y.ready;const{done:e,value:t}=await p.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await p.readToEnd();e.length||(e=""),e=r+e,e=V.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw Error("Misformed armored text");const i=fe(t[0].slice(0,-1));h=i.checksum,await y.write(i.body);break}await y.write(r)}await y.ready,await y.close()}catch(e){await y.abort(e)}})));l=T(l,(async(e,r)=>{const i=L(oe(F(e)));i.catch((()=>{})),await x(e,r,{preventClose:!0});const n=D(r);try{const e=(await i).replace("\n","");if(h!==e&&(h||t.checksumRequired))throw Error("Ascii armor integrity check failed");await n.ready,await n.close()}catch(e){await n.abort(e)}}))}catch(e){i(e)}})).then((async e=>(s(e.data)&&(e.data=await L(e.data)),e)))}function le(e,t,r,i,n,a=ne){let s,o;e===ie.armor.signed&&(s=t.text,o=t.hash,t=t.data);const c=F(t),u=[];switch(e){case ie.armor.multipartSection:u.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+i+"-----\n"),u.push(se(n,a)),u.push(X(t)),u.push("=",oe(c)),u.push("-----END PGP MESSAGE, PART "+r+"/"+i+"-----\n");break;case ie.armor.multipartLast:u.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),u.push(se(n,a)),u.push(X(t)),u.push("=",oe(c)),u.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case ie.armor.signed:u.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),u.push("Hash: "+o+"\n\n"),u.push(s.replace(/^-/gm,"- -")),u.push("\n-----BEGIN PGP SIGNATURE-----\n"),u.push(se(n,a)),u.push(X(t)),u.push("=",oe(c)),u.push("-----END PGP SIGNATURE-----\n");break;case ie.armor.message:u.push("-----BEGIN PGP MESSAGE-----\n"),u.push(se(n,a)),u.push(X(t)),u.push("=",oe(c)),u.push("-----END PGP MESSAGE-----\n");break;case ie.armor.publicKey:u.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),u.push(se(n,a)),u.push(X(t)),u.push("=",oe(c)),u.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case ie.armor.privateKey:u.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),u.push(se(n,a)),u.push(X(t)),u.push("=",oe(c)),u.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case ie.armor.signature:u.push("-----BEGIN PGP SIGNATURE-----\n"),u.push(se(n,a)),u.push(X(t)),u.push("=",oe(c)),u.push("-----END PGP SIGNATURE-----\n")}return V.concat(u)}class pe{constructor(){this.bytes=""}read(e){this.bytes=V.uint8ArrayToString(e.subarray(0,8))}write(){return V.stringToUint8Array(this.bytes)}toHex(){return V.uint8ArrayToHex(V.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new pe;return t.read(V.hexToUint8Array(e)),t}static wildcard(){const e=new pe;return e.read(new Uint8Array(8)),e}}var ye=function(){var e,t,r=!1;function i(r,i){var n=e[(t[r]+t[i])%255];return 0!==r&&0!==i||(n=0),n}var n,a,s,o,c=!1;function u(){function u(r){var i,n,a;for(n=a=function(r){var i=e[255-t[r]];return 0===r&&(i=0),i}(r),i=0;i<4;i++)a^=n=255&(n<<1|n>>>7);return a^=99}r||function(){e=[],t=[];var i,n,a=1;for(i=0;i<255;i++)e[i]=a,n=128&a,a<<=1,a&=255,128===n&&(a^=27),a^=e[i],t[e[i]]=i;e[255]=e[0],t[0]=0,r=!0}(),n=[],a=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var h=0;h<256;h++){var f=u(h);n[h]=f,a[f]=h,s[0][h]=i(2,f)<<24|f<<16|f<<8|i(3,f),o[0][f]=i(14,h)<<24|i(9,h)<<16|i(13,h)<<8|i(11,h);for(var d=1;d<4;d++)s[d][h]=s[d-1][h]>>>8|s[d-1][h]<<24,o[d][f]=o[d-1][f]>>>8|o[d-1][f]<<24}c=!0}var h=function(e,t){c||u();var r=new Uint32Array(t);r.set(n,512),r.set(a,768);for(var i=0;i<4;i++)r.set(s[i],4096+1024*i>>2),r.set(o[i],8192+1024*i>>2);var h=function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,b=0,g=0,m=0,w=0,A=0,v=0,_=0,k=0;var E=new e.Uint32Array(r),S=new e.Uint8Array(r);function C(e,t,r,o,c,u,h,f){e=e|0;t=t|0;r=r|0;o=o|0;c=c|0;u=u|0;h=h|0;f=f|0;var d=0,l=0,p=0,y=0,b=0,g=0,m=0,w=0;d=r|0x400,l=r|0x800,p=r|0xc00;c=c^E[(e|0)>>2],u=u^E[(e|4)>>2],h=h^E[(e|8)>>2],f=f^E[(e|12)>>2];for(w=16;(w|0)<=o<<4;w=w+16|0){y=E[(r|c>>22&1020)>>2]^E[(d|u>>14&1020)>>2]^E[(l|h>>6&1020)>>2]^E[(p|f<<2&1020)>>2]^E[(e|w|0)>>2],b=E[(r|u>>22&1020)>>2]^E[(d|h>>14&1020)>>2]^E[(l|f>>6&1020)>>2]^E[(p|c<<2&1020)>>2]^E[(e|w|4)>>2],g=E[(r|h>>22&1020)>>2]^E[(d|f>>14&1020)>>2]^E[(l|c>>6&1020)>>2]^E[(p|u<<2&1020)>>2]^E[(e|w|8)>>2],m=E[(r|f>>22&1020)>>2]^E[(d|c>>14&1020)>>2]^E[(l|u>>6&1020)>>2]^E[(p|h<<2&1020)>>2]^E[(e|w|12)>>2];c=y,u=b,h=g,f=m}i=E[(t|c>>22&1020)>>2]<<24^E[(t|u>>14&1020)>>2]<<16^E[(t|h>>6&1020)>>2]<<8^E[(t|f<<2&1020)>>2]^E[(e|w|0)>>2],n=E[(t|u>>22&1020)>>2]<<24^E[(t|h>>14&1020)>>2]<<16^E[(t|f>>6&1020)>>2]<<8^E[(t|c<<2&1020)>>2]^E[(e|w|4)>>2],a=E[(t|h>>22&1020)>>2]<<24^E[(t|f>>14&1020)>>2]<<16^E[(t|c>>6&1020)>>2]<<8^E[(t|u<<2&1020)>>2]^E[(e|w|8)>>2],s=E[(t|f>>22&1020)>>2]<<24^E[(t|c>>14&1020)>>2]<<16^E[(t|u>>6&1020)>>2]<<8^E[(t|h<<2&1020)>>2]^E[(e|w|12)>>2]}function I(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;C(0x0000,0x0800,0x1000,k,e,t,r,i)}function B(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var a=0;C(0x0400,0x0c00,0x2000,k,e,i,r,t);a=n,n=s,s=a}function P(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,k,o^e,c^t,u^r,h^f);o=i,c=n,u=a,h=s}function M(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;var d=0;C(0x0400,0x0c00,0x2000,k,e,f,r,t);d=n,n=s,s=d;i=i^o,n=n^c,a=a^u,s=s^h;o=e,c=t,u=r,h=f}function D(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,k,o,c,u,h);o=i=i^e,c=n=n^t,u=a=a^r,h=s=s^f}function x(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,k,o,c,u,h);i=i^e,n=n^t,a=a^r,s=s^f;o=e,c=t,u=r,h=f}function K(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,k,o,c,u,h);o=i,c=n,u=a,h=s;i=i^e,n=n^t,a=a^r,s=s^f}function U(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;C(0x0000,0x0800,0x1000,k,f,d,l,p);p=~m&p|m&p+1;l=~g&l|g&l+((p|0)==0);d=~b&d|b&d+((l|0)==0);f=~y&f|y&f+((d|0)==0);i=i^e;n=n^t;a=a^r;s=s^o}function R(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var n=0,a=0,s=0,f=0,d=0,l=0,p=0,y=0,b=0,g=0;e=e^o,t=t^c,r=r^u,i=i^h;n=w|0,a=A|0,s=v|0,f=_|0;for(;(b|0)<128;b=b+1|0){if(n>>>31){d=d^e,l=l^t,p=p^r,y=y^i}n=n<<1|a>>>31,a=a<<1|s>>>31,s=s<<1|f>>>31,f=f<<1;g=i&1;i=i>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(g)e=e^0xe1000000}o=d,c=l,u=p,h=y}function T(e){e=e|0;k=e}function Q(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;i=e,n=t,a=r,s=o}function z(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;o=e,c=t,u=r,h=i}function F(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;f=e,d=t,l=r,p=i}function N(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;y=e,b=t,g=r,m=i}function q(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;p=~m&p|m&i,l=~g&l|g&r,d=~b&d|b&t,f=~y&f|y&e}function L(e){e=e|0;if(e&15)return-1;S[e|0]=i>>>24,S[e|1]=i>>>16&255,S[e|2]=i>>>8&255,S[e|3]=i&255,S[e|4]=n>>>24,S[e|5]=n>>>16&255,S[e|6]=n>>>8&255,S[e|7]=n&255,S[e|8]=a>>>24,S[e|9]=a>>>16&255,S[e|10]=a>>>8&255,S[e|11]=a&255,S[e|12]=s>>>24,S[e|13]=s>>>16&255,S[e|14]=s>>>8&255,S[e|15]=s&255;return 16}function O(e){e=e|0;if(e&15)return-1;S[e|0]=o>>>24,S[e|1]=o>>>16&255,S[e|2]=o>>>8&255,S[e|3]=o&255,S[e|4]=c>>>24,S[e|5]=c>>>16&255,S[e|6]=c>>>8&255,S[e|7]=c&255,S[e|8]=u>>>24,S[e|9]=u>>>16&255,S[e|10]=u>>>8&255,S[e|11]=u&255,S[e|12]=h>>>24,S[e|13]=h>>>16&255,S[e|14]=h>>>8&255,S[e|15]=h&255;return 16}function H(){I(0,0,0,0);w=i,A=n,v=a,_=s}function j(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){W[e&7](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);S[t|0]=i>>>24,S[t|1]=i>>>16&255,S[t|2]=i>>>8&255,S[t|3]=i&255,S[t|4]=n>>>24,S[t|5]=n>>>16&255,S[t|6]=n>>>8&255,S[t|7]=n&255,S[t|8]=a>>>24,S[t|9]=a>>>16&255,S[t|10]=a>>>8&255,S[t|11]=a&255,S[t|12]=s>>>24,S[t|13]=s>>>16&255,S[t|14]=s>>>8&255,S[t|15]=s&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function G(e,t,r){e=e|0;t=t|0;r=r|0;var i=0;if(t&15)return-1;while((r|0)>=16){V[e&1](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);i=i+16|0,t=t+16|0,r=r-16|0}return i|0}var W=[I,B,P,M,D,x,K,U];var V=[P,R];return{set_rounds:T,set_state:Q,set_iv:z,set_nonce:F,set_mask:N,set_counter:q,get_state:L,get_iv:O,gcm_init:H,cipher:j,mac:G}}({Uint8Array,Uint32Array},e,t);return h.set_key=function(e,t,i,a,s,c,u,f,d){var l=r.subarray(0,60),p=r.subarray(256,316);l.set([t,i,a,s,c,u,f,d]);for(var y=e,b=1;y<4*e+28;y++){var g=l[y-1];(y%e==0||8===e&&y%e==4)&&(g=n[g>>>24]<<24^n[g>>>16&255]<<16^n[g>>>8&255]<<8^n[255&g]),y%e==0&&(g=g<<8^g>>>24^b<<24,b=b<<1^(128&b?27:0)),l[y]=l[y-e]^g}for(var m=0;m<y;m+=4)for(var w=0;w<4;w++){g=l[y-(4+m)+(4-w)%4];p[m+w]=m<4||m>=y-4?g:o[0][n[g>>>24]]^o[1][n[g>>>16&255]]^o[2][n[g>>>8&255]]^o[3][n[255&g]]}h.set_rounds(e+5)},h};return h.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},h.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},h.MAC={CBC:0,GCM:1},h.HEAP_DATA=16384,h}();function be(e){return e instanceof Uint8Array}function ge(e,t){const r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw Error("heap size must be a positive integer and a multiple of 4096");return e=e||new Uint8Array(new ArrayBuffer(r))}function me(e,t,r,i,n){const a=e.length-t,s=a<n?a:n;return e.set(r.subarray(i,i+s),t),s}function we(...e){const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let i=0;for(let t=0;t<e.length;t++)r.set(e[t],i),i+=e[t].length;return r}class Ae extends Error{constructor(...e){super(...e)}}class ve extends Error{constructor(...e){super(...e)}}class _e extends Error{constructor(...e){super(...e)}}const ke=[],Ee=[];class Se{constructor(e,t,r=!0,i,n,a){this.pos=0,this.len=0,this.mode=i,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm(n,a)}acquire_asm(e,t){return void 0!==this.heap&&void 0!==this.asm||(this.heap=e||ke.pop()||ge().subarray(ye.HEAP_DATA),this.asm=t||Ee.pop()||new ye(null,this.heap.buffer),this.reset(this.key,this.iv)),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(ke.push(this.heap),Ee.push(this.asm)),this.heap=void 0,this.asm=void 0}reset(e,t){const{asm:r}=this.acquire_asm(),i=e.length;if(16!==i&&24!==i&&32!==i)throw new ve("illegal key size");const n=new DataView(e.buffer,e.byteOffset,e.byteLength);if(r.set_key(i>>2,n.getUint32(0),n.getUint32(4),n.getUint32(8),n.getUint32(12),i>16?n.getUint32(16):0,i>16?n.getUint32(20):0,i>24?n.getUint32(24):0,i>24?n.getUint32(28):0),void 0!==t){if(16!==t.length)throw new ve("illegal iv size");let e=new DataView(t.buffer,t.byteOffset,t.byteLength);r.set_iv(e.getUint32(0),e.getUint32(4),e.getUint32(8),e.getUint32(12))}else r.set_iv(0,0,0,0)}AES_Encrypt_process(e){if(!be(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),i=ye.ENC[this.mode],n=ye.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,u=0,h=0,f=new Uint8Array(s+c&-16);for(;c>0;)h=me(t,a+s,e,o,c),s+=h,o+=h,c-=h,h=r.cipher(i,n+a,s),h&&f.set(t.subarray(a,a+h),u),u+=h,h<s?(a+=h,s-=h):(a=0,s=0);return this.pos=a,this.len=s,f}AES_Encrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=ye.ENC[this.mode],i=ye.HEAP_DATA,n=this.pos,a=this.len,s=16-a%16,o=a;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<s;++t)e[n+a+t]=s;a+=s,o=a}else if(a%16)throw new ve("data length must be a multiple of the block size")}else a+=s;const c=new Uint8Array(o);return a&&t.cipher(r,i+n,a),o&&c.set(e.subarray(n,n+o)),this.pos=0,this.len=0,this.release_asm(),c}AES_Decrypt_process(e){if(!be(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),i=ye.DEC[this.mode],n=ye.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,u=0,h=s+c&-16,f=0,d=0;this.padding&&(f=s+c-h||16,h-=f);const l=new Uint8Array(h);for(;c>0;)d=me(t,a+s,e,o,c),s+=d,o+=d,c-=d,d=r.cipher(i,n+a,s-(c?0:f)),d&&l.set(t.subarray(a,a+d),u),u+=d,d<s?(a+=d,s-=d):(a=0,s=0);return this.pos=a,this.len=s,l}AES_Decrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=ye.DEC[this.mode],i=ye.HEAP_DATA,n=this.pos,a=this.len,s=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new ve("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(r,i+n,a),this.hasOwnProperty("padding")&&this.padding){let t=e[n+s-1];if(t<1||t>16||t>s)throw new _e("bad padding");let r=0;for(let i=t;i>1;i--)r|=t^e[n+s-i];if(r)throw new _e("bad padding");s-=t}}const o=new Uint8Array(s);return s>0&&o.set(e.subarray(n,n+s)),this.pos=0,this.len=0,this.release_asm(),o}}class Ce{static encrypt(e,t,r=!1){return new Ce(t,r).encrypt(e)}static decrypt(e,t,r=!1){return new Ce(t,r).decrypt(e)}constructor(e,t=!1,r){this.aes=r||new Se(e,void 0,t,"ECB")}encrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return we(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function Ie(e){const t=function(e){const t=new Ce(e);this.encrypt=function(e){return t.encrypt(e)},this.decrypt=function(e){return t.decrypt(e)}};return t.blockSize=t.prototype.blockSize=16,t.keySize=t.prototype.keySize=e/8,t}function Be(e,t,r,i,n,a){const s=[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],o=[-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],c=[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],u=[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],h=[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],f=[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],d=[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],l=[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];let p,y,b,g,m,w,A,v,_,k,E,S,C,I,B=0,P=t.length;const M=32===e.length?3:9;v=3===M?r?[0,32,2]:[30,-2,-2]:r?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],r&&(t=function(e,t){const r=8-e.length%8;let i;if(2===t&&r<8)i=32;else if(1===t)i=r;else{if(t||!(r<8)){if(8===r)return e;throw Error("des: invalid padding")}i=0}const n=new Uint8Array(e.length+r);for(let t=0;t<e.length;t++)n[t]=e[t];for(let t=0;t<r;t++)n[e.length+t]=i;return n}(t,a),P=t.length);let D=new Uint8Array(P),x=0;for(1===i&&(_=n[B++]<<24|n[B++]<<16|n[B++]<<8|n[B++],E=n[B++]<<24|n[B++]<<16|n[B++]<<8|n[B++],B=0);B<P;){for(w=t[B++]<<24|t[B++]<<16|t[B++]<<8|t[B++],A=t[B++]<<24|t[B++]<<16|t[B++]<<8|t[B++],1===i&&(r?(w^=_,A^=E):(k=_,S=E,_=w,E=A)),b=252645135&(w>>>4^A),A^=b,w^=b<<4,b=65535&(w>>>16^A),A^=b,w^=b<<16,b=858993459&(A>>>2^w),w^=b,A^=b<<2,b=16711935&(A>>>8^w),w^=b,A^=b<<8,b=1431655765&(w>>>1^A),A^=b,w^=b<<1,w=w<<1|w>>>31,A=A<<1|A>>>31,y=0;y<M;y+=3){for(C=v[y+1],I=v[y+2],p=v[y];p!==C;p+=I)g=A^e[p],m=(A>>>4|A<<28)^e[p+1],b=w,w=A,A=b^(o[g>>>24&63]|u[g>>>16&63]|f[g>>>8&63]|l[63&g]|s[m>>>24&63]|c[m>>>16&63]|h[m>>>8&63]|d[63&m]);b=w,w=A,A=b}w=w>>>1|w<<31,A=A>>>1|A<<31,b=1431655765&(w>>>1^A),A^=b,w^=b<<1,b=16711935&(A>>>8^w),w^=b,A^=b<<8,b=858993459&(A>>>2^w),w^=b,A^=b<<2,b=65535&(w>>>16^A),A^=b,w^=b<<16,b=252645135&(w>>>4^A),A^=b,w^=b<<4,1===i&&(r?(_=w,E=A):(w^=k,A^=S)),D[x++]=w>>>24,D[x++]=w>>>16&255,D[x++]=w>>>8&255,D[x++]=255&w,D[x++]=A>>>24,D[x++]=A>>>16&255,D[x++]=A>>>8&255,D[x++]=255&A}return r||(D=function(e,t){let r,i=null;if(2===t)r=32;else if(1===t)i=e[e.length-1];else{if(t)throw Error("des: invalid padding");r=0}if(!i){for(i=1;e[e.length-i]===r;)i++;i--}return e.subarray(0,e.length-i)}(D,a)),D}function Pe(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],i=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],n=[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],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],h=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],l=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length>8?3:1,b=Array(32*y),g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let m,w,A,v=0,_=0;for(let k=0;k<y;k++){let y=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++],k=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++];A=252645135&(y>>>4^k),k^=A,y^=A<<4,A=65535&(k>>>-16^y),y^=A,k^=A<<-16,A=858993459&(y>>>2^k),k^=A,y^=A<<2,A=65535&(k>>>-16^y),y^=A,k^=A<<-16,A=1431655765&(y>>>1^k),k^=A,y^=A<<1,A=16711935&(k>>>8^y),y^=A,k^=A<<8,A=1431655765&(y>>>1^k),k^=A,y^=A<<1,A=y<<8|k>>>20&240,y=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=A;for(let e=0;e<16;e++)g[e]?(y=y<<2|y>>>26,k=k<<2|k>>>26):(y=y<<1|y>>>27,k=k<<1|k>>>27),y&=-15,k&=-15,m=t[y>>>28]|r[y>>>24&15]|i[y>>>20&15]|n[y>>>16&15]|a[y>>>12&15]|s[y>>>8&15]|o[y>>>4&15],w=c[k>>>28]|u[k>>>24&15]|h[k>>>20&15]|f[k>>>16&15]|d[k>>>12&15]|l[k>>>8&15]|p[k>>>4&15],A=65535&(w>>>16^m),b[_++]=m^A,b[_++]=w^A<<16}return b}function Me(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Be(Pe(this.key[2]),Be(Pe(this.key[1]),Be(Pe(this.key[0]),e,!0,0,null,null),!1,0,null,null),!0,0,null,null)}}function De(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),e.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,s=c,c=o^i(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^n(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^i(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^n(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^i(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^n(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^i(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^n(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^i(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^n(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>>16&255,t[a+6]=o>>>8&255,t[a+7]=255&o}return t},this.decrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,s=c,c=o^n(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^i(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^n(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^i(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^n(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^i(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^n(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^i(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^n(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^i(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>16&255,t[a+6]=o>>8&255,t[a+7]=255&o}return t};const e=[,,,,];e[0]=[,,,,],e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=[,,,,],e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=[,,,,],e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=[,,,,],e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=[,,,,];function r(e,t,r){const i=t+e,n=i<<r|i>>>32-r;return(a[0][n>>>24]^a[1][n>>>16&255])-a[2][n>>>8&255]+a[3][255&n]}function i(e,t,r){const i=t^e,n=i<<r|i>>>32-r;return a[0][n>>>24]-a[1][n>>>16&255]+a[2][n>>>8&255]^a[3][255&n]}function n(e,t,r){const i=t-e,n=i<<r|i>>>32-r;return(a[0][n>>>24]+a[1][n>>>16&255]^a[2][n>>>8&255])-a[3][255&n]}t[0]=[,,,,],t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=[,,,,],t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=[,,,,],t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=[,,,,],t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const i=[,,,,,,,,],n=Array(32);let s;for(let e=0;e<4;e++)s=4*e,i[e]=r[s]<<24|r[s+1]<<16|r[s+2]<<8|r[s+3];const o=[6,7,4,5];let c,u=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(s=0;s<4;s++){const t=e[r][s];c=i[t[1]],c^=a[4][i[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=a[5][i[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=a[6][i[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=a[7][i[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=a[o[s]][i[t[6]>>>2]>>>24-8*(3&t[6])&255],i[t[0]]=c}for(s=0;s<4;s++){const e=t[r][s];c=a[4][i[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=a[5][i[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=a[6][i[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=a[7][i[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=a[4+s][i[e[4]>>>2]>>>24-8*(3&e[4])&255],n[u]=c,u++}}for(let e=0;e<16;e++)this.masking[e]=n[e],this.rotate[e]=31&n[16+e]};const a=[,,,,,,,,];a[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],a[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],a[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],a[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],a[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],a[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],a[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],a[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function xe(e){this.cast5=new De,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}Me.keySize=Me.prototype.keySize=24,Me.blockSize=Me.prototype.blockSize=8,xe.blockSize=xe.prototype.blockSize=8,xe.keySize=xe.prototype.keySize=16;const Ke=4294967295;function Ue(e,t){return(e<<t|e>>>32-t)&Ke}function Re(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Te(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Qe(e,t){return e>>>8*t&255}function ze(e){this.tf=function(){let e=null,t=null,r=-1,i=[],n=[[],[],[],[]];function a(e){return n[0][Qe(e,0)]^n[1][Qe(e,1)]^n[2][Qe(e,2)]^n[3][Qe(e,3)]}function s(e){return n[0][Qe(e,3)]^n[1][Qe(e,0)]^n[2][Qe(e,1)]^n[3][Qe(e,2)]}function o(e,t){let r=a(t[0]),n=s(t[1]);t[2]=Ue(t[2]^r+n+i[4*e+8]&Ke,31),t[3]=Ue(t[3],1)^r+2*n+i[4*e+9]&Ke,r=a(t[2]),n=s(t[3]),t[0]=Ue(t[0]^r+n+i[4*e+10]&Ke,31),t[1]=Ue(t[1],1)^r+2*n+i[4*e+11]&Ke}function c(e,t){let r=a(t[0]),n=s(t[1]);t[2]=Ue(t[2],1)^r+n+i[4*e+10]&Ke,t[3]=Ue(t[3]^r+2*n+i[4*e+11]&Ke,31),r=a(t[2]),n=s(t[3]),t[0]=Ue(t[0],1)^r+n+i[4*e+8]&Ke,t[1]=Ue(t[1]^r+2*n+i[4*e+9]&Ke,31)}return{name:"twofish",blocksize:16,open:function(t){let r,a,s,o,c;e=t;const u=[],h=[],f=[];let d;const l=[];let p,y,b;const g=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],m=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],w=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],A=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],v=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],_=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],k=[[],[]],E=[[],[],[],[]];function S(e){return e^e>>2^[0,90,180,238][3&e]}function C(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function I(e,t){let r,i,n;for(r=0;r<8;r++)i=t>>>24,t=t<<8&Ke|e>>>24,e=e<<8&Ke,n=i<<1,128&i&&(n^=333),t^=i^n<<16,n^=i>>>1,1&i&&(n^=166),t^=n<<24|n<<8;return t}function B(e,t){const r=t>>4,i=15&t,n=g[e][r^i],a=m[e][v[i]^_[r]];return A[e][v[a]^_[n]]<<4|w[e][n^a]}function P(e,t){let r=Qe(e,0),i=Qe(e,1),n=Qe(e,2),a=Qe(e,3);switch(d){case 4:r=k[1][r]^Qe(t[3],0),i=k[0][i]^Qe(t[3],1),n=k[0][n]^Qe(t[3],2),a=k[1][a]^Qe(t[3],3);case 3:r=k[1][r]^Qe(t[2],0),i=k[1][i]^Qe(t[2],1),n=k[0][n]^Qe(t[2],2),a=k[0][a]^Qe(t[2],3);case 2:r=k[0][k[0][r]^Qe(t[1],0)]^Qe(t[0],0),i=k[0][k[1][i]^Qe(t[1],1)]^Qe(t[0],1),n=k[1][k[0][n]^Qe(t[1],2)]^Qe(t[0],2),a=k[1][k[1][a]^Qe(t[1],3)]^Qe(t[0],3)}return E[0][r]^E[1][i]^E[2][n]^E[3][a]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)f[r>>2]=Re(e,r);for(r=0;r<256;r++)k[0][r]=B(0,r),k[1][r]=B(1,r);for(r=0;r<256;r++)p=k[1][r],y=S(p),b=C(p),E[0][r]=p+(y<<8)+(b<<16)+(b<<24),E[2][r]=y+(b<<8)+(p<<16)+(b<<24),p=k[0][r],y=S(p),b=C(p),E[1][r]=b+(b<<8)+(y<<16)+(p<<24),E[3][r]=y+(p<<8)+(b<<16)+(y<<24);for(d=f.length/2,r=0;r<d;r++)a=f[r+r],u[r]=a,s=f[r+r+1],h[r]=s,l[d-r-1]=I(a,s);for(r=0;r<40;r+=2)a=16843009*r,s=a+16843009,a=P(a,u),s=Ue(P(s,h),8),i[r]=a+s&Ke,i[r+1]=Ue(a+2*s,9);for(r=0;r<256;r++)switch(a=s=o=c=r,d){case 4:a=k[1][a]^Qe(l[3],0),s=k[0][s]^Qe(l[3],1),o=k[0][o]^Qe(l[3],2),c=k[1][c]^Qe(l[3],3);case 3:a=k[1][a]^Qe(l[2],0),s=k[1][s]^Qe(l[2],1),o=k[0][o]^Qe(l[2],2),c=k[0][c]^Qe(l[2],3);case 2:n[0][r]=E[0][k[0][k[0][a]^Qe(l[1],0)]^Qe(l[0],0)],n[1][r]=E[1][k[0][k[1][s]^Qe(l[1],1)]^Qe(l[0],1)],n[2][r]=E[2][k[1][k[0][o]^Qe(l[1],2)]^Qe(l[0],2)],n[3][r]=E[3][k[1][k[1][c]^Qe(l[1],3)]^Qe(l[0],3)]}},close:function(){i=[],n=[[],[],[],[]]},encrypt:function(e,n){t=e,r=n;const a=[Re(t,r)^i[0],Re(t,r+4)^i[1],Re(t,r+8)^i[2],Re(t,r+12)^i[3]];for(let e=0;e<8;e++)o(e,a);return Te(t,r,a[2]^i[4]),Te(t,r+4,a[3]^i[5]),Te(t,r+8,a[0]^i[6]),Te(t,r+12,a[1]^i[7]),r+=16,t},decrypt:function(e,n){t=e,r=n;const a=[Re(t,r)^i[4],Re(t,r+4)^i[5],Re(t,r+8)^i[6],Re(t,r+12)^i[7]];for(let e=7;e>=0;e--)c(e,a);Te(t,r,a[2]^i[0]),Te(t,r+4,a[3]^i[1]),Te(t,r+8,a[0]^i[2]),Te(t,r+12,a[1]^i[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Fe(){}function Ne(e){this.bf=new Fe,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}ze.keySize=ze.prototype.keySize=32,ze.blockSize=ze.prototype.blockSize=16,Fe.prototype.BLOCKSIZE=8,Fe.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Fe.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Fe.prototype.NN=16,Fe.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},Fe.prototype._F=function(e){let t;const r=255&e,i=255&(e>>>=8),n=255&(e>>>=8),a=255&(e>>>=8);return t=this.sboxes[0][a]+this.sboxes[1][n],t^=this.sboxes[2][i],t+=this.sboxes[3][r],t},Fe.prototype._encryptBlock=function(e){let t,r=e[0],i=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],i=this._F(r)^i;const e=r;r=i,i=e}r^=this.parray[this.NN+0],i^=this.parray[this.NN+1],e[0]=this._clean(i),e[1]=this._clean(r)},Fe.prototype.encryptBlock=function(e){let t;const r=[0,0],i=this.BLOCKSIZE/2;for(t=0;t<this.BLOCKSIZE/2;++t)r[0]=r[0]<<8|255&e[t+0],r[1]=r[1]<<8|255&e[t+i];this._encryptBlock(r);const n=[];for(t=0;t<this.BLOCKSIZE/2;++t)n[t+0]=r[0]>>>24-8*t&255,n[t+i]=r[1]>>>24-8*t&255;return n},Fe.prototype._decryptBlock=function(e){let t,r=e[0],i=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],i=this._F(r)^i;const e=r;r=i,i=e}r^=this.parray[1],i^=this.parray[0],e[0]=this._clean(i),e[1]=this._clean(r)},Fe.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let i=0;for(let t=0;t<4;++t)i=i<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^i}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const i=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(i),this.parray[t+0]=i[0],this.parray[t+1]=i[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(i),this.sboxes[t][r+0]=i[0],this.sboxes[t][r+1]=i[1]},Ne.keySize=Ne.prototype.keySize=16,Ne.blockSize=Ne.prototype.blockSize=8;const qe=Ie(128),Le=Ie(192),Oe=Ie(256),He=function(e){this.key=e,this.encrypt=function(e,t){return Be(Pe(this.key),e,!0,0,null,t)},this.decrypt=function(e,t){return Be(Pe(this.key),e,!1,0,null,t)}};var je=/*#__PURE__*/Object.freeze({__proto__:null,aes128:qe,aes192:Le,aes256:Oe,des:He,tripledes:Me,cast5:xe,twofish:ze,blowfish:Ne,idea:function(){throw Error("IDEA symmetric-key algorithm not implemented")}}),Ge=function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0;var h=0,f=0,d=0,l=0,p=0,y=0,b=0,g=0,m=0,w=0;var A=new e.Uint8Array(r);function v(e,t,r,c,u,h,f,d,l,p,y,b,g,m,w,A){e=e|0;t=t|0;r=r|0;c=c|0;u=u|0;h=h|0;f=f|0;d=d|0;l=l|0;p=p|0;y=y|0;b=b|0;g=g|0;m=m|0;w=w|0;A=A|0;var v=0,_=0,k=0,E=0,S=0,C=0,I=0,B=0,P=0,M=0,D=0,x=0,K=0,U=0,R=0,T=0,Q=0,z=0,F=0,N=0,q=0,L=0,O=0,H=0,j=0,G=0,W=0,V=0,J=0,Y=0,Z=0,X=0,$=0,ee=0,te=0,re=0,ie=0,ne=0,ae=0,se=0,oe=0,ce=0,ue=0,he=0,fe=0,de=0,le=0,pe=0,ye=0,be=0,ge=0,me=0,we=0,Ae=0,ve=0,_e=0,ke=0,Ee=0,Se=0,Ce=0,Ie=0,Be=0,Pe=0,Me=0,De=0,xe=0,Ke=0,Ue=0,Re=0,Te=0,Qe=0;v=i;_=n;k=a;E=s;S=o;I=e+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=t+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=r+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=c+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=u+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=h+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=f+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=d+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=l+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=p+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=y+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=b+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=g+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=m+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=w+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;I=A+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=m^l^r^e;B=C<<1|C>>>31;I=B+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=w^p^c^t;P=C<<1|C>>>31;I=P+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=A^y^u^r;M=C<<1|C>>>31;I=M+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=B^b^h^c;D=C<<1|C>>>31;I=D+(v<<5|v>>>27)+S+(_&k|~_&E)+0x5a827999|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=P^g^f^u;x=C<<1|C>>>31;I=x+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=M^m^d^h;K=C<<1|C>>>31;I=K+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=D^w^l^f;U=C<<1|C>>>31;I=U+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=x^A^p^d;R=C<<1|C>>>31;I=R+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=K^B^y^l;T=C<<1|C>>>31;I=T+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=U^P^b^p;Q=C<<1|C>>>31;I=Q+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=R^M^g^y;z=C<<1|C>>>31;I=z+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=T^D^m^b;F=C<<1|C>>>31;I=F+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Q^x^w^g;N=C<<1|C>>>31;I=N+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=z^K^A^m;q=C<<1|C>>>31;I=q+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=F^U^B^w;L=C<<1|C>>>31;I=L+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=N^R^P^A;O=C<<1|C>>>31;I=O+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=q^T^M^B;H=C<<1|C>>>31;I=H+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=L^Q^D^P;j=C<<1|C>>>31;I=j+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=O^z^x^M;G=C<<1|C>>>31;I=G+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=H^F^K^D;W=C<<1|C>>>31;I=W+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=j^N^U^x;V=C<<1|C>>>31;I=V+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=G^q^R^K;J=C<<1|C>>>31;I=J+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=W^L^T^U;Y=C<<1|C>>>31;I=Y+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=V^O^Q^R;Z=C<<1|C>>>31;I=Z+(v<<5|v>>>27)+S+(_^k^E)+0x6ed9eba1|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=J^H^z^T;X=C<<1|C>>>31;I=X+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Y^j^F^Q;$=C<<1|C>>>31;I=$+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Z^G^N^z;ee=C<<1|C>>>31;I=ee+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=X^W^q^F;te=C<<1|C>>>31;I=te+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=$^V^L^N;re=C<<1|C>>>31;I=re+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ee^J^O^q;ie=C<<1|C>>>31;I=ie+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=te^Y^H^L;ne=C<<1|C>>>31;I=ne+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=re^Z^j^O;ae=C<<1|C>>>31;I=ae+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ie^X^G^H;se=C<<1|C>>>31;I=se+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ne^$^W^j;oe=C<<1|C>>>31;I=oe+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ae^ee^V^G;ce=C<<1|C>>>31;I=ce+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=se^te^J^W;ue=C<<1|C>>>31;I=ue+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=oe^re^Y^V;he=C<<1|C>>>31;I=he+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ce^ie^Z^J;fe=C<<1|C>>>31;I=fe+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ue^ne^X^Y;de=C<<1|C>>>31;I=de+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=he^ae^$^Z;le=C<<1|C>>>31;I=le+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=fe^se^ee^X;pe=C<<1|C>>>31;I=pe+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=de^oe^te^$;ye=C<<1|C>>>31;I=ye+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=le^ce^re^ee;be=C<<1|C>>>31;I=be+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=pe^ue^ie^te;ge=C<<1|C>>>31;I=ge+(v<<5|v>>>27)+S+(_&k|_&E|k&E)-0x70e44324|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ye^he^ne^re;me=C<<1|C>>>31;I=me+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=be^fe^ae^ie;we=C<<1|C>>>31;I=we+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ge^de^se^ne;Ae=C<<1|C>>>31;I=Ae+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=me^le^oe^ae;ve=C<<1|C>>>31;I=ve+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=we^pe^ce^se;_e=C<<1|C>>>31;I=_e+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Ae^ye^ue^oe;ke=C<<1|C>>>31;I=ke+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ve^be^he^ce;Ee=C<<1|C>>>31;I=Ee+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=_e^ge^fe^ue;Se=C<<1|C>>>31;I=Se+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=ke^me^de^he;Ce=C<<1|C>>>31;I=Ce+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Ee^we^le^fe;Ie=C<<1|C>>>31;I=Ie+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Se^Ae^pe^de;Be=C<<1|C>>>31;I=Be+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Ce^ve^ye^le;Pe=C<<1|C>>>31;I=Pe+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Ie^_e^be^pe;Me=C<<1|C>>>31;I=Me+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Be^ke^ge^ye;De=C<<1|C>>>31;I=De+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Pe^Ee^me^be;xe=C<<1|C>>>31;I=xe+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Me^Se^we^ge;Ke=C<<1|C>>>31;I=Ke+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=De^Ce^Ae^me;Ue=C<<1|C>>>31;I=Ue+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=xe^Ie^ve^we;Re=C<<1|C>>>31;I=Re+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Ke^Be^_e^Ae;Te=C<<1|C>>>31;I=Te+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;C=Ue^Pe^ke^ve;Qe=C<<1|C>>>31;I=Qe+(v<<5|v>>>27)+S+(_^k^E)-0x359d3e2a|0;S=E;E=k;k=_<<30|_>>>2;_=v;v=I;i=i+v|0;n=n+_|0;a=a+k|0;s=s+E|0;o=o+S|0}function _(e){e=e|0;v(A[e|0]<<24|A[e|1]<<16|A[e|2]<<8|A[e|3],A[e|4]<<24|A[e|5]<<16|A[e|6]<<8|A[e|7],A[e|8]<<24|A[e|9]<<16|A[e|10]<<8|A[e|11],A[e|12]<<24|A[e|13]<<16|A[e|14]<<8|A[e|15],A[e|16]<<24|A[e|17]<<16|A[e|18]<<8|A[e|19],A[e|20]<<24|A[e|21]<<16|A[e|22]<<8|A[e|23],A[e|24]<<24|A[e|25]<<16|A[e|26]<<8|A[e|27],A[e|28]<<24|A[e|29]<<16|A[e|30]<<8|A[e|31],A[e|32]<<24|A[e|33]<<16|A[e|34]<<8|A[e|35],A[e|36]<<24|A[e|37]<<16|A[e|38]<<8|A[e|39],A[e|40]<<24|A[e|41]<<16|A[e|42]<<8|A[e|43],A[e|44]<<24|A[e|45]<<16|A[e|46]<<8|A[e|47],A[e|48]<<24|A[e|49]<<16|A[e|50]<<8|A[e|51],A[e|52]<<24|A[e|53]<<16|A[e|54]<<8|A[e|55],A[e|56]<<24|A[e|57]<<16|A[e|58]<<8|A[e|59],A[e|60]<<24|A[e|61]<<16|A[e|62]<<8|A[e|63])}function k(e){e=e|0;A[e|0]=i>>>24;A[e|1]=i>>>16&255;A[e|2]=i>>>8&255;A[e|3]=i&255;A[e|4]=n>>>24;A[e|5]=n>>>16&255;A[e|6]=n>>>8&255;A[e|7]=n&255;A[e|8]=a>>>24;A[e|9]=a>>>16&255;A[e|10]=a>>>8&255;A[e|11]=a&255;A[e|12]=s>>>24;A[e|13]=s>>>16&255;A[e|14]=s>>>8&255;A[e|15]=s&255;A[e|16]=o>>>24;A[e|17]=o>>>16&255;A[e|18]=o>>>8&255;A[e|19]=o&255}function E(){i=0x67452301;n=0xefcdab89;a=0x98badcfe;s=0x10325476;o=0xc3d2e1f0;c=u=0}function S(e,t,r,h,f,d,l){e=e|0;t=t|0;r=r|0;h=h|0;f=f|0;d=d|0;l=l|0;i=e;n=t;a=r;s=h;o=f;c=d;u=l}function C(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){_(e);e=e+64|0;t=t-64|0;r=r+64|0}c=c+r|0;if(c>>>0<r>>>0)u=u+1|0;return r|0}function I(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){i=C(e,t)|0;if((i|0)==-1)return-1;e=e+i|0;t=t-i|0}i=i+t|0;c=c+t|0;if(c>>>0<t>>>0)u=u+1|0;A[e|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)A[e|n]=0x00;_(e);t=0;A[e|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)A[e|n]=0;A[e|56]=u>>>21&255;A[e|57]=u>>>13&255;A[e|58]=u>>>5&255;A[e|59]=u<<3&255|c>>>29;A[e|60]=c>>>21&255;A[e|61]=c>>>13&255;A[e|62]=c>>>5&255;A[e|63]=c<<3&255;_(e);if(~r)k(r);return i|0}function B(){i=h;n=f;a=d;s=l;o=p;c=64;u=0}function P(){i=y;n=b;a=g;s=m;o=w;c=64;u=0}function M(e,t,r,A,_,k,S,C,I,B,P,M,D,x,K,U){e=e|0;t=t|0;r=r|0;A=A|0;_=_|0;k=k|0;S=S|0;C=C|0;I=I|0;B=B|0;P=P|0;M=M|0;D=D|0;x=x|0;K=K|0;U=U|0;E();v(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,A^0x5c5c5c5c,_^0x5c5c5c5c,k^0x5c5c5c5c,S^0x5c5c5c5c,C^0x5c5c5c5c,I^0x5c5c5c5c,B^0x5c5c5c5c,P^0x5c5c5c5c,M^0x5c5c5c5c,D^0x5c5c5c5c,x^0x5c5c5c5c,K^0x5c5c5c5c,U^0x5c5c5c5c);y=i;b=n;g=a;m=s;w=o;E();v(e^0x36363636,t^0x36363636,r^0x36363636,A^0x36363636,_^0x36363636,k^0x36363636,S^0x36363636,C^0x36363636,I^0x36363636,B^0x36363636,P^0x36363636,M^0x36363636,D^0x36363636,x^0x36363636,K^0x36363636,U^0x36363636);h=i;f=n;d=a;l=s;p=o;c=64;u=0}function D(e,t,r){e=e|0;t=t|0;r=r|0;var c=0,u=0,h=0,f=0,d=0,l=0;if(e&63)return-1;if(~r)if(r&31)return-1;l=I(e,t,-1)|0;c=i,u=n,h=a,f=s,d=o;P();v(c,u,h,f,d,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)k(r);return l|0}function x(e,t,r,c,u){e=e|0;t=t|0;r=r|0;c=c|0;u=u|0;var h=0,f=0,d=0,l=0,p=0,y=0,b=0,g=0,m=0,w=0;if(e&63)return-1;if(~u)if(u&31)return-1;A[e+t|0]=r>>>24;A[e+t+1|0]=r>>>16&255;A[e+t+2|0]=r>>>8&255;A[e+t+3|0]=r&255;D(e,t+4|0,-1)|0;h=y=i,f=b=n,d=g=a,l=m=s,p=w=o;c=c-1|0;while((c|0)>0){B();v(y,b,g,m,w,0x80000000,0,0,0,0,0,0,0,0,0,672);y=i,b=n,g=a,m=s,w=o;P();v(y,b,g,m,w,0x80000000,0,0,0,0,0,0,0,0,0,672);y=i,b=n,g=a,m=s,w=o;h=h^i;f=f^n;d=d^a;l=l^s;p=p^o;c=c-1|0}i=h;n=f;a=d;s=l;o=p;if(~u)k(u);return 0}return{reset:E,init:S,process:C,finish:I,hmac_reset:B,hmac_init:M,hmac_finish:D,pbkdf2_generate_block:x}};class We{constructor(){this.pos=0,this.len=0}reset(){const{asm:e}=this.acquire_asm();return this.result=null,this.pos=0,this.len=0,e.reset(),this}process(e){if(null!==this.result)throw new Ae("state must be reset before processing new data");const{asm:t,heap:r}=this.acquire_asm();let i=this.pos,n=this.len,a=0,s=e.length,o=0;for(;s>0;)o=me(r,i+n,e,a,s),n+=o,a+=o,s-=o,o=t.process(i,n),i+=o,n-=o,n||(i=0);return this.pos=i,this.len=n,this}finish(){if(null!==this.result)throw new Ae("state must be reset before processing new data");const{asm:e,heap:t}=this.acquire_asm();return e.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(t.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this.release_asm(),this}}const Ve=[],Je=[];class Ye extends We{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=Ve.pop()||ge(),this.asm=Je.pop()||Ge({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(Ve.push(this.heap),Je.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new Ye).process(e).finish().result}}Ye.NAME="sha1",Ye.heap_pool=[],Ye.asm_pool=[],Ye.asm_function=Ge;const Ze=[],Xe=[];class $e extends We{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=Ze.pop()||ge(),this.asm=Xe.pop()||function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,b=0,g=0,m=0,w=0,A=0,v=0,_=0,k=0,E=0,S=0,C=0,I=0,B=0,P=new e.Uint8Array(r);function M(e,t,r,f,d,l,p,y,b,g,m,w,A,v,_,k){e=e|0;t=t|0;r=r|0;f=f|0;d=d|0;l=l|0;p=p|0;y=y|0;b=b|0;g=g|0;m=m|0;w=w|0;A=A|0;v=v|0;_=_|0;k=k|0;var E=0,S=0,C=0,I=0,B=0,P=0,M=0,D=0;E=i;S=n;C=a;I=s;B=o;P=c;M=u;D=h;D=e+D+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(M^B&(P^M))+0x428a2f98|0;I=I+D|0;D=D+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;M=t+M+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x71374491|0;C=C+M|0;M=M+(D&E^S&(D^E))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xb5c0fbcf|0;S=S+P|0;P=P+(M&D^E&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xe9b5dba5|0;E=E+B|0;B=B+(P&M^D&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x3956c25b|0;D=D+I|0;I=I+(B&P^M&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;C=l+C+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(S^D&(E^S))+0x59f111f1|0;M=M+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;S=p+S+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(E^M&(D^E))+0x923f82a4|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(M^D))+0xab1c5ed5|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;D=b+D+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(M^B&(P^M))+0xd807aa98|0;I=I+D|0;D=D+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;M=g+M+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x12835b01|0;C=C+M|0;M=M+(D&E^S&(D^E))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x243185be|0;S=S+P|0;P=P+(M&D^E&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x550c7dc3|0;E=E+B|0;B=B+(P&M^D&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x72be5d74|0;D=D+I|0;I=I+(B&P^M&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;C=v+C+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(S^D&(E^S))+0x80deb1fe|0;M=M+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;S=_+S+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(E^M&(D^E))+0x9bdc06a7|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;E=k+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(M^D))+0xc19bf174|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+e+g|0;D=e+D+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(M^B&(P^M))+0xe49b69c1|0;I=I+D|0;D=D+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+t+m|0;M=t+M+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xefbe4786|0;C=C+M|0;M=M+(D&E^S&(D^E))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x0fc19dc6|0;S=S+P|0;P=P+(M&D^E&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x240ca1cc|0;E=E+B|0;B=B+(P&M^D&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x2de92c6f|0;D=D+I|0;I=I+(B&P^M&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+_|0;C=l+C+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(S^D&(E^S))+0x4a7484aa|0;M=M+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+k|0;S=p+S+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(E^M&(D^E))+0x5cb0a9dc|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(M^D))+0x76f988da|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;D=b+D+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(M^B&(P^M))+0x983e5152|0;I=I+D|0;D=D+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+g+r|0;M=g+M+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xa831c66d|0;C=C+M|0;M=M+(D&E^S&(D^E))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xb00327c8|0;S=S+P|0;P=P+(M&D^E&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xbf597fc7|0;E=E+B|0;B=B+(P&M^D&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0xc6e00bf3|0;D=D+I|0;I=I+(B&P^M&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(S^D&(E^S))+0xd5a79147|0;M=M+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;_=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+_+y|0;S=_+S+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(E^M&(D^E))+0x06ca6351|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;k=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+k+b|0;E=k+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(M^D))+0x14292967|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+e+g|0;D=e+D+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(M^B&(P^M))+0x27b70a85|0;I=I+D|0;D=D+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+t+m|0;M=t+M+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x2e1b2138|0;C=C+M|0;M=M+(D&E^S&(D^E))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x4d2c6dfc|0;S=S+P|0;P=P+(M&D^E&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x53380d13|0;E=E+B|0;B=B+(P&M^D&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x650a7354|0;D=D+I|0;I=I+(B&P^M&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+_|0;C=l+C+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(S^D&(E^S))+0x766a0abb|0;M=M+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+k|0;S=p+S+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(E^M&(D^E))+0x81c2c92e|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(M^D))+0x92722c85|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;D=b+D+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(M^B&(P^M))+0xa2bfe8a1|0;I=I+D|0;D=D+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+g+r|0;M=g+M+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xa81a664b|0;C=C+M|0;M=M+(D&E^S&(D^E))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xc24b8b70|0;S=S+P|0;P=P+(M&D^E&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xc76c51a3|0;E=E+B|0;B=B+(P&M^D&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0xd192e819|0;D=D+I|0;I=I+(B&P^M&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(S^D&(E^S))+0xd6990624|0;M=M+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;_=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+_+y|0;S=_+S+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(E^M&(D^E))+0xf40e3585|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;k=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+k+b|0;E=k+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(M^D))+0x106aa070|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+e+g|0;D=e+D+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(M^B&(P^M))+0x19a4c116|0;I=I+D|0;D=D+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+t+m|0;M=t+M+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x1e376c08|0;C=C+M|0;M=M+(D&E^S&(D^E))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x2748774c|0;S=S+P|0;P=P+(M&D^E&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x34b0bcb5|0;E=E+B|0;B=B+(P&M^D&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x391c0cb3|0;D=D+I|0;I=I+(B&P^M&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+_|0;C=l+C+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(S^D&(E^S))+0x4ed8aa4a|0;M=M+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+k|0;S=p+S+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(E^M&(D^E))+0x5b9cca4f|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(M^D))+0x682e6ff3|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;D=b+D+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(M^B&(P^M))+0x748f82ee|0;I=I+D|0;D=D+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+g+r|0;M=g+M+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x78a5636f|0;C=C+M|0;M=M+(D&E^S&(D^E))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x84c87814|0;S=S+P|0;P=P+(M&D^E&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x8cc70208|0;E=E+B|0;B=B+(P&M^D&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x90befffa|0;D=D+I|0;I=I+(B&P^M&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(S^D&(E^S))+0xa4506ceb|0;M=M+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;_=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+_+y|0;S=_+S+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(E^M&(D^E))+0xbef9a3f7|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;k=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+k+b|0;E=k+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(M^D))+0xc67178f2|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;i=i+E|0;n=n+S|0;a=a+C|0;s=s+I|0;o=o+B|0;c=c+P|0;u=u+M|0;h=h+D|0}function D(e){e=e|0;M(P[e|0]<<24|P[e|1]<<16|P[e|2]<<8|P[e|3],P[e|4]<<24|P[e|5]<<16|P[e|6]<<8|P[e|7],P[e|8]<<24|P[e|9]<<16|P[e|10]<<8|P[e|11],P[e|12]<<24|P[e|13]<<16|P[e|14]<<8|P[e|15],P[e|16]<<24|P[e|17]<<16|P[e|18]<<8|P[e|19],P[e|20]<<24|P[e|21]<<16|P[e|22]<<8|P[e|23],P[e|24]<<24|P[e|25]<<16|P[e|26]<<8|P[e|27],P[e|28]<<24|P[e|29]<<16|P[e|30]<<8|P[e|31],P[e|32]<<24|P[e|33]<<16|P[e|34]<<8|P[e|35],P[e|36]<<24|P[e|37]<<16|P[e|38]<<8|P[e|39],P[e|40]<<24|P[e|41]<<16|P[e|42]<<8|P[e|43],P[e|44]<<24|P[e|45]<<16|P[e|46]<<8|P[e|47],P[e|48]<<24|P[e|49]<<16|P[e|50]<<8|P[e|51],P[e|52]<<24|P[e|53]<<16|P[e|54]<<8|P[e|55],P[e|56]<<24|P[e|57]<<16|P[e|58]<<8|P[e|59],P[e|60]<<24|P[e|61]<<16|P[e|62]<<8|P[e|63])}function x(e){e=e|0;P[e|0]=i>>>24;P[e|1]=i>>>16&255;P[e|2]=i>>>8&255;P[e|3]=i&255;P[e|4]=n>>>24;P[e|5]=n>>>16&255;P[e|6]=n>>>8&255;P[e|7]=n&255;P[e|8]=a>>>24;P[e|9]=a>>>16&255;P[e|10]=a>>>8&255;P[e|11]=a&255;P[e|12]=s>>>24;P[e|13]=s>>>16&255;P[e|14]=s>>>8&255;P[e|15]=s&255;P[e|16]=o>>>24;P[e|17]=o>>>16&255;P[e|18]=o>>>8&255;P[e|19]=o&255;P[e|20]=c>>>24;P[e|21]=c>>>16&255;P[e|22]=c>>>8&255;P[e|23]=c&255;P[e|24]=u>>>24;P[e|25]=u>>>16&255;P[e|26]=u>>>8&255;P[e|27]=u&255;P[e|28]=h>>>24;P[e|29]=h>>>16&255;P[e|30]=h>>>8&255;P[e|31]=h&255}function K(){i=0x6a09e667;n=0xbb67ae85;a=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;c=0x9b05688c;u=0x1f83d9ab;h=0x5be0cd19;f=d=0}function U(e,t,r,l,p,y,b,g,m,w){e=e|0;t=t|0;r=r|0;l=l|0;p=p|0;y=y|0;b=b|0;g=g|0;m=m|0;w=w|0;i=e;n=t;a=r;s=l;o=p;c=y;u=b;h=g;f=m;d=w}function R(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){D(e);e=e+64|0;t=t-64|0;r=r+64|0}f=f+r|0;if(f>>>0<r>>>0)d=d+1|0;return r|0}function T(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){i=R(e,t)|0;if((i|0)==-1)return-1;e=e+i|0;t=t-i|0}i=i+t|0;f=f+t|0;if(f>>>0<t>>>0)d=d+1|0;P[e|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)P[e|n]=0x00;D(e);t=0;P[e|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)P[e|n]=0;P[e|56]=d>>>21&255;P[e|57]=d>>>13&255;P[e|58]=d>>>5&255;P[e|59]=d<<3&255|f>>>29;P[e|60]=f>>>21&255;P[e|61]=f>>>13&255;P[e|62]=f>>>5&255;P[e|63]=f<<3&255;D(e);if(~r)x(r);return i|0}function Q(){i=l;n=p;a=y;s=b;o=g;c=m;u=w;h=A;f=64;d=0}function z(){i=v;n=_;a=k;s=E;o=S;c=C;u=I;h=B;f=64;d=0}function F(e,t,r,P,D,x,U,R,T,Q,z,F,N,q,L,O){e=e|0;t=t|0;r=r|0;P=P|0;D=D|0;x=x|0;U=U|0;R=R|0;T=T|0;Q=Q|0;z=z|0;F=F|0;N=N|0;q=q|0;L=L|0;O=O|0;K();M(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,P^0x5c5c5c5c,D^0x5c5c5c5c,x^0x5c5c5c5c,U^0x5c5c5c5c,R^0x5c5c5c5c,T^0x5c5c5c5c,Q^0x5c5c5c5c,z^0x5c5c5c5c,F^0x5c5c5c5c,N^0x5c5c5c5c,q^0x5c5c5c5c,L^0x5c5c5c5c,O^0x5c5c5c5c);v=i;_=n;k=a;E=s;S=o;C=c;I=u;B=h;K();M(e^0x36363636,t^0x36363636,r^0x36363636,P^0x36363636,D^0x36363636,x^0x36363636,U^0x36363636,R^0x36363636,T^0x36363636,Q^0x36363636,z^0x36363636,F^0x36363636,N^0x36363636,q^0x36363636,L^0x36363636,O^0x36363636);l=i;p=n;y=a;b=s;g=o;m=c;w=u;A=h;f=64;d=0}function N(e,t,r){e=e|0;t=t|0;r=r|0;var f=0,d=0,l=0,p=0,y=0,b=0,g=0,m=0,w=0;if(e&63)return-1;if(~r)if(r&31)return-1;w=T(e,t,-1)|0;f=i,d=n,l=a,p=s,y=o,b=c,g=u,m=h;z();M(f,d,l,p,y,b,g,m,0x80000000,0,0,0,0,0,0,768);if(~r)x(r);return w|0}function q(e,t,r,f,d){e=e|0;t=t|0;r=r|0;f=f|0;d=d|0;var l=0,p=0,y=0,b=0,g=0,m=0,w=0,A=0,v=0,_=0,k=0,E=0,S=0,C=0,I=0,B=0;if(e&63)return-1;if(~d)if(d&31)return-1;P[e+t|0]=r>>>24;P[e+t+1|0]=r>>>16&255;P[e+t+2|0]=r>>>8&255;P[e+t+3|0]=r&255;N(e,t+4|0,-1)|0;l=v=i,p=_=n,y=k=a,b=E=s,g=S=o,m=C=c,w=I=u,A=B=h;f=f-1|0;while((f|0)>0){Q();M(v,_,k,E,S,C,I,B,0x80000000,0,0,0,0,0,0,768);v=i,_=n,k=a,E=s,S=o,C=c,I=u,B=h;z();M(v,_,k,E,S,C,I,B,0x80000000,0,0,0,0,0,0,768);v=i,_=n,k=a,E=s,S=o,C=c,I=u,B=h;l=l^i;p=p^n;y=y^a;b=b^s;g=g^o;m=m^c;w=w^u;A=A^h;f=f-1|0}i=l;n=p;a=y;s=b;o=g;c=m;u=w;h=A;if(~d)x(d);return 0}return{reset:K,init:U,process:R,finish:T,hmac_reset:Q,hmac_init:F,hmac_finish:N,pbkdf2_generate_block:q}}({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(Ze.push(this.heap),Xe.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new $e).process(e).finish().result}}$e.NAME="sha256";var et=tt;function tt(e,t){if(!e)throw Error(t||"Assertion failed")}tt.equal=function(e,t,r){if(e!=t)throw Error(r||"Assertion failed: "+e+" != "+t)};var rt=void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function it(e,t){return e(t={exports:{}},t.exports),t.exports}function nt(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var at=it((function(e){e.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}));var st=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var i=0;i<e.length;i++){var n=e.charCodeAt(i),a=n>>8,s=255&n;a?r.push(a,s):r.push(s)}else for(i=0;i<e.length;i++)r[i]=0|e[i];return r};var ot=function(e){for(var t="",r=0;r<e.length;r++)t+=ht(e[r].toString(16));return t};function ct(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}var ut=function(e,t){for(var r="",i=0;i<e.length;i++){var n=e[i];"little"===t&&(n=ct(n)),r+=ft(n.toString(16))}return r};function ht(e){return 1===e.length?"0"+e:e}function ft(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var dt=function(e,t,r,i){var n=r-t;et(n%4==0);for(var a=Array(n/4),s=0,o=t;s<a.length;s++,o+=4){var c;c="big"===i?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o],a[s]=c>>>0}return a};var lt=function(e,t){for(var r=Array(4*e.length),i=0,n=0;i<e.length;i++,n+=4){var a=e[i];"big"===t?(r[n]=a>>>24,r[n+1]=a>>>16&255,r[n+2]=a>>>8&255,r[n+3]=255&a):(r[n+3]=a>>>24,r[n+2]=a>>>16&255,r[n+1]=a>>>8&255,r[n]=255&a)}return r};var pt={inherits:at,toArray:st,toHex:ot,htonl:ct,toHex32:ut,zero2:ht,zero8:ft,join32:dt,split32:lt,rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<<t|e>>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,i){return e+t+r+i>>>0},sum32_5:function(e,t,r,i,n){return e+t+r+i+n>>>0},sum64:function(e,t,r,i){var n=e[t],a=i+e[t+1]>>>0,s=(a<i?1:0)+r+n;e[t]=s>>>0,e[t+1]=a},sum64_hi:function(e,t,r,i){return(t+i>>>0<t?1:0)+e+r>>>0},sum64_lo:function(e,t,r,i){return t+i>>>0},sum64_4_hi:function(e,t,r,i,n,a,s,o){var c=0,u=t;return c+=(u=u+i>>>0)<t?1:0,c+=(u=u+a>>>0)<a?1:0,e+r+n+s+(c+=(u=u+o>>>0)<o?1:0)>>>0},sum64_4_lo:function(e,t,r,i,n,a,s,o){return t+i+a+o>>>0},sum64_5_hi:function(e,t,r,i,n,a,s,o,c,u){var h=0,f=t;return h+=(f=f+i>>>0)<t?1:0,h+=(f=f+a>>>0)<a?1:0,h+=(f=f+o>>>0)<o?1:0,e+r+n+s+c+(h+=(f=f+u>>>0)<u?1:0)>>>0},sum64_5_lo:function(e,t,r,i,n,a,s,o,c,u){return t+i+a+o+u>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function yt(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var bt=yt;yt.prototype.update=function(e,t){if(e=pt.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=pt.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},yt.prototype.digest=function(e){return this.update(this._pad()),et(null===this.pending),this._digest(e)},yt.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,i=Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=e>>>24&255,i[n++]=e>>>16&255,i[n++]=e>>>8&255,i[n++]=255&e}else for(i[n++]=255&e,i[n++]=e>>>8&255,i[n++]=e>>>16&255,i[n++]=e>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,a=8;a<this.padLength;a++)i[n++]=0;return i};var gt={BlockHash:bt},mt=pt.rotr32;var wt=function(e,t,r,i){return 0===e?At(t,r,i):1===e||3===e?_t(t,r,i):2===e?vt(t,r,i):void 0};function At(e,t,r){return e&t^~e&r}function vt(e,t,r){return e&t^e&r^t&r}function _t(e,t,r){return e^t^r}var kt={ft_1:wt,ch32:At,maj32:vt,p32:_t,s0_256:function(e){return mt(e,2)^mt(e,13)^mt(e,22)},s1_256:function(e){return mt(e,6)^mt(e,11)^mt(e,25)},g0_256:function(e){return mt(e,7)^mt(e,18)^e>>>3},g1_256:function(e){return mt(e,17)^mt(e,19)^e>>>10}},Et=pt.sum32,St=pt.sum32_4,Ct=pt.sum32_5,It=kt.ch32,Bt=kt.maj32,Pt=kt.s0_256,Mt=kt.s1_256,Dt=kt.g0_256,xt=kt.g1_256,Kt=gt.BlockHash,Ut=[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];function Rt(){if(!(this instanceof Rt))return new Rt;Kt.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Ut,this.W=Array(64)}pt.inherits(Rt,Kt);var Tt=Rt;function Qt(){if(!(this instanceof Qt))return new Qt;Tt.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Rt.blockSize=512,Rt.outSize=256,Rt.hmacStrength=192,Rt.padLength=64,Rt.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=St(xt(r[i-2]),r[i-7],Dt(r[i-15]),r[i-16]);var n=this.h[0],a=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4],u=this.h[5],h=this.h[6],f=this.h[7];for(et(this.k.length===r.length),i=0;i<r.length;i++){var d=Ct(f,Mt(c),It(c,u,h),this.k[i],r[i]),l=Et(Pt(n),Bt(n,a,s));f=h,h=u,u=c,c=Et(o,d),o=s,s=a,a=n,n=Et(d,l)}this.h[0]=Et(this.h[0],n),this.h[1]=Et(this.h[1],a),this.h[2]=Et(this.h[2],s),this.h[3]=Et(this.h[3],o),this.h[4]=Et(this.h[4],c),this.h[5]=Et(this.h[5],u),this.h[6]=Et(this.h[6],h),this.h[7]=Et(this.h[7],f)},Rt.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"big"):pt.split32(this.h,"big")},pt.inherits(Qt,Tt);var zt=Qt;Qt.blockSize=512,Qt.outSize=224,Qt.hmacStrength=192,Qt.padLength=64,Qt.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h.slice(0,7),"big"):pt.split32(this.h.slice(0,7),"big")};var Ft=pt.rotr64_hi,Nt=pt.rotr64_lo,qt=pt.shr64_hi,Lt=pt.shr64_lo,Ot=pt.sum64,Ht=pt.sum64_hi,jt=pt.sum64_lo,Gt=pt.sum64_4_hi,Wt=pt.sum64_4_lo,Vt=pt.sum64_5_hi,Jt=pt.sum64_5_lo,Yt=gt.BlockHash,Zt=[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];function Xt(){if(!(this instanceof Xt))return new Xt;Yt.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Zt,this.W=Array(160)}pt.inherits(Xt,Yt);var $t=Xt;function er(e,t,r,i,n){var a=e&r^~e&n;return a<0&&(a+=4294967296),a}function tr(e,t,r,i,n,a){var s=t&i^~t&a;return s<0&&(s+=4294967296),s}function rr(e,t,r,i,n){var a=e&r^e&n^r&n;return a<0&&(a+=4294967296),a}function ir(e,t,r,i,n,a){var s=t&i^t&a^i&a;return s<0&&(s+=4294967296),s}function nr(e,t){var r=Ft(e,t,28)^Ft(t,e,2)^Ft(t,e,7);return r<0&&(r+=4294967296),r}function ar(e,t){var r=Nt(e,t,28)^Nt(t,e,2)^Nt(t,e,7);return r<0&&(r+=4294967296),r}function sr(e,t){var r=Ft(e,t,14)^Ft(e,t,18)^Ft(t,e,9);return r<0&&(r+=4294967296),r}function or(e,t){var r=Nt(e,t,14)^Nt(e,t,18)^Nt(t,e,9);return r<0&&(r+=4294967296),r}function cr(e,t){var r=Ft(e,t,1)^Ft(e,t,8)^qt(e,t,7);return r<0&&(r+=4294967296),r}function ur(e,t){var r=Nt(e,t,1)^Nt(e,t,8)^Lt(e,t,7);return r<0&&(r+=4294967296),r}function hr(e,t){var r=Ft(e,t,19)^Ft(t,e,29)^qt(e,t,6);return r<0&&(r+=4294967296),r}function fr(e,t){var r=Nt(e,t,19)^Nt(t,e,29)^Lt(e,t,6);return r<0&&(r+=4294967296),r}function dr(){if(!(this instanceof dr))return new dr;$t.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Xt.blockSize=1024,Xt.outSize=512,Xt.hmacStrength=192,Xt.padLength=128,Xt.prototype._prepareBlock=function(e,t){for(var r=this.W,i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=hr(r[i-4],r[i-3]),a=fr(r[i-4],r[i-3]),s=r[i-14],o=r[i-13],c=cr(r[i-30],r[i-29]),u=ur(r[i-30],r[i-29]),h=r[i-32],f=r[i-31];r[i]=Gt(n,a,s,o,c,u,h,f),r[i+1]=Wt(n,a,s,o,c,u,h,f)}},Xt.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,i=this.h[0],n=this.h[1],a=this.h[2],s=this.h[3],o=this.h[4],c=this.h[5],u=this.h[6],h=this.h[7],f=this.h[8],d=this.h[9],l=this.h[10],p=this.h[11],y=this.h[12],b=this.h[13],g=this.h[14],m=this.h[15];et(this.k.length===r.length);for(var w=0;w<r.length;w+=2){var A=g,v=m,_=sr(f,d),k=or(f,d),E=er(f,d,l,p,y),S=tr(f,d,l,p,y,b),C=this.k[w],I=this.k[w+1],B=r[w],P=r[w+1],M=Vt(A,v,_,k,E,S,C,I,B,P),D=Jt(A,v,_,k,E,S,C,I,B,P);A=nr(i,n),v=ar(i,n),_=rr(i,n,a,s,o),k=ir(i,n,a,s,o,c);var x=Ht(A,v,_,k),K=jt(A,v,_,k);g=y,m=b,y=l,b=p,l=f,p=d,f=Ht(u,h,M,D),d=jt(h,h,M,D),u=o,h=c,o=a,c=s,a=i,s=n,i=Ht(M,D,x,K),n=jt(M,D,x,K)}Ot(this.h,0,i,n),Ot(this.h,2,a,s),Ot(this.h,4,o,c),Ot(this.h,6,u,h),Ot(this.h,8,f,d),Ot(this.h,10,l,p),Ot(this.h,12,y,b),Ot(this.h,14,g,m)},Xt.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"big"):pt.split32(this.h,"big")},pt.inherits(dr,$t);var lr=dr;dr.blockSize=1024,dr.outSize=384,dr.hmacStrength=192,dr.padLength=128,dr.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h.slice(0,12),"big"):pt.split32(this.h.slice(0,12),"big")};var pr=pt.rotl32,yr=pt.sum32,br=pt.sum32_3,gr=pt.sum32_4,mr=gt.BlockHash;function wr(){if(!(this instanceof wr))return new wr;mr.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}pt.inherits(wr,mr);var Ar=wr;function vr(e,t,r,i){return e<=15?t^r^i:e<=31?t&r|~t&i:e<=47?(t|~r)^i:e<=63?t&i|r&~i:t^(r|~i)}function _r(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function kr(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}wr.blockSize=512,wr.outSize=160,wr.hmacStrength=192,wr.padLength=64,wr.prototype._update=function(e,t){for(var r=this.h[0],i=this.h[1],n=this.h[2],a=this.h[3],s=this.h[4],o=r,c=i,u=n,h=a,f=s,d=0;d<80;d++){var l=yr(pr(gr(r,vr(d,i,n,a),e[Er[d]+t],_r(d)),Cr[d]),s);r=s,s=a,a=pr(n,10),n=i,i=l,l=yr(pr(gr(o,vr(79-d,c,u,h),e[Sr[d]+t],kr(d)),Ir[d]),f),o=f,f=h,h=pr(u,10),u=c,c=l}l=br(this.h[1],n,h),this.h[1]=br(this.h[2],a,f),this.h[2]=br(this.h[3],s,o),this.h[3]=br(this.h[4],r,c),this.h[4]=br(this.h[0],i,u),this.h[0]=l},wr.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"little"):pt.split32(this.h,"little")};var Er=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Sr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Cr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Ir=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Br={ripemd160:Ar};function Pr(e,t){let r=e[0],i=e[1],n=e[2],a=e[3];r=Dr(r,i,n,a,t[0],7,-680876936),a=Dr(a,r,i,n,t[1],12,-389564586),n=Dr(n,a,r,i,t[2],17,606105819),i=Dr(i,n,a,r,t[3],22,-1044525330),r=Dr(r,i,n,a,t[4],7,-176418897),a=Dr(a,r,i,n,t[5],12,1200080426),n=Dr(n,a,r,i,t[6],17,-1473231341),i=Dr(i,n,a,r,t[7],22,-45705983),r=Dr(r,i,n,a,t[8],7,1770035416),a=Dr(a,r,i,n,t[9],12,-1958414417),n=Dr(n,a,r,i,t[10],17,-42063),i=Dr(i,n,a,r,t[11],22,-1990404162),r=Dr(r,i,n,a,t[12],7,1804603682),a=Dr(a,r,i,n,t[13],12,-40341101),n=Dr(n,a,r,i,t[14],17,-1502002290),i=Dr(i,n,a,r,t[15],22,1236535329),r=xr(r,i,n,a,t[1],5,-165796510),a=xr(a,r,i,n,t[6],9,-1069501632),n=xr(n,a,r,i,t[11],14,643717713),i=xr(i,n,a,r,t[0],20,-373897302),r=xr(r,i,n,a,t[5],5,-701558691),a=xr(a,r,i,n,t[10],9,38016083),n=xr(n,a,r,i,t[15],14,-660478335),i=xr(i,n,a,r,t[4],20,-405537848),r=xr(r,i,n,a,t[9],5,568446438),a=xr(a,r,i,n,t[14],9,-1019803690),n=xr(n,a,r,i,t[3],14,-187363961),i=xr(i,n,a,r,t[8],20,1163531501),r=xr(r,i,n,a,t[13],5,-1444681467),a=xr(a,r,i,n,t[2],9,-51403784),n=xr(n,a,r,i,t[7],14,1735328473),i=xr(i,n,a,r,t[12],20,-1926607734),r=Kr(r,i,n,a,t[5],4,-378558),a=Kr(a,r,i,n,t[8],11,-2022574463),n=Kr(n,a,r,i,t[11],16,1839030562),i=Kr(i,n,a,r,t[14],23,-35309556),r=Kr(r,i,n,a,t[1],4,-1530992060),a=Kr(a,r,i,n,t[4],11,1272893353),n=Kr(n,a,r,i,t[7],16,-155497632),i=Kr(i,n,a,r,t[10],23,-1094730640),r=Kr(r,i,n,a,t[13],4,681279174),a=Kr(a,r,i,n,t[0],11,-358537222),n=Kr(n,a,r,i,t[3],16,-722521979),i=Kr(i,n,a,r,t[6],23,76029189),r=Kr(r,i,n,a,t[9],4,-640364487),a=Kr(a,r,i,n,t[12],11,-421815835),n=Kr(n,a,r,i,t[15],16,530742520),i=Kr(i,n,a,r,t[2],23,-995338651),r=Ur(r,i,n,a,t[0],6,-198630844),a=Ur(a,r,i,n,t[7],10,1126891415),n=Ur(n,a,r,i,t[14],15,-1416354905),i=Ur(i,n,a,r,t[5],21,-57434055),r=Ur(r,i,n,a,t[12],6,1700485571),a=Ur(a,r,i,n,t[3],10,-1894986606),n=Ur(n,a,r,i,t[10],15,-1051523),i=Ur(i,n,a,r,t[1],21,-2054922799),r=Ur(r,i,n,a,t[8],6,1873313359),a=Ur(a,r,i,n,t[15],10,-30611744),n=Ur(n,a,r,i,t[6],15,-1560198380),i=Ur(i,n,a,r,t[13],21,1309151649),r=Ur(r,i,n,a,t[4],6,-145523070),a=Ur(a,r,i,n,t[11],10,-1120210379),n=Ur(n,a,r,i,t[2],15,718787259),i=Ur(i,n,a,r,t[9],21,-343485551),e[0]=zr(r,e[0]),e[1]=zr(i,e[1]),e[2]=zr(n,e[2]),e[3]=zr(a,e[3])}function Mr(e,t,r,i,n,a){return t=zr(zr(t,e),zr(i,a)),zr(t<<n|t>>>32-n,r)}function Dr(e,t,r,i,n,a,s){return Mr(t&r|~t&i,e,t,n,a,s)}function xr(e,t,r,i,n,a,s){return Mr(t&i|r&~i,e,t,n,a,s)}function Kr(e,t,r,i,n,a,s){return Mr(t^r^i,e,t,n,a,s)}function Ur(e,t,r,i,n,a,s){return Mr(r^(t|~i),e,t,n,a,s)}function Rr(e){const t=[];let r;for(r=0;r<64;r+=4)t[r>>2]=e.charCodeAt(r)+(e.charCodeAt(r+1)<<8)+(e.charCodeAt(r+2)<<16)+(e.charCodeAt(r+3)<<24);return t}const Tr="0123456789abcdef".split("");function Qr(e){let t="",r=0;for(;r<4;r++)t+=Tr[e>>8*r+4&15]+Tr[e>>8*r&15];return t}function zr(e,t){return e+t&4294967295}const Fr=V.getWebCrypto(),Nr=V.getNodeCrypto(),qr=Nr&&Nr.getHashes();function Lr(e){if(Nr&&qr.includes(e))return async function(t){const r=Nr.createHash(e);return R(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function Or(e,t){return async function(r,i=ne){if(s(r)&&(r=await L(r)),!V.isStream(r)&&Fr&&t&&r.length>=i.minBytesForWebCrypto)return new Uint8Array(await Fr.digest(t,r));const n=e();return R(r,(e=>{n.update(e)}),(()=>new Uint8Array(n.digest())))}}function Hr(e,t){return async function(r,i=ne){if(s(r)&&(r=await L(r)),V.isStream(r)){const t=new e;return R(r,(e=>{t.process(e)}),(()=>t.finish().result))}return Fr&&t&&r.length>=i.minBytesForWebCrypto?new Uint8Array(await Fr.digest(t,r)):e.bytes(r)}}const jr={md5:Lr("md5")||async function(e){const t=function(e){const t=e.length,r=[1732584193,-271733879,-1732584194,271733878];let i;for(i=64;i<=e.length;i+=64)Pr(r,Rr(e.substring(i-64,i)));e=e.substring(i-64);const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<e.length;i++)n[i>>2]|=e.charCodeAt(i)<<(i%4<<3);if(n[i>>2]|=128<<(i%4<<3),i>55)for(Pr(r,n),i=0;i<16;i++)n[i]=0;return n[14]=8*t,Pr(r,n),r}(V.uint8ArrayToString(e));return V.hexToUint8Array(function(e){for(let t=0;t<e.length;t++)e[t]=Qr(e[t]);return e.join("")}(t))},sha1:Lr("sha1")||Hr(Ye,"SHA-1"),sha224:Lr("sha224")||Or(zt),sha256:Lr("sha256")||Hr($e,"SHA-256"),sha384:Lr("sha384")||Or(lr,"SHA-384"),sha512:Lr("sha512")||Or($t,"SHA-512"),ripemd:Lr("ripemd160")||Or(Ar)};var Gr={md5:jr.md5,sha1:jr.sha1,sha224:jr.sha224,sha256:jr.sha256,sha384:jr.sha384,sha512:jr.sha512,ripemd:jr.ripemd,digest:function(e,t){switch(e){case ie.hash.md5:return this.md5(t);case ie.hash.sha1:return this.sha1(t);case ie.hash.ripemd:return this.ripemd(t);case ie.hash.sha256:return this.sha256(t);case ie.hash.sha384:return this.sha384(t);case ie.hash.sha512:return this.sha512(t);case ie.hash.sha224:return this.sha224(t);default:throw Error("Invalid hash function.")}},getHashByteLength:function(e){switch(e){case ie.hash.md5:return 16;case ie.hash.sha1:case ie.hash.ripemd:return 20;case ie.hash.sha256:return 32;case ie.hash.sha384:return 48;case ie.hash.sha512:return 64;case ie.hash.sha224:return 28;default:throw Error("Invalid hash algorithm.")}},getBlockSize:function(e){switch(e){case ie.hash.md5:case ie.hash.sha1:case ie.hash.ripemd:case ie.hash.sha224:case ie.hash.sha256:return 64;case ie.hash.sha384:case ie.hash.sha512:return 128;default:throw Error("Invalid hash algorithm.")}}};class Wr{static encrypt(e,t,r){return new Wr(t,r).encrypt(e)}static decrypt(e,t,r){return new Wr(t,r).decrypt(e)}constructor(e,t,r){this.aes=r||new Se(e,t,!0,"CFB"),delete this.aes.padding}encrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return we(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function Vr(e){const t=ie.read(ie.symmetric,e);return je[t]}const Jr=V.getWebCrypto(),Yr=V.getNodeCrypto(),Zr=Yr?Yr.getCiphers():[],Xr={idea:Zr.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Zr.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Zr.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Zr.includes("bf-cfb")?"bf-cfb":void 0,aes128:Zr.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Zr.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Zr.includes("aes-256-cfb")?"aes-256-cfb":void 0};var $r=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,i,n){const a=ie.read(ie.symmetric,e);if(V.getNodeCrypto()&&Xr[a])return function(e,t,r,i){const n=ie.read(ie.symmetric,e),a=new Yr.createCipheriv(Xr[n],t,i);return R(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,i);if("aes"===a.substr(0,3))return function(e,t,r,i,n){if(V.getWebCrypto()&&24!==t.length&&!V.isStream(r)&&r.length>=3e3*n.minBytesForWebCrypto)return async function(e,t,r,i){const n="AES-CBC",a=await Jr.importKey("raw",t,{name:n},!1,["encrypt"]),{blockSize:s}=Vr(e),o=V.concatUint8Array([new Uint8Array(s),r]),c=new Uint8Array(await Jr.encrypt({name:n,iv:i},a,o)).subarray(0,r.length);return function(e,t){for(let r=0;r<e.length;r++)e[r]=e[r]^t[r]}(c,r),c}(e,t,r,i);const a=new Wr(t,i);return R(r,(e=>a.aes.AES_Encrypt_process(e)),(()=>a.aes.AES_Encrypt_finish()))}(e,t,r,i,n);const s=new(Vr(e))(t),o=s.blockSize,c=i.slice();let u=new Uint8Array;const h=e=>{e&&(u=V.concatUint8Array([u,e]));const t=new Uint8Array(u.length);let r,i=0;for(;e?u.length>=o:u.length;){const e=s.encrypt(c);for(r=0;r<o;r++)c[r]=u[r]^e[r],t[i++]=c[r];u=u.subarray(o)}return t.subarray(0,i)};return R(r,h,h)},decrypt:async function(e,t,r,i){const n=ie.read(ie.symmetric,e);if(V.getNodeCrypto()&&Xr[n])return function(e,t,r,i){const n=ie.read(ie.symmetric,e),a=new Yr.createDecipheriv(Xr[n],t,i);return R(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,i);if("aes"===n.substr(0,3))return function(e,t,r,i){if(V.isStream(r)){const e=new Wr(t,i);return R(r,(t=>e.aes.AES_Decrypt_process(t)),(()=>e.aes.AES_Decrypt_finish()))}return Wr.decrypt(r,t,i)}(0,t,r,i);const a=new(Vr(e))(t),s=a.blockSize;let o=i,c=new Uint8Array;const u=e=>{e&&(c=V.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,i=0;for(;e?c.length>=s:c.length;){const e=a.encrypt(o);for(o=c,r=0;r<s;r++)t[i++]=o[r]^e[r];c=c.subarray(s)}return t.subarray(0,i)};return R(r,u,u)}});class ei{static encrypt(e,t,r){return new ei(t,r).encrypt(e)}static decrypt(e,t,r){return new ei(t,r).encrypt(e)}constructor(e,t,r){this.aes=r||new Se(e,void 0,!1,"CTR"),delete this.aes.padding,this.AES_CTR_set_options(t)}encrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}AES_CTR_set_options(e,t,r){let{asm:i}=this.aes.acquire_asm();if(void 0!==r){if(r<8||r>48)throw new ve("illegal counter size");let e=Math.pow(2,r)-1;i.set_mask(0,0,e/4294967296|0,0|e)}else r=48,i.set_mask(0,0,65535,4294967295);if(void 0===e)throw Error("nonce is required");{let t=e.length;if(!t||t>16)throw new ve("illegal nonce size");let r=new DataView(new ArrayBuffer(16));new Uint8Array(r.buffer).set(e),i.set_nonce(r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12))}if(void 0!==t){if(t<0||t>=Math.pow(2,r))throw new ve("illegal counter value");i.set_counter(0,0,t/4294967296|0,0|t)}}}class ti{static encrypt(e,t,r=!0,i){return new ti(t,i,r).encrypt(e)}static decrypt(e,t,r=!0,i){return new ti(t,i,r).decrypt(e)}constructor(e,t,r=!0,i){this.aes=i||new Se(e,t,r,"CBC")}encrypt(e){return we(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return we(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}const ri=V.getWebCrypto(),ii=V.getNodeCrypto(),ni=16;function ai(e,t){const r=e.length-ni;for(let i=0;i<ni;i++)e[i+r]^=t[i];return e}const si=new Uint8Array(ni);async function oi(e){const t=await async function(e){if(V.getWebCrypto()&&24!==e.length)return e=await ri.importKey("raw",e,{name:"AES-CBC",length:8*e.length},!1,["encrypt"]),async function(t){const r=await ri.encrypt({name:"AES-CBC",iv:si,length:8*ni},e,t);return new Uint8Array(r).subarray(0,r.byteLength-ni)};if(V.getNodeCrypto())return async function(t){const r=new ii.createCipheriv("aes-"+8*e.length+"-cbc",e,si).update(t);return new Uint8Array(r)};return async function(t){return ti.encrypt(t,e,!1,si)}}(e),r=V.double(await t(si)),i=V.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%ni==0)return ai(e,t);const i=new Uint8Array(e.length+(ni-e.length%ni));return i.set(e),i[e.length]=128,ai(i,r)}(e,r,i))).subarray(-ni)}}const ci=V.getWebCrypto(),ui=V.getNodeCrypto(),hi=V.getNodeBuffer(),fi=16,di=fi,li=fi,pi=new Uint8Array(fi),yi=new Uint8Array(fi);yi[fi-1]=1;const bi=new Uint8Array(fi);async function gi(e){const t=await oi(e);return function(e,r){return t(V.concatUint8Array([e,r]))}}async function mi(e){return V.getWebCrypto()&&24!==e.length?(e=await ci.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]),async function(t,r){const i=await ci.encrypt({name:"AES-CTR",counter:r,length:8*fi},e,t);return new Uint8Array(i)}):V.getNodeCrypto()?async function(t,r){const i=new ui.createCipheriv("aes-"+8*e.length+"-ctr",e,r),n=hi.concat([i.update(t),i.final()]);return new Uint8Array(n)}:async function(t,r){return ei.encrypt(t,e,r)}}async function wi(e,t){if(e!==ie.symmetric.aes128&&e!==ie.symmetric.aes192&&e!==ie.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[r,i]=await Promise.all([gi(t),mi(t)]);return{encrypt:async function(e,t,n){const[a,s]=await Promise.all([r(pi,t),r(yi,n)]),o=await i(e,a),c=await r(bi,o);for(let e=0;e<li;e++)c[e]^=s[e]^a[e];return V.concatUint8Array([o,c])},decrypt:async function(e,t,n){if(e.length<li)throw Error("Invalid EAX ciphertext");const a=e.subarray(0,-li),s=e.subarray(-li),[o,c,u]=await Promise.all([r(pi,t),r(yi,n),r(bi,a)]),h=u;for(let e=0;e<li;e++)h[e]^=c[e]^o[e];if(!V.equalsUint8Array(s,h))throw Error("Authentication tag mismatch");return await i(a,o)}}}bi[fi-1]=2,wi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},wi.blockLength=fi,wi.ivLength=di,wi.tagLength=li;const Ai=16,vi=15,_i=16;function ki(e){let t=0;for(let r=1;0==(e&r);r<<=1)t++;return t}function Ei(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function Si(e,t){return Ei(e.slice(),t)}const Ci=new Uint8Array(Ai),Ii=new Uint8Array([1]);async function Bi(e,t){let r,i,n,a=0;function s(e,t,i,s){const o=t.length/Ai|0;!function(e,t){const r=V.nbits(Math.max(e.length,t.length)/Ai|0)-1;for(let e=a+1;e<=r;e++)n[e]=V.double(n[e-1]);a=r}(t,s);const c=V.concatUint8Array([Ci.subarray(0,vi-i.length),Ii,i]),u=63&c[Ai-1];c[Ai-1]&=192;const h=r(c),f=V.concatUint8Array([h,Si(h.subarray(0,8),h.subarray(1,9))]),d=V.shiftRight(f.subarray(0+(u>>3),17+(u>>3)),8-(7&u)).subarray(1),l=new Uint8Array(Ai),p=new Uint8Array(t.length+_i);let y,b=0;for(y=0;y<o;y++)Ei(d,n[ki(y+1)]),p.set(Ei(e(Si(d,t)),d),b),Ei(l,e===r?t:p.subarray(b)),t=t.subarray(Ai),b+=Ai;if(t.length){Ei(d,n.x);const i=r(d);p.set(Si(t,i),b);const a=new Uint8Array(Ai);a.set(e===r?t:p.subarray(b,-_i),0),a[t.length]=128,Ei(l,a),b+=t.length}const g=Ei(r(Ei(Ei(l,d),n.$)),function(e){if(!e.length)return Ci;const t=e.length/Ai|0,i=new Uint8Array(Ai),a=new Uint8Array(Ai);for(let s=0;s<t;s++)Ei(i,n[ki(s+1)]),Ei(a,r(Si(i,e))),e=e.subarray(Ai);if(e.length){Ei(i,n.x);const t=new Uint8Array(Ai);t.set(e,0),t[e.length]=128,Ei(t,i),Ei(a,r(t))}return a}(s));return p.set(g,b),p}return function(e,t){const a=ie.read(ie.symmetric,e),s=new je[a](t);r=s.encrypt.bind(s),i=s.decrypt.bind(s);const o=r(Ci),c=V.double(o);n=[],n[0]=V.double(c),n.x=o,n.$=c}(e,t),{encrypt:async function(e,t,i){return s(r,e,t,i)},decrypt:async function(e,t,r){if(e.length<_i)throw Error("Invalid OCB ciphertext");const n=e.subarray(-_i);e=e.subarray(0,-_i);const a=s(i,e,t,r);if(V.equalsUint8Array(n,a.subarray(-_i)))return a.subarray(0,-_i);throw Error("Authentication tag mismatch")}}}Bi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},Bi.blockLength=Ai,Bi.ivLength=vi,Bi.tagLength=_i;const Pi=68719476704;class Mi{constructor(e,t,r,i=16,n){this.tagSize=i,this.gamma0=0,this.counter=1,this.aes=n||new Se(e,void 0,!1,"CTR");let{asm:a,heap:s}=this.aes.acquire_asm();if(a.gcm_init(),this.tagSize<4||this.tagSize>16)throw new ve("illegal tagSize value");const o=t.length||0,c=new Uint8Array(16);12!==o?(this._gcm_mac_process(t),s[0]=0,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=0,s[11]=o>>>29,s[12]=o>>>21&255,s[13]=o>>>13&255,s[14]=o>>>5&255,s[15]=o<<3&255,a.mac(ye.MAC.GCM,ye.HEAP_DATA,16),a.get_iv(ye.HEAP_DATA),a.set_iv(0,0,0,0),c.set(s.subarray(0,16))):(c.set(t),c[15]=1);const u=new DataView(c.buffer);if(this.gamma0=u.getUint32(12),a.set_nonce(u.getUint32(0),u.getUint32(4),u.getUint32(8),0),a.set_mask(0,0,0,4294967295),void 0!==r){if(r.length>Pi)throw new ve("illegal adata length");r.length?(this.adata=r,this._gcm_mac_process(r)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");a.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(e,t,r,i,n){return new Mi(t,r,i,n).encrypt(e)}static decrypt(e,t,r,i,n){return new Mi(t,r,i,n).decrypt(e)}encrypt(e){return this.AES_GCM_encrypt(e)}decrypt(e){return this.AES_GCM_decrypt(e)}AES_GCM_Encrypt_process(e){let t=0,r=e.length||0,{asm:i,heap:n}=this.aes.acquire_asm(),a=this.counter,s=this.aes.pos,o=this.aes.len,c=0,u=o+r&-16,h=0;if((a-1<<4)+o+r>Pi)throw new RangeError("counter overflow");const f=new Uint8Array(u);for(;r>0;)h=me(n,s+o,e,t,r),o+=h,t+=h,r-=h,h=i.cipher(ye.ENC.CTR,ye.HEAP_DATA+s,o),h=i.mac(ye.MAC.GCM,ye.HEAP_DATA+s,h),h&&f.set(n.subarray(s,s+h),c),a+=h>>>4,c+=h,h<o?(s+=h,o-=h):(s=0,o=0);return this.counter=a,this.aes.pos=s,this.aes.len=o,f}AES_GCM_Encrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.counter,i=this.tagSize,n=this.adata,a=this.aes.pos,s=this.aes.len;const o=new Uint8Array(s+i);e.cipher(ye.ENC.CTR,ye.HEAP_DATA+a,s+15&-16),s&&o.set(t.subarray(a,a+s));let c=s;for(;15&c;c++)t[a+c]=0;e.mac(ye.MAC.GCM,ye.HEAP_DATA+a,c);const u=void 0!==n?n.length:0,h=(r-1<<4)+s;return t[0]=0,t[1]=0,t[2]=0,t[3]=u>>>29,t[4]=u>>>21,t[5]=u>>>13&255,t[6]=u>>>5&255,t[7]=u<<3&255,t[8]=t[9]=t[10]=0,t[11]=h>>>29,t[12]=h>>>21&255,t[13]=h>>>13&255,t[14]=h>>>5&255,t[15]=h<<3&255,e.mac(ye.MAC.GCM,ye.HEAP_DATA,16),e.get_iv(ye.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(ye.ENC.CTR,ye.HEAP_DATA,16),o.set(t.subarray(0,i),s),this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_GCM_Decrypt_process(e){let t=0,r=e.length||0,{asm:i,heap:n}=this.aes.acquire_asm(),a=this.counter,s=this.tagSize,o=this.aes.pos,c=this.aes.len,u=0,h=c+r>s?c+r-s&-16:0,f=c+r-h,d=0;if((a-1<<4)+c+r>Pi)throw new RangeError("counter overflow");const l=new Uint8Array(h);for(;r>f;)d=me(n,o+c,e,t,r-f),c+=d,t+=d,r-=d,d=i.mac(ye.MAC.GCM,ye.HEAP_DATA+o,d),d=i.cipher(ye.DEC.CTR,ye.HEAP_DATA+o,d),d&&l.set(n.subarray(o,o+d),u),a+=d>>>4,u+=d,o=0,c=0;return r>0&&(c+=me(n,0,e,t,r)),this.counter=a,this.aes.pos=o,this.aes.len=c,l}AES_GCM_Decrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.tagSize,i=this.adata,n=this.counter,a=this.aes.pos,s=this.aes.len,o=s-r;if(s<r)throw new Ae("authentication tag not found");const c=new Uint8Array(o),u=new Uint8Array(t.subarray(a+o,a+s));let h=o;for(;15&h;h++)t[a+h]=0;e.mac(ye.MAC.GCM,ye.HEAP_DATA+a,h),e.cipher(ye.DEC.CTR,ye.HEAP_DATA+a,h),o&&c.set(t.subarray(a,a+o));const f=void 0!==i?i.length:0,d=(n-1<<4)+s-r;t[0]=0,t[1]=0,t[2]=0,t[3]=f>>>29,t[4]=f>>>21,t[5]=f>>>13&255,t[6]=f>>>5&255,t[7]=f<<3&255,t[8]=t[9]=t[10]=0,t[11]=d>>>29,t[12]=d>>>21&255,t[13]=d>>>13&255,t[14]=d>>>5&255,t[15]=d<<3&255,e.mac(ye.MAC.GCM,ye.HEAP_DATA,16),e.get_iv(ye.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(ye.ENC.CTR,ye.HEAP_DATA,16);let l=0;for(let e=0;e<r;++e)l|=u[e]^t[e];if(l)throw new _e("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,c}AES_GCM_decrypt(e){const t=this.AES_GCM_Decrypt_process(e),r=this.AES_GCM_Decrypt_finish(),i=new Uint8Array(t.length+r.length);return t.length&&i.set(t),r.length&&i.set(r,t.length),i}AES_GCM_encrypt(e){const t=this.AES_GCM_Encrypt_process(e),r=this.AES_GCM_Encrypt_finish(),i=new Uint8Array(t.length+r.length);return t.length&&i.set(t),r.length&&i.set(r,t.length),i}_gcm_mac_process(e){let{asm:t,heap:r}=this.aes.acquire_asm(),i=0,n=e.length||0,a=0;for(;n>0;){for(a=me(r,0,e,i,n),i+=a,n-=a;15&a;)r[a++]=0;t.mac(ye.MAC.GCM,ye.HEAP_DATA,a)}}}const Di=V.getWebCrypto(),xi=V.getNodeCrypto(),Ki=V.getNodeBuffer(),Ui=16,Ri="AES-GCM";async function Ti(e,t){if(e!==ie.symmetric.aes128&&e!==ie.symmetric.aes192&&e!==ie.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(V.getWebCrypto()&&24!==t.length){const e=await Di.importKey("raw",t,{name:Ri},!1,["encrypt","decrypt"]);return{encrypt:async function(r,i,n=new Uint8Array){if(!r.length)return Mi.encrypt(r,t,i,n);const a=await Di.encrypt({name:Ri,iv:i,additionalData:n,tagLength:8*Ui},e,r);return new Uint8Array(a)},decrypt:async function(r,i,n=new Uint8Array){if(r.length===Ui)return Mi.decrypt(r,t,i,n);const a=await Di.decrypt({name:Ri,iv:i,additionalData:n,tagLength:8*Ui},e,r);return new Uint8Array(a)}}}return V.getNodeCrypto()?{encrypt:async function(e,r,i=new Uint8Array){const n=new xi.createCipheriv("aes-"+8*t.length+"-gcm",t,r);n.setAAD(i);const a=Ki.concat([n.update(e),n.final(),n.getAuthTag()]);return new Uint8Array(a)},decrypt:async function(e,r,i=new Uint8Array){const n=new xi.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);n.setAAD(i),n.setAuthTag(e.slice(e.length-Ui,e.length));const a=Ki.concat([n.update(e.slice(0,e.length-Ui)),n.final()]);return new Uint8Array(a)}}:{encrypt:async function(e,r,i){return Mi.encrypt(e,t,r,i)},decrypt:async function(e,r,i){return Mi.decrypt(e,t,r,i)}}}Ti.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},Ti.blockLength=16,Ti.ivLength=12,Ti.tagLength=Ui;var Qi={cfb:$r,gcm:Ti,experimentalGCM:Ti,eax:wi,ocb:Bi},zi=it((function(e){!function(e){var t=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},r=function(){throw Error("no PRNG")},i=new Uint8Array(32);i[0]=9;var n=t(),a=t([1]),s=t([56129,1]),o=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),c=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),u=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),h=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),f=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function d(e,t,r,i){return function(e,t,r,i,n){var a,s=0;for(a=0;a<n;a++)s|=e[t+a]^r[i+a];return(1&s-1>>>8)-1}(e,t,r,i,32)}function l(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function p(e){var t,r,i=1;for(t=0;t<16;t++)r=e[t]+i+65535,i=Math.floor(r/65536),e[t]=r-65536*i;e[0]+=i-1+37*(i-1)}function y(e,t,r){for(var i,n=~(r-1),a=0;a<16;a++)i=n&(e[a]^t[a]),e[a]^=i,t[a]^=i}function b(e,r){var i,n,a,s=t(),o=t();for(i=0;i<16;i++)o[i]=r[i];for(p(o),p(o),p(o),n=0;n<2;n++){for(s[0]=o[0]-65517,i=1;i<15;i++)s[i]=o[i]-65535-(s[i-1]>>16&1),s[i-1]&=65535;s[15]=o[15]-32767-(s[14]>>16&1),a=s[15]>>16&1,s[14]&=65535,y(o,s,1-a)}for(i=0;i<16;i++)e[2*i]=255&o[i],e[2*i+1]=o[i]>>8}function g(e,t){var r=new Uint8Array(32),i=new Uint8Array(32);return b(r,e),b(i,t),d(r,0,i,0)}function m(e){var t=new Uint8Array(32);return b(t,e),1&t[0]}function w(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function A(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]+r[i]}function v(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]-r[i]}function _(e,t,r){var i,n,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,b=0,g=0,m=0,w=0,A=0,v=0,_=0,k=0,E=0,S=0,C=0,I=0,B=0,P=0,M=0,D=0,x=0,K=0,U=0,R=0,T=r[0],Q=r[1],z=r[2],F=r[3],N=r[4],q=r[5],L=r[6],O=r[7],H=r[8],j=r[9],G=r[10],W=r[11],V=r[12],J=r[13],Y=r[14],Z=r[15];a+=(i=t[0])*T,s+=i*Q,o+=i*z,c+=i*F,u+=i*N,h+=i*q,f+=i*L,d+=i*O,l+=i*H,p+=i*j,y+=i*G,b+=i*W,g+=i*V,m+=i*J,w+=i*Y,A+=i*Z,s+=(i=t[1])*T,o+=i*Q,c+=i*z,u+=i*F,h+=i*N,f+=i*q,d+=i*L,l+=i*O,p+=i*H,y+=i*j,b+=i*G,g+=i*W,m+=i*V,w+=i*J,A+=i*Y,v+=i*Z,o+=(i=t[2])*T,c+=i*Q,u+=i*z,h+=i*F,f+=i*N,d+=i*q,l+=i*L,p+=i*O,y+=i*H,b+=i*j,g+=i*G,m+=i*W,w+=i*V,A+=i*J,v+=i*Y,_+=i*Z,c+=(i=t[3])*T,u+=i*Q,h+=i*z,f+=i*F,d+=i*N,l+=i*q,p+=i*L,y+=i*O,b+=i*H,g+=i*j,m+=i*G,w+=i*W,A+=i*V,v+=i*J,_+=i*Y,k+=i*Z,u+=(i=t[4])*T,h+=i*Q,f+=i*z,d+=i*F,l+=i*N,p+=i*q,y+=i*L,b+=i*O,g+=i*H,m+=i*j,w+=i*G,A+=i*W,v+=i*V,_+=i*J,k+=i*Y,E+=i*Z,h+=(i=t[5])*T,f+=i*Q,d+=i*z,l+=i*F,p+=i*N,y+=i*q,b+=i*L,g+=i*O,m+=i*H,w+=i*j,A+=i*G,v+=i*W,_+=i*V,k+=i*J,E+=i*Y,S+=i*Z,f+=(i=t[6])*T,d+=i*Q,l+=i*z,p+=i*F,y+=i*N,b+=i*q,g+=i*L,m+=i*O,w+=i*H,A+=i*j,v+=i*G,_+=i*W,k+=i*V,E+=i*J,S+=i*Y,C+=i*Z,d+=(i=t[7])*T,l+=i*Q,p+=i*z,y+=i*F,b+=i*N,g+=i*q,m+=i*L,w+=i*O,A+=i*H,v+=i*j,_+=i*G,k+=i*W,E+=i*V,S+=i*J,C+=i*Y,I+=i*Z,l+=(i=t[8])*T,p+=i*Q,y+=i*z,b+=i*F,g+=i*N,m+=i*q,w+=i*L,A+=i*O,v+=i*H,_+=i*j,k+=i*G,E+=i*W,S+=i*V,C+=i*J,I+=i*Y,B+=i*Z,p+=(i=t[9])*T,y+=i*Q,b+=i*z,g+=i*F,m+=i*N,w+=i*q,A+=i*L,v+=i*O,_+=i*H,k+=i*j,E+=i*G,S+=i*W,C+=i*V,I+=i*J,B+=i*Y,P+=i*Z,y+=(i=t[10])*T,b+=i*Q,g+=i*z,m+=i*F,w+=i*N,A+=i*q,v+=i*L,_+=i*O,k+=i*H,E+=i*j,S+=i*G,C+=i*W,I+=i*V,B+=i*J,P+=i*Y,M+=i*Z,b+=(i=t[11])*T,g+=i*Q,m+=i*z,w+=i*F,A+=i*N,v+=i*q,_+=i*L,k+=i*O,E+=i*H,S+=i*j,C+=i*G,I+=i*W,B+=i*V,P+=i*J,M+=i*Y,D+=i*Z,g+=(i=t[12])*T,m+=i*Q,w+=i*z,A+=i*F,v+=i*N,_+=i*q,k+=i*L,E+=i*O,S+=i*H,C+=i*j,I+=i*G,B+=i*W,P+=i*V,M+=i*J,D+=i*Y,x+=i*Z,m+=(i=t[13])*T,w+=i*Q,A+=i*z,v+=i*F,_+=i*N,k+=i*q,E+=i*L,S+=i*O,C+=i*H,I+=i*j,B+=i*G,P+=i*W,M+=i*V,D+=i*J,x+=i*Y,K+=i*Z,w+=(i=t[14])*T,A+=i*Q,v+=i*z,_+=i*F,k+=i*N,E+=i*q,S+=i*L,C+=i*O,I+=i*H,B+=i*j,P+=i*G,M+=i*W,D+=i*V,x+=i*J,K+=i*Y,U+=i*Z,A+=(i=t[15])*T,s+=38*(_+=i*z),o+=38*(k+=i*F),c+=38*(E+=i*N),u+=38*(S+=i*q),h+=38*(C+=i*L),f+=38*(I+=i*O),d+=38*(B+=i*H),l+=38*(P+=i*j),p+=38*(M+=i*G),y+=38*(D+=i*W),b+=38*(x+=i*V),g+=38*(K+=i*J),m+=38*(U+=i*Y),w+=38*(R+=i*Z),a=(i=(a+=38*(v+=i*Q))+(n=1)+65535)-65536*(n=Math.floor(i/65536)),s=(i=s+n+65535)-65536*(n=Math.floor(i/65536)),o=(i=o+n+65535)-65536*(n=Math.floor(i/65536)),c=(i=c+n+65535)-65536*(n=Math.floor(i/65536)),u=(i=u+n+65535)-65536*(n=Math.floor(i/65536)),h=(i=h+n+65535)-65536*(n=Math.floor(i/65536)),f=(i=f+n+65535)-65536*(n=Math.floor(i/65536)),d=(i=d+n+65535)-65536*(n=Math.floor(i/65536)),l=(i=l+n+65535)-65536*(n=Math.floor(i/65536)),p=(i=p+n+65535)-65536*(n=Math.floor(i/65536)),y=(i=y+n+65535)-65536*(n=Math.floor(i/65536)),b=(i=b+n+65535)-65536*(n=Math.floor(i/65536)),g=(i=g+n+65535)-65536*(n=Math.floor(i/65536)),m=(i=m+n+65535)-65536*(n=Math.floor(i/65536)),w=(i=w+n+65535)-65536*(n=Math.floor(i/65536)),A=(i=A+n+65535)-65536*(n=Math.floor(i/65536)),a=(i=(a+=n-1+37*(n-1))+(n=1)+65535)-65536*(n=Math.floor(i/65536)),s=(i=s+n+65535)-65536*(n=Math.floor(i/65536)),o=(i=o+n+65535)-65536*(n=Math.floor(i/65536)),c=(i=c+n+65535)-65536*(n=Math.floor(i/65536)),u=(i=u+n+65535)-65536*(n=Math.floor(i/65536)),h=(i=h+n+65535)-65536*(n=Math.floor(i/65536)),f=(i=f+n+65535)-65536*(n=Math.floor(i/65536)),d=(i=d+n+65535)-65536*(n=Math.floor(i/65536)),l=(i=l+n+65535)-65536*(n=Math.floor(i/65536)),p=(i=p+n+65535)-65536*(n=Math.floor(i/65536)),y=(i=y+n+65535)-65536*(n=Math.floor(i/65536)),b=(i=b+n+65535)-65536*(n=Math.floor(i/65536)),g=(i=g+n+65535)-65536*(n=Math.floor(i/65536)),m=(i=m+n+65535)-65536*(n=Math.floor(i/65536)),w=(i=w+n+65535)-65536*(n=Math.floor(i/65536)),A=(i=A+n+65535)-65536*(n=Math.floor(i/65536)),a+=n-1+37*(n-1),e[0]=a,e[1]=s,e[2]=o,e[3]=c,e[4]=u,e[5]=h,e[6]=f,e[7]=d,e[8]=l,e[9]=p,e[10]=y,e[11]=b,e[12]=g,e[13]=m,e[14]=w,e[15]=A}function k(e,t){_(e,t,t)}function E(e,r){var i,n=t();for(i=0;i<16;i++)n[i]=r[i];for(i=253;i>=0;i--)k(n,n),2!==i&&4!==i&&_(n,n,r);for(i=0;i<16;i++)e[i]=n[i]}function S(e,r,i){var n,a,o=new Uint8Array(32),c=new Float64Array(80),u=t(),h=t(),f=t(),d=t(),l=t(),p=t();for(a=0;a<31;a++)o[a]=r[a];for(o[31]=127&r[31]|64,o[0]&=248,w(c,i),a=0;a<16;a++)h[a]=c[a],d[a]=u[a]=f[a]=0;for(u[0]=d[0]=1,a=254;a>=0;--a)y(u,h,n=o[a>>>3]>>>(7&a)&1),y(f,d,n),A(l,u,f),v(u,u,f),A(f,h,d),v(h,h,d),k(d,l),k(p,u),_(u,f,u),_(f,h,l),A(l,u,f),v(u,u,f),k(h,u),v(f,d,p),_(u,f,s),A(u,u,d),_(f,f,u),_(u,d,p),_(d,h,c),k(h,l),y(u,h,n),y(f,d,n);for(a=0;a<16;a++)c[a+16]=u[a],c[a+32]=f[a],c[a+48]=h[a],c[a+64]=d[a];var g=c.subarray(32),m=c.subarray(16);return E(g,g),_(m,m,g),b(e,m),0}function C(e,t){return S(e,t,i)}function I(e,r){var i=t(),n=t(),a=t(),s=t(),o=t(),u=t(),h=t(),f=t(),d=t();v(i,e[1],e[0]),v(d,r[1],r[0]),_(i,i,d),A(n,e[0],e[1]),A(d,r[0],r[1]),_(n,n,d),_(a,e[3],r[3]),_(a,a,c),_(s,e[2],r[2]),A(s,s,s),v(o,n,i),v(u,s,a),A(h,s,a),A(f,n,i),_(e[0],o,u),_(e[1],f,h),_(e[2],h,u),_(e[3],o,f)}function B(e,t,r){var i;for(i=0;i<4;i++)y(e[i],t[i],r)}function P(e,r){var i=t(),n=t(),a=t();E(a,r[2]),_(i,r[0],a),_(n,r[1],a),b(e,n),e[31]^=m(i)<<7}function M(e,t,r){var i,s;for(l(e[0],n),l(e[1],a),l(e[2],a),l(e[3],n),s=255;s>=0;--s)B(e,t,i=r[s/8|0]>>(7&s)&1),I(t,e),I(e,e),B(e,t,i)}function D(e,r){var i=[t(),t(),t(),t()];l(i[0],u),l(i[1],h),l(i[2],a),_(i[3],u,h),M(e,i,r)}function x(i,n,a){var s,o,c=[t(),t(),t(),t()];for(a||r(n,32),(s=e.hash(n.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64,D(c,s),P(i,c),o=0;o<32;o++)n[o+32]=i[o];return 0}var K=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function U(e,t){var r,i,n,a;for(i=63;i>=32;--i){for(r=0,n=i-32,a=i-12;n<a;++n)t[n]+=r-16*t[i]*K[n-(i-32)],r=Math.floor((t[n]+128)/256),t[n]-=256*r;t[n]+=r,t[i]=0}for(r=0,n=0;n<32;n++)t[n]+=r-(t[31]>>4)*K[n],r=t[n]>>8,t[n]&=255;for(n=0;n<32;n++)t[n]-=r*K[n];for(i=0;i<32;i++)t[i+1]+=t[i]>>8,e[i]=255&t[i]}function R(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;U(e,r)}function T(e,r){var i=t(),s=t(),c=t(),u=t(),h=t(),d=t(),p=t();return l(e[2],a),w(e[1],r),k(c,e[1]),_(u,c,o),v(c,c,e[2]),A(u,e[2],u),k(h,u),k(d,h),_(p,d,h),_(i,p,c),_(i,i,u),function(e,r){var i,n=t();for(i=0;i<16;i++)n[i]=r[i];for(i=250;i>=0;i--)k(n,n),1!==i&&_(n,n,r);for(i=0;i<16;i++)e[i]=n[i]}(i,i),_(i,i,c),_(i,i,u),_(i,i,u),_(e[0],i,u),k(s,e[0]),_(s,s,u),g(s,c)&&_(e[0],e[0],f),k(s,e[0]),_(s,s,u),g(s,c)?-1:(m(e[0])===r[31]>>7&&v(e[0],n,e[0]),_(e[3],e[0],e[1]),0)}var Q=64;function z(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function F(e){for(var t=0;t<e.length;t++)e[t]=0}e.scalarMult=function(e,t){if(z(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");var r=new Uint8Array(32);return S(r,e,t),r},e.box={},e.box.keyPair=function(){var e,t,i=new Uint8Array(32),n=new Uint8Array(32);return e=i,r(t=n,32),C(e,t),{publicKey:i,secretKey:n}},e.box.keyPair.fromSecretKey=function(e){if(z(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return C(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.sign=function(r,i){if(z(r,i),64!==i.length)throw Error("bad secret key size");var n=new Uint8Array(Q+r.length);return function(r,i,n,a){var s,o,c,u,h,f=new Float64Array(64),d=[t(),t(),t(),t()];(s=e.hash(a.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64;var l=n+64;for(u=0;u<n;u++)r[64+u]=i[u];for(u=0;u<32;u++)r[32+u]=s[32+u];for(R(c=e.hash(r.subarray(32,l))),D(d,c),P(r,d),u=32;u<64;u++)r[u]=a[u];for(R(o=e.hash(r.subarray(0,l))),u=0;u<64;u++)f[u]=0;for(u=0;u<32;u++)f[u]=c[u];for(u=0;u<32;u++)for(h=0;h<32;h++)f[u+h]+=o[u]*s[h];U(r.subarray(32),f)}(n,r,r.length,i),n},e.sign.detached=function(t,r){for(var i=e.sign(t,r),n=new Uint8Array(Q),a=0;a<n.length;a++)n[a]=i[a];return n},e.sign.detached.verify=function(r,i,n){if(z(r,i,n),i.length!==Q)throw Error("bad signature size");if(32!==n.length)throw Error("bad public key size");var a,s=new Uint8Array(Q+r.length),o=new Uint8Array(Q+r.length);for(a=0;a<Q;a++)s[a]=i[a];for(a=0;a<r.length;a++)s[a+Q]=r[a];return function(r,i,n,a){var s,o,c=new Uint8Array(32),u=[t(),t(),t(),t()],h=[t(),t(),t(),t()];if(n<64)return-1;if(T(h,a))return-1;for(s=0;s<n;s++)r[s]=i[s];for(s=0;s<32;s++)r[s+32]=a[s];if(R(o=e.hash(r.subarray(0,n))),M(u,h,o),D(h,i.subarray(32)),I(u,h),P(c,u),n-=64,d(i,0,c,0)){for(s=0;s<n;s++)r[s]=0;return-1}for(s=0;s<n;s++)r[s]=i[s+64];return n}(o,s,s.length,n)>=0},e.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return x(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(z(e),64!==e.length)throw Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(z(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),i=0;i<32;i++)r[i]=e[i];return x(t,r,!0),{publicKey:t,secretKey:r}},e.setPRNG=function(e){r=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){e.setPRNG((function(e,r){var i,n=new Uint8Array(r);for(i=0;i<r;i+=65536)t.getRandomValues(n.subarray(i,i+Math.min(r-i,65536)));for(i=0;i<r;i++)e[i]=n[i];F(n)}))}else void 0!==nt&&(t=void 0)&&t.randomBytes&&e.setPRNG((function(e,r){var i,n=t.randomBytes(r);for(i=0;i<r;i++)e[i]=n[i];F(n)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})}));const Fi=V.getNodeCrypto();function Ni(e){const t=new Uint8Array(e);if("undefined"!=typeof crypto&&crypto.getRandomValues)crypto.getRandomValues(t);else{if(!Fi)throw Error("No secure random number generator available.");{const e=Fi.randomBytes(t.length);t.set(e)}}return t}async function qi(e,t){const r=await V.getBigInteger();if(t.lt(e))throw Error("Illegal parameter value: max <= min");const i=t.sub(e),n=i.byteLength();return new r(await Ni(n+8)).mod(i).add(e)}var Li=/*#__PURE__*/Object.freeze({__proto__:null,getRandomBytes:Ni,getRandomBigInteger:qi});async function Oi(e,t,r){const i=await V.getBigInteger(),n=new i(1),a=n.leftShift(new i(e-1)),s=new i(30),o=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2],c=await qi(a,a.leftShift(n));let u=c.mod(s).toNumber();do{c.iadd(new i(o[u])),u=(u+o[u])%o.length,c.bitLength()>e&&(c.imod(a.leftShift(n)).iadd(a),u=c.mod(s).toNumber())}while(!await Hi(c,t,r));return c}async function Hi(e,t,r){return!(t&&!e.dec().gcd(t).isOne())&&(!!await async function(e){const t=await V.getBigInteger();return ji.every((r=>0!==e.mod(new t(r))))}(e)&&(!!await async function(e,t){const r=await V.getBigInteger();return t=t||new r(2),t.modExp(e.dec(),e).isOne()}(e)&&!!await async function(e,t,r){const i=await V.getBigInteger(),n=e.bitLength();t||(t=Math.max(1,n/48|0));const a=e.dec();let s=0;for(;!a.getBit(s);)s++;const o=e.rightShift(new i(s));for(;t>0;t--){let t,n=(r?r():await qi(new i(2),a)).modExp(o,e);if(!n.isOne()&&!n.equal(a)){for(t=1;t<s;t++){if(n=n.mul(n).mod(e),n.isOne())return!1;if(n.equal(a))break}if(t===s)return!1}}return!0}(e,r)))}const ji=[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,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999];const Gi=[];function Wi(e,t){const r=e.length;if(r>t-11)throw Error("Message too long");const i=function(e){const t=new Uint8Array(e);let r=0;for(;r<e;){const i=Ni(e-r);for(let e=0;e<i.length;e++)0!==i[e]&&(t[r++]=i[e])}return t}(t-r-3),n=new Uint8Array(t);return n[1]=2,n.set(i,2),n.set(e,t-r),n}function Vi(e,t){let r=2,i=1;for(let t=r;t<e.length;t++)i&=0!==e[t],r+=i;const n=r-2,a=e.subarray(r+1),s=0===e[0]&2===e[1]&n>=8&!i;if(t)return V.selectUint8Array(s,a,t);if(s)return a;throw Error("Decryption error")}async function Ji(e,t,r){let i;if(t.length!==Gr.getHashByteLength(e))throw Error("Invalid hash length");const n=new Uint8Array(Gi[e].length);for(i=0;i<Gi[e].length;i++)n[i]=Gi[e][i];const a=n.length+t.length;if(r<a+11)throw Error("Intended encoded message length too short");const s=new Uint8Array(r-a-3).fill(255),o=new Uint8Array(r);return o[1]=1,o.set(s,2),o.set(n,r-a),o.set(t,r-t.length),o}Gi[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],Gi[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],Gi[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],Gi[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],Gi[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],Gi[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],Gi[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];var Yi=/*#__PURE__*/Object.freeze({__proto__:null,emeEncode:Wi,emeDecode:Vi,emsaEncode:Ji});const Zi=V.getWebCrypto(),Xi=V.getNodeCrypto(),$i=void 0,en=Xi?$i.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())})):void 0,tn=Xi?$i.define("RSAPubliceKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())})):void 0;var rn=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a,s,o,c){if(t&&!V.isStream(t))if(V.getWebCrypto())try{return await async function(e,t,r,i,n,a,s,o){const c=await async function(e,t,r,i,n,a){const s=await V.getBigInteger(),o=new s(i),c=new s(n),u=new s(r);let h=u.mod(c.dec()),f=u.mod(o.dec());return f=f.toUint8Array(),h=h.toUint8Array(),{kty:"RSA",n:te(e,!0),e:te(t,!0),d:te(r,!0),p:te(n,!0),q:te(i,!0),dp:te(h,!0),dq:te(f,!0),qi:te(a,!0),ext:!0}}(r,i,n,a,s,o),u={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},h=await Zi.importKey("jwk",c,u,!1,["sign"]);return new Uint8Array(await Zi.sign("RSASSA-PKCS1-v1_5",h,t))}(ie.read(ie.webHash,e),t,r,i,n,a,s,o)}catch(e){V.printDebugError(e)}else if(V.getNodeCrypto())return async function(e,t,r,i,n,a,s,o){const{default:c}=await Promise.resolve().then((function(){return ly})),u=new c(a),h=new c(s),f=new c(n),d=f.mod(h.subn(1)),l=f.mod(u.subn(1)),p=Xi.createSign(ie.read(ie.hash,e));p.write(t),p.end();const y={version:0,modulus:new c(r),publicExponent:new c(i),privateExponent:new c(n),prime1:new c(s),prime2:new c(a),exponent1:d,exponent2:l,coefficient:new c(o)};if(void 0!==Xi.createPrivateKey){const e=en.encode(y,"der");return new Uint8Array(p.sign({key:e,format:"der",type:"pkcs1"}))}const b=en.encode(y,"pem",{label:"RSA PRIVATE KEY"});return new Uint8Array(p.sign(b))}(e,t,r,i,n,a,s,o);return async function(e,t,r,i){const n=await V.getBigInteger();t=new n(t);const a=new n(await Ji(e,i,t.byteLength()));if(r=new n(r),a.gte(t))throw Error("Message size cannot exceed modulus size");return a.modExp(r,t).toUint8Array("be",t.byteLength())}(e,r,n,c)},verify:async function(e,t,r,i,n,a){if(t&&!V.isStream(t))if(V.getWebCrypto())try{return await async function(e,t,r,i,n){const a=function(e,t){return{kty:"RSA",n:te(e,!0),e:te(t,!0),ext:!0}}(i,n),s=await Zi.importKey("jwk",a,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return Zi.verify("RSASSA-PKCS1-v1_5",s,r,t)}(ie.read(ie.webHash,e),t,r,i,n)}catch(e){V.printDebugError(e)}else if(V.getNodeCrypto())return async function(e,t,r,i,n){const{default:a}=await Promise.resolve().then((function(){return ly})),s=Xi.createVerify(ie.read(ie.hash,e));s.write(t),s.end();const o={modulus:new a(i),publicExponent:new a(n)};let c;if(void 0!==Xi.createPrivateKey){c={key:tn.encode(o,"der"),format:"der",type:"pkcs1"}}else c=tn.encode(o,"pem",{label:"RSA PUBLIC KEY"});try{return await s.verify(c,r)}catch(e){return!1}}(e,t,r,i,n);return async function(e,t,r,i,n){const a=await V.getBigInteger();if(r=new a(r),t=new a(t),i=new a(i),t.gte(r))throw Error("Signature size cannot exceed modulus size");const s=t.modExp(i,r).toUint8Array("be",r.byteLength()),o=await Ji(e,n,r.byteLength());return V.equalsUint8Array(s,o)}(e,r,i,n,a)},encrypt:async function(e,t,r){return V.getNodeCrypto()?async function(e,t,r){const{default:i}=await Promise.resolve().then((function(){return ly})),n={modulus:new i(t),publicExponent:new i(r)};let a;if(void 0!==Xi.createPrivateKey){a={key:tn.encode(n,"der"),format:"der",type:"pkcs1",padding:Xi.constants.RSA_PKCS1_PADDING}}else{a={key:tn.encode(n,"pem",{label:"RSA PUBLIC KEY"}),padding:Xi.constants.RSA_PKCS1_PADDING}}return new Uint8Array(Xi.publicEncrypt(a,e))}(e,t,r):async function(e,t,r){const i=await V.getBigInteger();if(t=new i(t),e=new i(Wi(e,t.byteLength())),r=new i(r),e.gte(t))throw Error("Message size cannot exceed modulus size");return e.modExp(r,t).toUint8Array("be",t.byteLength())}(e,t,r)},decrypt:async function(e,t,r,i,n,a,s,o){return V.getNodeCrypto()?async function(e,t,r,i,n,a,s,o){const{default:c}=await Promise.resolve().then((function(){return ly})),u=new c(n),h=new c(a),f=new c(i),d=f.mod(h.subn(1)),l=f.mod(u.subn(1)),p={version:0,modulus:new c(t),publicExponent:new c(r),privateExponent:new c(i),prime1:new c(a),prime2:new c(n),exponent1:d,exponent2:l,coefficient:new c(s)};let y;if(void 0!==Xi.createPrivateKey){y={key:en.encode(p,"der"),format:"der",type:"pkcs1",padding:Xi.constants.RSA_PKCS1_PADDING}}else{y={key:en.encode(p,"pem",{label:"RSA PRIVATE KEY"}),padding:Xi.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(Xi.privateDecrypt(y,e))}catch(e){if(o)return o;throw Error("Decryption error")}}(e,t,r,i,n,a,s,o):async function(e,t,r,i,n,a,s,o){const c=await V.getBigInteger();if(e=new c(e),t=new c(t),r=new c(r),i=new c(i),n=new c(n),a=new c(a),s=new c(s),e.gte(t))throw Error("Data too large.");const u=i.mod(a.dec()),h=i.mod(n.dec()),f=(await qi(new c(2),t)).mod(t),d=f.modInv(t).modExp(r,t);e=e.mul(d).mod(t);const l=e.modExp(h,n),p=e.modExp(u,a),y=s.mul(p.sub(l)).mod(a);let b=y.mul(n).add(l);return b=b.mul(f).mod(t),Vi(b.toUint8Array("be",t.byteLength()),o)}(e,t,r,i,n,a,s,o)},generate:async function(e,t){if(t=new(await V.getBigInteger())(t),V.getWebCrypto()){const r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:t.toUint8Array(),hash:{name:"SHA-1"}},i=await Zi.generateKey(r,!0,["sign","verify"]),n=await Zi.exportKey("jwk",i.privateKey);return{n:ee(n.n),e:t.toUint8Array(),d:ee(n.d),p:ee(n.q),q:ee(n.p),u:ee(n.qi)}}if(V.getNodeCrypto()&&Xi.generateKeyPair&&en){const r={modulusLength:e,publicExponent:t.toNumber(),publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"der"}},i=await new Promise(((e,t)=>{Xi.generateKeyPair("rsa",r,((r,i,n)=>{r?t(r):e(en.decode(n,"der"))}))}));return{n:i.modulus.toArrayLike(Uint8Array),e:i.publicExponent.toArrayLike(Uint8Array),d:i.privateExponent.toArrayLike(Uint8Array),p:i.prime2.toArrayLike(Uint8Array),q:i.prime1.toArrayLike(Uint8Array),u:i.coefficient.toArrayLike(Uint8Array)}}let r,i,n;do{i=await Oi(e-(e>>1),t,40),r=await Oi(e>>1,t,40),n=r.mul(i)}while(n.bitLength()!==e);const a=r.dec().imul(i.dec());return i.lt(r)&&([r,i]=[i,r]),{n:n.toUint8Array(),e:t.toUint8Array(),d:t.modInv(a).toUint8Array(),p:r.toUint8Array(),q:i.toUint8Array(),u:r.modInv(i).toUint8Array()}},validateParams:async function(e,t,r,i,n,a){const s=await V.getBigInteger();if(e=new s(e),i=new s(i),n=new s(n),!i.mul(n).equal(e))return!1;const o=new s(2);if(a=new s(a),!i.mul(a).mod(n).isOne())return!1;t=new s(t),r=new s(r);const c=new s(Math.floor(e.bitLength()/3)),u=await qi(o,o.leftShift(c)),h=u.mul(r).mul(t);return!(!h.mod(i.dec()).equal(u)||!h.mod(n.dec()).equal(u))}});var nn=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,i){const n=await V.getBigInteger();t=new n(t),r=new n(r),i=new n(i);const a=new n(Wi(e,t.byteLength())),s=await qi(new n(1),t.dec());return{c1:r.modExp(s,t).toUint8Array(),c2:i.modExp(s,t).imul(a).imod(t).toUint8Array()}},decrypt:async function(e,t,r,i,n){const a=await V.getBigInteger();return e=new a(e),t=new a(t),r=new a(r),i=new a(i),Vi(e.modExp(i,r).modInv(r).imul(t).imod(r).toUint8Array("be",r.byteLength()),n)},validateParams:async function(e,t,r,i){const n=await V.getBigInteger();e=new n(e),t=new n(t),r=new n(r);const a=new n(1);if(t.lte(a)||t.gte(e))return!1;const s=new n(e.bitLength()),o=new n(1023);if(s.lt(o))return!1;if(!t.modExp(e.dec(),e).isOne())return!1;let c=t;const u=new n(1),h=new n(2).leftShift(new n(17));for(;u.lt(h);){if(c=c.mul(t).imod(e),c.isOne())return!1;u.iinc()}i=new n(i);const f=new n(2),d=await qi(f.leftShift(s.dec()),f.leftShift(s)),l=e.dec().imul(d).iadd(i);return!!r.equal(t.modExp(l,e))}});class an{constructor(e){if(e instanceof an)this.oid=e.oid;else if(V.isArray(e)||V.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw Error("Invalid oid")}write(){return V.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return V.uint8ArrayToHex(this.oid)}getName(){const e=this.toHex();if(ie.curve[e])return ie.write(ie.curve,e);throw Error("Unknown curve object identifier.")}}function sn(e,t){return e.keyPair({priv:t})}function on(e,t){const r=e.keyPair({pub:t});if(!0!==r.validate().result)throw Error("Invalid elliptic public key");return r}async function cn(e){if(!ne.useIndutnyElliptic)throw Error("This curve is only supported in the full build of OpenPGP.js");const{default:t}=await Promise.resolve().then((function(){return xb}));return new t.ec(e)}function un(e){let t,r=0;const i=e[0];return i<192?([r]=e,t=1):i<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===i&&(r=V.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function hn(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):V.concatUint8Array([new Uint8Array([255]),V.writeNumber(e,4)])}function fn(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function dn(e){return new Uint8Array([192|e])}function ln(e,t){return V.concatUint8Array([dn(e),hn(t)])}function pn(e){return[ie.packet.literalData,ie.packet.compressedData,ie.packet.symmetricallyEncryptedData,ie.packet.symEncryptedIntegrityProtectedData,ie.packet.aeadEncryptedData].includes(e)}async function yn(e,t){const r=M(e);let i,n;try{const s=await r.peekBytes(2);if(!s||s.length<2||0==(128&s[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const o=await r.readByte();let c,u,h=-1,f=-1;f=0,0!=(64&o)&&(f=1),f?h=63&o:(h=(63&o)>>2,u=3&o);const d=pn(h);let l,p=null;if(d){if("array"===V.isStream(e)){const e=new a;i=D(e),p=e}else{const e=new E;i=D(e.writable),p=e.readable}n=t({tag:h,packet:p})}else p=[];do{if(f){const e=await r.readByte();if(l=!1,e<192)c=e;else if(e>=192&&e<224)c=(e-192<<8)+await r.readByte()+192;else if(e>223&&e<255){if(c=1<<(31&e),l=!0,!d)throw new TypeError("This packet type does not support partial lengths.")}else c=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte()}else switch(u){case 0:c=await r.readByte();break;case 1:c=await r.readByte()<<8|await r.readByte();break;case 2:c=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte();break;default:c=1/0}if(c>0){let e=0;for(;;){i&&await i.ready;const{done:t,value:n}=await r.read();if(t){if(c===1/0)break;throw Error("Unexpected end of packet")}const a=c===1/0?n:n.subarray(0,c-e);if(i?await i.write(a):p.push(a),e+=n.length,e>=c){r.unshift(n.subarray(c-e+n.length));break}}}}while(l);const y=await r.peekBytes(d?1/0:2);return i?(await i.ready,await i.close()):(p=V.concatUint8Array(p),await t({tag:h,packet:p})),!y||!y.length}catch(e){if(i)return await i.abort(e),!0;throw e}finally{i&&await n,r.releaseLock()}}class bn extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,bn),this.name="UnsupportedError"}}class gn{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}const mn=V.getWebCrypto(),wn=V.getNodeCrypto(),An={p256:"P-256",p384:"P-384",p521:"P-521"},vn=wn?wn.getCurves():[],_n=wn?{secp256k1:vn.includes("secp256k1")?"secp256k1":void 0,p256:vn.includes("prime256v1")?"prime256v1":void 0,p384:vn.includes("secp384r1")?"secp384r1":void 0,p521:vn.includes("secp521r1")?"secp521r1":void 0,ed25519:vn.includes("ED25519")?"ED25519":void 0,curve25519:vn.includes("X25519")?"X25519":void 0,brainpoolP256r1:vn.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,brainpoolP384r1:vn.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,brainpoolP512r1:vn.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},kn={p256:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha256,cipher:ie.symmetric.aes128,node:_n.p256,web:An.p256,payloadSize:32,sharedSize:256},p384:{oid:[6,5,43,129,4,0,34],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha384,cipher:ie.symmetric.aes192,node:_n.p384,web:An.p384,payloadSize:48,sharedSize:384},p521:{oid:[6,5,43,129,4,0,35],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha512,cipher:ie.symmetric.aes256,node:_n.p521,web:An.p521,payloadSize:66,sharedSize:528},secp256k1:{oid:[6,5,43,129,4,0,10],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha256,cipher:ie.symmetric.aes128,node:_n.secp256k1,payloadSize:32},ed25519:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:ie.publicKey.eddsa,hash:ie.hash.sha512,node:!1,payloadSize:32},curve25519:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:ie.publicKey.ecdh,hash:ie.hash.sha256,cipher:ie.symmetric.aes128,node:!1,payloadSize:32},brainpoolP256r1:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha256,cipher:ie.symmetric.aes128,node:_n.brainpoolP256r1,payloadSize:32},brainpoolP384r1:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha384,cipher:ie.symmetric.aes192,node:_n.brainpoolP384r1,payloadSize:48},brainpoolP512r1:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:ie.publicKey.ecdsa,hash:ie.hash.sha512,cipher:ie.symmetric.aes256,node:_n.brainpoolP512r1,payloadSize:64}};class En{constructor(e,t){try{(V.isArray(e)||V.isUint8Array(e))&&(e=new an(e)),e instanceof an&&(e=e.getName()),this.name=ie.write(ie.curve,e)}catch(e){throw new bn("Unknown curve")}t=t||kn[this.name],this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node&&kn[this.name],this.web=t.web&&kn[this.name],this.payloadSize=t.payloadSize,this.web&&V.getWebCrypto()?this.type="web":this.node&&V.getNodeCrypto()?this.type="node":"curve25519"===this.name?this.type="curve25519":"ed25519"===this.name&&(this.type="ed25519")}async genKeyPair(){let e;switch(this.type){case"web":try{return await async function(e){const t=await mn.generateKey({name:"ECDSA",namedCurve:An[e]},!0,["sign","verify"]),r=await mn.exportKey("jwk",t.privateKey),i=await mn.exportKey("jwk",t.publicKey);return{publicKey:Cn(i),privateKey:ee(r.d)}}(this.name)}catch(e){V.printDebugError("Browser did not support generating ec key "+e.message);break}case"node":return async function(e){const t=wn.createECDH(_n[e]);return await t.generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())}}(this.name);case"curve25519":{const t=Ni(32);t[0]=127&t[0]|64,t[31]&=248;const r=t.slice().reverse();e=zi.box.keyPair.fromSecretKey(r);return{publicKey:V.concatUint8Array([new Uint8Array([64]),e.publicKey]),privateKey:t}}case"ed25519":{const e=Ni(32),t=zi.sign.keyPair.fromSeed(e);return{publicKey:V.concatUint8Array([new Uint8Array([64]),t.publicKey]),privateKey:e}}}const t=await cn(this.name);return e=await t.genKeyPair({entropy:V.uint8ArrayToString(Ni(32))}),{publicKey:new Uint8Array(e.getPublic("array",!1)),privateKey:e.getPrivate().toArrayLike(Uint8Array)}}}async function Sn(e,t,r,i){const n={p256:!0,p384:!0,p521:!0,secp256k1:!0,curve25519:e===ie.publicKey.ecdh,brainpoolP256r1:!0,brainpoolP384r1:!0,brainpoolP512r1:!0},a=t.getName();if(!n[a])return!1;if("curve25519"===a){i=i.slice().reverse();const{publicKey:e}=zi.box.keyPair.fromSecretKey(i);r=new Uint8Array(r);const t=new Uint8Array([64,...e]);return!!V.equalsUint8Array(t,r)}const s=await cn(a);try{r=on(s,r).getPublic()}catch(e){return!1}return!!sn(s,i).getPublic().eq(r)}function Cn(e){const t=ee(e.x),r=ee(e.y),i=new Uint8Array(t.length+r.length+1);return i[0]=4,i.set(t,1),i.set(r,t.length+1),i}function In(e,t,r){const i=e,n=r.slice(1,i+1),a=r.slice(i+1,2*i+1);return{kty:"EC",crv:t,x:te(n,!0),y:te(a,!0),ext:!0}}function Bn(e,t,r,i){const n=In(e,t,r);return n.d=te(i,!0),n}const Pn=V.getWebCrypto(),Mn=V.getNodeCrypto();async function Dn(e,t,r,i,n,a){const s=new En(e);if(r&&!V.isStream(r)){const e={publicKey:i,privateKey:n};switch(s.type){case"web":try{return await async function(e,t,r,i){const n=e.payloadSize,a=Bn(e.payloadSize,An[e.name],i.publicKey,i.privateKey),s=await Pn.importKey("jwk",a,{name:"ECDSA",namedCurve:An[e.name],hash:{name:ie.read(ie.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await Pn.sign({name:"ECDSA",namedCurve:An[e.name],hash:{name:ie.read(ie.webHash,t)}},s,r));return{r:o.slice(0,n),s:o.slice(n,n<<1)}}(s,t,r,e)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;V.printDebugError("Browser did not support signing: "+e.message)}break;case"node":{const i=await async function(e,t,r,i){const n=Mn.createSign(ie.read(ie.hash,t));n.write(r),n.end();const a=Rn.encode({version:1,parameters:e.oid,privateKey:Array.from(i.privateKey),publicKey:{unused:0,data:Array.from(i.publicKey)}},"pem",{label:"EC PRIVATE KEY"});return Un.decode(n.sign(a),"der")}(s,t,r,e);return{r:i.r.toArrayLike(Uint8Array),s:i.s.toArrayLike(Uint8Array)}}}}return async function(e,t,r){const i=await cn(e.name),n=sn(i,r),a=n.sign(t);return{r:a.r.toArrayLike(Uint8Array),s:a.s.toArrayLike(Uint8Array)}}(s,a,n)}async function xn(e,t,r,i,n,a){const s=new En(e);if(i&&!V.isStream(i))switch(s.type){case"web":try{return await async function(e,t,{r,s:i},n,a){const s=In(e.payloadSize,An[e.name],a),o=await Pn.importKey("jwk",s,{name:"ECDSA",namedCurve:An[e.name],hash:{name:ie.read(ie.webHash,e.hash)}},!1,["verify"]),c=V.concatUint8Array([r,i]).buffer;return Pn.verify({name:"ECDSA",namedCurve:An[e.name],hash:{name:ie.read(ie.webHash,t)}},o,c,n)}(s,t,r,i,n)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;V.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":return async function(e,t,{r,s:i},n,a){const{default:s}=await Promise.resolve().then((function(){return ly})),o=Mn.createVerify(ie.read(ie.hash,t));o.write(n),o.end();const c=Qn.encode({algorithm:{algorithm:[1,2,840,10045,2,1],parameters:e.oid},subjectPublicKey:{unused:0,data:Array.from(a)}},"pem",{label:"PUBLIC KEY"}),u=Un.encode({r:new s(r),s:new s(i)},"der");try{return o.verify(c,u)}catch(e){return!1}}(s,t,r,i,n)}return async function(e,t,r,i){const n=await cn(e.name),a=on(n,i);return a.verify(r,t)}(s,r,void 0===t?i:a,n)}const Kn=void 0,Un=Mn?Kn.define("ECDSASignature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())})):void 0,Rn=Mn?Kn.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").explicit(0).optional().any(),this.key("publicKey").explicit(1).optional().bitstr())})):void 0,Tn=Mn?Kn.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional().any())})):void 0,Qn=Mn?Kn.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(Tn),this.key("subjectPublicKey").bitstr())})):void 0;var zn=/*#__PURE__*/Object.freeze({__proto__:null,sign:Dn,verify:xn,validateParams:async function(e,t,r){const i=new En(e);if(i.keyType!==ie.publicKey.ecdsa)return!1;switch(i.type){case"web":case"node":{const i=Ni(8),n=ie.hash.sha256,a=await Gr.digest(n,i);try{const s=await Dn(e,n,i,t,r,a);return await xn(e,n,s,i,t,a)}catch(e){return!1}}default:return Sn(ie.publicKey.ecdsa,e,t,r)}}});zi.hash=e=>new Uint8Array($t().update(e).digest());var Fn=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength(ie.hash.sha256))throw Error("Hash algorithm too weak: sha256 or stronger is required for EdDSA.");const s=V.concatUint8Array([n,i.subarray(1)]),o=zi.sign.detached(a,s);return{r:o.subarray(0,32),s:o.subarray(32)}},verify:async function(e,t,{r,s:i},n,a,s){const o=V.concatUint8Array([r,i]);return zi.sign.detached.verify(s,o,a.subarray(1))},validateParams:async function(e,t,r){if("ed25519"!==e.getName())return!1;const{publicKey:i}=zi.sign.keyPair.fromSeed(r),n=new Uint8Array([64,...i]);return V.equalsUint8Array(t,n)}});function Nn(e,t){const r=new je["aes"+8*e.length](e),i=new Uint32Array([2795939494,2795939494]),n=Ln(t);let a=i;const s=n,o=n.length/2,c=new Uint32Array([0,0]);let u=new Uint32Array(4);for(let e=0;e<=5;++e)for(let t=0;t<o;++t)c[1]=o*e+(1+t),u[0]=a[0],u[1]=a[1],u[2]=s[2*t],u[3]=s[2*t+1],u=Ln(r.encrypt(On(u))),a=u.subarray(0,2),a[0]^=c[0],a[1]^=c[1],s[2*t]=u[2],s[2*t+1]=u[3];return On(a,s)}function qn(e,t){const r=new je["aes"+8*e.length](e),i=new Uint32Array([2795939494,2795939494]),n=Ln(t);let a=n.subarray(0,2);const s=n.subarray(2),o=n.length/2-1,c=new Uint32Array([0,0]);let u=new Uint32Array(4);for(let e=5;e>=0;--e)for(let t=o-1;t>=0;--t)c[1]=o*e+(t+1),u[0]=a[0]^c[0],u[1]=a[1]^c[1],u[2]=s[2*t],u[3]=s[2*t+1],u=Ln(r.decrypt(On(u))),a=u.subarray(0,2),s[2*t]=u[2],s[2*t+1]=u[3];if(a[0]===i[0]&&a[1]===i[1])return On(s);throw Error("Key Data Integrity failed")}function Ln(e){const{length:t}=e,r=function(e){if(V.isString(e)){const{length:t}=e,r=new ArrayBuffer(t),i=new Uint8Array(r);for(let r=0;r<t;++r)i[r]=e.charCodeAt(r);return r}return new Uint8Array(e).buffer}(e),i=new DataView(r),n=new Uint32Array(t/4);for(let e=0;e<t/4;++e)n[e]=i.getUint32(4*e);return n}function On(){let e=0;for(let t=0;t<arguments.length;++t)e+=4*arguments[t].length;const t=new ArrayBuffer(e),r=new DataView(t);let i=0;for(let e=0;e<arguments.length;++e){for(let t=0;t<arguments[e].length;++t)r.setUint32(i+4*t,arguments[e][t]);i+=4*arguments[e].length}return new Uint8Array(t)}var Hn=/*#__PURE__*/Object.freeze({__proto__:null,wrap:Nn,unwrap:qn});function jn(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}function Gn(e){const t=e.length;if(t>0){const r=e[t-1];if(r>=1){const i=e.subarray(t-r),n=new Uint8Array(r).fill(r);if(V.equalsUint8Array(i,n))return e.subarray(0,t-r)}}throw Error("Invalid padding")}var Wn=/*#__PURE__*/Object.freeze({__proto__:null,encode:jn,decode:Gn});const Vn=V.getWebCrypto(),Jn=V.getNodeCrypto();function Yn(e,t,r,i){return V.concatUint8Array([t.write(),new Uint8Array([e]),r.write(!0),V.stringToUint8Array("Anonymous Sender "),r.replacementFingerprint||i.subarray(0,20)])}async function Zn(e,t,r,i,n=!1,a=!1){let s;if(n){for(s=0;s<t.length&&0===t[s];s++);t=t.subarray(s)}if(a){for(s=t.length-1;s>=0&&0===t[s];s--);t=t.subarray(0,s+1)}return(await Gr.digest(e,V.concatUint8Array([new Uint8Array([0,0,0,1]),t,i]))).subarray(0,r)}async function Xn(e,t){switch(e.type){case"curve25519":{const r=Ni(32),{secretKey:i,sharedKey:n}=await $n(e,t,null,r);let{publicKey:a}=zi.box.keyPair.fromSecretKey(i);return a=V.concatUint8Array([new Uint8Array([64]),a]),{publicKey:a,sharedKey:n}}case"web":if(e.web&&V.getWebCrypto())try{return await async function(e,t){const r=In(e.payloadSize,e.web.web,t);let i=Vn.generateKey({name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]),n=Vn.importKey("jwk",r,{name:"ECDH",namedCurve:e.web.web},!1,[]);[i,n]=await Promise.all([i,n]);let a=Vn.deriveBits({name:"ECDH",namedCurve:e.web.web,public:n},i.privateKey,e.web.sharedSize),s=Vn.exportKey("jwk",i.publicKey);[a,s]=await Promise.all([a,s]);const o=new Uint8Array(a),c=new Uint8Array(Cn(s));return{publicKey:c,sharedKey:o}}(e,t)}catch(e){V.printDebugError(e)}break;case"node":return async function(e,t){const r=Jn.createECDH(e.node.node);r.generateKeys();const i=new Uint8Array(r.computeSecret(t)),n=new Uint8Array(r.getPublicKey());return{publicKey:n,sharedKey:i}}(e,t)}return async function(e,t){const r=await cn(e.name),i=await e.genKeyPair();t=on(r,t);const n=sn(r,i.privateKey),a=i.publicKey,s=n.derive(t.getPublic()),o=r.curve.p.byteLength(),c=s.toArrayLike(Uint8Array,"be",o);return{publicKey:a,sharedKey:c}}(e,t)}async function $n(e,t,r,i){if(i.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(i,e.payloadSize-i.length),i=t}switch(e.type){case"curve25519":{const e=i.slice().reverse();return{secretKey:e,sharedKey:zi.scalarMult(e,t.subarray(1))}}case"web":if(e.web&&V.getWebCrypto())try{return await async function(e,t,r,i){const n=Bn(e.payloadSize,e.web.web,r,i);let a=Vn.importKey("jwk",n,{name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]);const s=In(e.payloadSize,e.web.web,t);let o=Vn.importKey("jwk",s,{name:"ECDH",namedCurve:e.web.web},!0,[]);[a,o]=await Promise.all([a,o]);let c=Vn.deriveBits({name:"ECDH",namedCurve:e.web.web,public:o},a,e.web.sharedSize),u=Vn.exportKey("jwk",a);[c,u]=await Promise.all([c,u]);const h=new Uint8Array(c);return{secretKey:ee(u.d),sharedKey:h}}(e,t,r,i)}catch(e){V.printDebugError(e)}break;case"node":return async function(e,t,r){const i=Jn.createECDH(e.node.node);i.setPrivateKey(r);const n=new Uint8Array(i.computeSecret(t));return{secretKey:new Uint8Array(i.getPrivateKey()),sharedKey:n}}(e,t,i)}return async function(e,t,r){const i=await cn(e.name);t=on(i,t),r=sn(i,r);const n=new Uint8Array(r.getPrivate()),a=r.derive(t.getPublic()),s=i.curve.p.byteLength(),o=a.toArrayLike(Uint8Array,"be",s);return{secretKey:n,sharedKey:o}}(e,t,i)}var ea=/*#__PURE__*/Object.freeze({__proto__:null,validateParams:async function(e,t,r){return Sn(ie.publicKey.ecdh,e,t,r)},encrypt:async function(e,t,r,i,n){const a=jn(r),s=new En(e),{publicKey:o,sharedKey:c}=await Xn(s,i),u=Yn(ie.publicKey.ecdh,e,t,n),{keySize:h}=Vr(t.cipher);return{publicKey:o,wrappedKey:Nn(await Zn(t.hash,c,h,u),a)}},decrypt:async function(e,t,r,i,n,a,s){const o=new En(e),{sharedKey:c}=await $n(o,r,n,a),u=Yn(ie.publicKey.ecdh,e,t,s),{keySize:h}=Vr(t.cipher);let f;for(let e=0;e<3;e++)try{return Gn(qn(await Zn(t.hash,c,h,u,1===e,2===e),i))}catch(e){f=e}throw f}}),ta=/*#__PURE__*/Object.freeze({__proto__:null,Curve:En,ecdh:ea,ecdsa:zn,eddsa:Fn,generate:async function(e){const t=await V.getBigInteger();e=new En(e);const r=await e.genKeyPair(),i=new t(r.publicKey).toUint8Array(),n=new t(r.privateKey).toUint8Array("be",e.payloadSize);return{oid:e.oid,Q:i,secret:n,hash:e.hash,cipher:e.cipher}},getPreferredHashAlgo:function(e){return kn[ie.write(ie.curve,e.toHex())].hash}});var ra=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a){const s=await V.getBigInteger(),o=new s(1);let c,u,h,f;i=new s(i),n=new s(n),r=new s(r),a=new s(a),r=r.mod(i),a=a.mod(n);const d=new s(t.subarray(0,n.byteLength())).mod(n);for(;;){if(c=await qi(o,n),u=r.modExp(c,i).imod(n),u.isZero())continue;const e=a.mul(u).imod(n);if(f=d.add(e).imod(n),h=c.modInv(n).imul(f).imod(n),!h.isZero())break}return{r:u.toUint8Array("be",n.byteLength()),s:h.toUint8Array("be",n.byteLength())}},verify:async function(e,t,r,i,n,a,s,o){const c=await V.getBigInteger(),u=new c(0);if(t=new c(t),r=new c(r),a=new c(a),s=new c(s),n=new c(n),o=new c(o),t.lte(u)||t.gte(s)||r.lte(u)||r.gte(s))return V.printDebug("invalid DSA Signature"),!1;const h=new c(i.subarray(0,s.byteLength())).imod(s),f=r.modInv(s);if(f.isZero())return V.printDebug("invalid DSA Signature"),!1;n=n.mod(a),o=o.mod(a);const d=h.mul(f).imod(s),l=t.mul(f).imod(s),p=n.modExp(d,a),y=o.modExp(l,a);return p.mul(y).imod(a).imod(s).equal(t)},validateParams:async function(e,t,r,i,n){const a=await V.getBigInteger();e=new a(e),t=new a(t),r=new a(r),i=new a(i);const s=new a(1);if(r.lte(s)||r.gte(e))return!1;if(!e.dec().mod(t).isZero())return!1;if(!r.modExp(t,e).isOne())return!1;const o=new a(t.bitLength()),c=new a(150);if(o.lt(c)||!await Hi(t,null,32))return!1;n=new a(n);const u=new a(2),h=await qi(u.leftShift(o.dec()),u.leftShift(o)),f=t.mul(h).add(n);return!!i.equal(r.modExp(f,e))}}),ia={rsa:rn,elgamal:nn,elliptic:ta,dsa:ra,nacl:zi};function na(e,t,r){switch(e){case ie.hash.sha1:case ie.hash.sha256:case ie.hash.sha512:return async function(e,t,r){const i=Gr.getBlockSize(e),n=new Uint8Array(i);n.fill(92),aa(n,t);const a=new Uint8Array(i);a.fill(54),aa(a,t);const s=V.concatUint8Array([a,r]),o=await Gr.digest(e,s),c=V.concatUint8Array([n,o]);return Gr.digest(e,c)}(e,t,r);default:throw Error("Unsupported hash algorithm.")}}function aa(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r]||0}class sa{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!V.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return V.concatUint8Array([new Uint8Array([this.length]),this.data])}read(e){if(e.length>=1){const t=e[0];if(e.length>=t+1)return this.data=e.subarray(1,1+t),this.length=t,1+t}throw Error("Invalid octet string")}}var oa=/*#__PURE__*/Object.freeze({__proto__:null,parseSignatureParams:function(e,t){let r=0;switch(e){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaSign:return{s:V.readMPI(t.subarray(r))};case ie.publicKey.dsa:case ie.publicKey.ecdsa:{const e=V.readMPI(t.subarray(r));r+=e.length+2;return{r:e,s:V.readMPI(t.subarray(r))}}case ie.publicKey.eddsa:{let e=V.readMPI(t.subarray(r));r+=e.length+2,e=V.leftPad(e,32);let i=V.readMPI(t.subarray(r));return i=V.leftPad(i,32),{r:e,s:i}}case ie.publicKey.hmac:{const e=new sa;return e.read(t.subarray(r)),{mac:e}}default:throw new bn("Unknown signature algorithm.")}},verify:async function(e,t,r,i,n,a,s){switch(e){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaSign:{const{n:e,e:n}=i,o=V.leftPad(r.s,e.length);return ia.rsa.verify(t,a,o,e,n,s)}case ie.publicKey.dsa:{const{g:e,p:n,q:a,y:o}=i,{r:c,s:u}=r;return ia.dsa.verify(t,c,u,s,e,n,a,o)}case ie.publicKey.ecdsa:{const{oid:e,Q:n}=i,o=new ia.elliptic.Curve(e).payloadSize,c=V.leftPad(r.r,o),u=V.leftPad(r.s,o);return ia.elliptic.ecdsa.verify(e,t,{r:c,s:u},a,n,s)}case ie.publicKey.eddsa:{const{oid:e,Q:n}=i;return ia.elliptic.eddsa.verify(e,t,r,a,n,s)}case ie.publicKey.hmac:{if(!n)throw Error("Cannot verify HMAC signature with symmetric key missing private parameters");const{cipher:e}=i,{keyMaterial:t}=n,a=await na(e.getValue(),t,s);return V.equalsUint8Array(a,r.mac.data)}default:throw Error("Unknown signature algorithm.")}},sign:async function(e,t,r,i,n,a){if(!r||!i)throw Error("Missing key parameters");switch(e){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaSign:{const{n:e,e:s}=r,{d:o,p:c,q:u,u:h}=i;return{s:await ia.rsa.sign(t,n,e,s,o,c,u,h,a)}}case ie.publicKey.dsa:{const{g:e,p:n,q:s}=r,{x:o}=i;return ia.dsa.sign(t,a,e,n,s,o)}case ie.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case ie.publicKey.ecdsa:{const{oid:e,Q:s}=r,{d:o}=i;return ia.elliptic.ecdsa.sign(e,t,n,s,o,a)}case ie.publicKey.eddsa:{const{oid:e,Q:s}=r,{seed:o}=i;return ia.elliptic.eddsa.sign(e,t,n,s,o,a)}case ie.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=i,n=await na(e.getValue(),t,a);return{mac:new sa(n)}}default:throw Error("Unknown signature algorithm.")}}});class ca{constructor(e){e=void 0===e?new Uint8Array([]):V.isString(e)?V.stringToUint8Array(e):new Uint8Array(e),this.data=e}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw Error("Invalid symmetric key")}write(){return V.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class ua{constructor(e){if(e){const{version:t,hash:r,cipher:i,replacementFingerprint:n}=e;this.version=t||1,this.hash=r,this.cipher=i,this.replacementFingerprint=n}else this.version=null,this.hash=null,this.cipher=null,this.replacementFingerprint=null}read(e){const t=e[0];this.version=e[1],this.hash=e[2],this.cipher=e[3];let r=4;if(255===this.version){const i=t-r+1;this.replacementFingerprint=e.slice(r,r+i),r+=i}return r}write(e){if(!this.version||1===this.version||e)return new Uint8Array([3,1,this.hash,this.cipher]);return V.concatUint8Array([new Uint8Array([3+this.replacementFingerprint.length,this.version,this.hash,this.cipher]),this.replacementFingerprint])}}const ha=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=ie.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return ie.read(e,this.data)}getValue(){return this.data}},fa=ha(ie.aead),da=ha(ie.symmetric),la=ha(ie.hash);async function pa(e,t){const r=Ni(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await Gr.sha256(r)}}}function ya(e){const{keySize:t}=Vr(e);return Ni(t)}function ba(e){const t=ie.read(ie.aead,e);return Qi[t]}function ga(e){try{e.getName()}catch(e){throw new bn("Unknown curve OID")}}var ma=/*#__PURE__*/Object.freeze({__proto__:null,publicKeyEncrypt:async function(e,t,r,i,n){switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:{const{n:e,e:r}=t;return{c:await ia.rsa.encrypt(i,e,r)}}case ie.publicKey.elgamal:{const{p:e,g:r,y:n}=t;return ia.elgamal.encrypt(i,e,r,n)}case ie.publicKey.ecdh:{const{oid:e,Q:r,kdfParams:a}=t,{publicKey:s,wrappedKey:o}=await ia.elliptic.ecdh.encrypt(e,a,i,r,n);return{V:s,C:new ca(o)}}case ie.publicKey.aead:{if(!r)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=t,n=e.getValue(),{keyMaterial:a}=r,s=ne.preferredAEADAlgorithm,o=ba(ne.preferredAEADAlgorithm),{ivLength:c}=o,u=Ni(c),h=await o(n,a),f=await h.encrypt(i,u,new Uint8Array);return{aeadMode:new fa(s),iv:u,c:new sa(f)}}default:return[]}},publicKeyDecrypt:async function(e,t,r,i,n,a){switch(e){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaEncrypt:{const{c:e}=i,{n,e:s}=t,{d:o,p:c,q:u,u:h}=r;return ia.rsa.decrypt(e,n,s,o,c,u,h,a)}case ie.publicKey.elgamal:{const{c1:e,c2:n}=i,s=t.p,o=r.x;return ia.elgamal.decrypt(e,n,s,o,a)}case ie.publicKey.ecdh:{const{oid:e,Q:a,kdfParams:s}=t,{d:o}=r,{V:c,C:u}=i;return ia.elliptic.ecdh.decrypt(e,s,c,u.data,a,o,n)}case ie.publicKey.aead:{const{cipher:e}=t,n=e.getValue(),{keyMaterial:a}=r,{aeadMode:s,iv:o,c}=i,u=ba(s.getValue());return(await u(n,a)).decrypt(c.data,o,new Uint8Array)}default:throw Error("Unknown public key encryption algorithm.")}},parsePublicKeyParams:function(e,t){let r=0;switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:{const e=V.readMPI(t.subarray(r));r+=e.length+2;const i=V.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{n:e,e:i}}}case ie.publicKey.dsa:{const e=V.readMPI(t.subarray(r));r+=e.length+2;const i=V.readMPI(t.subarray(r));r+=i.length+2;const n=V.readMPI(t.subarray(r));r+=n.length+2;const a=V.readMPI(t.subarray(r));return r+=a.length+2,{read:r,publicParams:{p:e,q:i,g:n,y:a}}}case ie.publicKey.elgamal:{const e=V.readMPI(t.subarray(r));r+=e.length+2;const i=V.readMPI(t.subarray(r));r+=i.length+2;const n=V.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{p:e,g:i,y:n}}}case ie.publicKey.ecdsa:{const e=new an;r+=e.read(t),ga(e);const i=V.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{oid:e,Q:i}}}case ie.publicKey.eddsa:{const e=new an;r+=e.read(t),ga(e);let i=V.readMPI(t.subarray(r));return r+=i.length+2,i=V.leftPad(i,33),{read:r,publicParams:{oid:e,Q:i}}}case ie.publicKey.ecdh:{const e=new an;r+=e.read(t),ga(e);const i=V.readMPI(t.subarray(r));r+=i.length+2;const n=new ua;return r+=n.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:i,kdfParams:n}}}case ie.publicKey.hmac:case ie.publicKey.aead:{const e=new da;r+=e.read(t);const i=Gr.getHashByteLength(ie.hash.sha256),n=t.subarray(r,r+i);return r+=i,{read:r,publicParams:{cipher:e,digest:n}}}default:throw new bn("Unknown public key encryption algorithm.")}},parsePrivateKeyParams:function(e,t,r){let i=0;switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:{const e=V.readMPI(t.subarray(i));i+=e.length+2;const r=V.readMPI(t.subarray(i));i+=r.length+2;const n=V.readMPI(t.subarray(i));i+=n.length+2;const a=V.readMPI(t.subarray(i));return i+=a.length+2,{read:i,privateParams:{d:e,p:r,q:n,u:a}}}case ie.publicKey.dsa:case ie.publicKey.elgamal:{const e=V.readMPI(t.subarray(i));return i+=e.length+2,{read:i,privateParams:{x:e}}}case ie.publicKey.ecdsa:case ie.publicKey.ecdh:{const e=new En(r.oid);let n=V.readMPI(t.subarray(i));return i+=n.length+2,n=V.leftPad(n,e.payloadSize),{read:i,privateParams:{d:n}}}case ie.publicKey.eddsa:{const e=new En(r.oid);let n=V.readMPI(t.subarray(i));return i+=n.length+2,n=V.leftPad(n,e.payloadSize),{read:i,privateParams:{seed:n}}}case ie.publicKey.hmac:{const{cipher:e}=r,n=Gr.getHashByteLength(e.getValue()),a=t.subarray(i,i+32);i+=32;const s=t.subarray(i,i+n);return i+=n,{read:i,privateParams:{hashSeed:a,keyMaterial:s}}}case ie.publicKey.aead:{const{cipher:e}=r,n=t.subarray(i,i+32);i+=32;const{keySize:a}=Vr(e.getValue()),s=t.subarray(i,i+a);return i+=a,{read:i,privateParams:{hashSeed:n,keyMaterial:s}}}default:throw new bn("Unknown public key encryption algorithm.")}},parseEncSessionKeyParams:function(e,t){let r=0;switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:return{c:V.readMPI(t.subarray(r))};case ie.publicKey.elgamal:{const e=V.readMPI(t.subarray(r));r+=e.length+2;return{c1:e,c2:V.readMPI(t.subarray(r))}}case ie.publicKey.ecdh:{const e=V.readMPI(t.subarray(r));r+=e.length+2;const i=new ca;return i.read(t.subarray(r)),{V:e,C:i}}case ie.publicKey.aead:{const e=new fa;r+=e.read(t.subarray(r));const{ivLength:i}=ba(e.getValue()),n=t.subarray(r,r+i);r+=i;const a=new sa;return r+=a.read(t.subarray(r)),{aeadMode:e,iv:n,c:a}}default:throw new bn("Unknown public key encryption algorithm.")}},serializeParams:function(e,t){let r;switch(e){case ie.publicKey.hmac:case ie.publicKey.aead:r=Object.keys(t).map((e=>{const r=t[e];return V.isUint8Array(r)?r:r.write()}));break;default:r=Object.keys(t).map((e=>{const r=t[e];return V.isUint8Array(r)?V.uint8ArrayToMPI(r):r.write()}))}return V.concatUint8Array(r)},generateParams:function(e,t,r,i){switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:return ia.rsa.generate(t,65537).then((({n:e,e:t,d:r,p:i,q:n,u:a})=>({privateParams:{d:r,p:i,q:n,u:a},publicParams:{n:e,e:t}})));case ie.publicKey.ecdsa:return ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new an(e),Q:t}})));case ie.publicKey.eddsa:return ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new an(e),Q:t}})));case ie.publicKey.ecdh:return ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r,hash:i,cipher:n})=>({privateParams:{d:r},publicParams:{oid:new an(e),Q:t,kdfParams:new ua({hash:i,cipher:n})}})));case ie.publicKey.hmac:{const e=ie.write(ie.hash,i);return pa(Ni(Gr.getHashByteLength(e)),new la(e))}case ie.publicKey.aead:{const e=ie.write(ie.symmetric,i);return pa(ya(e),new da(e))}case ie.publicKey.dsa:case ie.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}},validateParams:async function(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case ie.publicKey.rsaEncrypt:case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:{const{n:e,e:i}=t,{d:n,p:a,q:s,u:o}=r;return ia.rsa.validateParams(e,i,n,a,s,o)}case ie.publicKey.dsa:{const{p:e,q:i,g:n,y:a}=t,{x:s}=r;return ia.dsa.validateParams(e,i,n,a,s)}case ie.publicKey.elgamal:{const{p:e,g:i,y:n}=t,{x:a}=r;return ia.elgamal.validateParams(e,i,n,a)}case ie.publicKey.ecdsa:case ie.publicKey.ecdh:{const i=ia.elliptic[ie.read(ie.publicKey,e)],{oid:n,Q:a}=t,{d:s}=r;return i.validateParams(n,a,s)}case ie.publicKey.eddsa:{const{oid:e,Q:i}=t,{seed:n}=r;return ia.elliptic.eddsa.validateParams(e,i,n)}case ie.publicKey.hmac:{const{cipher:e,digest:i}=t,{hashSeed:n,keyMaterial:a}=r;return Gr.getHashByteLength(e.getValue())===a.length&&V.equalsUint8Array(i,await Gr.sha256(n))}case ie.publicKey.aead:{const{cipher:e,digest:i}=t,{hashSeed:n,keyMaterial:a}=r,{keySize:s}=Vr(e.getValue());return s===a.length&&V.equalsUint8Array(i,await Gr.sha256(n))}default:throw Error("Unknown public key algorithm.")}},getPrefixRandom:async function(e){const{blockSize:t}=Vr(e),r=await Ni(t),i=new Uint8Array([r[r.length-2],r[r.length-1]]);return V.concat([r,i])},generateSessionKey:ya,getAEADMode:ba,getCipher:Vr});const wa={cipher:je,hash:Gr,mode:Qi,publicKey:ia,signature:oa,random:Li,pkcs1:Yi,pkcs5:Wn,aesKW:Hn};Object.assign(wa,ma);class Aa extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,Aa),this.name="Argon2OutOfMemoryError"}}let va,_a;class ka{constructor(e=ne){const{passes:t,parallelism:r,memoryExponent:i}=e.s2kArgon2Params;this.type="argon2",this.salt=null,this.t=t,this.p=r,this.encodedM=i}generateSalt(){this.salt=wa.random.getRandomBytes(16)}read(e){let t=0;return this.salt=e.subarray(t,t+16),t+=16,this.t=e[t++],this.p=e[t++],this.encodedM=e[t++],t}write(){const e=[new Uint8Array([ie.write(ie.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return V.concatUint8Array(e)}async produceKey(e,t){const r=2<<this.encodedM-1;try{_a||(va=va||(await Promise.resolve().then((function(){return wg}))).default,_a=va());const i=await _a,n=i({version:19,type:2,password:V.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>1048576&&(_a=va()),n}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new Aa("Could not allocate required memory for Argon2"):e}}}class Ea{constructor(e,t=ne){this.algorithm=ie.hash.sha256,this.type=ie.read(ie.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=wa.random.getRandomBytes(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==V.uint8ArrayToString(e.subarray(t,t+3)))throw Error("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw Error("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw Error("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...V.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([ie.write(ie.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return V.concatUint8Array(e)}async produceKey(e,t){e=V.encodeUTF8(e);const r=[];let i=0,n=0;for(;i<t;){let t;switch(this.type){case"simple":t=V.concatUint8Array([new Uint8Array(n),e]);break;case"salted":t=V.concatUint8Array([new Uint8Array(n),this.salt,e]);break;case"iterated":{const r=V.concatUint8Array([this.salt,e]);let i=r.length;const a=Math.max(this.getCount(),i);t=new Uint8Array(n+a),t.set(r,n);for(let e=n+i;e<a;e+=i,i*=2)t.copyWithin(e,n,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const a=await wa.hash.digest(this.algorithm,t);r.push(a),i+=a.length,n++}return V.concatUint8Array(r).subarray(0,t)}}const Sa=new Set([ie.s2k.argon2,ie.s2k.iterated]);function Ca(e,t=ne){switch(e){case ie.s2k.argon2:return new ka(t);case ie.s2k.iterated:case ie.s2k.gnu:case ie.s2k.salted:case ie.s2k.simple:return new Ea(e,t);default:throw Error("Unsupported S2K type "+e)}}function Ia(e){const{s2kType:t}=e;if(!Sa.has(t))throw Error("The provided `config.s2kType` value is not allowed");return Ca(t,e)}var Ba="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function Pa(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)}const Ma={arraySet:function(e,t,r,i,n){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+i),n);else for(let a=0;a<i;a++)e[n+a]=t[r+a]},flattenChunks:function(e){let t,r,i,n,a;for(i=0,t=0,r=e.length;t<r;t++)i+=e[t].length;const s=new Uint8Array(i);for(n=0,t=0,r=e.length;t<r;t++)a=e[t],s.set(a,n),n+=a.length;return s}},Da={arraySet:function(e,t,r,i,n){for(let a=0;a<i;a++)e[n+a]=t[r+a]},flattenChunks:function(e){return[].concat.apply([],e)}};let xa=Ba?Uint8Array:Array,Ka=Ba?Uint16Array:Array,Ua=Ba?Int32Array:Array,Ra=Ba?Ma.flattenChunks:Da.flattenChunks,Ta=Ba?Ma.arraySet:Da.arraySet;const Qa=0,za=1,Fa=2,Na=3,qa=4,La=5,Oa=6,Ha=0,ja=1,Ga=2,Wa=-2,Va=-3,Ja=-5,Ya=-1,Za=1,Xa=2,$a=3,es=4,ts=0,rs=1,is=2,ns=8;function as(e){let t=e.length;for(;--t>=0;)e[t]=0}const ss=0,os=1,cs=2,us=29,hs=256,fs=hs+1+us,ds=30,ls=19,ps=2*fs+1,ys=15,bs=16,gs=7,ms=256,ws=16,As=17,vs=18,_s=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ks=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Es=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ss=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Cs=Array(2*(fs+2));as(Cs);const Is=Array(2*ds);as(Is);const Bs=Array(512);as(Bs);const Ps=Array(256);as(Ps);const Ms=Array(us);as(Ms);const Ds=Array(ds);function xs(e,t,r,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}let Ks,Us,Rs;function Ts(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Qs(e){return e<256?Bs[e]:Bs[256+(e>>>7)]}function zs(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Fs(e,t,r){e.bi_valid>bs-r?(e.bi_buf|=t<<e.bi_valid&65535,zs(e,e.bi_buf),e.bi_buf=t>>bs-e.bi_valid,e.bi_valid+=r-bs):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function Ns(e,t,r){Fs(e,r[2*t],r[2*t+1])}function qs(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function Ls(e,t,r){const i=Array(ys+1);let n,a,s=0;for(n=1;n<=ys;n++)i[n]=s=s+r[n-1]<<1;for(a=0;a<=t;a++){const t=e[2*a+1];0!==t&&(e[2*a]=qs(i[t]++,t))}}function Os(e){let t;for(t=0;t<fs;t++)e.dyn_ltree[2*t]=0;for(t=0;t<ds;t++)e.dyn_dtree[2*t]=0;for(t=0;t<ls;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*ms]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Hs(e){e.bi_valid>8?zs(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function js(e,t,r,i){const n=2*t,a=2*r;return e[n]<e[a]||e[n]===e[a]&&i[t]<=i[r]}function Gs(e,t,r){const i=e.heap[r];let n=r<<1;for(;n<=e.heap_len&&(n<e.heap_len&&js(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!js(t,i,e.heap[n],e.depth));)e.heap[r]=e.heap[n],r=n,n<<=1;e.heap[r]=i}function Ws(e,t,r){let i,n,a,s,o=0;if(0!==e.last_lit)do{i=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],n=e.pending_buf[e.l_buf+o],o++,0===i?Ns(e,n,t):(a=Ps[n],Ns(e,a+hs+1,t),s=_s[a],0!==s&&(n-=Ms[a],Fs(e,n,s)),i--,a=Qs(i),Ns(e,a,r),s=ks[a],0!==s&&(i-=Ds[a],Fs(e,i,s)))}while(o<e.last_lit);Ns(e,ms,t)}function Vs(e,t){const r=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,a=t.stat_desc.elems;let s,o,c,u=-1;for(e.heap_len=0,e.heap_max=ps,s=0;s<a;s++)0!==r[2*s]?(e.heap[++e.heap_len]=u=s,e.depth[s]=0):r[2*s+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=u<2?++u:0,r[2*c]=1,e.depth[c]=0,e.opt_len--,n&&(e.static_len-=i[2*c+1]);for(t.max_code=u,s=e.heap_len>>1;s>=1;s--)Gs(e,r,s);c=a;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Gs(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,r[2*c]=r[2*s]+r[2*o],e.depth[c]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,r[2*s+1]=r[2*o+1]=c,e.heap[1]=c++,Gs(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){const r=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,c=t.stat_desc.max_length;let u,h,f,d,l,p,y=0;for(d=0;d<=ys;d++)e.bl_count[d]=0;for(r[2*e.heap[e.heap_max]+1]=0,u=e.heap_max+1;u<ps;u++)h=e.heap[u],d=r[2*r[2*h+1]+1]+1,d>c&&(d=c,y++),r[2*h+1]=d,h>i||(e.bl_count[d]++,l=0,h>=o&&(l=s[h-o]),p=r[2*h],e.opt_len+=p*(d+l),a&&(e.static_len+=p*(n[2*h+1]+l)));if(0!==y){do{for(d=c-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[c]--,y-=2}while(y>0);for(d=c;0!==d;d--)for(h=e.bl_count[d];0!==h;)f=e.heap[--u],f>i||(r[2*f+1]!==d&&(e.opt_len+=(d-r[2*f+1])*r[2*f],r[2*f+1]=d),h--)}}(e,t),Ls(r,u,e.bl_count)}function Js(e,t,r){let i,n,a=-1,s=t[1],o=0,c=7,u=4;for(0===s&&(c=138,u=3),t[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=t[2*(i+1)+1],++o<c&&n===s||(o<u?e.bl_tree[2*n]+=o:0!==n?(n!==a&&e.bl_tree[2*n]++,e.bl_tree[2*ws]++):o<=10?e.bl_tree[2*As]++:e.bl_tree[2*vs]++,o=0,a=n,0===s?(c=138,u=3):n===s?(c=6,u=3):(c=7,u=4))}function Ys(e,t,r){let i,n,a=-1,s=t[1],o=0,c=7,u=4;for(0===s&&(c=138,u=3),i=0;i<=r;i++)if(n=s,s=t[2*(i+1)+1],!(++o<c&&n===s)){if(o<u)do{Ns(e,n,e.bl_tree)}while(0!=--o);else 0!==n?(n!==a&&(Ns(e,n,e.bl_tree),o--),Ns(e,ws,e.bl_tree),Fs(e,o-3,2)):o<=10?(Ns(e,As,e.bl_tree),Fs(e,o-3,3)):(Ns(e,vs,e.bl_tree),Fs(e,o-11,7));o=0,a=n,0===s?(c=138,u=3):n===s?(c=6,u=3):(c=7,u=4)}}as(Ds);let Zs=!1;function Xs(e){Zs||(!function(){let e,t,r,i,n;const a=Array(ys+1);for(r=0,i=0;i<us-1;i++)for(Ms[i]=r,e=0;e<1<<_s[i];e++)Ps[r++]=i;for(Ps[r-1]=i,n=0,i=0;i<16;i++)for(Ds[i]=n,e=0;e<1<<ks[i];e++)Bs[n++]=i;for(n>>=7;i<ds;i++)for(Ds[i]=n<<7,e=0;e<1<<ks[i]-7;e++)Bs[256+n++]=i;for(t=0;t<=ys;t++)a[t]=0;for(e=0;e<=143;)Cs[2*e+1]=8,e++,a[8]++;for(;e<=255;)Cs[2*e+1]=9,e++,a[9]++;for(;e<=279;)Cs[2*e+1]=7,e++,a[7]++;for(;e<=287;)Cs[2*e+1]=8,e++,a[8]++;for(Ls(Cs,fs+1,a),e=0;e<ds;e++)Is[2*e+1]=5,Is[2*e]=qs(e,5);Ks=new xs(Cs,_s,hs+1,fs,ys),Us=new xs(Is,ks,0,ds,ys),Rs=new xs([],Es,0,ls,gs)}(),Zs=!0),e.l_desc=new Ts(e.dyn_ltree,Ks),e.d_desc=new Ts(e.dyn_dtree,Us),e.bl_desc=new Ts(e.bl_tree,Rs),e.bi_buf=0,e.bi_valid=0,Os(e)}function $s(e,t,r,i){Fs(e,(ss<<1)+(i?1:0),3),function(e,t,r,i){Hs(e),i&&(zs(e,r),zs(e,~r)),Ta(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}function eo(e){Fs(e,os<<1,3),Ns(e,ms,Cs),function(e){16===e.bi_valid?(zs(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function to(e,t,r,i){let n,a,s=0;e.level>0?(e.strm.data_type===is&&(e.strm.data_type=function(e){let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return ts;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return rs;for(t=32;t<hs;t++)if(0!==e.dyn_ltree[2*t])return rs;return ts}(e)),Vs(e,e.l_desc),Vs(e,e.d_desc),s=function(e){let t;for(Js(e,e.dyn_ltree,e.l_desc.max_code),Js(e,e.dyn_dtree,e.d_desc.max_code),Vs(e,e.bl_desc),t=ls-1;t>=3&&0===e.bl_tree[2*Ss[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),n=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=n&&(n=a)):n=a=r+5,r+4<=n&&-1!==t?$s(e,t,r,i):e.strategy===es||a===n?(Fs(e,(os<<1)+(i?1:0),3),Ws(e,Cs,Is)):(Fs(e,(cs<<1)+(i?1:0),3),function(e,t,r,i){let n;for(Fs(e,t-257,5),Fs(e,r-1,5),Fs(e,i-4,4),n=0;n<i;n++)Fs(e,e.bl_tree[2*Ss[n]+1],3);Ys(e,e.dyn_ltree,t-1),Ys(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),Ws(e,e.dyn_ltree,e.dyn_dtree)),Os(e),i&&Hs(e)}function ro(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(Ps[r]+hs+1)]++,e.dyn_dtree[2*Qs(t)]++),e.last_lit===e.lit_bufsize-1}function io(e,t,r,i){let n=65535&e|0,a=e>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+t[i++]|0,a=a+n|0}while(--s);n%=65521,a%=65521}return n|a<<16|0}const no=function(){let e;const t=[];for(let r=0;r<256;r++){e=r;for(let t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function ao(e,t,r,i){const n=no,a=i+r;e^=-1;for(let r=i;r<a;r++)e=e>>>8^n[255&(e^t[r])];return-1^e}var so={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};const oo=9,co=3,uo=258,ho=uo+co+1,fo=32,lo=42,po=69,yo=73,bo=91,go=103,mo=113,wo=666,Ao=1,vo=2,_o=3,ko=4,Eo=3;function So(e,t){return e.msg=so[t],t}function Co(e){return(e<<1)-(e>4?9:0)}function Io(e){let t=e.length;for(;--t>=0;)e[t]=0}function Bo(e){const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(Ta(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function Po(e,t){to(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Bo(e.strm)}function Mo(e,t){e.pending_buf[e.pending++]=t}function Do(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function xo(e,t,r,i){let n=e.avail_in;return n>i&&(n=i),0===n?0:(e.avail_in-=n,Ta(t,e.input,e.next_in,n,r),1===e.state.wrap?e.adler=io(e.adler,t,n,r):2===e.state.wrap&&(e.adler=ao(e.adler,t,n,r)),e.next_in+=n,e.total_in+=n,n)}function Ko(e,t){let r,i,n=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match;const c=e.strstart>e.w_size-ho?e.strstart-(e.w_size-ho):0,u=e.window,h=e.w_mask,f=e.prev,d=e.strstart+uo;let l=u[a+s-1],p=u[a+s];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do{if(r=t,u[r+s]===p&&u[r+s-1]===l&&u[r]===u[a]&&u[++r]===u[a+1]){a+=2,r++;do{}while(u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&a<d);if(i=uo-(d-a),a=d-uo,i>s){if(e.match_start=t,s=i,i>=o)break;l=u[a+s-1],p=u[a+s]}}}while((t=f[t&h])>c&&0!=--n);return s<=e.lookahead?s:e.lookahead}function Uo(e){const t=e.w_size;let r,i,n,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-ho)){Ta(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,r=i;do{n=e.head[--r],e.head[r]=n>=t?n-t:0}while(--i);i=t,r=i;do{n=e.prev[--r],e.prev[r]=n>=t?n-t:0}while(--i);a+=t}if(0===e.strm.avail_in)break;if(i=xo(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=co)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+co-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<co)););}while(e.lookahead<ho&&0!==e.strm.avail_in)}function Ro(e,t){let r,i;for(;;){if(e.lookahead<ho){if(Uo(e),e.lookahead<ho&&t===Qa)return Ao;if(0===e.lookahead)break}if(r=0,e.lookahead>=co&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+co-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-ho&&(e.match_length=Ko(e,r)),e.match_length>=co)if(i=ro(e,e.strstart-e.match_start,e.match_length-co),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=co){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+co-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=ro(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(Po(e,!1),0===e.strm.avail_out))return Ao}return e.insert=e.strstart<co-1?e.strstart:co-1,t===qa?(Po(e,!0),0===e.strm.avail_out?_o:ko):e.last_lit&&(Po(e,!1),0===e.strm.avail_out)?Ao:vo}function To(e,t){let r,i,n;for(;;){if(e.lookahead<ho){if(Uo(e),e.lookahead<ho&&t===Qa)return Ao;if(0===e.lookahead)break}if(r=0,e.lookahead>=co&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+co-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=co-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ho&&(e.match_length=Ko(e,r),e.match_length<=5&&(e.strategy===Za||e.match_length===co&&e.strstart-e.match_start>4096)&&(e.match_length=co-1)),e.prev_length>=co&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-co,i=ro(e,e.strstart-1-e.prev_match,e.prev_length-co),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+co-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=co-1,e.strstart++,i&&(Po(e,!1),0===e.strm.avail_out))return Ao}else if(e.match_available){if(i=ro(e,0,e.window[e.strstart-1]),i&&Po(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return Ao}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=ro(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<co-1?e.strstart:co-1,t===qa?(Po(e,!0),0===e.strm.avail_out?_o:ko):e.last_lit&&(Po(e,!1),0===e.strm.avail_out)?Ao:vo}class Qo{constructor(e,t,r,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=i,this.func=n}}const zo=[new Qo(0,0,0,0,(function(e,t){let r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Uo(e),0===e.lookahead&&t===Qa)return Ao;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;const i=e.block_start+r;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,Po(e,!1),0===e.strm.avail_out))return Ao;if(e.strstart-e.block_start>=e.w_size-ho&&(Po(e,!1),0===e.strm.avail_out))return Ao}return e.insert=0,t===qa?(Po(e,!0),0===e.strm.avail_out?_o:ko):(e.strstart>e.block_start&&(Po(e,!1),e.strm.avail_out),Ao)})),new Qo(4,4,8,4,Ro),new Qo(4,5,16,8,Ro),new Qo(4,6,32,32,Ro),new Qo(4,4,16,16,To),new Qo(8,16,32,32,To),new Qo(8,16,128,128,To),new Qo(8,32,128,256,To),new Qo(32,128,258,1024,To),new Qo(32,258,258,4096,To)];class Fo{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ns,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Ka(1146),this.dyn_dtree=new Ka(122),this.bl_tree=new Ka(78),Io(this.dyn_ltree),Io(this.dyn_dtree),Io(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ka(16),this.heap=new Ka(573),Io(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ka(573),Io(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}}function No(e){const t=function(e){let t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=is,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?lo:mo,e.adler=2===t.wrap?0:1,t.last_flush=Qa,Xs(t),Ha):So(e,Wa)}(e);return t===Ha&&function(e){e.window_size=2*e.w_size,Io(e.head),e.max_lazy_match=zo[e.level].max_lazy,e.good_match=zo[e.level].good_length,e.nice_match=zo[e.level].nice_length,e.max_chain_length=zo[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=co-1,e.match_available=0,e.ins_h=0}(e.state),t}function qo(e,t){let r,i,n,a;if(!e||!e.state||t>La||t<0)return e?So(e,Wa):Wa;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===wo&&t!==qa)return So(e,0===e.avail_out?Ja:Wa);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===lo)if(2===i.wrap)e.adler=0,Mo(i,31),Mo(i,139),Mo(i,8),i.gzhead?(Mo(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),Mo(i,255&i.gzhead.time),Mo(i,i.gzhead.time>>8&255),Mo(i,i.gzhead.time>>16&255),Mo(i,i.gzhead.time>>24&255),Mo(i,9===i.level?2:i.strategy>=Xa||i.level<2?4:0),Mo(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(Mo(i,255&i.gzhead.extra.length),Mo(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=ao(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=po):(Mo(i,0),Mo(i,0),Mo(i,0),Mo(i,0),Mo(i,0),Mo(i,9===i.level?2:i.strategy>=Xa||i.level<2?4:0),Mo(i,Eo),i.status=mo);else{let t=ns+(i.w_bits-8<<4)<<8,r=-1;r=i.strategy>=Xa||i.level<2?0:i.level<6?1:6===i.level?2:3,t|=r<<6,0!==i.strstart&&(t|=fo),t+=31-t%31,i.status=mo,Do(i,t),0!==i.strstart&&(Do(i,e.adler>>>16),Do(i,65535&e.adler)),e.adler=1}if(i.status===po)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(e.adler=ao(e.adler,i.pending_buf,i.pending-n,n)),Bo(e),n=i.pending,i.pending!==i.pending_buf_size));)Mo(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(e.adler=ao(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=yo)}else i.status=yo;if(i.status===yo)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=ao(e.adler,i.pending_buf,i.pending-n,n)),Bo(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,Mo(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>n&&(e.adler=ao(e.adler,i.pending_buf,i.pending-n,n)),0===a&&(i.gzindex=0,i.status=bo)}else i.status=bo;if(i.status===bo)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=ao(e.adler,i.pending_buf,i.pending-n,n)),Bo(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,Mo(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>n&&(e.adler=ao(e.adler,i.pending_buf,i.pending-n,n)),0===a&&(i.status=go)}else i.status=go;if(i.status===go&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&Bo(e),i.pending+2<=i.pending_buf_size&&(Mo(i,255&e.adler),Mo(i,e.adler>>8&255),e.adler=0,i.status=mo)):i.status=mo),0!==i.pending){if(Bo(e),0===e.avail_out)return i.last_flush=-1,Ha}else if(0===e.avail_in&&Co(t)<=Co(r)&&t!==qa)return So(e,Ja);if(i.status===wo&&0!==e.avail_in)return So(e,Ja);if(0!==e.avail_in||0!==i.lookahead||t!==Qa&&i.status!==wo){var s=i.strategy===Xa?function(e,t){let r;for(;;){if(0===e.lookahead&&(Uo(e),0===e.lookahead)){if(t===Qa)return Ao;break}if(e.match_length=0,r=ro(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(Po(e,!1),0===e.strm.avail_out))return Ao}return e.insert=0,t===qa?(Po(e,!0),0===e.strm.avail_out?_o:ko):e.last_lit&&(Po(e,!1),0===e.strm.avail_out)?Ao:vo}(i,t):i.strategy===$a?function(e,t){let r,i,n,a;const s=e.window;for(;;){if(e.lookahead<=uo){if(Uo(e),e.lookahead<=uo&&t===Qa)return Ao;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=co&&e.strstart>0&&(n=e.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){a=e.strstart+uo;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<a);e.match_length=uo-(a-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=co?(r=ro(e,1,e.match_length-co),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=ro(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(Po(e,!1),0===e.strm.avail_out))return Ao}return e.insert=0,t===qa?(Po(e,!0),0===e.strm.avail_out?_o:ko):e.last_lit&&(Po(e,!1),0===e.strm.avail_out)?Ao:vo}(i,t):zo[i.level].func(i,t);if(s!==_o&&s!==ko||(i.status=wo),s===Ao||s===_o)return 0===e.avail_out&&(i.last_flush=-1),Ha;if(s===vo&&(t===za?eo(i):t!==La&&($s(i,0,0,!1),t===Na&&(Io(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),Bo(e),0===e.avail_out))return i.last_flush=-1,Ha}return t!==qa?Ha:i.wrap<=0?ja:(2===i.wrap?(Mo(i,255&e.adler),Mo(i,e.adler>>8&255),Mo(i,e.adler>>16&255),Mo(i,e.adler>>24&255),Mo(i,255&e.total_in),Mo(i,e.total_in>>8&255),Mo(i,e.total_in>>16&255),Mo(i,e.total_in>>24&255)):(Do(i,e.adler>>>16),Do(i,65535&e.adler)),Bo(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?Ha:ja)}try{String.fromCharCode.call(null,0)}catch(e){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){}const Lo=new xa(256);for(let e=0;e<256;e++)Lo[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;function Oo(e){let t,r,i,n,a=0;const s=e.length;for(i=0;i<s;i++)t=e.charCodeAt(i),55296==(64512&t)&&i+1<s&&(r=e.charCodeAt(i+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),i++)),a+=t<128?1:t<2048?2:t<65536?3:4;const o=new xa(a);for(n=0,i=0;n<a;i++)t=e.charCodeAt(i),55296==(64512&t)&&i+1<s&&(r=e.charCodeAt(i+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),i++)),t<128?o[n++]=t:t<2048?(o[n++]=192|t>>>6,o[n++]=128|63&t):t<65536?(o[n++]=224|t>>>12,o[n++]=128|t>>>6&63,o[n++]=128|63&t):(o[n++]=240|t>>>18,o[n++]=128|t>>>12&63,o[n++]=128|t>>>6&63,o[n++]=128|63&t);return o}Lo[254]=Lo[254]=1;class Ho{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}class jo{constructor(e){this.options={level:Ya,method:ns,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,...e||{}};const t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ho,this.strm.avail_out=0;var r,i,n=function(e,t,r,i,n,a){if(!e)return Wa;let s=1;if(t===Ya&&(t=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>oo||r!==ns||i<8||i>15||t<0||t>9||a<0||a>es)return So(e,Wa);8===i&&(i=9);const o=new Fo;return e.state=o,o.strm=e,o.wrap=s,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+co-1)/co),o.window=new xa(2*o.w_size),o.head=new Ka(o.hash_size),o.prev=new Ka(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new xa(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=a,o.method=r,No(e)}(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Ha)throw Error(so[n]);if(t.header&&(r=this.strm,i=t.header,r&&r.state&&(2!==r.state.wrap||(r.state.gzhead=i))),t.dictionary){let e;if(e="string"==typeof t.dictionary?Oo(t.dictionary):t.dictionary instanceof ArrayBuffer?new Uint8Array(t.dictionary):t.dictionary,n=function(e,t){let r,i,n,a,s,o,c,u,h=t.length;if(!e||!e.state)return Wa;if(r=e.state,a=r.wrap,2===a||1===a&&r.status!==lo||r.lookahead)return Wa;for(1===a&&(e.adler=io(e.adler,t,h,0)),r.wrap=0,h>=r.w_size&&(0===a&&(Io(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new xa(r.w_size),Ta(u,t,h-r.w_size,r.w_size,0),t=u,h=r.w_size),s=e.avail_in,o=e.next_in,c=e.input,e.avail_in=h,e.next_in=0,e.input=t,Uo(r);r.lookahead>=co;){i=r.strstart,n=r.lookahead-(co-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+co-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++}while(--n);r.strstart=i,r.lookahead=co-1,Uo(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=co-1,r.match_available=0,e.next_in=o,e.input=c,e.avail_in=s,r.wrap=a,Ha}(this.strm,e),n!==Ha)throw Error(so[n]);this._dict_set=!0}}push(e,t){const{strm:r,options:{chunkSize:i}}=this;var n,a;if(this.ended)return!1;a=t===~~t?t:!0===t?qa:Qa,"string"==typeof e?r.input=Oo(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new xa(i),r.next_out=0,r.avail_out=i),(n=qo(r,a))!==ja&&n!==Ha)return this.onEnd(n),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||a!==qa&&a!==Fa)||this.onData(Pa(r.output,r.next_out))}while((r.avail_in>0||0===r.avail_out)&&n!==ja);return a===qa?(n=function(e){let t;return e&&e.state?(t=e.state.status,t!==lo&&t!==po&&t!==yo&&t!==bo&&t!==go&&t!==mo&&t!==wo?So(e,Wa):(e.state=null,t===mo?So(e,Va):Ha)):Wa}(this.strm),this.onEnd(n),this.ended=!0,n===Ha):a!==Fa||(this.onEnd(Ha),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ha&&(this.result=Ra(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}const Go=30,Wo=12;function Vo(e,t){let r,i,n,a,s,o,c,u,h,f;const d=e.state;r=e.next_in;const l=e.input,p=r+(e.avail_in-5);i=e.next_out;const y=e.output,b=i-(t-e.avail_out),g=i+(e.avail_out-257),m=d.dmax,w=d.wsize,A=d.whave,v=d.wnext,_=d.window;n=d.hold,a=d.bits;const k=d.lencode,E=d.distcode,S=(1<<d.lenbits)-1,C=(1<<d.distbits)-1;e:do{a<15&&(n+=l[r++]<<a,a+=8,n+=l[r++]<<a,a+=8),s=k[n&S];t:for(;;){if(o=s>>>24,n>>>=o,a-=o,o=s>>>16&255,0===o)y[i++]=65535&s;else{if(!(16&o)){if(0==(64&o)){s=k[(65535&s)+(n&(1<<o)-1)];continue t}if(32&o){d.mode=Wo;break e}e.msg="invalid literal/length code",d.mode=Go;break e}c=65535&s,o&=15,o&&(a<o&&(n+=l[r++]<<a,a+=8),c+=n&(1<<o)-1,n>>>=o,a-=o),a<15&&(n+=l[r++]<<a,a+=8,n+=l[r++]<<a,a+=8),s=E[n&C];r:for(;;){if(o=s>>>24,n>>>=o,a-=o,o=s>>>16&255,!(16&o)){if(0==(64&o)){s=E[(65535&s)+(n&(1<<o)-1)];continue r}e.msg="invalid distance code",d.mode=Go;break e}if(u=65535&s,o&=15,a<o&&(n+=l[r++]<<a,a+=8,a<o&&(n+=l[r++]<<a,a+=8)),u+=n&(1<<o)-1,u>m){e.msg="invalid distance too far back",d.mode=Go;break e}if(n>>>=o,a-=o,o=i-b,u>o){if(o=u-o,o>A&&d.sane){e.msg="invalid distance too far back",d.mode=Go;break e}if(h=0,f=_,0===v){if(h+=w-o,o<c){c-=o;do{y[i++]=_[h++]}while(--o);h=i-u,f=y}}else if(v<o){if(h+=w+v-o,o-=v,o<c){c-=o;do{y[i++]=_[h++]}while(--o);if(h=0,v<c){o=v,c-=o;do{y[i++]=_[h++]}while(--o);h=i-u,f=y}}}else if(h+=v-o,o<c){c-=o;do{y[i++]=_[h++]}while(--o);h=i-u,f=y}for(;c>2;)y[i++]=f[h++],y[i++]=f[h++],y[i++]=f[h++],c-=3;c&&(y[i++]=f[h++],c>1&&(y[i++]=f[h++]))}else{h=i-u;do{y[i++]=y[h++],y[i++]=y[h++],y[i++]=y[h++],c-=3}while(c>2);c&&(y[i++]=y[h++],c>1&&(y[i++]=y[h++]))}break}}break}}while(r<p&&i<g);c=a>>3,r-=c,a-=c<<3,n&=(1<<a)-1,e.next_in=r,e.next_out=i,e.avail_in=r<p?p-r+5:5-(r-p),e.avail_out=i<g?g-i+257:257-(i-g),d.hold=n,d.bits=a}const Jo=15,Yo=852,Zo=592,Xo=0,$o=1,ec=2,tc=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],rc=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],ic=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],nc=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function ac(e,t,r,i,n,a,s,o){const c=o.bits;let u,h,f,d,l,p=0,y=0,b=0,g=0,m=0,w=0,A=0,v=0,_=0,k=0,E=null,S=0;const C=new Ka(Jo+1),I=new Ka(Jo+1);let B,P,M,D=null,x=0;for(p=0;p<=Jo;p++)C[p]=0;for(y=0;y<i;y++)C[t[r+y]]++;for(m=c,g=Jo;g>=1&&0===C[g];g--);if(m>g&&(m=g),0===g)return n[a++]=20971520,n[a++]=20971520,o.bits=1,0;for(b=1;b<g&&0===C[b];b++);for(m<b&&(m=b),v=1,p=1;p<=Jo;p++)if(v<<=1,v-=C[p],v<0)return-1;if(v>0&&(e===Xo||1!==g))return-1;for(I[1]=0,p=1;p<Jo;p++)I[p+1]=I[p]+C[p];for(y=0;y<i;y++)0!==t[r+y]&&(s[I[t[r+y]]++]=y);e===Xo?(E=D=s,l=19):e===$o?(E=tc,S-=257,D=rc,x-=257,l=256):(E=ic,D=nc,l=-1),k=0,y=0,p=b,d=a,w=m,A=0,f=-1,_=1<<m;const K=_-1;if(e===$o&&_>Yo||e===ec&&_>Zo)return 1;for(;;){B=p-A,s[y]<l?(P=0,M=s[y]):s[y]>l?(P=D[x+s[y]],M=E[S+s[y]]):(P=96,M=0),u=1<<p-A,h=1<<w,b=h;do{h-=u,n[d+(k>>A)+h]=B<<24|P<<16|M|0}while(0!==h);for(u=1<<p-1;k&u;)u>>=1;if(0!==u?(k&=u-1,k+=u):k=0,y++,0==--C[p]){if(p===g)break;p=t[r+s[y]]}if(p>m&&(k&K)!==f){for(0===A&&(A=m),d+=b,w=p-A,v=1<<w;w+A<g&&(v-=C[w+A],!(v<=0));)w++,v<<=1;if(_+=1<<w,e===$o&&_>Yo||e===ec&&_>Zo)return 1;f=k&K,n[f]=m<<24|w<<16|d-a|0}}return 0!==k&&(n[d+k]=p-A<<24|64<<16|0),o.bits=m,0}const sc=0,oc=1,cc=2,uc=1,hc=2,fc=3,dc=4,lc=5,pc=6,yc=7,bc=8,gc=9,mc=10,wc=11,Ac=12,vc=13,_c=14,kc=15,Ec=16,Sc=17,Cc=18,Ic=19,Bc=20,Pc=21,Mc=22,Dc=23,xc=24,Kc=25,Uc=26,Rc=27,Tc=28,Qc=29,zc=30,Fc=852,Nc=592;function qc(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}class Lc{constructor(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Ka(320),this.work=new Ka(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function Oc(e){let t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,function(e){let t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=uc,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ua(Fc),t.distcode=t.distdyn=new Ua(Nc),t.sane=1,t.back=-1,Ha):Wa}(e)):Wa}function Hc(e,t){let r,i;return e?(i=new Lc,e.state=i,i.window=null,r=function(e,t){let r,i;return e&&e.state?(i=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Wa:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=r,i.wbits=t,Oc(e))):Wa}(e,t),r!==Ha&&(e.state=null),r):Wa}let jc,Gc,Wc=!0;function Vc(e){if(Wc){let t;for(jc=new Ua(512),Gc=new Ua(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ac(oc,e.lens,0,288,jc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ac(cc,e.lens,0,32,Gc,0,e.work,{bits:5}),Wc=!1}e.lencode=jc,e.lenbits=9,e.distcode=Gc,e.distbits=5}function Jc(e,t,r,i){let n;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new xa(a.wsize)),i>=a.wsize?(Ta(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),Ta(a.window,t,r-i,n,a.wnext),(i-=n)?(Ta(a.window,t,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}function Yc(e,t){let r,i,n,a,s,o,c,u,h,f,d,l,p,y,b,g,m,w,A,v,_,k,E,S,C=0,I=new xa(4);const B=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Wa;r=e.state,r.mode===Ac&&(r.mode=vc),s=e.next_out,n=e.output,c=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,u=r.hold,h=r.bits,f=o,d=c,k=Ha;e:for(;;)switch(r.mode){case uc:if(0===r.wrap){r.mode=vc;break}for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(2&r.wrap&&35615===u){r.check=0,I[0]=255&u,I[1]=u>>>8&255,r.check=ao(r.check,I,2,0),u=0,h=0,r.mode=hc;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=zc;break}if((15&u)!==ns){e.msg="unknown compression method",r.mode=zc;break}if(u>>>=4,h-=4,_=8+(15&u),0===r.wbits)r.wbits=_;else if(_>r.wbits){e.msg="invalid window size",r.mode=zc;break}r.dmax=1<<_,e.adler=r.check=1,r.mode=512&u?mc:Ac,u=0,h=0;break;case hc:for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(r.flags=u,(255&r.flags)!==ns){e.msg="unknown compression method",r.mode=zc;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=zc;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=ao(r.check,I,2,0)),u=0,h=0,r.mode=fc;case fc:for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.head&&(r.head.time=u),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,I[2]=u>>>16&255,I[3]=u>>>24&255,r.check=ao(r.check,I,4,0)),u=0,h=0,r.mode=dc;case dc:for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=ao(r.check,I,2,0)),u=0,h=0,r.mode=lc;case lc:if(1024&r.flags){for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=ao(r.check,I,2,0)),u=0,h=0}else r.head&&(r.head.extra=null);r.mode=pc;case pc:if(1024&r.flags&&(l=r.length,l>o&&(l=o),l&&(r.head&&(_=r.head.extra_len-r.length,r.head.extra||(r.head.extra=Array(r.head.extra_len)),Ta(r.head.extra,i,a,l,_)),512&r.flags&&(r.check=ao(r.check,i,l,a)),o-=l,a+=l,r.length-=l),r.length))break e;r.length=0,r.mode=yc;case yc:if(2048&r.flags){if(0===o)break e;l=0;do{_=i[a+l++],r.head&&_&&r.length<65536&&(r.head.name+=String.fromCharCode(_))}while(_&&l<o);if(512&r.flags&&(r.check=ao(r.check,i,l,a)),o-=l,a+=l,_)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=bc;case bc:if(4096&r.flags){if(0===o)break e;l=0;do{_=i[a+l++],r.head&&_&&r.length<65536&&(r.head.comment+=String.fromCharCode(_))}while(_&&l<o);if(512&r.flags&&(r.check=ao(r.check,i,l,a)),o-=l,a+=l,_)break e}else r.head&&(r.head.comment=null);r.mode=gc;case gc:if(512&r.flags){for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=zc;break}u=0,h=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Ac;break;case mc:for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}e.adler=r.check=qc(u),u=0,h=0,r.mode=wc;case wc:if(0===r.havedict)return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,Ga;e.adler=r.check=1,r.mode=Ac;case Ac:if(t===La||t===Oa)break e;case vc:if(r.last){u>>>=7&h,h-=7&h,r.mode=Rc;break}for(;h<3;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}switch(r.last=1&u,u>>>=1,h-=1,3&u){case 0:r.mode=_c;break;case 1:if(Vc(r),r.mode=Bc,t===Oa){u>>>=2,h-=2;break e}break;case 2:r.mode=Sc;break;case 3:e.msg="invalid block type",r.mode=zc}u>>>=2,h-=2;break;case _c:for(u>>>=7&h,h-=7&h;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=zc;break}if(r.length=65535&u,u=0,h=0,r.mode=kc,t===Oa)break e;case kc:r.mode=Ec;case Ec:if(l=r.length,l){if(l>o&&(l=o),l>c&&(l=c),0===l)break e;Ta(n,i,a,l,s),o-=l,a+=l,c-=l,s+=l,r.length-=l;break}r.mode=Ac;break;case Sc:for(;h<14;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(r.nlen=257+(31&u),u>>>=5,h-=5,r.ndist=1+(31&u),u>>>=5,h-=5,r.ncode=4+(15&u),u>>>=4,h-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=zc;break}r.have=0,r.mode=Cc;case Cc:for(;r.have<r.ncode;){for(;h<3;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.lens[B[r.have++]]=7&u,u>>>=3,h-=3}for(;r.have<19;)r.lens[B[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,E={bits:r.lenbits},k=ac(sc,r.lens,0,19,r.lencode,0,r.work,E),r.lenbits=E.bits,k){e.msg="invalid code lengths set",r.mode=zc;break}r.have=0,r.mode=Ic;case Ic:for(;r.have<r.nlen+r.ndist;){for(;C=r.lencode[u&(1<<r.lenbits)-1],b=C>>>24,g=C>>>16&255,m=65535&C,!(b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(m<16)u>>>=b,h-=b,r.lens[r.have++]=m;else{if(16===m){for(S=b+2;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u>>>=b,h-=b,0===r.have){e.msg="invalid bit length repeat",r.mode=zc;break}_=r.lens[r.have-1],l=3+(3&u),u>>>=2,h-=2}else if(17===m){for(S=b+3;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=b,h-=b,_=0,l=3+(7&u),u>>>=3,h-=3}else{for(S=b+7;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=b,h-=b,_=0,l=11+(127&u),u>>>=7,h-=7}if(r.have+l>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=zc;break}for(;l--;)r.lens[r.have++]=_}}if(r.mode===zc)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=zc;break}if(r.lenbits=9,E={bits:r.lenbits},k=ac(oc,r.lens,0,r.nlen,r.lencode,0,r.work,E),r.lenbits=E.bits,k){e.msg="invalid literal/lengths set",r.mode=zc;break}if(r.distbits=6,r.distcode=r.distdyn,E={bits:r.distbits},k=ac(cc,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,E),r.distbits=E.bits,k){e.msg="invalid distances set",r.mode=zc;break}if(r.mode=Bc,t===Oa)break e;case Bc:r.mode=Pc;case Pc:if(o>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,Vo(e,d),s=e.next_out,n=e.output,c=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,u=r.hold,h=r.bits,r.mode===Ac&&(r.back=-1);break}for(r.back=0;C=r.lencode[u&(1<<r.lenbits)-1],b=C>>>24,g=C>>>16&255,m=65535&C,!(b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(g&&0==(240&g)){for(w=b,A=g,v=m;C=r.lencode[v+((u&(1<<w+A)-1)>>w)],b=C>>>24,g=C>>>16&255,m=65535&C,!(w+b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=w,h-=w,r.back+=w}if(u>>>=b,h-=b,r.back+=b,r.length=m,0===g){r.mode=Uc;break}if(32&g){r.back=-1,r.mode=Ac;break}if(64&g){e.msg="invalid literal/length code",r.mode=zc;break}r.extra=15&g,r.mode=Mc;case Mc:if(r.extra){for(S=r.extra;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,h-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Dc;case Dc:for(;C=r.distcode[u&(1<<r.distbits)-1],b=C>>>24,g=C>>>16&255,m=65535&C,!(b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(0==(240&g)){for(w=b,A=g,v=m;C=r.distcode[v+((u&(1<<w+A)-1)>>w)],b=C>>>24,g=C>>>16&255,m=65535&C,!(w+b<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=w,h-=w,r.back+=w}if(u>>>=b,h-=b,r.back+=b,64&g){e.msg="invalid distance code",r.mode=zc;break}r.offset=m,r.extra=15&g,r.mode=xc;case xc:if(r.extra){for(S=r.extra;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,h-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=zc;break}r.mode=Kc;case Kc:if(0===c)break e;if(l=d-c,r.offset>l){if(l=r.offset-l,l>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=zc;break}l>r.wnext?(l-=r.wnext,p=r.wsize-l):p=r.wnext-l,l>r.length&&(l=r.length),y=r.window}else y=n,p=s-r.offset,l=r.length;l>c&&(l=c),c-=l,r.length-=l;do{n[s++]=y[p++]}while(--l);0===r.length&&(r.mode=Pc);break;case Uc:if(0===c)break e;n[s++]=r.length,c--,r.mode=Pc;break;case Rc:if(r.wrap){for(;h<32;){if(0===o)break e;o--,u|=i[a++]<<h,h+=8}if(d-=c,e.total_out+=d,r.total+=d,d&&(e.adler=r.check=r.flags?ao(r.check,n,d,s-d):io(r.check,n,d,s-d)),d=c,(r.flags?u:qc(u))!==r.check){e.msg="incorrect data check",r.mode=zc;break}u=0,h=0}r.mode=Tc;case Tc:if(r.wrap&&r.flags){for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=zc;break}u=0,h=0}r.mode=Qc;case Qc:k=ja;break e;case zc:k=Va;break e;default:return Wa}return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,(r.wsize||d!==e.avail_out&&r.mode<zc&&(r.mode<Rc||t!==qa))&&Jc(e,e.output,e.next_out,d-e.avail_out),f-=e.avail_in,d-=e.avail_out,e.total_in+=f,e.total_out+=d,r.total+=d,r.wrap&&d&&(e.adler=r.check=r.flags?ao(r.check,n,d,e.next_out-d):io(r.check,n,d,e.next_out-d)),e.data_type=r.bits+(r.last?64:0)+(r.mode===Ac?128:0)+(r.mode===Bc||r.mode===kc?256:0),(0===f&&0===d||t===qa)&&k===Ha&&(k=Ja),k}function Zc(e,t){const r=t.length;let i,n;return e&&e.state?(i=e.state,0!==i.wrap&&i.mode!==wc?Wa:i.mode===wc&&(n=1,n=io(n,t,r,0),n!==i.check)?Va:(Jc(e,t,r,r),i.havedict=1,Ha)):Wa}class Xc{constructor(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}}class $c{constructor(e){this.options={chunkSize:16384,windowBits:0,...e||{}};const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ho,this.strm.avail_out=0;let r=Hc(this.strm,t.windowBits);if(r!==Ha)throw Error(so[r]);if(this.header=new Xc,function(e,t){let r;e&&e.state&&(r=e.state,0==(2&r.wrap)||(r.head=t,t.done=!1))}(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Oo(t.dictionary):t.dictionary instanceof ArrayBuffer&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=Zc(this.strm,t.dictionary),r!==Ha)))throw Error(so[r])}push(e,t){const{strm:r,options:{chunkSize:i,dictionary:n}}=this;let a,s,o=!1;if(this.ended)return!1;s=t===~~t?t:!0===t?qa:Qa,"string"==typeof e?r.input=function(e){const t=new xa(e.length);for(let r=0,i=t.length;r<i;r++)t[r]=e.charCodeAt(r);return t}(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new xa(i),r.next_out=0,r.avail_out=i),a=Yc(r,Qa),a===Ga&&n&&(a=Zc(this.strm,n)),a===Ja&&!0===o&&(a=Ha,o=!1),a!==ja&&a!==Ha)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(0!==r.avail_out&&a!==ja&&(0!==r.avail_in||s!==qa&&s!==Fa)||this.onData(Pa(r.output,r.next_out))),0===r.avail_in&&0===r.avail_out&&(o=!0)}while((r.avail_in>0||0===r.avail_out)&&a!==ja);return a===ja&&(s=qa),s===qa?(a=function(e){if(!e||!e.state)return Wa;const t=e.state;return t.window&&(t.window=null),e.state=null,Ha}(this.strm),this.onEnd(a),this.ended=!0,a===Ha):s!==Fa||(this.onEnd(Ha),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ha&&(this.result=Ra(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}var eu=[0,1,3,7,15,31,63,127,255],tu=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};tu.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},tu.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=eu[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var i=r-e;t|=(this.curByte&eu[e]<<i)>>i,this.bitOffset+=e,e=0}}return t},tu.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},tu.prototype.pi=function(){var e,t=new Uint8Array(6);for(e=0;e<t.length;e++)t[e]=this.read(8);return function(e){return Array.prototype.map.call(e,(e=>("00"+e.toString(16)).slice(-2))).join("")}(t)};var ru=tu,iu=function(){};iu.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},iu.prototype.read=function(e,t,r){for(var i=0;i<r;){var n=this.readByte();if(n<0)return 0===i?-1:i;e[t++]=n,i++}return i},iu.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},iu.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},iu.prototype.write=function(e,t,r){var i;for(i=0;i<r;i++)this.writeByte(e[t++]);return r},iu.prototype.flush=function(){};var nu,au=iu,su=(nu=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),function(){var e=4294967295;this.getCRC=function(){return~e>>>0},this.updateCRC=function(t){e=e<<8^nu[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^nu[255&(e>>>24^t)]}}),ou=function(e,t){var r,i=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=i,i},cu={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},uu={};uu[cu.LAST_BLOCK]="Bad file checksum",uu[cu.NOT_BZIP_DATA]="Not bzip data",uu[cu.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",uu[cu.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",uu[cu.DATA_ERROR]="Data error",uu[cu.OUT_OF_MEMORY]="Out of memory",uu[cu.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var hu=function(e,t){var r=uu[e]||"unknown error";t&&(r+=": "+t);var i=new TypeError(r);throw i.errorCode=e,i},fu=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};fu.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new su,!0):(this.writeCount=-1,!1)},fu.prototype._start_bunzip=function(e,t){var r=new Uint8Array(4);4===e.read(r,0,4)&&"BZh"===String.fromCharCode(r[0],r[1],r[2])||hu(cu.NOT_BZIP_DATA,"bad magic");var i=r[3]-48;(i<1||i>9)&&hu(cu.NOT_BZIP_DATA,"level out of range"),this.reader=new ru(e),this.dbufSize=1e5*i,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},fu.prototype._get_next_block=function(){var e,t,r,i=this.reader,n=i.pi();if("177245385090"===n)return!1;"314159265359"!==n&&hu(cu.NOT_BZIP_DATA),this.targetBlockCRC=i.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,i.read(1)&&hu(cu.OBSOLETE_INPUT);var a=i.read(24);a>this.dbufSize&&hu(cu.DATA_ERROR,"initial position out of bounds");var s=i.read(16),o=new Uint8Array(256),c=0;for(e=0;e<16;e++)if(s&1<<15-e){var u=16*e;for(r=i.read(16),t=0;t<16;t++)r&1<<15-t&&(o[c++]=u+t)}var h=i.read(3);(h<2||h>6)&&hu(cu.DATA_ERROR);var f=i.read(15);0===f&&hu(cu.DATA_ERROR);var d=new Uint8Array(256);for(e=0;e<h;e++)d[e]=e;var l=new Uint8Array(f);for(e=0;e<f;e++){for(t=0;i.read(1);t++)t>=h&&hu(cu.DATA_ERROR);l[e]=ou(d,t)}var p,y=c+2,b=[];for(t=0;t<h;t++){var g,m,w=new Uint8Array(y),A=new Uint16Array(21);for(s=i.read(5),e=0;e<y;e++){for(;(s<1||s>20)&&hu(cu.DATA_ERROR),i.read(1);)i.read(1)?s--:s++;w[e]=s}for(g=m=w[0],e=1;e<y;e++)w[e]>m?m=w[e]:w[e]<g&&(g=w[e]);p={},b.push(p),p.permute=new Uint16Array(258),p.limit=new Uint32Array(22),p.base=new Uint32Array(21),p.minLen=g,p.maxLen=m;var v=0;for(e=g;e<=m;e++)for(A[e]=p.limit[e]=0,s=0;s<y;s++)w[s]===e&&(p.permute[v++]=s);for(e=0;e<y;e++)A[w[e]]++;for(v=s=0,e=g;e<m;e++)v+=A[e],p.limit[e]=v-1,v<<=1,s+=A[e],p.base[e+1]=v-s;p.limit[m+1]=Number.MAX_VALUE,p.limit[m]=v+A[m]-1,p.base[g]=0}var _=new Uint32Array(256);for(e=0;e<256;e++)d[e]=e;var k,E=0,S=0,C=0,I=this.dbuf=new Uint32Array(this.dbufSize);for(y=0;;){for(y--||(y=49,C>=f&&hu(cu.DATA_ERROR),p=b[l[C++]]),e=p.minLen,t=i.read(e);e>p.maxLen&&hu(cu.DATA_ERROR),!(t<=p.limit[e]);e++)t=t<<1|i.read(1);((t-=p.base[e])<0||t>=258)&&hu(cu.DATA_ERROR);var B=p.permute[t];if(0!==B&&1!==B){if(E)for(E=0,S+s>this.dbufSize&&hu(cu.DATA_ERROR),_[k=o[d[0]]]+=s;s--;)I[S++]=k;if(B>c)break;S>=this.dbufSize&&hu(cu.DATA_ERROR),_[k=o[k=ou(d,e=B-1)]]++,I[S++]=k}else E||(E=1,s=0),s+=0===B?E:2*E,E<<=1}for((a<0||a>=S)&&hu(cu.DATA_ERROR),t=0,e=0;e<256;e++)r=t+_[e],_[e]=t,t=r;for(e=0;e<S;e++)I[_[k=255&I[e]]]|=e<<8,_[k]++;var P=0,M=0,D=0;return S&&(M=255&(P=I[a]),P>>=8,D=-1),this.writePos=P,this.writeCurrent=M,this.writeCount=S,this.writeRun=D,!0},fu.prototype._read_bunzip=function(e,t){var r,i,n;if(this.writeCount<0)return 0;var a=this.dbuf,s=this.writePos,o=this.writeCurrent,c=this.writeCount;this.outputsize;for(var u=this.writeRun;c;){for(c--,i=o,o=255&(s=a[s]),s>>=8,3==u++?(r=o,n=i,o=-1):(r=1,n=o),this.blockCRC.updateCRCRun(n,r);r--;)this.outputStream.writeByte(n),this.nextoutput++;o!=i&&(u=0)}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&hu(cu.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var du=function(e){if("readByte"in e)return e;var t=new au;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},lu=function(e){var t=new au,r=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),r=!1;else{if("writeByte"in e)return e;t.buffer=e,r=!1}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(r&&this.pos>=this.buffer.length){var t=new Uint8Array(2*this.buffer.length);t.set(this.buffer),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!r)throw new TypeError("outputsize does not match decoded input");var e=new Uint8Array(this.pos);e.set(this.buffer.subarray(0,this.pos)),this.buffer=e}return this.buffer},t._coerced=!0,t};var pu=function(e,t,r){for(var i=du(e),n=lu(t),a=new fu(i,n);!("eof"in i)||!i.eof();)if(a._init_block())a._read_bunzip();else{var s=a.reader.read(32)>>>0;if(s!==a.streamCRC&&hu(cu.DATA_ERROR,"Bad stream CRC (got "+a.streamCRC.toString(16)+" expected "+s.toString(16)+")"),!r||!("eof"in i)||i.eof())break;a._start_bunzip(i,n)}if("getBuffer"in n)return n.getBuffer()};class yu{static get tag(){return ie.packet.literalData}constructor(e=new Date){this.format=ie.literal.utf8,this.date=V.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=ie.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||V.isStream(this.text))&&(this.text=V.decodeUTF8(V.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=V.canonicalizeEOL(V.encodeUTF8(this.text))),e?F(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await Q(e,(async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=V.decodeUTF8(await e.readBytes(r)),this.date=V.readDate(await e.readBytes(4));let i=e.remainder();s(i)&&(i=await L(i)),this.setBytes(i,t)}))}writeHeader(){const e=V.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),i=V.writeDate(this.date);return V.concatUint8Array([r,t,e,i])}write(){const e=this.writeHeader(),t=this.getBytes();return V.concat([e,t])}}const bu=Symbol("verified"),gu=new Set([ie.signatureSubpacket.issuer,ie.signatureSubpacket.issuerFingerprint,ie.signatureSubpacket.embeddedSignature]);class mu{static get tag(){return ie.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.signedHashValue=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new pe,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.revoked=null,this[bu]=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new bn(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[t++],this.publicKeyAlgorithm=e[t++],this.hashAlgorithm=e[t++],t+=this.readSubPackets(e.subarray(t,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");this.signatureData=e.subarray(0,t),t+=this.readSubPackets(e.subarray(t,e.length),!1),this.signedHashValue=e.subarray(t,t+2),t+=2,this.params=wa.signature.parseSignatureParams(this.publicKeyAlgorithm,e.subarray(t,e.length))}writeParams(){return this.params instanceof Promise?H((async()=>wa.serializeParams(this.publicKeyAlgorithm,await this.params))):wa.serializeParams(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),e.push(this.writeParams()),V.concat(e)}async sign(e,t,r=new Date,i=!1){5===e.version?this.version=5:this.version=4;const n=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];this.created=V.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID(),n.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=V.concat(n);const a=this.toHash(this.signatureType,t,i),s=await this.hash(this.signatureType,t,a,i);this.signedHashValue=q(z(s),0,2);const o=async()=>wa.signature.sign(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await L(s));V.isStream(s)?this.params=o():(this.params=await o(),this[bu]=!0)}writeHashedSubPackets(){const e=ie.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(wu(e.signatureCreationTime,!0,V.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(wu(e.signatureExpirationTime,!0,V.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(wu(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(wu(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(wu(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(wu(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(wu(e.keyExpirationTime,!0,V.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=V.stringToUint8Array(V.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(wu(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=V.concat([r,this.revocationKeyFingerprint]),t.push(wu(e.revocationKey,!1,r))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||t.push(wu(e.issuer,!0,this.issuerKeyID.write())),this.rawNotations.forEach((({name:i,value:n,humanReadable:a,critical:s})=>{r=[new Uint8Array([a?128:0,0,0,0])];const o=V.encodeUTF8(i);r.push(V.writeNumber(o.length,2)),r.push(V.writeNumber(n.length,2)),r.push(o),r.push(n),r=V.concat(r),t.push(wu(e.notationData,s,r))})),null!==this.preferredHashAlgorithms&&(r=V.stringToUint8Array(V.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(wu(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=V.stringToUint8Array(V.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(wu(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=V.stringToUint8Array(V.uint8ArrayToString(this.keyServerPreferences)),t.push(wu(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(wu(e.preferredKeyServer,!1,V.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(wu(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(wu(e.policyURI,!1,V.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=V.stringToUint8Array(V.uint8ArrayToString(this.keyFlags)),t.push(wu(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(wu(e.signersUserID,!1,V.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=V.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(wu(e.reasonForRevocation,!0,r))),null!==this.features&&(r=V.stringToUint8Array(V.uint8ArrayToString(this.features)),t.push(wu(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(V.stringToUint8Array(this.signatureTargetHash)),r=V.concat(r),t.push(wu(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(wu(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=V.concat(r),t.push(wu(e.issuerFingerprint,5===this.version,r))),null!==this.preferredAEADAlgorithms&&(r=V.stringToUint8Array(V.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(wu(e.preferredAEADAlgorithms,!1,r)));const i=V.concat(t),n=V.writeNumber(i.length,2);return V.concat([n,i])}writeUnhashedSubPackets(){const e=[];this.unhashedSubpackets.forEach((t=>{e.push(hn(t.length)),e.push(t)}));const t=V.concat(e),r=V.writeNumber(t.length,2);return V.concat([r,t])}readSubPacket(e,t=!0){let r=0;const i=!!(128&e[r]),n=127&e[r];if(t||(this.unhashedSubpackets.push(e.subarray(r,e.length)),gu.has(n)))switch(r++,n){case ie.signatureSubpacket.signatureCreationTime:this.created=V.readDate(e.subarray(r,e.length));break;case ie.signatureSubpacket.signatureExpirationTime:{const t=V.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case ie.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case ie.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case ie.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case ie.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case ie.signatureSubpacket.keyExpirationTime:{const t=V.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case ie.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case ie.signatureSubpacket.issuer:this.issuerKeyID.read(e.subarray(r,e.length));break;case ie.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const n=V.readNumber(e.subarray(r,r+2));r+=2;const a=V.readNumber(e.subarray(r,r+2));r+=2;const s=V.decodeUTF8(e.subarray(r,r+n)),o=e.subarray(r+n,r+n+a);this.rawNotations.push({name:s,humanReadable:t,value:o,critical:i}),t&&(this.notations[s]=V.decodeUTF8(o));break}case ie.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=V.decodeUTF8(e.subarray(r,e.length));break;case ie.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case ie.signatureSubpacket.policyURI:this.policyURI=V.decodeUTF8(e.subarray(r,e.length));break;case ie.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.signersUserID:this.signersUserID=V.decodeUTF8(e.subarray(r,e.length));break;case ie.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=V.decodeUTF8(e.subarray(r,e.length));break;case ie.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case ie.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=wa.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=V.uint8ArrayToString(e.subarray(r,r+t));break}case ie.signatureSubpacket.embeddedSignature:this.embeddedSignature=new mu,this.embeddedSignature.read(e.subarray(r,e.length));break;case ie.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),5===this.issuerKeyVersion?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case ie.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;default:{const e=Error("Unknown signature subpacket type "+n);if(i)throw e;V.printDebug(e)}}}readSubPackets(e,t=!0,r){const i=V.readNumber(e.subarray(0,2));let n=2;for(;n<2+i;){const i=un(e.subarray(n,e.length));n+=i.offset,this.readSubPacket(e.subarray(n,n+i.len),t,r),n+=i.len}return n}toSign(e,t){const r=ie.signature;switch(e){case r.binary:return null!==t.text?V.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return V.canonicalizeEOL(e)}case r.standalone:return new Uint8Array(0);case r.certGeneric:case r.certPersona:case r.certCasual:case r.certPositive:case r.certRevocation:{let e,i;if(t.userID)i=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");i=209,e=t.userAttribute}const n=e.write();return V.concat([this.toSign(r.key,t),new Uint8Array([i]),V.writeNumber(n.length,4),n])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return V.concat([this.toSign(r.key,t),this.toSign(r.key,{key:t.bind})]);case r.key:if(void 0===t.key)throw Error("Key packet is required for this signature.");return t.key.writeForHash(this.version);case r.keyRevocation:return this.toSign(r.key,t);case r.timestamp:return new Uint8Array(0);case r.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(e,t){let r=0;return R(z(this.signatureData),(e=>{r+=e.length}),(()=>{const i=[];return 5!==this.version||this.signatureType!==ie.signature.binary&&this.signatureType!==ie.signature.text||(t?i.push(new Uint8Array(6)):i.push(e.writeHeader())),i.push(new Uint8Array([this.version,255])),5===this.version&&i.push(new Uint8Array(4)),i.push(V.writeNumber(r,4)),V.concat(i)}))}toHash(e,t,r=!1){const i=this.toSign(e,t);return V.concat([i,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,i=!1){return r||(r=this.toHash(e,t,i)),wa.hash.digest(this.hashAlgorithm,r)}async verify(e,t,r,i=new Date,n=!1,a=ne){if(!this.issuerKeyID.equals(e.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const s=t===ie.signature.binary||t===ie.signature.text;if(!(this[bu]&&!s)){let i,a;if(this.hashed?a=await this.hashed:(i=this.toHash(t,r,n),a=await this.hash(t,r,i)),a=await L(a),this.signedHashValue[0]!==a[0]||this.signedHashValue[1]!==a[1])throw Error("Signed digest did not match");this.params=await this.params;const s=this.publicKeyAlgorithm===ie.publicKey.hmac?e.privateParams:null;if(this[bu]=await wa.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,s,i,a),!this[bu])throw Error("Signature verification failed")}const o=V.normalizeDate(i);if(o&&this.created>o)throw Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw Error("Signature is expired");if(a.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+ie.read(ie.hash,this.hashAlgorithm).toUpperCase());if(a.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[ie.signature.binary,ie.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+ie.read(ie.hash,this.hashAlgorithm).toUpperCase());if(this.rawNotations.forEach((({name:e,critical:t})=>{if(t&&a.knownNotations.indexOf(e)<0)throw Error("Unknown critical notation: "+e)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=V.normalizeDate(e);return null!==t&&!(this.created<=t&&t<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function wu(e,t,r){const i=[];return i.push(hn(r.length+1)),i.push(new Uint8Array([(t?128:0)|e])),i.push(r),V.concat(i)}class Au{static get tag(){return ie.packet.onePassSignature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.issuerKeyID=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new bn(`Version ${this.version} of the one-pass signature packet is unsupported.`);return this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],this.issuerKeyID=new pe,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8,this.flags=e[t++],this}write(){const e=new Uint8Array([3,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm]),t=new Uint8Array([this.flags]);return V.concatUint8Array([e,this.issuerKeyID.write(),t])}calculateTrailer(...e){return H((async()=>mu.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==ie.packet.signature)throw Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function vu(e,t){if(!t[e]){let t;try{t=ie.read(ie.packet,e)}catch(t){throw new bn("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}Au.prototype.hash=mu.prototype.hash,Au.prototype.toHash=mu.prototype.toHash,Au.prototype.toSign=mu.prototype.toSign;class _u extends Array{static async fromBinary(e,t,r=ne){const i=new _u;return await i.read(e,t,r),i}async read(e,t,r=ne){r.additionalAllowedPackets.length&&(t={...t,...V.constructAllowedPackets(r.additionalAllowedPackets)}),this.stream=T(e,(async(e,i)=>{const n=D(i);try{for(;;){await n.ready;if(await yn(e,(async e=>{try{if(e.tag===ie.packet.marker||e.tag===ie.packet.trust)return;const i=vu(e.tag,t);i.packets=new _u,i.fromStream=V.isStream(e.packet),await i.read(e.packet,r),await n.write(i)}catch(t){const i=!r.ignoreUnsupportedPackets&&t instanceof bn,a=!(r.ignoreMalformedPackets||t instanceof bn);if(i||a||pn(e.tag))await n.abort(t);else{const t=new gn(e.tag,e.packet);await n.write(t)}V.printDebugError(t)}})))return await n.ready,void await n.close()}}catch(e){await n.abort(e)}}));const i=M(this.stream);for(;;){const{done:e,value:t}=await i.read();if(e?this.stream=null:this.push(t),e||pn(t.constructor.tag))break}i.releaseLock()}write(){const e=[];for(let t=0;t<this.length;t++){const r=this[t]instanceof gn?this[t].tag:this[t].constructor.tag,i=this[t].write();if(V.isStream(i)&&pn(this[t].constructor.tag)){let t=[],n=0;const a=512;e.push(dn(r)),e.push(R(i,(e=>{if(t.push(e),n+=e.length,n>=a){const e=Math.min(Math.log(n)/Math.LN2|0,30),r=2**e,i=V.concat([fn(e)].concat(t));return t=[i.subarray(1+r)],n=t[0].length,i.subarray(0,1+r)}}),(()=>V.concat([hn(n)].concat(t)))))}else{if(V.isStream(i)){let t=0;e.push(R(z(i),(e=>{t+=e.length}),(()=>ln(r,t))))}else e.push(ln(r,i.length));e.push(i)}}return V.concat(e)}filterByTag(...e){const t=new _u,r=e=>t=>e===t;for(let i=0;i<this.length;i++)e.some(r(this[i].constructor.tag))&&t.push(this[i]);return t}findPacket(e){return this.find((t=>t.constructor.tag===e))}indexOfTag(...e){const t=[],r=this,i=e=>t=>e===t;for(let n=0;n<this.length;n++)e.some(i(r[n].constructor.tag))&&t.push(n);return t}}const ku=/*#__PURE__*/V.constructAllowedPackets([yu,Au,mu]);class Eu{static get tag(){return ie.packet.compressedData}constructor(e=ne){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null,this.deflateLevel=e.deflateLevel}async read(e,t=ne){await Q(e,(async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)}))}write(){return null===this.compressed&&this.compress(),V.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=ne){const t=ie.read(ie.compression,this.algorithm),r=Du[t];if(!r)throw Error(t+" decompression not supported");this.packets=await _u.fromBinary(r(this.compressed),ku,e)}compress(){const e=ie.read(ie.compression,this.algorithm),t=Mu[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write(),this.deflateLevel)}}const Su=V.getNodeZlib();function Cu(e){return e}function Iu(e,t,r={}){return function(i){return!V.isStream(i)||s(i)?H((()=>L(i).then((t=>new Promise(((i,n)=>{e(t,r,((e,t)=>{if(e)return n(e);i(t)}))})))))):y(b(i).pipe(t(r)))}}function Bu(e,t={}){return function(r){const i=new e(t);return R(r,(e=>{if(e.length)return i.push(e,Fa),i.result}),(()=>{if(e===jo)return i.push([],qa),i.result}))}}function Pu(e){return function(t){return H((async()=>e(await L(t))))}}const Mu=Su?{zip:/*#__PURE__*/(e,t)=>Iu(Su.deflateRaw,Su.createDeflateRaw,{level:t})(e),zlib:/*#__PURE__*/(e,t)=>Iu(Su.deflate,Su.createDeflate,{level:t})(e)}:{zip:/*#__PURE__*/(e,t)=>Bu(jo,{raw:!0,level:t})(e),zlib:/*#__PURE__*/(e,t)=>Bu(jo,{level:t})(e)},Du=Su?{uncompressed:Cu,zip:/*#__PURE__*/Iu(Su.inflateRaw,Su.createInflateRaw),zlib:/*#__PURE__*/Iu(Su.inflate,Su.createInflate),bzip2:/*#__PURE__*/Pu(pu)}:{uncompressed:Cu,zip:/*#__PURE__*/Bu($c,{raw:!0}),zlib:/*#__PURE__*/Bu($c),bzip2:/*#__PURE__*/Pu(pu)},xu=/*#__PURE__*/V.constructAllowedPackets([yu,Eu,Au,mu]);class Ku{static get tag(){return ie.packet.symEncryptedIntegrityProtectedData}constructor(){this.version=1,this.encrypted=null,this.packets=null}async read(e){await Q(e,(async e=>{const t=await e.readByte();if(1!==t)throw new bn(`Version ${t} of the SEIP packet is unsupported.`);this.encrypted=e.remainder()}))}write(){return V.concat([new Uint8Array([1]),this.encrypted])}async encrypt(e,t,r=ne){const{blockSize:i}=wa.getCipher(e);let n=this.packets.write();s(n)&&(n=await L(n));const a=await wa.getPrefixRandom(e),o=new Uint8Array([211,20]),c=V.concat([a,n,o]),u=await wa.hash.sha1(F(c)),h=V.concat([c,u]);return this.encrypted=await wa.mode.cfb.encrypt(e,t,h,new Uint8Array(i),r),!0}async decrypt(e,t,r=ne){const{blockSize:i}=wa.getCipher(e);let n=z(this.encrypted);s(n)&&(n=await L(n));const a=await wa.mode.cfb.decrypt(e,t,n,new Uint8Array(i)),o=q(F(a),-20),c=q(a,0,-20),u=Promise.all([L(await wa.hash.sha1(F(c))),L(o)]).then((([e,t])=>{if(!V.equalsUint8Array(e,t))throw Error("Modification detected.");return new Uint8Array})),h=q(c,i+2);let f=q(h,0,-2);return f=P([f,H((()=>u))]),V.isStream(n)&&r.allowUnauthenticatedStream||(f=await L(f)),this.packets=await _u.fromBinary(f,xu,r),!0}}const Uu=/*#__PURE__*/V.constructAllowedPackets([yu,Eu,Au,mu]);class Ru{static get tag(){return ie.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=ie.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await Q(e,(async e=>{const t=await e.readByte();if(1!==t)throw new bn(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=wa.getAEADMode(this.aeadAlgorithm);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return V.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=ne){this.packets=await _u.fromBinary(await this.crypt("decrypt",t,z(this.encrypted)),Uu,r)}async encrypt(e,t,r=ne){this.cipherAlgorithm=e;const{ivLength:i}=wa.getAEADMode(this.aeadAlgorithm);this.iv=wa.random.getRandomBytes(i),this.chunkSizeByte=r.aeadChunkSizeByte;const n=this.packets.write();this.encrypted=await this.crypt("encrypt",t,n)}async crypt(e,t,r){const i=wa.getAEADMode(this.aeadAlgorithm),n=await i(this.cipherAlgorithm,t),a="decrypt"===e?i.tagLength:0,s="encrypt"===e?i.tagLength:0,o=2**(this.chunkSizeByte+6)+a,c=new ArrayBuffer(21),u=new Uint8Array(c,0,13),h=new Uint8Array(c),f=new DataView(c),d=new Uint8Array(c,5,8);u.set([192|Ru.tag,this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte],0);let l=0,p=Promise.resolve(),y=0,b=0;const g=this.iv;return T(r,(async(t,r)=>{if("array"!==V.isStream(t)){const e=new E({},{highWaterMark:V.getHardwareConcurrency()*2**(this.chunkSizeByte+6),size:e=>e.length});x(e.readable,r),r=e.writable}const c=M(t),m=D(r);try{for(;;){let t=await c.readBytes(o+a)||new Uint8Array;const r=t.subarray(t.length-a);let w,A;if(t=t.subarray(0,t.length-a),!l||t.length?(c.unshift(r),w=n[e](t,i.getNonce(g,d),u),b+=t.length-a+s):(f.setInt32(17,y),w=n[e](r,i.getNonce(g,d),h),b+=s,A=!0),y+=t.length-a,p=p.then((()=>w)).then((async e=>{await m.ready,await m.write(e),b-=e.length})).catch((e=>m.abort(e))),(A||b>m.desiredSize)&&await p,A){await m.close();break}f.setInt32(9,++l)}}catch(e){await m.abort(e)}}))}}class Tu{static get tag(){return ie.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new pe,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}read(e){if(this.version=e[0],3!==this.version)throw new bn(`Version ${this.version} of the PKESK packet is unsupported.`);this.publicKeyID.read(e.subarray(1,e.length)),this.publicKeyAlgorithm=e[9],this.encrypted=wa.parseEncSessionKeyParams(this.publicKeyAlgorithm,e.subarray(10))}write(){const e=[new Uint8Array([this.version]),this.publicKeyID.write(),new Uint8Array([this.publicKeyAlgorithm]),wa.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return V.concatUint8Array(e)}async encrypt(e){const t=V.concatUint8Array([new Uint8Array([ie.write(ie.symmetric,this.sessionKeyAlgorithm)]),this.sessionKey,V.writeChecksum(this.sessionKey)]),r=ie.write(ie.publicKey,this.publicKeyAlgorithm),i=r===ie.publicKey.aead?e.privateParams:null;this.encrypted=await wa.publicKeyEncrypt(r,e.publicParams,i,t,e.getFingerprintBytes())}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?V.concatUint8Array([new Uint8Array([t.sessionKeyAlgorithm]),t.sessionKey,V.writeChecksum(t.sessionKey)]):null,i=await wa.publicKeyDecrypt(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,e.getFingerprintBytes(),r),n=i[0],a=i.subarray(1,i.length-2),s=i.subarray(i.length-2),o=V.writeChecksum(a),c=o[0]===s[0]&o[1]===s[1];if(t){const e=c&n===t.sessionKeyAlgorithm&a.length===t.sessionKey.length;this.sessionKeyAlgorithm=V.selectUint8(e,n,t.sessionKeyAlgorithm),this.sessionKey=V.selectUint8Array(e,a,t.sessionKey)}else{if(!(c&&ie.read(ie.symmetric,n)))throw Error("Decryption error");this.sessionKey=a,this.sessionKeyAlgorithm=n}}}class Qu{static get tag(){return ie.packet.symEncryptedSessionKey}constructor(e=ne){this.version=e.aeadProtect?5:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=ie.symmetric.aes256,this.aeadAlgorithm=ie.write(ie.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new bn(`Version ${this.version} of the SKESK packet is unsupported.`);const r=e[t++];5===this.version&&(this.aeadAlgorithm=e[t++]);const i=e[t++];if(this.s2k=Ca(i),t+=this.s2k.read(e.subarray(t,e.length)),5===this.version){const r=wa.getAEADMode(this.aeadAlgorithm);this.iv=e.subarray(t,t+=r.ivLength)}5===this.version||t<e.length?(this.encrypted=e.subarray(t,e.length),this.sessionKeyEncryptionAlgorithm=r):this.sessionKeyAlgorithm=r}write(){const e=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let t;return 5===this.version?t=V.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),this.s2k.write(),this.iv,this.encrypted]):(t=V.concatUint8Array([new Uint8Array([this.version,e]),this.s2k.write()]),null!==this.encrypted&&(t=V.concatUint8Array([t,this.encrypted]))),t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:i}=wa.getCipher(t),n=await this.s2k.produceKey(e,i);if(5===this.version){const e=wa.getAEADMode(this.aeadAlgorithm),r=new Uint8Array([192|Qu.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),i=await e(t,n);this.sessionKey=await i.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await wa.mode.cfb.decrypt(t,n,this.encrypted,new Uint8Array(r));this.sessionKeyAlgorithm=ie.write(ie.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length)}else this.sessionKey=n}async encrypt(e,t=ne){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Ia(t),this.s2k.generateSalt();const{blockSize:i,keySize:n}=wa.getCipher(r),a=await this.s2k.produceKey(e,n);if(null===this.sessionKey&&(this.sessionKey=wa.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const e=wa.getAEADMode(this.aeadAlgorithm);this.iv=wa.random.getRandomBytes(e.ivLength);const t=new Uint8Array([192|Qu.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),i=await e(r,a);this.encrypted=await i.encrypt(this.sessionKey,this.iv,t)}else{const e=V.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await wa.mode.cfb.encrypt(r,a,e,new Uint8Array(i),t)}}}class zu{static get tag(){return ie.packet.publicKey}constructor(e=new Date,t=ne){this.version=t.v5Keys?5:4,this.created=V.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new zu,{version:r,created:i,algorithm:n,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=i,t.algorithm=n,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}async read(e){let t=0;if(this.version=e[t++],4===this.version||5===this.version){this.created=V.readDate(e.subarray(t,t+4)),t+=4,this.algorithm=e[t++],5===this.version&&(t+=4);const{read:r,publicParams:i}=wa.parsePublicKeyParams(this.algorithm,e.subarray(t));return this.publicParams=i,t+=r,await this.computeFingerprintAndKeyID(),t}throw new bn(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(V.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=wa.serializeParams(this.algorithm,this.publicParams);return 5===this.version&&e.push(V.writeNumber(t.length,4)),e.push(t),V.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey();return 5===e?V.concatUint8Array([new Uint8Array([154]),V.writeNumber(t.length,4),t]):V.concatUint8Array([new Uint8Array([153]),V.writeNumber(t.length,2),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new pe,5===this.version)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(5===this.version)this.fingerprint=await wa.hash.sha256(e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await wa.hash.sha1(e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return V.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&V.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=ie.read(ie.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=V.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():e.symmetric=this.publicParams.cipher.getName(),e}}zu.prototype.readPublicKey=zu.prototype.read,zu.prototype.writePublicKey=zu.prototype.write;const Fu=/*#__PURE__*/V.constructAllowedPackets([yu,Eu,Au,mu]);class Nu{static get tag(){return ie.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=ne){if(!r.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:i}=wa.getCipher(e),n=await L(z(this.encrypted)),a=await wa.mode.cfb.decrypt(e,t,n.subarray(i+2),n.subarray(2,i+2));this.packets=await _u.fromBinary(a,Fu,r)}async encrypt(e,t,r=ne){const i=this.packets.write(),{blockSize:n}=wa.getCipher(e),a=await wa.getPrefixRandom(e),s=await wa.mode.cfb.encrypt(e,t,a,new Uint8Array(n),r),o=await wa.mode.cfb.encrypt(e,t,i,s.subarray(2),r);this.encrypted=V.concat([s,o])}}class qu{static get tag(){return ie.packet.marker}read(e){return 80===e[0]&&71===e[1]&&80===e[2]}write(){return new Uint8Array([80,71,80])}}class Lu extends zu{static get tag(){return ie.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new Lu,{version:r,created:i,algorithm:n,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=i,t.algorithm=n,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}}class Ou{static get tag(){return ie.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){const r=un(e.subarray(t,e.length));t+=r.offset,this.attributes.push(V.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){const e=[];for(let t=0;t<this.attributes.length;t++)e.push(hn(this.attributes[t].length)),e.push(V.stringToUint8Array(this.attributes[t]));return V.concatUint8Array(e)}equals(e){return!!(e&&e instanceof Ou)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class Hu extends zu{static get tag(){return ie.packet.secretKey}constructor(e=new Date,t=ne){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.privateParams=null}async read(e){let t=await this.readPublicKey(e);if(this.s2kUsage=e[t++],5===this.version&&t++,255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){this.symmetric=e[t++],253===this.s2kUsage&&(this.aead=e[t++]);const r=e[t++];if(this.s2k=Ca(r),t+=this.s2k.read(e.subarray(t,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);if(this.s2kUsage&&(this.iv=e.subarray(t,t+wa.getCipher(this.symmetric).blockSize),t+=this.iv.length),5===this.version&&(t+=4),this.keyMaterial=e.subarray(t),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){const e=this.keyMaterial.subarray(0,-2);if(!V.equalsUint8Array(V.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{privateParams:t}=wa.parsePrivateKeyParams(this.algorithm,e,this.publicParams);this.privateParams=t}catch(e){if(e instanceof bn)throw e;throw Error("Error reading MPIs")}}}write(){const e=[this.writePublicKey()];e.push(new Uint8Array([this.s2kUsage]));const t=[];return 255!==this.s2kUsage&&254!==this.s2kUsage&&253!==this.s2kUsage||(t.push(this.symmetric),253===this.s2kUsage&&t.push(this.aead),t.push(...this.s2k.write())),this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&t.push(...this.iv),5===this.version&&e.push(new Uint8Array([t.length])),e.push(new Uint8Array(t)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=wa.serializeParams(this.algorithm,this.privateParams)),5===this.version&&e.push(V.writeNumber(this.keyMaterial.length,4)),e.push(this.keyMaterial),this.s2kUsage||e.push(V.writeChecksum(this.keyMaterial))),V.concatUint8Array(e)}isDecrypted(){return!1===this.isEncrypted}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=ne){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),this.isEncrypted=null,this.keyMaterial=null,this.s2k=Ca(ie.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=ie.symmetric.aes256)}async encrypt(e,t=ne){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!e)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=Ia(t),this.s2k.generateSalt();const r=wa.serializeParams(this.algorithm,this.privateParams);this.symmetric=ie.symmetric.aes256;const i=await ju(this.s2k,e,this.symmetric),{blockSize:n}=wa.getCipher(this.symmetric);if(this.iv=wa.random.getRandomBytes(n),t.aeadProtect){this.s2kUsage=253,this.aead=ie.aead.eax;const e=wa.getAEADMode(this.aead),t=await e(this.symmetric,i);this.keyMaterial=await t.encrypt(r,this.iv.subarray(0,e.ivLength),new Uint8Array)}else this.s2kUsage=254,this.keyMaterial=await wa.mode.cfb.encrypt(this.symmetric,i,V.concatUint8Array([r,await wa.hash.sha1(r,t)]),this.iv,t)}async decrypt(e){if(this.isDummy())return!1;if(this.isDecrypted())throw Error("Key packet is already decrypted.");let t,r;if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");if(t=await ju(this.s2k,e,this.symmetric),253===this.s2kUsage){const e=wa.getAEADMode(this.aead),i=await e(this.symmetric,t);try{r=await i.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),new Uint8Array)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{const e=await wa.mode.cfb.decrypt(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);const i=await wa.hash.sha1(r);if(!V.equalsUint8Array(i,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=wa.parsePrivateKeyParams(this.algorithm,r,this.publicParams);this.privateParams=e}catch(e){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");let e;try{e=await wa.validateParams(this.algorithm,this.publicParams,this.privateParams)}catch(t){e=!1}if(!e)throw Error("Key is invalid")}async generate(e,t,r){const{privateParams:i,publicParams:n}=await wa.generateParams(this.algorithm,e,t,r);this.privateParams=i,this.publicParams=n,this.isEncrypted=!1}clearPrivateParams(){this.isDummy()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function ju(e,t,r){const{keySize:i}=wa.getCipher(r);return e.produceKey(t,i)}var Gu=it((function(e){!function(t){function r(e){function t(){return ke<Ee}function r(){return ke}function n(e){ke=e}function a(){ke=0,Ee=_e.length}function s(e,t){return{name:e,tokens:t||"",semantic:t||"",children:[]}}function o(e,t){var r;return null===t?null:((r=s(e)).tokens=t.tokens,r.semantic=t.semantic,r.children.push(t),r)}function c(e,t){return null!==t&&(e.tokens+=t.tokens,e.semantic+=t.semantic),e.children.push(t),e}function u(e){var r;return t()&&e(r=_e[ke])?(ke+=1,s("token",r)):null}function h(e){return function(){return o("literal",u((function(t){return t===e})))}}function f(){var e=arguments;return function(){var t,i,a,o;for(o=r(),i=s("and"),t=0;t<e.length;t+=1){if(null===(a=e[t]()))return n(o),null;c(i,a)}return i}}function d(){var e=arguments;return function(){var t,i,a;for(a=r(),t=0;t<e.length;t+=1){if(null!==(i=e[t]()))return i;n(a)}return null}}function l(e){return function(){var t,i;return i=r(),null!==(t=e())?t:(n(i),s("opt"))}}function p(e){return function(){var t=e();return null!==t&&(t.semantic=""),t}}function y(e){return function(){var t=e();return null!==t&&t.semantic.length>0&&(t.semantic=" "),t}}function b(e,t){return function(){var i,a,o,u,h;for(u=r(),i=s("star"),o=0,h=void 0===t?0:t;null!==(a=e());)o+=1,c(i,a);return o>=h?i:(n(u),null)}}function g(e){return e.charCodeAt(0)>=128}function m(){return o("cr",h("\r")())}function w(){return o("crlf",f(m,_)())}function A(){return o("dquote",h('"')())}function v(){return o("htab",h("\t")())}function _(){return o("lf",h("\n")())}function k(){return o("sp",h(" ")())}function E(){return o("vchar",u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=126;return e.rfc6532&&(i=i||g(t)),i})))}function S(){return o("wsp",d(k,v)())}function C(){var e=o("quoted-pair",d(f(h("\\"),d(E,S)),ie)());return null===e?null:(e.semantic=e.semantic[1],e)}function I(){return o("fws",d(ae,f(l(f(b(S),p(w))),b(S,1)))())}function B(){return o("ctext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=39||42<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(i=i||g(t)),i}))}),te)())}function P(){return o("ccontent",d(B,C,M)())}function M(){return o("comment",f(h("("),b(f(l(I),P)),l(I),h(")"))())}function D(){return o("cfws",d(f(b(f(l(I),M),1),l(I)),I)())}function x(){return o("atext",u((function(t){var r="a"<=t&&t<="z"||"A"<=t&&t<="Z"||"0"<=t&&t<="9"||["!","#","$","%","&","'","*","+","-","/","=","?","^","_","`","{","|","}","~"].indexOf(t)>=0;return e.rfc6532&&(r=r||g(t)),r})))}function K(){return o("atom",f(y(l(D)),b(x,1),y(l(D)))())}function U(){var e,t;return null===(e=o("dot-atom-text",b(x,1)()))||null!==(t=b(f(h("."),b(x,1)))())&&c(e,t),e}function R(){return o("dot-atom",f(p(l(D)),U,p(l(D)))())}function T(){return o("qtext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33===r||35<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(i=i||g(t)),i}))}),re)())}function Q(){return o("qcontent",d(T,C)())}function z(){return o("quoted-string",f(p(l(D)),p(A),b(f(l(y(I)),Q)),l(p(I)),p(A),p(l(D)))())}function F(){return o("word",d(K,z)())}function N(){return o("address",d(q,H)())}function q(){return o("mailbox",d(L,$)())}function L(){return o("name-addr",f(l(j),O)())}function O(){return o("angle-addr",d(f(p(l(D)),h("<"),$,h(">"),p(l(D))),se)())}function H(){return o("group",f(j,h(":"),l(V),h(";"),p(l(D)))())}function j(){return o("display-name",(null!==(e=o("phrase",d(ne,b(F,1))()))&&(e.semantic=function(e){return e.replace(/([ \t]|\r\n)+/g," ").replace(/^\s*/,"").replace(/\s*$/,"")}(e.semantic)),e));var e}function G(){return o("mailbox-list",d(f(q,b(f(h(","),q))),ue)())}function W(){return o("address-list",d(f(N,b(f(h(","),N))),he)())}function V(){return o("group-list",d(G,p(D),fe)())}function J(){return o("local-part",d(de,R,z)())}function Y(){return o("dtext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=90||94<=r&&r<=126;return e.rfc6532&&(i=i||g(t)),i}))}),pe)())}function Z(){return o("domain-literal",f(p(l(D)),h("["),b(f(l(I),Y)),l(I),h("]"),p(l(D)))())}function X(){return o("domain",(t=d(le,R,Z)(),e.rejectTLD&&t&&t.semantic&&t.semantic.indexOf(".")<0?null:(t&&(t.semantic=t.semantic.replace(/\s+/g,"")),t)));var t}function $(){return o("addr-spec",f(J,h("@"),X)())}function ee(){return e.strict?null:o("obs-NO-WS-CTL",u((function(e){var t=e.charCodeAt(0);return 1<=t&&t<=8||11===t||12===t||14<=t&&t<=31||127===t})))}function te(){return e.strict?null:o("obs-ctext",ee())}function re(){return e.strict?null:o("obs-qtext",ee())}function ie(){return e.strict?null:o("obs-qp",f(h("\\"),d(h("\0"),ee,_,m))())}function ne(){return e.strict?null:e.atInDisplayName?o("obs-phrase",f(F,b(d(F,h("."),h("@"),y(D))))()):o("obs-phrase",f(F,b(d(F,h("."),y(D))))())}function ae(){return e.strict?null:o("obs-FWS",b(f(p(l(w)),S),1)())}function se(){return e.strict?null:o("obs-angle-addr",f(p(l(D)),h("<"),oe,$,h(">"),p(l(D)))())}function oe(){return e.strict?null:o("obs-route",f(ce,h(":"))())}function ce(){return e.strict?null:o("obs-domain-list",f(b(d(p(D),h(","))),h("@"),X,b(f(h(","),p(l(D)),l(f(h("@"),X)))))())}function ue(){return e.strict?null:o("obs-mbox-list",f(b(f(p(l(D)),h(","))),q,b(f(h(","),l(f(q,p(D))))))())}function he(){return e.strict?null:o("obs-addr-list",f(b(f(p(l(D)),h(","))),N,b(f(h(","),l(f(N,p(D))))))())}function fe(){return e.strict?null:o("obs-group-list",f(b(f(p(l(D)),h(",")),1),p(l(D)))())}function de(){return e.strict?null:o("obs-local-part",f(F,b(f(h("."),F)))())}function le(){return e.strict?null:o("obs-domain",f(K,b(f(h("."),K)))())}function pe(){return e.strict?null:o("obs-dtext",d(ee,C)())}function ye(e,t){var r,i,n;if(null==t)return null;for(i=[t];i.length>0;){if((n=i.pop()).name===e)return n;for(r=n.children.length-1;r>=0;r-=1)i.push(n.children[r])}return null}function be(e,t){var r,i,n,a,s;if(null==t)return null;for(i=[t],a=[],s={},r=0;r<e.length;r+=1)s[e[r]]=!0;for(;i.length>0;)if((n=i.pop()).name in s)a.push(n);else for(r=n.children.length-1;r>=0;r-=1)i.push(n.children[r]);return a}function ge(t){var r,i,n,a,s;if(null===t)return null;for(r=[],i=be(["group","mailbox"],t),n=0;n<i.length;n+=1)"group"===(a=i[n]).name?r.push(me(a)):"mailbox"===a.name&&r.push(we(a));return s={ast:t,addresses:r},e.simple&&(s=function(e){var t;if(e&&e.addresses)for(t=0;t<e.addresses.length;t+=1)delete e.addresses[t].node;return e}(s)),e.oneResult?function(t){if(!t)return null;if(!e.partial&&t.addresses.length>1)return null;return t.addresses&&t.addresses[0]}(s):e.simple?s&&s.addresses:s}function me(e){var t,r=ye("display-name",e),i=[],n=be(["mailbox"],e);for(t=0;t<n.length;t+=1)i.push(we(n[t]));return{node:e,parts:{name:r},type:e.name,name:Ae(r),addresses:i}}function we(e){var t=ye("display-name",e),r=ye("addr-spec",e),i=function(e,t){var r,i,n,a;if(null==t)return null;for(i=[t],a=[];i.length>0;)for((n=i.pop()).name===e&&a.push(n),r=n.children.length-1;r>=0;r-=1)i.push(n.children[r]);return a}("cfws",e),n=be(["comment"],e),a=ye("local-part",r),s=ye("domain",r);return{node:e,parts:{name:t,address:r,local:a,domain:s,comments:i},type:e.name,name:Ae(t),address:Ae(r),local:Ae(a),domain:Ae(s),comments:ve(n),groupName:Ae(e.groupName)}}function Ae(e){return null!=e?e.semantic:null}function ve(e){var t="";if(e)for(var r=0;r<e.length;r+=1)t+=Ae(e[r]);return t}var _e,ke,Ee,Se,Ce;if(null===(e=i(e,{})))return null;if(_e=e.input,Ce={address:N,"address-list":W,"angle-addr":O,from:function(){return o("from",d(G,W)())},group:H,mailbox:q,"mailbox-list":G,"reply-to":function(){return o("reply-to",W())},sender:function(){return o("sender",d(q,N)())}}[e.startAt]||W,!e.strict){if(a(),e.strict=!0,Se=Ce(_e),e.partial||!t())return ge(Se);e.strict=!1}return a(),Se=Ce(_e),!e.partial&&t()?null:ge(Se)}function i(e,t){function r(e){return"[object String]"===Object.prototype.toString.call(e)}function i(e){return null==e}var n,a;if(r(e))e={input:e};else if(!function(e){return e===Object(e)}(e))return null;if(!r(e.input))return null;if(!t)return null;for(a in n={oneResult:!1,partial:!1,rejectTLD:!1,rfc6532:!1,simple:!1,startAt:"address-list",strict:!1,atInDisplayName:!1})i(e[a])&&(e[a]=i(t[a])?n[a]:t[a]);return e}r.parseOneAddress=function(e){return r(i(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseAddressList=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseFrom=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"from"}))},r.parseSender=function(e){return r(i(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"sender"}))},r.parseReplyTo=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"reply-to"}))},e.exports=r}()}));class Wu{static get tag(){return ie.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(V.isString(e)||e.name&&!V.isString(e.name)||e.email&&!V.isEmailAddress(e.email)||e.comment&&!V.isString(e.comment))throw Error("Invalid user ID format");const t=new Wu;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=ne){const r=V.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");try{const{name:e,address:t,comments:i}=Gu.parseOneAddress({input:r,atInDisplayName:!0});this.comment=i.replace(/^\(|\)$/g,""),this.name=e,this.email=t}catch(e){}this.userID=r}write(){return V.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class Vu extends Hu{static get tag(){return ie.packet.secretSubkey}constructor(e=new Date,t=ne){super(e,t)}}class Ju{static get tag(){return ie.packet.trust}read(){throw new bn("Trust packets are not supported")}write(){throw new bn("Trust packets are not supported")}}const Yu=/*#__PURE__*/V.constructAllowedPackets([mu]);class Zu{constructor(e){this.packets=e||new _u}write(){return this.packets.write()}armor(e=ne){return le(ie.armor.signature,this.write(),void 0,void 0,void 0,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function Xu({armoredSignature:e,binarySignature:t,config:r,...i}){r={...ne,...r};let n=e||t;if(!n)throw Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");if(e&&!V.isString(e))throw Error("readSignature: options.armoredSignature must be a string");if(t&&!V.isUint8Array(t))throw Error("readSignature: options.binarySignature must be a Uint8Array");const a=Object.keys(i);if(a.length>0)throw Error("Unknown option: "+a.join(", "));if(e){const{type:e,data:t}=await de(n,r);if(e!==ie.armor.signature)throw Error("Armored text not of type signature");n=t}const s=await _u.fromBinary(n,Yu,r);return new Zu(s)}async function $u(e,t){const r=new Vu(e.date,t);return r.packets=null,r.algorithm=ie.write(ie.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function eh(e,t){const r=new Hu(e.date,t);return r.packets=null,r.algorithm=ie.write(ie.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function th(e,t,r,i,n=new Date,a){let s,o;for(let c=e.length-1;c>=0;c--)try{(!s||e[c].created>=s.created)&&(await e[c].verify(t,r,i,n,void 0,a),s=e[c])}catch(e){o=e}if(!s)throw V.wrapError(`Could not find valid ${ie.read(ie.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((e,t,r)=>t+" "+r.toLowerCase())),o);return s}function rh(e,t,r=new Date){const i=V.normalizeDate(r);if(null!==i){const r=uh(e,t);return!(e.created<=i&&i<r)}return!1}async function ih(e,t,r,i){const n={};n.key=t,n.bind=e;const a=new mu;return a.signatureType=ie.signature.subkeyBinding,a.publicKeyAlgorithm=t.algorithm,a.hashAlgorithm=await nh(null,e,void 0,void 0,i),r.sign?(a.keyFlags=[ie.keyFlags.signData],a.embeddedSignature=await sh(n,null,e,{signatureType:ie.signature.keyBinding},r.date,void 0,void 0,void 0,i)):a.keyFlags=[ie.keyFlags.encryptCommunication|ie.keyFlags.encryptStorage],r.keyExpirationTime>0&&(a.keyExpirationTime=r.keyExpirationTime,a.keyNeverExpires=!1),await a.sign(t,n,r.date),a}async function nh(e,t,r=new Date,i={},n){let a=n.preferredHashAlgorithm,s=a;if(e){const t=await e.getPrimaryUser(r,i,n);t.selfCertification.preferredHashAlgorithms&&([s]=t.selfCertification.preferredHashAlgorithms,a=wa.hash.getHashByteLength(a)<=wa.hash.getHashByteLength(s)?s:a)}switch(Object.getPrototypeOf(t)){case Hu.prototype:case zu.prototype:case Vu.prototype:case Lu.prototype:switch(t.algorithm){case ie.publicKey.ecdh:case ie.publicKey.ecdsa:case ie.publicKey.eddsa:s=wa.publicKey.elliptic.getPreferredHashAlgo(t.publicParams.oid)}}return wa.hash.getHashByteLength(a)<=wa.hash.getHashByteLength(s)?s:a}async function ah(e,t=[],r=new Date,i=[],n=ne){const a={symmetric:ie.symmetric.aes128,aead:ie.aead.eax,compression:ie.compression.uncompressed}[e],s={symmetric:n.preferredSymmetricAlgorithm,aead:n.preferredAEADAlgorithm,compression:n.preferredCompressionAlgorithm}[e],o={symmetric:"preferredSymmetricAlgorithms",aead:"preferredAEADAlgorithms",compression:"preferredCompressionAlgorithms"}[e],c=await Promise.all(t.map((async function(e,t){const a=(await e.getPrimaryUser(r,i[t],n)).selfCertification[o];return!!a&&a.indexOf(s)>=0})));return c.every(Boolean)?s:a}async function sh(e,t,r,i,n,a,s=[],o=!1,c){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");const u=new mu;return Object.assign(u,i),u.publicKeyAlgorithm=r.algorithm,u.hashAlgorithm=await nh(t,r,n,a,c),u.rawNotations=s,await u.sign(r,e,n,o),u}async function oh(e,t,r,i=new Date,n){(e=e[r])&&(t[r].length?await Promise.all(e.map((async function(e){e.isExpired(i)||n&&!await n(e)||t[r].some((function(t){return V.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function ch(e,t,r,i,n,a,s=new Date,o){a=a||e;const c=[];return await Promise.all(i.map((async function(e){try{n&&!e.issuerKeyID.equals(n.issuerKeyID)||(await e.verify(a,t,r,o.revocationsExpire?s:null,!1,o),c.push(e.issuerKeyID))}catch(e){}}))),n?(n.revoked=!!c.some((e=>e.equals(n.issuerKeyID)))||(n.revoked||!1),n.revoked):c.length>0}function uh(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function hh(e,t={}){switch(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=V.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.type){case"ecc":try{e.curve=ie.write(ie.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==ie.curve.ed25519&&e.curve!==ie.curve.curve25519||(e.curve=e.sign?ie.curve.ed25519:ie.curve.curve25519),e.sign?e.algorithm=e.curve===ie.curve.ed25519?ie.publicKey.eddsa:ie.publicKey.ecdsa:e.algorithm=ie.publicKey.ecdh;break;case"rsa":e.algorithm=ie.publicKey.rsaEncryptSign;break;case"symmetric":e.sign?(e.algorithm=ie.publicKey.hmac,e.symmetric=e.symmetricHash||t.symmetricHash):(e.algorithm=ie.publicKey.aead,e.symmetric=e.symmetricCipher||t.symmetricCipher);break;default:throw Error("Unsupported key type "+e.type)}return e}function fh(e,t){const r=e.algorithm;return r!==ie.publicKey.rsaEncrypt&&r!==ie.publicKey.elgamal&&r!==ie.publicKey.ecdh&&(!t.keyFlags||0!=(t.keyFlags[0]&ie.keyFlags.signData))}function dh(e,t){const r=e.algorithm;return r!==ie.publicKey.dsa&&r!==ie.publicKey.rsaSign&&r!==ie.publicKey.ecdsa&&r!==ie.publicKey.eddsa&&(!t.keyFlags||0!=(t.keyFlags[0]&ie.keyFlags.encryptCommunication)||0!=(t.keyFlags[0]&ie.keyFlags.encryptStorage))}function lh(e,t){return!!t.allowInsecureDecryptionWithSigningKeys||(!e.keyFlags||0!=(e.keyFlags[0]&ie.keyFlags.encryptCommunication)||0!=(e.keyFlags[0]&ie.keyFlags.encryptStorage)||t.allowForwardedMessages&&0!=(e.keyFlags[0]&ie.keyFlags.forwardedCommunication))}function ph(e,t){const r=ie.write(ie.publicKey,e.algorithm),i=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(i.algorithm+" keys are considered too weak.");switch(r){case ie.publicKey.rsaEncryptSign:case ie.publicKey.rsaSign:case ie.publicKey.rsaEncrypt:if(i.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case ie.publicKey.ecdsa:case ie.publicKey.eddsa:case ie.publicKey.ecdh:if(t.rejectCurves.has(i.curve))throw Error(`Support for ${i.algorithm} keys using curve ${i.curve} is disabled.`)}}class yh{constructor(e,t){this.userID=e.constructor.tag===ie.packet.userID?e:null,this.userAttribute=e.constructor.tag===ie.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new _u;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new yh(this.userID||this.userAttribute,this.mainKey);return e.selfCertifications=[...this.selfCertifications],e.otherCertifications=[...this.otherCertifications],e.revocationSignatures=[...this.revocationSignatures],e}async certify(e,t,r){const i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i},a=new yh(n.userID||n.userAttribute,this.mainKey);return a.otherCertifications=await Promise.all(e.map((async function(e){if(!e.isPrivate())throw Error("Need private key for signing");if(e.hasSameFingerprintAs(i))throw Error("The user's own key can only be used for self-certifications");const a=await e.getSigningKey(void 0,t,void 0,r);return sh(n,e,a.keyPacket,{signatureType:ie.signature.certGeneric,keyFlags:[ie.keyFlags.certifyKeys|ie.keyFlags.signData]},t,void 0,void 0,void 0,r)}))),await a.update(this,t,r),a}async isRevoked(e,t,r=new Date,i=ne){const n=this.mainKey.keyPacket;return ch(n,ie.signature.certRevocation,{key:n,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,i)}async verifyCertificate(e,t,r=new Date,i){const n=this,a=this.mainKey.keyPacket,s={userID:this.userID,userAttribute:this.userAttribute,key:a},{issuerKeyID:o}=e,c=t.filter((e=>e.getKeys(o).length>0));return 0===c.length?null:(await Promise.all(c.map((async t=>{const a=await t.getSigningKey(o,e.created,void 0,i);if(e.revoked||await n.isRevoked(e,a.keyPacket,r,i))throw Error("User certificate is revoked");try{await e.verify(a.keyPacket,ie.signature.certGeneric,s,r,void 0,i)}catch(e){throw V.wrapError("User certificate is invalid",e)}}))),!0)}async verifyAllCertifications(e,t=new Date,r){const i=this,n=this.selfCertifications.concat(this.otherCertifications);return Promise.all(n.map((async n=>({keyID:n.issuerKeyID,valid:await i.verifyCertificate(n,e,t,r).catch((()=>!1))}))))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw Error("No self-certifications found");const r=this,i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i};let a;for(let s=this.selfCertifications.length-1;s>=0;s--)try{const a=this.selfCertifications[s];if(a.revoked||await r.isRevoked(a,void 0,e,t))throw Error("Self-certification is revoked");try{await a.verify(i,ie.signature.certGeneric,n,e,void 0,t)}catch(e){throw V.wrapError("Self-certification is invalid",e)}return!0}catch(e){a=e}throw a}async update(e,t,r){const i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i};await oh(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(i,ie.signature.certGeneric,n,t,!1,r),!0}catch(e){return!1}})),await oh(e,this,"otherCertifications",t),await oh(e,this,"revocationSignatures",t,(function(e){return ch(i,ie.signature.certRevocation,n,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ie.reasonForRevocation.noReason,string:r=""}={},i=new Date,n=ne){const a={userID:this.userID,userAttribute:this.userAttribute,key:e},s=new yh(a.userID||a.userAttribute,this.mainKey);return s.revocationSignatures.push(await sh(a,null,e,{signatureType:ie.signature.certRevocation,reasonForRevocationFlag:ie.write(ie.reasonForRevocation,t),reasonForRevocationString:r},i,void 0,void 0,!1,n)),await s.update(this),s}}class bh{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new _u;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new bh(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,i=ne){const n=this.mainKey.keyPacket;return ch(n,ie.signature.subkeyRevocation,{key:n,bind:this.keyPacket},this.revocationSignatures,e,t,r,i)}async verify(e=new Date,t=ne){const r=this.mainKey.keyPacket,i={key:r,bind:this.keyPacket},n=await th(this.bindingSignatures,r,ie.signature.subkeyBinding,i,e,t);if(n.revoked||await this.isRevoked(n,null,e,t))throw Error("Subkey is revoked");if(rh(this.keyPacket,n,e))throw Error("Subkey is expired");return n}async getExpirationTime(e=new Date,t=ne){const r=this.mainKey.keyPacket,i={key:r,bind:this.keyPacket};let n;try{n=await th(this.bindingSignatures,r,ie.signature.subkeyBinding,i,e,t)}catch(e){return null}const a=uh(this.keyPacket,n),s=n.getExpirationTime();return a<s?a:s}async update(e,t=new Date,r=ne){const i=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===ie.packet.publicSubkey&&e.keyPacket.constructor.tag===ie.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const n=this,a={key:i,bind:n.keyPacket};await oh(e,this,"bindingSignatures",t,(async function(e){for(let t=0;t<n.bindingSignatures.length;t++)if(n.bindingSignatures[t].issuerKeyID.equals(e.issuerKeyID))return e.created>n.bindingSignatures[t].created&&(n.bindingSignatures[t]=e),!1;try{return await e.verify(i,ie.signature.subkeyBinding,a,t,void 0,r),!0}catch(e){return!1}})),await oh(e,this,"revocationSignatures",t,(function(e){return ch(i,ie.signature.subkeyRevocation,a,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ie.reasonForRevocation.noReason,string:r=""}={},i=new Date,n=ne){const a={key:e,bind:this.keyPacket},s=new bh(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await sh(a,null,e,{signatureType:ie.signature.subkeyRevocation,reasonForRevocationFlag:ie.write(ie.reasonForRevocation,t),reasonForRevocationString:r},i,void 0,void 0,!1,n)),await s.update(this),s}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((e=>{bh.prototype[e]=function(){return this.keyPacket[e]()}}));const gh=/*#__PURE__*/V.constructAllowedPackets([mu]),mh=new Set([ie.packet.publicKey,ie.packet.privateKey]),wh=new Set([ie.packet.publicKey,ie.packet.privateKey,ie.packet.publicSubkey,ie.packet.privateSubkey]);class Ah{packetListToStructure(e,t=new Set){let r,i,n,a;for(const s of e){if(s instanceof gn){wh.has(s.tag)&&!a&&(a=mh.has(s.tag)?mh:wh);continue}const e=s.constructor.tag;if(a){if(!a.has(e))continue;a=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case ie.packet.publicKey:case ie.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=s,i=this.getKeyID(),!i)throw Error("Missing Key ID");break;case ie.packet.userID:case ie.packet.userAttribute:r=new yh(s,this),this.users.push(r);break;case ie.packet.publicSubkey:case ie.packet.secretSubkey:r=null,n=new bh(s,this),this.subkeys.push(n);break;case ie.packet.signature:switch(s.signatureType){case ie.signature.certGeneric:case ie.signature.certPersona:case ie.signature.certCasual:case ie.signature.certPositive:if(!r){V.printDebug("Dropping certification signatures without preceding user packet");continue}s.issuerKeyID.equals(i)?r.selfCertifications.push(s):r.otherCertifications.push(s);break;case ie.signature.certRevocation:r?r.revocationSignatures.push(s):this.directSignatures.push(s);break;case ie.signature.key:this.directSignatures.push(s);break;case ie.signature.subkeyBinding:if(!n){V.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}n.bindingSignatures.push(s);break;case ie.signature.keyRevocation:this.revocationSignatures.push(s);break;case ie.signature.subkeyRevocation:if(!n){V.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}n.revocationSignatures.push(s)}}}}toPacketList(){const e=new _u;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map((t=>e.push(...t.toPacketList()))),this.subkeys.map((t=>e.push(...t.toPacketList()))),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach((e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach((r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])})),e.keyPacket.privateParams=t})),t}getSubkeys(e=null){return this.subkeys.filter((t=>!e||t.getKeyID().equals(e,!0)))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map((e=>e.getKeyID()))}getUserIDs(){return this.users.map((e=>e.userID?e.userID.userID:null)).filter((e=>null!==e))}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},i=ne){await this.verifyPrimaryKey(t,r,i);const n=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,i);const e={key:n,bind:r.keyPacket},a=await th(r.bindingSignatures,n,ie.signature.subkeyBinding,e,t,i);if(!fh(r.keyPacket,a))continue;if(!a.embeddedSignature)throw Error("Missing embedded signature");return await th([a.embeddedSignature],r.keyPacket,ie.signature.keyBinding,e,t,i),ph(r.keyPacket,i),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,i);if((!e||n.getKeyID().equals(e))&&fh(n,a.selfCertification))return ph(n,i),this}catch(e){s=e}throw V.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),s)}async getEncryptionKey(e,t=new Date,r={},i=ne){await this.verifyPrimaryKey(t,r,i);const n=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,i);const e={key:n,bind:r.keyPacket},a=await th(r.bindingSignatures,n,ie.signature.subkeyBinding,e,t,i);if(dh(r.keyPacket,a))return ph(r.keyPacket,i),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,i);if((!e||n.getKeyID().equals(e))&&dh(n,a.selfCertification))return ph(n,i),this}catch(e){s=e}throw V.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),s)}async isRevoked(e,t,r=new Date,i=ne){return ch(this.keyPacket,ie.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,i)}async verifyPrimaryKey(e=new Date,t={},r=ne){const i=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");const{selfCertification:n}=await this.getPrimaryUser(e,t,r);if(rh(i,n,e))throw Error("Primary key is expired");const a=await th(this.directSignatures,i,ie.signature.key,{key:i},e,r).catch((()=>{}));if(a&&rh(i,a,e))throw Error("Primary key is expired")}async getExpirationTime(e,t=ne){let r;try{const{selfCertification:i}=await this.getPrimaryUser(null,e,t),n=uh(this.keyPacket,i),a=i.getExpirationTime(),s=await th(this.directSignatures,this.keyPacket,ie.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(s){const e=uh(this.keyPacket,s);r=Math.min(n,a,e)}else r=n<a?n:a}catch(e){r=null}return V.normalizeDate(r)}async getPrimaryUser(e=new Date,t={},r=ne){const i=this.keyPacket,n=[];let a;for(let s=0;s<this.users.length;s++)try{const a=this.users[s];if(!a.userID)continue;if(void 0!==t.name&&a.userID.name!==t.name||void 0!==t.email&&a.userID.email!==t.email||void 0!==t.comment&&a.userID.comment!==t.comment)throw Error("Could not find user that matches that user ID");const o={userID:a.userID,key:i},c=await th(a.selfCertifications,i,ie.signature.certGeneric,o,e,r);n.push({index:s,user:a,selfCertification:c})}catch(e){a=e}if(!n.length)throw a||Error("Could not find primary user");await Promise.all(n.map((async function(t){return t.selfCertification.revoked||t.user.isRevoked(t.selfCertification,null,e,r)})));const s=n.sort((function(e,t){const r=e.selfCertification,i=t.selfCertification;return i.revoked-r.revoked||r.isPrimaryUserID-i.isPrimaryUserID||r.created-i.created})).pop(),{user:o,selfCertification:c}=s;if(c.revoked||await o.isRevoked(c,null,e,r))throw Error("Primary user is revoked");return s}async update(e,t=new Date,r=ne){if(!this.hasSameFingerprintAs(e))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(!(this.subkeys.length===e.subkeys.length&&this.subkeys.every((t=>e.subkeys.some((e=>t.hasSameFingerprintAs(e)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const i=this.clone();return await oh(e,i,"revocationSignatures",t,(n=>ch(i.keyPacket,ie.signature.keyRevocation,i,[n],null,e.keyPacket,t,r))),await oh(e,i,"directSignatures",t),await Promise.all(e.users.map((async e=>{const n=i.users.filter((t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute)));if(n.length>0)await Promise.all(n.map((i=>i.update(e,t,r))));else{const t=e.clone();t.mainKey=i,i.users.push(t)}}))),await Promise.all(e.subkeys.map((async e=>{const n=i.subkeys.filter((t=>t.hasSameFingerprintAs(e)));if(n.length>0)await Promise.all(n.map((i=>i.update(e,t,r))));else{const t=e.clone();t.mainKey=i,i.subkeys.push(t)}}))),i}async getRevocationCertificate(e=new Date,t=ne){const r={key:this.keyPacket},i=await th(this.revocationSignatures,this.keyPacket,ie.signature.keyRevocation,r,e,t),n=new _u;return n.push(i),le(ie.armor.publicKey,n.write(),null,null,"This is a revocation certificate")}async applyRevocationCertificate(e,t=new Date,r=ne){const i=await de(e,r),n=(await _u.fromBinary(i.data,gh,r)).findPacket(ie.packet.signature);if(!n||n.signatureType!==ie.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!n.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await n.verify(this.keyPacket,ie.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw V.wrapError("Could not verify revocation signature",e)}const a=this.clone();return a.revocationSignatures.push(n),a}async signPrimaryUser(e,t,r,i=ne){const{index:n,user:a}=await this.getPrimaryUser(t,r,i),s=await a.certify(e,t,i),o=this.clone();return o.users[n]=s,o}async signAllUsers(e,t=new Date,r=ne){const i=this.clone();return i.users=await Promise.all(this.users.map((function(i){return i.certify(e,t,r)}))),i}async verifyPrimaryUser(e,t=new Date,r,i=ne){const n=this.keyPacket,{user:a}=await this.getPrimaryUser(t,r,i);return e?await a.verifyAllCertifications(e,t,i):[{keyID:n.getKeyID(),valid:await a.verify(t,i).catch((()=>!1))}]}async verifyAllUsers(e,t=new Date,r=ne){const i=this.keyPacket,n=[];return await Promise.all(this.users.map((async a=>{const s=e?await a.verifyAllCertifications(e,t,r):[{keyID:i.getKeyID(),valid:await a.verify(t,r).catch((()=>!1))}];n.push(...s.map((e=>({userID:a.userID?a.userID.userID:null,userAttribute:a.userAttribute,keyID:e.keyID,valid:e.valid}))))}))),n}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((e=>{Ah.prototype[e]=bh.prototype[e]}));class vh extends Ah{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([ie.packet.secretKey,ie.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=ne){return le(ie.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,e)}}class _h extends vh{constructor(e){if(super(),this.packetListToStructure(e,new Set([ie.packet.publicKey,ie.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new _u,t=this.toPacketList();let r=!1;for(const i of t)if(!r||i.constructor.tag!==ie.packet.Signature)switch(r&&(r=!1),i.constructor.tag){case ie.packet.secretKey:{const t=ie.write(ie.publicKey,i.algorithm);if(t===ie.publicKey.aead||t===ie.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const r=zu.fromSecretKeyPacket(i);e.push(r);break}case ie.packet.secretSubkey:{const t=ie.write(ie.publicKey,i.algorithm);if(t===ie.publicKey.aead||t===ie.publicKey.hmac){r=!0;break}const n=Lu.fromSecretSubkeyPacket(i);e.push(n);break}default:e.push(i)}return new vh(e)}armor(e=ne){return le(ie.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,e)}async getDecryptionKeys(e,t=new Date,r={},i=ne){const n=this.keyPacket,a=[];for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0))try{const e={key:n,bind:this.subkeys[r].keyPacket};lh(await th(this.subkeys[r].bindingSignatures,n,ie.signature.subkeyBinding,e,t,i),i)&&a.push(this.subkeys[r])}catch(e){}const s=await this.getPrimaryUser(t,r,i);return e&&!n.getKeyID().equals(e,!0)||!lh(s.selfCertification,i)||a.push(this),a}isDecrypted(){return this.getKeys().some((({keyPacket:e})=>e.isDecrypted()))}async validate(e=ne){if(!this.isPrivate())throw Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys(),t=e.map((e=>e.keyPacket.isDummy())).every(Boolean);if(t)throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map((async e=>e.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()}))}async revoke({flag:e=ie.reasonForRevocation.noReason,string:t=""}={},r=new Date,i=ne){if(!this.isPrivate())throw Error("Need private key for revoking");const n={key:this.keyPacket},a=this.clone();return a.revocationSignatures.push(await sh(n,null,this.keyPacket,{signatureType:ie.signature.keyRevocation,reasonForRevocationFlag:ie.write(ie.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,i)),a}async addSubkey(e={}){const t={...ne,...e.config};if(e.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits<t.minRSABits)throw Error(`rsaBits should be at least ${t.minRSABits}, got: ${e.rsaBits}`);const r=this.keyPacket;if(r.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!r.isDecrypted())throw Error("Key is not decrypted");const i=r.getAlgorithmInfo();i.type=i.curve?"ecc":"rsa",i.rsaBits=i.bits||4096,i.curve=i.curve||"curve25519",e=hh(e,i);const n=await $u(e);ph(n,t);const a=await ih(n,r,e,t),s=this.toPacketList();return s.push(n,a),new _h(s)}}const kh=/*#__PURE__*/V.constructAllowedPackets([zu,Lu,Hu,Vu,Wu,Ou,mu]);function Eh(e){for(const t of e)switch(t.constructor.tag){case ie.packet.secretKey:return new _h(e);case ie.packet.publicKey:return new vh(e)}throw Error("No key packet found")}async function Sh(e,t,r,i){r.passphrase&&await e.encrypt(r.passphrase,i),await Promise.all(t.map((async function(e,t){const n=r.subkeys[t].passphrase;n&&await e.encrypt(n,i)})));const n=new _u;n.push(e),await Promise.all(r.userIDs.map((async function(t,n){function a(e,t){return[t,...e.filter((e=>e!==t))]}const s=Wu.fromObject(t),o={};o.userID=s,o.key=e;const c=new mu;return c.signatureType=ie.signature.certGeneric,c.publicKeyAlgorithm=e.algorithm,c.hashAlgorithm=await nh(null,e,void 0,void 0,i),c.keyFlags=[ie.keyFlags.certifyKeys|ie.keyFlags.signData],c.preferredSymmetricAlgorithms=a([ie.symmetric.aes256,ie.symmetric.aes128,ie.symmetric.aes192],i.preferredSymmetricAlgorithm),i.aeadProtect&&(c.preferredAEADAlgorithms=a([ie.aead.eax,ie.aead.ocb],i.preferredAEADAlgorithm)),c.preferredHashAlgorithms=a([ie.hash.sha256,ie.hash.sha512],i.preferredHashAlgorithm),c.preferredCompressionAlgorithms=a([ie.compression.zlib,ie.compression.zip,ie.compression.uncompressed],i.preferredCompressionAlgorithm),0===n&&(c.isPrimaryUserID=!0),c.features=[0],c.features[0]|=ie.features.modificationDetection,i.aeadProtect&&(c.features[0]|=ie.features.aead),i.v5Keys&&(c.features[0]|=ie.features.v5Keys),r.keyExpirationTime>0&&(c.keyExpirationTime=r.keyExpirationTime,c.keyNeverExpires=!1),await c.sign(e,o,r.date),{userIDPacket:s,signaturePacket:c}}))).then((e=>{e.forEach((({userIDPacket:e,signaturePacket:t})=>{n.push(e),n.push(t)}))})),await Promise.all(t.map((async function(t,n){const a=r.subkeys[n];return{secretSubkeyPacket:t,subkeySignaturePacket:await ih(t,e,a,i)}}))).then((e=>{e.forEach((({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{n.push(e),n.push(t)}))}));const a={key:e};return n.push(await sh(a,null,e,{signatureType:ie.signature.keyRevocation,reasonForRevocationFlag:ie.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,i)),r.passphrase&&e.clearPrivateParams(),await Promise.all(t.map((async function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}))),new _h(n)}async function Ch({armoredKey:e,binaryKey:t,config:r,...i}){if(r={...ne,...r},!e&&!t)throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!V.isString(e))throw Error("readKey: options.armoredKey must be a string");if(t&&!V.isUint8Array(t))throw Error("readKey: options.binaryKey must be a Uint8Array");const n=Object.keys(i);if(n.length>0)throw Error("Unknown option: "+n.join(", "));let a;if(e){const{type:t,data:i}=await de(e,r);if(t!==ie.armor.publicKey&&t!==ie.armor.privateKey)throw Error("Armored text not of type key");a=i}else a=t;return Eh(await _u.fromBinary(a,kh,r))}async function Ih({armoredKey:e,binaryKey:t,config:r,...i}){if(r={...ne,...r},!e&&!t)throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!V.isString(e))throw Error("readPrivateKey: options.armoredKey must be a string");if(t&&!V.isUint8Array(t))throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");const n=Object.keys(i);if(n.length>0)throw Error("Unknown option: "+n.join(", "));let a;if(e){const{type:t,data:i}=await de(e,r);if(t!==ie.armor.privateKey)throw Error("Armored text not of type private key");a=i}else a=t;const s=await _u.fromBinary(a,kh,r);return new _h(s)}async function Bh({armoredKeys:e,binaryKeys:t,config:r,...i}){r={...ne,...r};let n=e||t;if(!n)throw Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!V.isString(e))throw Error("readKeys: options.armoredKeys must be a string");if(t&&!V.isUint8Array(t))throw Error("readKeys: options.binaryKeys must be a Uint8Array");const a=Object.keys(i);if(a.length>0)throw Error("Unknown option: "+a.join(", "));if(e){const{type:t,data:i}=await de(e,r);if(t!==ie.armor.publicKey&&t!==ie.armor.privateKey)throw Error("Armored text not of type key");n=i}const s=[],o=await _u.fromBinary(n,kh,r),c=o.indexOfTag(ie.packet.publicKey,ie.packet.secretKey);if(0===c.length)throw Error("No key packet found");for(let e=0;e<c.length;e++){const t=Eh(o.slice(c[e],c[e+1]));s.push(t)}return s}async function Ph({armoredKeys:e,binaryKeys:t,config:r}){r={...ne,...r};let i=e||t;if(!i)throw Error("readPrivateKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!V.isString(e))throw Error("readPrivateKeys: options.armoredKeys must be a string");if(t&&!V.isUint8Array(t))throw Error("readPrivateKeys: options.binaryKeys must be a Uint8Array");if(e){const{type:t,data:n}=await de(e,r);if(t!==ie.armor.privateKey)throw Error("Armored text not of type private key");i=n}const n=[],a=await _u.fromBinary(i,kh,r),s=a.indexOfTag(ie.packet.secretKey);if(0===s.length)throw Error("No secret key packet found");for(let e=0;e<s.length;e++){const t=a.slice(s[e],s[e+1]),r=new _h(t);n.push(r)}return n}const Mh=/*#__PURE__*/V.constructAllowedPackets([yu,Eu,Ru,Ku,Nu,Tu,Qu,Au,mu]),Dh=/*#__PURE__*/V.constructAllowedPackets([Qu]),xh=/*#__PURE__*/V.constructAllowedPackets([mu]);class Kh{constructor(e){this.packets=e||new _u}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(ie.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(ie.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag(ie.packet.signature).map((e=>e.issuerKeyID))}async decrypt(e,t,r,i=new Date,n=ne){const a=r||await this.decryptSessionKeys(e,t,i,n),s=this.packets.filterByTag(ie.packet.symmetricallyEncryptedData,ie.packet.symEncryptedIntegrityProtectedData,ie.packet.aeadEncryptedData);if(0===s.length)throw Error("No encrypted data found");const o=s[0];let c=null;const u=Promise.all(a.map((async({algorithm:e,data:t})=>{if(!V.isUint8Array(t)||!V.isString(e))throw Error("Invalid session key for decryption.");try{const r=ie.write(ie.symmetric,e);await o.decrypt(r,t,n)}catch(e){V.printDebugError(e),c=e}})));if(O(o.encrypted),o.encrypted=null,await u,!o.packets||!o.packets.length)throw c||Error("Decryption failed.");const h=new Kh(o.packets);return o.packets=new _u,h}async decryptSessionKeys(e,t,r=new Date,i=ne){let n,a=[];if(t){const e=this.packets.filterByTag(ie.packet.symEncryptedSessionKey);if(0===e.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map((async function(t,r){let s;s=r?await _u.fromBinary(e.write(),Dh,i):e,await Promise.all(s.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){V.printDebugError(e),e instanceof Aa&&(n=e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag(ie.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw Error("No public key encrypted session key packet found.");await Promise.all(t.map((async function(t){await Promise.all(e.map((async function(e){let s=[ie.symmetric.aes256,ie.symmetric.aes128,ie.symmetric.tripledes,ie.symmetric.cast5];try{const t=await e.getPrimaryUser(r,void 0,i);t.selfCertification.preferredSymmetricAlgorithms&&(s=s.concat(t.selfCertification.preferredSymmetricAlgorithms))}catch(e){}const o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map((e=>e.keyPacket));await Promise.all(o.map((async function(e){if(!e||e.isDummy())return;if(!e.isDecrypted())throw Error("Decryption key is not decrypted.");if(i.constantTimePKCS1Decryption&&(t.publicKeyAlgorithm===ie.publicKey.rsaEncrypt||t.publicKeyAlgorithm===ie.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===ie.publicKey.rsaSign||t.publicKeyAlgorithm===ie.publicKey.elgamal)){const r=t.write();await Promise.all(Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map((async t=>{const i=new Tu;i.read(r);const s={sessionKeyAlgorithm:t,sessionKey:wa.generateSessionKey(t)};try{await i.decrypt(e,s),a.push(i)}catch(e){V.printDebugError(e),n=e}})))}else try{if(await t.decrypt(e),!s.includes(ie.write(ie.symmetric,t.sessionKeyAlgorithm)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){V.printDebugError(e),n=e}})))}))),O(t.encrypted),t.encrypted=null})))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter((t=>{const r=t.sessionKeyAlgorithm+V.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:ie.read(ie.symmetric,e.sessionKeyAlgorithm)})))}throw n||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(ie.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(ie.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(ie.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],i=ne){const n=await ah("symmetric",e,t,r,i),a=ie.read(ie.symmetric,n),s=i.aeadProtect&&await async function(e,t=new Date,r=[],i=ne){let n=!0;return await Promise.all(e.map((async function(e,a){const s=await e.getPrimaryUser(t,r[a],i);s.selfCertification.features&&s.selfCertification.features[0]&ie.features.aead||(n=!1)}))),n}(e,t,r,i)?ie.read(ie.aead,await ah("aead",e,t,r,i)):void 0;return{data:wa.generateSessionKey(n),algorithm:a,aeadAlgorithm:s}}async encrypt(e,t,r,i=!1,n=[],a=new Date,s=[],o=ne){if(r){if(!V.isUint8Array(r.data)||!V.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Kh.generateSessionKey(e,a,s,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await Kh.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:u,aeadAlgorithm:h}=r,f=await Kh.encryptSessionKey(c,u,h,e,t,i,n,a,s,o);let d;h?(d=new Ru,d.aeadAlgorithm=ie.write(ie.aead,h)):d=new Ku,d.packets=this.packets;const l=ie.write(ie.symmetric,u);return await d.encrypt(l,c,o),f.packets.push(d),d.packets=new _u,f}static async encryptSessionKey(e,t,r,i,n,a=!1,s=[],o=new Date,c=[],u=ne){const h=new _u,f=ie.write(ie.symmetric,t),d=r&&ie.write(ie.aead,r);if(i){const t=await Promise.all(i.map((async function(t,r){const i=await t.getEncryptionKey(s[r],o,c,u),n=new Tu;return n.publicKeyID=a?pe.wildcard():i.getKeyID(),n.publicKeyAlgorithm=i.keyPacket.algorithm,n.sessionKey=e,n.sessionKeyAlgorithm=f,await n.encrypt(i.keyPacket),delete n.sessionKey,n})));h.push(...t)}if(n){const t=async function(e,t){try{return await e.decrypt(t),1}catch(e){return 0}},r=(e,t)=>e+t,i=async function(e,a,s,o){const c=new Qu(u);if(c.sessionKey=e,c.sessionKeyAlgorithm=a,s&&(c.aeadAlgorithm=s),await c.encrypt(o,u),u.passwordCollisionCheck){if(1!==(await Promise.all(n.map((e=>t(c,e))))).reduce(r))return i(e,a,o)}return delete c.sessionKey,c},a=await Promise.all(n.map((t=>i(e,f,d,t))));h.push(...a)}return new Kh(h)}async sign(e=[],t=null,r=[],i=new Date,n=[],a=[],s=ne){const o=new _u,c=this.packets.findPacket(ie.packet.literalData);if(!c)throw Error("No literal data packet to sign.");let u,h;const f=null===c.text?ie.signature.binary:ie.signature.text;if(t)for(h=t.packets.filterByTag(ie.packet.signature),u=h.length-1;u>=0;u--){const t=h[u],r=new Au;r.signatureType=t.signatureType,r.hashAlgorithm=t.hashAlgorithm,r.publicKeyAlgorithm=t.publicKeyAlgorithm,r.issuerKeyID=t.issuerKeyID,e.length||0!==u||(r.flags=1),o.push(r)}return await Promise.all(Array.from(e).reverse().map((async function(t,a){if(!t.isPrivate())throw Error("Need private key for signing");const o=r[e.length-1-a],c=await t.getSigningKey(o,i,n,s),u=new Au;return u.signatureType=f,u.hashAlgorithm=await nh(t,c.keyPacket,i,n,s),u.publicKeyAlgorithm=c.keyPacket.algorithm,u.issuerKeyID=c.getKeyID(),a===e.length-1&&(u.flags=1),u}))).then((e=>{e.forEach((e=>o.push(e)))})),o.push(c),o.push(...await Uh(c,e,t,r,i,n,a,!1,s)),new Kh(o)}compress(e,t=ne){if(e===ie.compression.uncompressed)return this;const r=new Eu(t);r.algorithm=e,r.packets=this.packets;const i=new _u;return i.push(r),new Kh(i)}async signDetached(e=[],t=null,r=[],i=new Date,n=[],a=[],s=ne){const o=this.packets.findPacket(ie.packet.literalData);if(!o)throw Error("No literal data packet to sign.");return new Zu(await Uh(o,e,t,r,i,n,a,!0,s))}async verify(e,t=new Date,r=ne){const i=this.unwrapCompressed(),n=i.packets.filterByTag(ie.packet.literalData);if(1!==n.length)throw Error("Can only verify message with one literal data packet.");s(i.packets.stream)&&i.packets.push(...await L(i.packets.stream,(e=>e||[])));const a=i.packets.filterByTag(ie.packet.onePassSignature).reverse(),o=i.packets.filterByTag(ie.packet.signature);return a.length&&!o.length&&V.isStream(i.packets.stream)&&!s(i.packets.stream)?(await Promise.all(a.map((async e=>{e.correspondingSig=new Promise(((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r})),e.signatureData=H((async()=>(await e.correspondingSig).signatureData)),e.hashed=L(await e.hash(e.signatureType,n[0],void 0,!1)),e.hashed.catch((()=>{}))}))),i.packets.stream=T(i.packets.stream,(async(e,t)=>{const r=M(e),i=D(t);try{for(let e=0;e<a.length;e++){const{value:t}=await r.read();a[e].correspondingSigResolve(t)}await r.readToEnd(),await i.ready,await i.close()}catch(e){a.forEach((t=>{t.correspondingSigReject(e)})),await i.abort(e)}})),Rh(a,n,e,t,!1,r)):Rh(o,n,e,t,!1,r)}verifyDetached(e,t,r=new Date,i=ne){const n=this.unwrapCompressed().packets.filterByTag(ie.packet.literalData);if(1!==n.length)throw Error("Can only verify message with one literal data packet.");return Rh(e.packets,n,t,r,!0,i)}unwrapCompressed(){const e=this.packets.filterByTag(ie.packet.compressedData);return e.length?new Kh(e[0].packets):this}async appendSignature(e,t=ne){await this.packets.read(V.isUint8Array(e)?e:(await de(e)).data,xh,t)}write(){return this.packets.write()}armor(e=ne){return le(ie.armor.message,this.write(),null,null,null,e)}}async function Uh(e,t,r=null,i=[],n=new Date,a=[],s=[],o=!1,c=ne){const u=new _u,h=null===e.text?ie.signature.binary:ie.signature.text;if(await Promise.all(t.map((async(t,r)=>{const u=a[r];if(!t.isPrivate())throw Error("Need private key for signing");const f=await t.getSigningKey(i[r],n,u,c);return sh(e,t,f.keyPacket,{signatureType:h},n,u,s,o,c)}))).then((e=>{u.push(...e)})),r){const e=r.packets.filterByTag(ie.packet.signature);u.push(...e)}return u}async function Rh(e,t,r,i=new Date,n=!1,a=ne){return Promise.all(e.filter((function(e){return["text","binary"].includes(ie.read(ie.signature,e.signatureType))})).map((async function(e){return async function(e,t,r,i=new Date,n=!1,a=ne){let s,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){s=t,o=r[0];break}}const c=e instanceof Au?e.correspondingSig:e,u={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw Error("Could not find signing key with key ID "+e.issuerKeyID.toHex());await e.verify(o.keyPacket,e.signatureType,t[0],i,n,a);const r=await c;if(o.getCreationTime()>r.created)throw Error("Key is newer than the signature");try{await s.getSigningKey(o.getKeyID(),r.created,void 0,a)}catch(e){if(!a.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await s.getSigningKey(o.getKeyID(),i,void 0,a)}return!0})(),signature:(async()=>{const e=await c,t=new _u;return e&&t.push(e),new Zu(t)})()};return u.signature.catch((()=>{})),u.verified.catch((()=>{})),u}(e,t,r,i,n,a)})))}async function Th({armoredMessage:e,binaryMessage:t,config:r,...i}){r={...ne,...r};let n=e||t;if(!n)throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!V.isString(e)&&!V.isStream(e))throw Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!V.isUint8Array(t)&&!V.isStream(t))throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const a=Object.keys(i);if(a.length>0)throw Error("Unknown option: "+a.join(", "));const s=V.isStream(n);if(s&&(await S(),n=I(n)),e){const{type:e,data:t}=await de(n,r);if(e!==ie.armor.message)throw Error("Armored text not of type message");n=t}const o=await _u.fromBinary(n,Mh,r),c=new Kh(o);return c.fromStream=s,c}async function Qh({text:e,binary:t,filename:r,date:i=new Date,format:n=(void 0!==e?"utf8":"binary"),...a}){let s=void 0!==e?e:t;if(void 0===s)throw Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!V.isString(e)&&!V.isStream(e))throw Error("createMessage: options.text must be a string or stream");if(t&&!V.isUint8Array(t)&&!V.isStream(t))throw Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(a);if(o.length>0)throw Error("Unknown option: "+o.join(", "));const c=V.isStream(s);c&&(await S(),s=I(s));const u=new yu(i);void 0!==e?u.setText(s,ie.write(ie.literal,n)):u.setBytes(s,ie.write(ie.literal,n)),void 0!==r&&u.setFilename(r);const h=new _u;h.push(u);const f=new Kh(h);return f.fromStream=c,f}const zh=/*#__PURE__*/V.constructAllowedPackets([mu]);class Fh{constructor(e,t){if(this.text=V.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof Zu))throw Error("Invalid signature input");this.signature=t||new Zu(new _u)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach((function(t){e.push(t.issuerKeyID)})),e}async sign(e,t=null,r=[],i=new Date,n=[],a=[],s=ne){const o=new yu;o.setText(this.text);const c=new Zu(await Uh(o,e,t,r,i,n,a,!0,s));return new Fh(this.text,c)}verify(e,t=new Date,r=ne){const i=this.signature.packets,n=new yu;return n.setText(this.text),Rh(i,[n],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=ne){let t=this.signature.packets.map((function(e){return ie.read(ie.hash,e.hashAlgorithm).toUpperCase()}));t=t.filter((function(e,t,r){return r.indexOf(e)===t}));const r={hash:t.join(),text:this.text,data:this.signature.packets.write()};return le(ie.armor.signed,r,void 0,void 0,void 0,e)}}async function Nh({cleartextMessage:e,config:t,...r}){if(t={...ne,...t},!e)throw Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!V.isString(e))throw Error("readCleartextMessage: options.cleartextMessage must be a string");const i=Object.keys(r);if(i.length>0)throw Error("Unknown option: "+i.join(", "));const n=await de(e);if(n.type!==ie.armor.signed)throw Error("No cleartext signed message.");const a=await _u.fromBinary(n.data,zh,t);!function(e,t){const r=function(e){const r=e=>t=>e.hashAlgorithm===t;for(let i=0;i<t.length;i++)if(t[i].constructor.tag===ie.packet.signature&&!e.some(r(t[i])))return!1;return!0};let i=null,n=[];if(e.forEach((function(e){if(i=e.match(/Hash: (.+)/),!i)throw Error('Only "Hash" header allowed in cleartext signed message');i=i[1].replace(/\s/g,""),i=i.split(","),i=i.map((function(e){e=e.toLowerCase();try{return ie.write(ie.hash,e)}catch(t){throw Error("Unknown hash algorithm in armor header: "+e)}})),n=n.concat(i)})),!n.length&&!r([ie.hash.md5]))throw Error('If no "Hash" header in cleartext signed message, then only MD5 signatures allowed');if(n.length&&!r(n))throw Error("Hash algorithm mismatch in armor header and signature")}(n.headers,a);const s=new Zu(a);return new Fh(n.text,s)}async function qh({text:e,...t}){if(!e)throw Error("createCleartextMessage: must pass options object containing `text`");if(!V.isString(e))throw Error("createCleartextMessage: options.text must be a string");const r=Object.keys(t);if(r.length>0)throw Error("Unknown option: "+r.join(", "));return new Fh(e)}async function Lh({userIDs:e=[],passphrase:t,type:r="ecc",rsaBits:i=4096,curve:n="curve25519",keyExpirationTime:a=0,date:s=new Date,subkeys:o=[{}],format:c="armored",config:u,symmetricHash:h="sha256",symmetricCipher:f="aes256",...d}){af(u={...ne,...u}),e=sf(e);const l=Object.keys(d);if(l.length>0)throw Error("Unknown option: "+l.join(", "));if(0===e.length)throw Error("UserIDs are required for key generation");if("rsa"===r&&i<u.minRSABits)throw Error(`rsaBits should be at least ${u.minRSABits}, got: ${i}`);const p={userIDs:e,passphrase:t,type:r,rsaBits:i,curve:n,keyExpirationTime:a,date:s,subkeys:o,symmetricHash:h,symmetricCipher:f};try{const{key:e,revocationCertificate:t}=await async function(e,t){e.sign=!0,(e=hh(e)).subkeys=e.subkeys.map(((t,r)=>hh(e.subkeys[r],e)));let r=[eh(e,t)];r=r.concat(e.subkeys.map((e=>$u(e,t))));const i=await Promise.all(r),n=await Sh(i[0],i.slice(1),e,t),a=await n.getRevocationCertificate(e.date,t);return n.revocationSignatures=[],{key:n,revocationCertificate:a}}(p,u);return e.getKeys().forEach((({keyPacket:e})=>ph(e,u))),{privateKey:uf(e,c,u),publicKey:"symmetric"!==r?uf(e.toPublic(),c,u):null,revocationCertificate:t}}catch(e){throw V.wrapError("Error generating keypair",e)}}async function Oh({privateKey:e,userIDs:t=[],passphrase:r,keyExpirationTime:i=0,date:n,format:a="armored",config:s,...o}){af(s={...ne,...s}),t=sf(t);const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(0===t.length)throw Error("UserIDs are required for key reformat");const u={privateKey:e,userIDs:t,passphrase:r,keyExpirationTime:i,date:n};try{const{key:e,revocationCertificate:t}=await async function(e,t){e=o(e);const{privateKey:r}=e;if(!r.isPrivate())throw Error("Cannot reformat a public key");if(r.keyPacket.isDummy())throw Error("Cannot reformat a gnu-dummy primary key");if(!r.getKeys().every((({keyPacket:e})=>e.isDecrypted())))throw Error("Key is not decrypted");const i=r.keyPacket;e.subkeys||(e.subkeys=await Promise.all(r.subkeys.map((async e=>{const r=e.keyPacket,n={key:i,bind:r},a=await th(e.bindingSignatures,i,ie.signature.subkeyBinding,n,null,t).catch((()=>({})));return{sign:a.keyFlags&&a.keyFlags[0]&ie.keyFlags.signData}}))));const n=r.subkeys.map((e=>e.keyPacket));if(e.subkeys.length!==n.length)throw Error("Number of subkey options does not match number of subkeys");e.subkeys=e.subkeys.map((t=>o(t,e)));const a=await Sh(i,n,e,t),s=await a.getRevocationCertificate(e.date,t);return a.revocationSignatures=[],{key:a,revocationCertificate:s};function o(e,t={}){return e.keyExpirationTime=e.keyExpirationTime||t.keyExpirationTime,e.passphrase=V.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e}}(u,s);return{privateKey:uf(e,a,s),publicKey:uf(e.toPublic(),a,s),revocationCertificate:t}}catch(e){throw V.wrapError("Error reformatting keypair",e)}}async function Hh({key:e,revocationCertificate:t,reasonForRevocation:r,date:i=new Date,format:n="armored",config:a,...s}){af(a={...ne,...a});const o=Object.keys(s);if(o.length>0)throw Error("Unknown option: "+o.join(", "));try{const s=t?await e.applyRevocationCertificate(t,i,a):await e.revoke(r,i,a);return s.isPrivate()?{privateKey:uf(s,n,a),publicKey:uf(s.toPublic(),n,a)}:{privateKey:null,publicKey:uf(s,n,a)}}catch(e){throw V.wrapError("Error revoking key",e)}}async function jh({privateKey:e,passphrase:t,config:r,...i}){af(r={...ne,...r});const n=Object.keys(i);if(n.length>0)throw Error("Unknown option: "+n.join(", "));if(!e.isPrivate())throw Error("Cannot decrypt a public key");const a=e.clone(!0),s=V.isArray(t)?t:[t];try{return await Promise.all(a.getKeys().map((e=>V.anyPromise(s.map((t=>e.keyPacket.decrypt(t))))))),await a.validate(r),a}catch(e){throw a.clearPrivateParams(),V.wrapError("Error decrypting private key",e)}}async function Gh({privateKey:e,passphrase:t,config:r,...i}){af(r={...ne,...r});const n=Object.keys(i);if(n.length>0)throw Error("Unknown option: "+n.join(", "));if(!e.isPrivate())throw Error("Cannot encrypt a public key");const a=e.clone(!0),s=a.getKeys(),o=V.isArray(t)?t:Array(s.length).fill(t);if(o.length!==s.length)throw Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(s.map((async(e,t)=>{const{keyPacket:i}=e;await i.encrypt(o[t],r),i.clearPrivateParams()}))),a}catch(e){throw a.clearPrivateParams(),V.wrapError("Error encrypting private key",e)}}async function Wh({message:e,encryptionKeys:t,signingKeys:r,passwords:i,sessionKey:n,format:a="armored",signature:s=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:u=[],date:h=new Date,signingUserIDs:f=[],encryptionUserIDs:d=[],signatureNotations:l=[],config:p,...y}){if(af(p={...ne,...p}),ef(e),rf(a),t=sf(t),r=sf(r),i=sf(i),c=sf(c),u=sf(u),f=sf(f),d=sf(d),l=sf(l),y.detached)throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(y.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(y.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==y.armor)throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const b=Object.keys(y);if(b.length>0)throw Error("Unknown option: "+b.join(", "));r||(r=[]);const g=e.fromStream;try{if((r.length||s)&&(e=await e.sign(r,s,c,h,f,l,p)),e=e.compress(await ah("compression",t,h,d,p),p),e=await e.encrypt(t,i,n,o,u,h,d,p),"object"===a)return e;const y="armored"===a;return of(y?e.armor(p):e.write(),g,y?"utf8":"binary")}catch(e){throw V.wrapError("Error encrypting message",e)}}async function Vh({message:e,decryptionKeys:t,passwords:r,sessionKeys:i,verificationKeys:n,expectSigned:a=!1,format:s="utf8",signature:o=null,date:c=new Date,config:u,...h}){if(af(u={...ne,...u}),ef(e),n=sf(n),t=sf(t),r=sf(r),i=sf(i),h.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");if(h.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");const f=Object.keys(h);if(f.length>0)throw Error("Unknown option: "+f.join(", "));try{const h=await e.decrypt(t,r,i,c,u);n||(n=[]);const f={};if(f.signatures=o?await h.verifyDetached(o,n,c,u):await h.verify(n,c,u),f.data="binary"===s?h.getLiteralData():h.getText(),f.filename=h.getFilename(),cf(f,e),a){if(0===n.length)throw Error("Verification keys are required to verify message signatures");if(0===f.signatures.length)throw Error("Message is not signed");f.data=P([f.data,H((async()=>{await V.anyPromise(f.signatures.map((e=>e.verified)))}))])}return f.data=await of(f.data,e.fromStream,s),f}catch(e){throw V.wrapError("Error decrypting message",e)}}async function Jh({message:e,signingKeys:t,format:r="armored",detached:i=!1,signingKeyIDs:n=[],date:a=new Date,signingUserIDs:s=[],signatureNotations:o=[],config:c,...u}){if(af(c={...ne,...c}),tf(e),rf(r),t=sf(t),n=sf(n),s=sf(s),o=sf(o),u.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==u.armor)throw Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const h=Object.keys(u);if(h.length>0)throw Error("Unknown option: "+h.join(", "));if(e instanceof Fh&&"binary"===r)throw Error("Cannot return signed cleartext message in binary format");if(e instanceof Fh&&i)throw Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw Error("No signing keys provided");try{let u;if(u=i?await e.signDetached(t,void 0,n,a,s,o,c):await e.sign(t,void 0,n,a,s,o,c),"object"===r)return u;const h="armored"===r;return u=h?u.armor(c):u.write(),i&&(u=T(e.packets.write(),(async(e,t)=>{await Promise.all([x(u,t),L(e).catch((()=>{}))])}))),of(u,e.fromStream,h?"utf8":"binary")}catch(e){throw V.wrapError("Error signing message",e)}}async function Yh({message:e,verificationKeys:t,expectSigned:r=!1,format:i="utf8",signature:n=null,date:a=new Date,config:s,...o}){if(af(s={...ne,...s}),tf(e),t=sf(t),o.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead");const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(e instanceof Fh&&"binary"===i)throw Error("Can't return cleartext message data as binary");if(e instanceof Fh&&n)throw Error("Can't verify detached cleartext signature");try{const o={};if(o.signatures=n?await e.verifyDetached(n,t,a,s):await e.verify(t,a,s),o.data="binary"===i?e.getLiteralData():e.getText(),e.fromStream&&cf(o,e),r){if(0===o.signatures.length)throw Error("Message is not signed");o.data=P([o.data,H((async()=>{await V.anyPromise(o.signatures.map((e=>e.verified)))}))])}return o.data=await of(o.data,e.fromStream,i),o}catch(e){throw V.wrapError("Error verifying signed message",e)}}async function Zh({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:i,...n}){if(af(i={...ne,...i}),e=sf(e),r=sf(r),n.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead");const a=Object.keys(n);if(a.length>0)throw Error("Unknown option: "+a.join(", "));try{return await Kh.generateSessionKey(e,t,r,i)}catch(e){throw V.wrapError("Error generating session key",e)}}async function Xh({data:e,algorithm:t,aeadAlgorithm:r,encryptionKeys:i,passwords:n,format:a="armored",wildcard:s=!1,encryptionKeyIDs:o=[],date:c=new Date,encryptionUserIDs:u=[],config:h,...f}){if(af(h={...ne,...h}),function(e,t){if(!V.isUint8Array(e))throw Error("Parameter ["+(t||"data")+"] must be of type Uint8Array")}(e),function(e,t){if(!V.isString(e))throw Error("Parameter ["+(t||"data")+"] must be of type String")}(t,"algorithm"),rf(a),i=sf(i),n=sf(n),o=sf(o),u=sf(u),f.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead");const d=Object.keys(f);if(d.length>0)throw Error("Unknown option: "+d.join(", "));if(!(i&&0!==i.length||n&&0!==n.length))throw Error("No encryption keys or passwords provided.");try{return uf(await Kh.encryptSessionKey(e,t,r,i,n,s,o,c,u,h),a,h)}catch(e){throw V.wrapError("Error encrypting session key",e)}}async function $h({message:e,decryptionKeys:t,passwords:r,date:i=new Date,config:n,...a}){if(af(n={...ne,...n}),ef(e),t=sf(t),r=sf(r),a.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead");const s=Object.keys(a);if(s.length>0)throw Error("Unknown option: "+s.join(", "));try{return await e.decryptSessionKeys(t,r,i,n)}catch(e){throw V.wrapError("Error decrypting session keys",e)}}function ef(e){if(!(e instanceof Kh))throw Error("Parameter [message] needs to be of type Message")}function tf(e){if(!(e instanceof Fh||e instanceof Kh))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function rf(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const nf=Object.keys(ne).length;function af(e){const t=Object.keys(e);if(t.length!==nf)for(const e of t)if(void 0===ne[e])throw Error("Unknown config property: "+e)}function sf(e){return e&&!V.isArray(e)&&(e=[e]),e}async function of(e,t,r="utf8"){const i=V.isStream(e);return"array"===i?L(e):"node"===t?(e=b(e),"binary"!==r&&e.setEncoding(r),e):"web"===t&&"ponyfill"===i?v(e):e}function cf(e,t){e.data=T(t.packets.stream,(async(t,r)=>{await x(e.data,r,{preventClose:!0});const i=D(r);try{await L(t,(e=>e)),await i.close()}catch(e){await i.abort(e)}}))}function uf(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw Error("Unsupported format "+t)}}const hf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:e=>`Symbol(${e})`;function ff(){}const df="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function lf(e){return"object"==typeof e&&null!==e||"function"==typeof e}const pf=ff,yf=Promise,bf=Promise.prototype.then,gf=Promise.resolve.bind(yf),mf=Promise.reject.bind(yf);function wf(e){return new yf(e)}function Af(e){return gf(e)}function vf(e){return mf(e)}function _f(e,t,r){return bf.call(e,t,r)}function kf(e,t,r){_f(_f(e,t,r),void 0,pf)}function Ef(e,t){kf(e,t)}function Sf(e,t){kf(e,void 0,t)}function Cf(e,t,r){return _f(e,t,r)}function If(e){_f(e,void 0,pf)}const Bf=(()=>{const e=df&&df.queueMicrotask;if("function"==typeof e)return e;const t=Af(void 0);return e=>_f(t,e)})();function Pf(e,t,r){if("function"!=typeof e)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Mf(e,t,r){try{return Af(Pf(e,t,r))}catch(e){return vf(e)}}class Df{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){const t=this._back;let r=t;16383===t._elements.length&&(r={_elements:[],_next:void 0}),t._elements.push(e),r!==t&&(this._back=r,t._next=r),++this._size}shift(){const e=this._front;let t=e;const r=this._cursor;let i=r+1;const n=e._elements,a=n[r];return 16384===i&&(t=e._next,i=0),--this._size,this._cursor=i,e!==t&&(this._front=t),n[r]=void 0,a}forEach(e){let t=this._cursor,r=this._front,i=r._elements;for(;!(t===i.length&&void 0===r._next||t===i.length&&(r=r._next,i=r._elements,t=0,0===i.length));)e(i[t]),++t}peek(){const e=this._front,t=this._cursor;return e._elements[t]}}function xf(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?Tf(e):"closed"===t._state?function(e){Tf(e),Ff(e)}(e):Qf(e,t._storedError)}function Kf(e,t){return bp(e._ownerReadableStream,t)}function Uf(e){"readable"===e._ownerReadableStream._state?zf(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){Qf(e,t)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function Rf(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Tf(e){e._closedPromise=wf(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r}))}function Qf(e,t){Tf(e),zf(e,t)}function zf(e,t){void 0!==e._closedPromise_reject&&(If(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Ff(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}const Nf=hf("[[AbortSteps]]"),qf=hf("[[ErrorSteps]]"),Lf=hf("[[CancelSteps]]"),Of=hf("[[PullSteps]]"),Hf=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},jf=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Gf(e,t){if(void 0!==e&&("object"!=typeof(r=e)&&"function"!=typeof r))throw new TypeError(t+" is not an object.");var r}function Wf(e,t){if("function"!=typeof e)throw new TypeError(t+" is not a function.")}function Vf(e,t){if(!function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e))throw new TypeError(t+" is not an object.")}function Jf(e,t,r){if(void 0===e)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function Yf(e,t,r){if(void 0===e)throw new TypeError(`${t} is required in '${r}'.`)}function Zf(e){return Number(e)}function Xf(e){return 0===e?0:e}function $f(e,t){const r=Number.MAX_SAFE_INTEGER;let i=Number(e);if(i=Xf(i),!Hf(i))throw new TypeError(t+" is not a finite number");if(i=function(e){return Xf(jf(e))}(i),i<0||i>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Hf(i)&&0!==i?i:0}function ed(e,t){if(!pp(e))throw new TypeError(t+" is not a ReadableStream.")}function td(e){return new sd(e)}function rd(e,t){e._reader._readRequests.push(t)}function id(e,t,r){const i=e._reader._readRequests.shift();r?i._closeSteps():i._chunkSteps(t)}function nd(e){return e._reader._readRequests.length}function ad(e){const t=e._reader;return void 0!==t&&!!od(t)}class sd{constructor(e){if(Jf(e,1,"ReadableStreamDefaultReader"),ed(e,"First parameter"),yp(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");xf(this,e),this._readRequests=new Df}get closed(){return od(this)?this._closedPromise:vf(ud("closed"))}cancel(e=undefined){return od(this)?void 0===this._ownerReadableStream?vf(Rf("cancel")):Kf(this,e):vf(ud("cancel"))}read(){if(!od(this))return vf(ud("read"));if(void 0===this._ownerReadableStream)return vf(Rf("read from"));let e,t;const r=wf(((r,i)=>{e=r,t=i}));return cd(this,{_chunkSteps:t=>e({value:t,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:e=>t(e)}),r}releaseLock(){if(!od(this))throw ud("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Uf(this)}}}function od(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function cd(e,t){const r=e._ownerReadableStream;r._disturbed=!0,"closed"===r._state?t._closeSteps():"errored"===r._state?t._errorSteps(r._storedError):r._readableStreamController[Of](t)}function ud(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}let hd;Object.defineProperties(sd.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(sd.prototype,hf.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0}),"symbol"==typeof hf.asyncIterator&&(hd={[hf.asyncIterator](){return this}},Object.defineProperty(hd,hf.asyncIterator,{enumerable:!1}));class fd{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){const e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Cf(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){const t=()=>this._returnSteps(e);return this._ongoingPromise?Cf(this._ongoingPromise,t,t):t()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const e=this._reader;if(void 0===e._ownerReadableStream)return vf(Rf("iterate"));let t,r;const i=wf(((e,i)=>{t=e,r=i}));return cd(e,{_chunkSteps:e=>{this._ongoingPromise=void 0,Bf((()=>t({value:e,done:!1})))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Uf(e),t({value:void 0,done:!0})},_errorSteps:t=>{this._ongoingPromise=void 0,this._isFinished=!0,Uf(e),r(t)}}),i}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;const t=this._reader;if(void 0===t._ownerReadableStream)return vf(Rf("finish iterating"));if(!this._preventCancel){const r=Kf(t,e);return Uf(t),Cf(r,(()=>({value:e,done:!0})))}return Uf(t),Af({value:e,done:!0})}}const dd={next(){return ld(this)?this._asyncIteratorImpl.next():vf(pd("next"))},return(e){return ld(this)?this._asyncIteratorImpl.return(e):vf(pd("return"))}};function ld(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl")}function pd(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}void 0!==hd&&Object.setPrototypeOf(dd,hd);const yd=Number.isNaN||function(e){return e!=e};function bd(e){return!!function(e){if("number"!=typeof e)return!1;if(yd(e))return!1;if(e<0)return!1;return!0}(e)&&e!==1/0}function gd(e){const t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function md(e,t,r){if(!bd(r=Number(r)))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function wd(e){e._queue=new Df,e._queueTotalSize=0}function Ad(e){return e.slice()}class vd{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Ed(this))throw Nd("view");return this._view}respond(e){if(!Ed(this))throw Nd("respond");if(Jf(e,1,"respond"),e=$f(e,"First parameter"),void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(e,t){if(t=Number(t),!bd(t))throw new RangeError("bytesWritten must be a finite");Ud(e,t)}(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!Ed(this))throw Nd("respondWithNewView");if(Jf(e,1,"respondWithNewView"),!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");!function(e,t){const r=e._pendingPullIntos.peek();if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=t.buffer,Ud(e,t.byteLength)}(this._associatedReadableByteStreamController,e)}}Object.defineProperties(vd.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(vd.prototype,hf.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class _d{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!kd(this))throw qd("byobRequest");if(null===this._byobRequest&&this._pendingPullIntos.length>0){const e=this._pendingPullIntos.peek(),t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled),r=Object.create(vd.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(r,this,t),this._byobRequest=r}return this._byobRequest}get desiredSize(){if(!kd(this))throw qd("desiredSize");return zd(this)}close(){if(!kd(this))throw qd("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");const e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);!function(e){const t=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==t._state)return;if(e._queueTotalSize>0)return void(e._closeRequested=!0);if(e._pendingPullIntos.length>0){if(e._pendingPullIntos.peek().bytesFilled>0){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Qd(e,t),t}}Td(e),gp(t)}(this)}enqueue(e){if(!kd(this))throw qd("enqueue");if(Jf(e,1,"enqueue"),!ArrayBuffer.isView(e))throw new TypeError("chunk must be an array buffer view");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");const t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);!function(e,t){const r=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==r._state)return;const i=t.buffer,n=t.byteOffset,a=t.byteLength,s=i;if(ad(r))if(0===nd(r))Bd(e,s,n,a);else{id(r,new Uint8Array(s,n,a),!1)}else Hd(r)?(Bd(e,s,n,a),Kd(e)):Bd(e,s,n,a);Sd(e)}(this,e)}error(e=undefined){if(!kd(this))throw qd("error");Qd(this,e)}[Lf](e){if(this._pendingPullIntos.length>0){this._pendingPullIntos.peek().bytesFilled=0}wd(this);const t=this._cancelAlgorithm(e);return Td(this),t}[Of](e){const t=this._controlledReadableByteStream;if(this._queueTotalSize>0){const t=this._queue.shift();this._queueTotalSize-=t.byteLength,Dd(this);const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return void e._chunkSteps(r)}const r=this._autoAllocateChunkSize;if(void 0!==r){let t;try{t=new ArrayBuffer(r)}catch(t){return void e._errorSteps(t)}const i={buffer:t,byteOffset:0,byteLength:r,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}rd(t,e),Sd(this)}}function kd(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function Ed(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function Sd(e){const t=function(e){const t=e._controlledReadableByteStream;if("readable"!==t._state)return!1;if(e._closeRequested)return!1;if(!e._started)return!1;if(ad(t)&&nd(t)>0)return!0;if(Hd(t)&&Od(t)>0)return!0;const r=zd(e);if(r>0)return!0;return!1}(e);if(!t)return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;kf(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Sd(e))}),(t=>{Qd(e,t)}))}function Cd(e,t){let r=!1;"closed"===e._state&&(r=!0);const i=Id(t);"default"===t.readerType?id(e,i,r):function(e,t,r){const i=e._reader,n=i._readIntoRequests.shift();r?n._closeSteps(t):n._chunkSteps(t)}(e,i,r)}function Id(e){const t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Bd(e,t,r,i){e._queue.push({buffer:t,byteOffset:r,byteLength:i}),e._queueTotalSize+=i}function Pd(e,t){const r=t.elementSize,i=t.bytesFilled-t.bytesFilled%r,n=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),a=t.bytesFilled+n,s=a-a%r;let o=n,c=!1;s>i&&(o=s-t.bytesFilled,c=!0);const u=e._queue;for(;o>0;){const r=u.peek(),i=Math.min(o,r.byteLength),n=t.byteOffset+t.bytesFilled;h=t.buffer,f=n,d=r.buffer,l=r.byteOffset,p=i,new Uint8Array(h).set(new Uint8Array(d,l,p),f),r.byteLength===i?u.shift():(r.byteOffset+=i,r.byteLength-=i),e._queueTotalSize-=i,Md(e,i,t),o-=i}var h,f,d,l,p;return c}function Md(e,t,r){xd(e),r.bytesFilled+=t}function Dd(e){0===e._queueTotalSize&&e._closeRequested?(Td(e),gp(e._controlledReadableByteStream)):Sd(e)}function xd(e){null!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Kd(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;const t=e._pendingPullIntos.peek();Pd(e,t)&&(Rd(e),Cd(e._controlledReadableByteStream,t))}}function Ud(e,t){const r=e._pendingPullIntos.peek();if("closed"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(e,t){t.buffer=t.buffer;const r=e._controlledReadableByteStream;if(Hd(r))for(;Od(r)>0;)Cd(r,Rd(e))}(e,r)}else!function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(Md(e,t,r),r.bytesFilled<r.elementSize)return;Rd(e);const i=r.bytesFilled%r.elementSize;if(i>0){const t=r.byteOffset+r.bytesFilled,n=r.buffer.slice(t-i,t);Bd(e,n,0,n.byteLength)}r.buffer=r.buffer,r.bytesFilled-=i,Cd(e._controlledReadableByteStream,r),Kd(e)}(e,t,r);Sd(e)}function Rd(e){const t=e._pendingPullIntos.shift();return xd(e),t}function Td(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Qd(e,t){const r=e._controlledReadableByteStream;"readable"===r._state&&(!function(e){xd(e),e._pendingPullIntos=new Df}(e),wd(e),Td(e),mp(r,t))}function zd(e){const t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function Fd(e,t,r){const i=Object.create(_d.prototype);let n=()=>{},a=()=>Af(void 0),s=()=>Af(void 0);void 0!==t.start&&(n=()=>t.start(i)),void 0!==t.pull&&(a=()=>t.pull(i)),void 0!==t.cancel&&(s=e=>t.cancel(e));const o=t.autoAllocateChunkSize;if(0===o)throw new TypeError("autoAllocateChunkSize must be greater than 0");!function(e,t,r,i,n,a,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,wd(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=i,t._cancelAlgorithm=n,t._autoAllocateChunkSize=s,t._pendingPullIntos=new Df,e._readableStreamController=t,kf(Af(r()),(()=>{t._started=!0,Sd(t)}),(e=>{Qd(t,e)}))}(e,i,n,a,s,r,o)}function Nd(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function qd(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function Ld(e,t){e._reader._readIntoRequests.push(t)}function Od(e){return e._reader._readIntoRequests.length}function Hd(e){const t=e._reader;return void 0!==t&&!!Gd(t)}Object.defineProperties(_d.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(_d.prototype,hf.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class jd{constructor(e){if(Jf(e,1,"ReadableStreamBYOBReader"),ed(e,"First parameter"),yp(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!kd(e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");xf(this,e),this._readIntoRequests=new Df}get closed(){return Gd(this)?this._closedPromise:vf(Wd("closed"))}cancel(e=undefined){return Gd(this)?void 0===this._ownerReadableStream?vf(Rf("cancel")):Kf(this,e):vf(Wd("cancel"))}read(e){if(!Gd(this))return vf(Wd("read"));if(!ArrayBuffer.isView(e))return vf(new TypeError("view must be an array buffer view"));if(0===e.byteLength)return vf(new TypeError("view must have non-zero byteLength"));if(0===e.buffer.byteLength)return vf(new TypeError("view's buffer must have non-zero byteLength"));if(void 0===this._ownerReadableStream)return vf(Rf("read from"));let t,r;const i=wf(((e,i)=>{t=e,r=i}));return function(e,t,r){const i=e._ownerReadableStream;i._disturbed=!0,"errored"===i._state?r._errorSteps(i._storedError):function(e,t,r){const i=e._controlledReadableByteStream;let n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);const a=t.constructor,s={buffer:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(s),void Ld(i,r);if("closed"!==i._state){if(e._queueTotalSize>0){if(Pd(e,s)){const t=Id(s);return Dd(e),void r._chunkSteps(t)}if(e._closeRequested){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");return Qd(e,t),void r._errorSteps(t)}}e._pendingPullIntos.push(s),Ld(i,r),Sd(e)}else{const e=new a(s.buffer,s.byteOffset,0);r._closeSteps(e)}}(i._readableStreamController,t,r)}(this,e,{_chunkSteps:e=>t({value:e,done:!1}),_closeSteps:e=>t({value:e,done:!0}),_errorSteps:e=>r(e)}),i}releaseLock(){if(!Gd(this))throw Wd("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Uf(this)}}}function Gd(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function Wd(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Vd(e,t){const{highWaterMark:r}=e;if(void 0===r)return t;if(yd(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Jd(e){const{size:t}=e;return t||(()=>1)}function Yd(e,t){Gf(e,t);const r=null==e?void 0:e.highWaterMark,i=null==e?void 0:e.size;return{highWaterMark:void 0===r?void 0:Zf(r),size:void 0===i?void 0:Zd(i,t+" has member 'size' that")}}function Zd(e,t){return Wf(e,t),t=>Zf(e(t))}function Xd(e,t,r){return Wf(e,r),r=>Mf(e,t,[r])}function $d(e,t,r){return Wf(e,r),()=>Mf(e,t,[])}function el(e,t,r){return Wf(e,r),r=>Pf(e,t,[r])}function tl(e,t,r){return Wf(e,r),(r,i)=>Mf(e,t,[r,i])}function rl(e,t){if(!sl(e))throw new TypeError(t+" is not a WritableStream.")}Object.defineProperties(jd.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(jd.prototype,hf.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});class il{constructor(e={},t={}){void 0===e?e=null:Vf(e,"First parameter");const r=Yd(t,"Second parameter"),i=function(e,t){Gf(e,t);const r=null==e?void 0:e.abort,i=null==e?void 0:e.close,n=null==e?void 0:e.start,a=null==e?void 0:e.type,s=null==e?void 0:e.write;return{abort:void 0===r?void 0:Xd(r,e,t+" has member 'abort' that"),close:void 0===i?void 0:$d(i,e,t+" has member 'close' that"),start:void 0===n?void 0:el(n,e,t+" has member 'start' that"),write:void 0===s?void 0:tl(s,e,t+" has member 'write' that"),type:a}}(e,"First parameter");al(this);if(void 0!==i.type)throw new RangeError("Invalid type is specified");const n=Jd(r);!function(e,t,r,i){const n=Object.create(El.prototype);let a=()=>{},s=()=>Af(void 0),o=()=>Af(void 0),c=()=>Af(void 0);void 0!==t.start&&(a=()=>t.start(n));void 0!==t.write&&(s=e=>t.write(e,n));void 0!==t.close&&(o=()=>t.close());void 0!==t.abort&&(c=e=>t.abort(e));Sl(e,n,a,s,o,c,r,i)}(this,i,Vd(r,1),n)}get locked(){if(!sl(this))throw xl("locked");return ol(this)}abort(e=undefined){return sl(this)?ol(this)?vf(new TypeError("Cannot abort a stream that already has a writer")):cl(this,e):vf(xl("abort"))}close(){return sl(this)?ol(this)?vf(new TypeError("Cannot close a stream that already has a writer")):ll(this)?vf(new TypeError("Cannot close an already-closing stream")):ul(this):vf(xl("close"))}getWriter(){if(!sl(this))throw xl("getWriter");return nl(this)}}function nl(e){return new bl(e)}function al(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Df,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function sl(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")}function ol(e){return void 0!==e._writer}function cl(e,t){const r=e._state;if("closed"===r||"errored"===r)return Af(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;let i=!1;"erroring"===r&&(i=!0,t=void 0);const n=wf(((r,n)=>{e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:n,_reason:t,_wasAlreadyErroring:i}}));return e._pendingAbortRequest._promise=n,i||fl(e,t),n}function ul(e){const t=e._state;if("closed"===t||"errored"===t)return vf(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));const r=wf(((t,r)=>{const i={_resolve:t,_reject:r};e._closeRequest=i})),i=e._writer;var n;return void 0!==i&&e._backpressure&&"writable"===t&&Ol(i),md(n=e._writableStreamController,kl,0),Bl(n),r}function hl(e,t){"writable"!==e._state?dl(e):fl(e,t)}function fl(e,t){const r=e._writableStreamController;e._state="erroring",e._storedError=t;const i=e._writer;void 0!==i&&Al(i,t),!function(e){if(void 0===e._inFlightWriteRequest&&void 0===e._inFlightCloseRequest)return!1;return!0}(e)&&r._started&&dl(e)}function dl(e){e._state="errored",e._writableStreamController[qf]();const t=e._storedError;if(e._writeRequests.forEach((e=>{e._reject(t)})),e._writeRequests=new Df,void 0===e._pendingAbortRequest)return void pl(e);const r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void pl(e);kf(e._writableStreamController[Nf](r._reason),(()=>{r._resolve(),pl(e)}),(t=>{r._reject(t),pl(e)}))}function ll(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function pl(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);const t=e._writer;void 0!==t&&Ql(t,e._storedError)}function yl(e,t){const r=e._writer;void 0!==r&&t!==e._backpressure&&(t?function(e){Fl(e)}(r):Ol(r)),e._backpressure=t}Object.defineProperties(il.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(il.prototype,hf.toStringTag,{value:"WritableStream",configurable:!0});class bl{constructor(e){if(Jf(e,1,"WritableStreamDefaultWriter"),rl(e,"First parameter"),ol(e))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=e,e._writer=this;const t=e._state;if("writable"===t)!ll(e)&&e._backpressure?Fl(this):ql(this),Rl(this);else if("erroring"===t)Nl(this,e._storedError),Rl(this);else if("closed"===t)ql(this),Rl(r=this),zl(r);else{const t=e._storedError;Nl(this,t),Tl(this,t)}var r}get closed(){return gl(this)?this._closedPromise:vf(Kl("closed"))}get desiredSize(){if(!gl(this))throw Kl("desiredSize");if(void 0===this._ownerWritableStream)throw Ul("desiredSize");return function(e){const t=e._ownerWritableStream,r=t._state;if("errored"===r||"erroring"===r)return null;if("closed"===r)return 0;return Il(t._writableStreamController)}(this)}get ready(){return gl(this)?this._readyPromise:vf(Kl("ready"))}abort(e=undefined){return gl(this)?void 0===this._ownerWritableStream?vf(Ul("abort")):function(e,t){const r=e._ownerWritableStream;return cl(r,t)}(this,e):vf(Kl("abort"))}close(){if(!gl(this))return vf(Kl("close"));const e=this._ownerWritableStream;return void 0===e?vf(Ul("close")):ll(e)?vf(new TypeError("Cannot close an already-closing stream")):ml(this)}releaseLock(){if(!gl(this))throw Kl("releaseLock");void 0!==this._ownerWritableStream&&vl(this)}write(e=undefined){return gl(this)?void 0===this._ownerWritableStream?vf(Ul("write to")):_l(this,e):vf(Kl("write"))}}function gl(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")}function ml(e){return ul(e._ownerWritableStream)}function wl(e,t){"pending"===e._closedPromiseState?Ql(e,t):function(e,t){Tl(e,t)}(e,t)}function Al(e,t){"pending"===e._readyPromiseState?Ll(e,t):function(e,t){Nl(e,t)}(e,t)}function vl(e){const t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Al(e,r),wl(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function _l(e,t){const r=e._ownerWritableStream,i=r._writableStreamController,n=function(e,t){try{return e._strategySizeAlgorithm(t)}catch(t){return Pl(e,t),1}}(i,t);if(r!==e._ownerWritableStream)return vf(Ul("write to"));const a=r._state;if("errored"===a)return vf(r._storedError);if(ll(r)||"closed"===a)return vf(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===a)return vf(r._storedError);const s=function(e){return wf(((t,r)=>{const i={_resolve:t,_reject:r};e._writeRequests.push(i)}))}(r);return function(e,t,r){try{md(e,t,r)}catch(t){return void Pl(e,t)}const i=e._controlledWritableStream;if(!ll(i)&&"writable"===i._state){yl(i,Ml(e))}Bl(e)}(i,t,n),s}Object.defineProperties(bl.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(bl.prototype,hf.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});const kl={};class El{constructor(){throw new TypeError("Illegal constructor")}error(e=undefined){if(!function(e){if(!lf(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream"))return!1;return!0}(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");"writable"===this._controlledWritableStream._state&&Dl(this,e)}[Nf](e){const t=this._abortAlgorithm(e);return Cl(this),t}[qf](){wd(this)}}function Sl(e,t,r,i,n,a,s,o){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,wd(t),t._started=!1,t._strategySizeAlgorithm=o,t._strategyHWM=s,t._writeAlgorithm=i,t._closeAlgorithm=n,t._abortAlgorithm=a;const c=Ml(t);yl(e,c);kf(Af(r()),(()=>{t._started=!0,Bl(t)}),(r=>{t._started=!0,hl(e,r)}))}function Cl(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Il(e){return e._strategyHWM-e._queueTotalSize}function Bl(e){const t=e._controlledWritableStream;if(!e._started)return;if(void 0!==t._inFlightWriteRequest)return;if("erroring"===t._state)return void dl(t);if(0===e._queue.length)return;const r=e._queue.peek().value;r===kl?function(e){const t=e._controlledWritableStream;(function(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0})(t),gd(e);const r=e._closeAlgorithm();Cl(e),kf(r,(()=>{!function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,"erroring"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";const t=e._writer;void 0!==t&&zl(t)}(t)}),(e=>{!function(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),hl(e,t)}(t,e)}))}(e):function(e,t){const r=e._controlledWritableStream;!function(e){e._inFlightWriteRequest=e._writeRequests.shift()}(r);const i=e._writeAlgorithm(t);kf(i,(()=>{!function(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}(r);const t=r._state;if(gd(e),!ll(r)&&"writable"===t){const t=Ml(e);yl(r,t)}Bl(e)}),(t=>{"writable"===r._state&&Cl(e),function(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,hl(e,t)}(r,t)}))}(e,r)}function Pl(e,t){"writable"===e._controlledWritableStream._state&&Dl(e,t)}function Ml(e){return Il(e)<=0}function Dl(e,t){const r=e._controlledWritableStream;Cl(e),fl(r,t)}function xl(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function Kl(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Ul(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function Rl(e){e._closedPromise=wf(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"}))}function Tl(e,t){Rl(e),Ql(e,t)}function Ql(e,t){void 0!==e._closedPromise_reject&&(If(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function zl(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Fl(e){e._readyPromise=wf(((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r})),e._readyPromiseState="pending"}function Nl(e,t){Fl(e),Ll(e,t)}function ql(e){Fl(e),Ol(e)}function Ll(e,t){void 0!==e._readyPromise_reject&&(If(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function Ol(e){void 0!==e._readyPromise_resolve&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(El.prototype,{error:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(El.prototype,hf.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});const Hl="undefined"!=typeof DOMException?DOMException:void 0;const jl=function(e){if("function"!=typeof e&&"object"!=typeof e)return!1;try{return new e,!0}catch(e){return!1}}(Hl)?Hl:function(){const e=function(e,t){this.message=e||"",this.name=t||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return Object.defineProperty(e.prototype=Object.create(Error.prototype),"constructor",{value:e,writable:!0,configurable:!0}),e}();function Gl(e,t,r,i,n,a){const s=td(e),o=nl(t);e._disturbed=!0;let c=!1,u=Af(void 0);return wf(((h,f)=>{let d;if(void 0!==a){if(d=()=>{const r=new jl("Aborted","AbortError"),a=[];i||a.push((()=>"writable"===t._state?cl(t,r):Af(void 0))),n||a.push((()=>"readable"===e._state?bp(e,r):Af(void 0))),y((()=>Promise.all(a.map((e=>e())))),!0,r)},a.aborted)return void d();a.addEventListener("abort",d)}if(p(e,s._closedPromise,(e=>{i?b(!0,e):y((()=>cl(t,e)),!0,e)})),p(t,o._closedPromise,(t=>{n?b(!0,t):y((()=>bp(e,t)),!0,t)})),function(e,t,r){"closed"===e._state?r():Ef(t,r)}(e,s._closedPromise,(()=>{r?b():y((()=>function(e){const t=e._ownerWritableStream,r=t._state;return ll(t)||"closed"===r?Af(void 0):"errored"===r?vf(t._storedError):ml(e)}(o)))})),ll(t)||"closed"===t._state){const t=new TypeError("the destination writable stream closed before all data could be piped to it");n?b(!0,t):y((()=>bp(e,t)),!0,t)}function l(){const e=u;return _f(u,(()=>e!==u?l():void 0))}function p(e,t,r){"errored"===e._state?r(e._storedError):Sf(t,r)}function y(e,r,i){function n(){kf(e(),(()=>g(r,i)),(e=>g(!0,e)))}c||(c=!0,"writable"!==t._state||ll(t)?n():Ef(l(),n))}function b(e,r){c||(c=!0,"writable"!==t._state||ll(t)?g(e,r):Ef(l(),(()=>g(e,r))))}function g(e,t){vl(o),Uf(s),void 0!==a&&a.removeEventListener("abort",d),e?f(t):h(void 0)}If(wf(((e,t)=>{!function r(i){i?e():_f(c?Af(!0):_f(o._readyPromise,(()=>wf(((e,t)=>{cd(s,{_chunkSteps:t=>{u=_f(_l(o,t),void 0,ff),e(!1)},_closeSteps:()=>e(!0),_errorSteps:t})})))),r,t)}(!1)})))}))}class Wl{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Vl(this))throw np("desiredSize");return tp(this)}close(){if(!Vl(this))throw np("close");if(!rp(this))throw new TypeError("The stream is not in a state that permits close");Xl(this)}enqueue(e=undefined){if(!Vl(this))throw np("enqueue");if(!rp(this))throw new TypeError("The stream is not in a state that permits enqueue");return $l(this,e)}error(e=undefined){if(!Vl(this))throw np("error");ep(this,e)}[Lf](e){wd(this);const t=this._cancelAlgorithm(e);return Zl(this),t}[Of](e){const t=this._controlledReadableStream;if(this._queue.length>0){const r=gd(this);this._closeRequested&&0===this._queue.length?(Zl(this),gp(t)):Jl(this),e._chunkSteps(r)}else rd(t,e),Jl(this)}}function Vl(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function Jl(e){if(!Yl(e))return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;kf(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Jl(e))}),(t=>{ep(e,t)}))}function Yl(e){const t=e._controlledReadableStream;if(!rp(e))return!1;if(!e._started)return!1;if(yp(t)&&nd(t)>0)return!0;return tp(e)>0}function Zl(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Xl(e){if(!rp(e))return;const t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(Zl(e),gp(t))}function $l(e,t){if(!rp(e))return;const r=e._controlledReadableStream;if(yp(r)&&nd(r)>0)id(r,t,!1);else{let r;try{r=e._strategySizeAlgorithm(t)}catch(t){throw ep(e,t),t}try{md(e,t,r)}catch(t){throw ep(e,t),t}}Jl(e)}function ep(e,t){const r=e._controlledReadableStream;"readable"===r._state&&(wd(e),Zl(e),mp(r,t))}function tp(e){const t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function rp(e){const t=e._controlledReadableStream._state;return!e._closeRequested&&"readable"===t}function ip(e,t,r,i,n,a,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,wd(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=a,t._pullAlgorithm=i,t._cancelAlgorithm=n,e._readableStreamController=t;kf(Af(r()),(()=>{t._started=!0,Jl(t)}),(e=>{ep(t,e)}))}function np(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function ap(e,t,r){return Wf(e,r),r=>Mf(e,t,[r])}function sp(e,t,r){return Wf(e,r),r=>Mf(e,t,[r])}function op(e,t,r){return Wf(e,r),r=>Pf(e,t,[r])}function cp(e,t){if("bytes"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function up(e,t){if("byob"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function hp(e,t){Gf(e,t);const r=null==e?void 0:e.preventAbort,i=null==e?void 0:e.preventCancel,n=null==e?void 0:e.preventClose,a=null==e?void 0:e.signal;return void 0!==a&&function(e,t){if(!function(e){if("object"!=typeof e||null===e)return!1;try{return"boolean"==typeof e.aborted}catch(e){return!1}}(e))throw new TypeError(t+" is not an AbortSignal.")}(a,t+" has member 'signal' that"),{preventAbort:!!r,preventCancel:!!i,preventClose:!!n,signal:a}}Object.defineProperties(Wl.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(Wl.prototype,hf.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class fp{constructor(e={},t={}){void 0===e?e=null:Vf(e,"First parameter");const r=Yd(t,"Second parameter"),i=function(e,t){Gf(e,t);const r=e,i=null==r?void 0:r.autoAllocateChunkSize,n=null==r?void 0:r.cancel,a=null==r?void 0:r.pull,s=null==r?void 0:r.start,o=null==r?void 0:r.type;return{autoAllocateChunkSize:void 0===i?void 0:$f(i,t+" has member 'autoAllocateChunkSize' that"),cancel:void 0===n?void 0:ap(n,r,t+" has member 'cancel' that"),pull:void 0===a?void 0:sp(a,r,t+" has member 'pull' that"),start:void 0===s?void 0:op(s,r,t+" has member 'start' that"),type:void 0===o?void 0:cp(o,t+" has member 'type' that")}}(e,"First parameter");if(lp(this),"bytes"===i.type){if(void 0!==r.size)throw new RangeError("The strategy for a byte stream cannot have a size function");Fd(this,i,Vd(r,0))}else{const e=Jd(r);!function(e,t,r,i){const n=Object.create(Wl.prototype);let a=()=>{},s=()=>Af(void 0),o=()=>Af(void 0);void 0!==t.start&&(a=()=>t.start(n)),void 0!==t.pull&&(s=()=>t.pull(n)),void 0!==t.cancel&&(o=e=>t.cancel(e)),ip(e,n,a,s,o,r,i)}(this,i,Vd(r,1),e)}}get locked(){if(!pp(this))throw wp("locked");return yp(this)}cancel(e=undefined){return pp(this)?yp(this)?vf(new TypeError("Cannot cancel a stream that already has a reader")):bp(this,e):vf(wp("cancel"))}getReader(e=undefined){if(!pp(this))throw wp("getReader");const t=function(e,t){Gf(e,t);const r=null==e?void 0:e.mode;return{mode:void 0===r?void 0:up(r,t+" has member 'mode' that")}}(e,"First parameter");return void 0===t.mode?td(this):function(e){return new jd(e)}(this)}pipeThrough(e,t={}){if(!pp(this))throw wp("pipeThrough");Jf(e,1,"pipeThrough");const r=function(e,t){Gf(e,t);const r=null==e?void 0:e.readable;Yf(r,"readable","ReadableWritablePair"),ed(r,t+" has member 'readable' that");const i=null==e?void 0:e.writable;return Yf(i,"writable","ReadableWritablePair"),rl(i,t+" has member 'writable' that"),{readable:r,writable:i}}(e,"First parameter"),i=hp(t,"Second parameter");if(yp(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(ol(r.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return If(Gl(this,r.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),r.readable}pipeTo(e,t={}){if(!pp(this))return vf(wp("pipeTo"));if(void 0===e)return vf("Parameter 1 is required in 'pipeTo'.");if(!sl(e))return vf(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let r;try{r=hp(t,"Second parameter")}catch(e){return vf(e)}return yp(this)?vf(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):ol(e)?vf(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Gl(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!pp(this))throw wp("tee");const e=function(e,t){const r=td(e);let i,n,a,s,o,c=!1,u=!1,h=!1;const f=wf((e=>{o=e}));function d(){return c||(c=!0,cd(r,{_chunkSteps:e=>{Bf((()=>{c=!1;const t=e,r=e;u||$l(a._readableStreamController,t),h||$l(s._readableStreamController,r)}))},_closeSteps:()=>{c=!1,u||Xl(a._readableStreamController),h||Xl(s._readableStreamController),u&&h||o(void 0)},_errorSteps:()=>{c=!1}})),Af(void 0)}function l(){}return a=dp(l,d,(function(t){if(u=!0,i=t,h){const t=Ad([i,n]),r=bp(e,t);o(r)}return f})),s=dp(l,d,(function(t){if(h=!0,n=t,u){const t=Ad([i,n]),r=bp(e,t);o(r)}return f})),Sf(r._closedPromise,(e=>{ep(a._readableStreamController,e),ep(s._readableStreamController,e),u&&h||o(void 0)})),[a,s]}(this);return Ad(e)}values(e=undefined){if(!pp(this))throw wp("values");return function(e,t){const r=td(e),i=new fd(r,t),n=Object.create(dd);return n._asyncIteratorImpl=i,n}(this,function(e,t){return Gf(e,t),{preventCancel:!!(null==e?void 0:e.preventCancel)}}(e,"First parameter").preventCancel)}}function dp(e,t,r,i=1,n=(()=>1)){const a=Object.create(fp.prototype);lp(a);return ip(a,Object.create(Wl.prototype),e,t,r,i,n),a}function lp(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function pp(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")}function yp(e){return void 0!==e._reader}function bp(e,t){if(e._disturbed=!0,"closed"===e._state)return Af(void 0);if("errored"===e._state)return vf(e._storedError);gp(e);return Cf(e._readableStreamController[Lf](t),ff)}function gp(e){e._state="closed";const t=e._reader;void 0!==t&&(Ff(t),od(t)&&(t._readRequests.forEach((e=>{e._closeSteps()})),t._readRequests=new Df))}function mp(e,t){e._state="errored",e._storedError=t;const r=e._reader;void 0!==r&&(zf(r,t),od(r)?(r._readRequests.forEach((e=>{e._errorSteps(t)})),r._readRequests=new Df):(r._readIntoRequests.forEach((e=>{e._errorSteps(t)})),r._readIntoRequests=new Df))}function wp(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function Ap(e,t){Gf(e,t);const r=null==e?void 0:e.highWaterMark;return Yf(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:Zf(r)}}Object.defineProperties(fp.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(fp.prototype,hf.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof hf.asyncIterator&&Object.defineProperty(fp.prototype,hf.asyncIterator,{value:fp.prototype.values,writable:!0,configurable:!0});const vp=function(e){return e.byteLength};class _p{constructor(e){Jf(e,1,"ByteLengthQueuingStrategy"),e=Ap(e,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!Ep(this))throw kp("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Ep(this))throw kp("size");return vp}}function kp(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Ep(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")}Object.defineProperties(_p.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(_p.prototype,hf.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});const Sp=function(){return 1};class Cp{constructor(e){Jf(e,1,"CountQueuingStrategy"),e=Ap(e,"First parameter"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!Bp(this))throw Ip("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Bp(this))throw Ip("size");return Sp}}function Ip(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function Bp(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")}function Pp(e,t,r){return Wf(e,r),r=>Mf(e,t,[r])}function Mp(e,t,r){return Wf(e,r),r=>Pf(e,t,[r])}function Dp(e,t,r){return Wf(e,r),(r,i)=>Mf(e,t,[r,i])}Object.defineProperties(Cp.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(Cp.prototype,hf.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class xp{constructor(e={},t={},r={}){void 0===e&&(e=null);const i=Yd(t,"Second parameter"),n=Yd(r,"Third parameter"),a=function(e,t){Gf(e,t);const r=null==e?void 0:e.flush,i=null==e?void 0:e.readableType,n=null==e?void 0:e.start,a=null==e?void 0:e.transform,s=null==e?void 0:e.writableType;return{flush:void 0===r?void 0:Pp(r,e,t+" has member 'flush' that"),readableType:i,start:void 0===n?void 0:Mp(n,e,t+" has member 'start' that"),transform:void 0===a?void 0:Dp(a,e,t+" has member 'transform' that"),writableType:s}}(e,"First parameter");if(void 0!==a.readableType)throw new RangeError("Invalid readableType specified");if(void 0!==a.writableType)throw new RangeError("Invalid writableType specified");const s=Vd(n,0),o=Jd(n),c=Vd(i,1),u=Jd(i);let h;!function(e,t,r,i,n,a){function s(){return t}function o(t){return function(e,t){const r=e._transformStreamController;if(e._backpressure){return Cf(e._backpressureChangePromise,(()=>{const i=e._writable;if("erroring"===i._state)throw i._storedError;return qp(r,t)}))}return qp(r,t)}(e,t)}function c(t){return function(e,t){return Up(e,t),Af(void 0)}(e,t)}function u(){return function(e){const t=e._readable,r=e._transformStreamController,i=r._flushAlgorithm();return Fp(r),Cf(i,(()=>{if("errored"===t._state)throw t._storedError;Xl(t._readableStreamController)}),(r=>{throw Up(e,r),t._storedError}))}(e)}function h(){return function(e){return Tp(e,!1),e._backpressureChangePromise}(e)}function f(t){return Rp(e,t),Af(void 0)}e._writable=function(e,t,r,i,n=1,a=(()=>1)){const s=Object.create(il.prototype);return al(s),Sl(s,Object.create(El.prototype),e,t,r,i,n,a),s}(s,o,u,c,r,i),e._readable=dp(s,h,f,n,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Tp(e,!0),e._transformStreamController=void 0}(this,wf((e=>{h=e})),c,u,s,o),function(e,t){const r=Object.create(Qp.prototype);let i=e=>{try{return Np(r,e),Af(void 0)}catch(e){return vf(e)}},n=()=>Af(void 0);void 0!==t.transform&&(i=e=>t.transform(e,r));void 0!==t.flush&&(n=()=>t.flush(r));!function(e,t,r,i){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=i}(e,r,i,n)}(this,a),void 0!==a.start?h(a.start(this._transformStreamController)):h(void 0)}get readable(){if(!Kp(this))throw Op("readable");return this._readable}get writable(){if(!Kp(this))throw Op("writable");return this._writable}}function Kp(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function Up(e,t){ep(e._readable._readableStreamController,t),Rp(e,t)}function Rp(e,t){Fp(e._transformStreamController),Pl(e._writable._writableStreamController,t),e._backpressure&&Tp(e,!1)}function Tp(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=wf((t=>{e._backpressureChangePromise_resolve=t})),e._backpressure=t}Object.defineProperties(xp.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(xp.prototype,hf.toStringTag,{value:"TransformStream",configurable:!0});class Qp{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!zp(this))throw Lp("desiredSize");return tp(this._controlledTransformStream._readable._readableStreamController)}enqueue(e=undefined){if(!zp(this))throw Lp("enqueue");Np(this,e)}error(e=undefined){if(!zp(this))throw Lp("error");var t;t=e,Up(this._controlledTransformStream,t)}terminate(){if(!zp(this))throw Lp("terminate");!function(e){const t=e._controlledTransformStream,r=t._readable._readableStreamController;Xl(r);Rp(t,new TypeError("TransformStream terminated"))}(this)}}function zp(e){return!!lf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function Fp(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function Np(e,t){const r=e._controlledTransformStream,i=r._readable._readableStreamController;if(!rp(i))throw new TypeError("Readable side is not in a state that permits enqueue");try{$l(i,t)}catch(e){throw Rp(r,e),r._readable._storedError}const n=function(e){return!Yl(e)}(i);n!==r._backpressure&&Tp(r,!0)}function qp(e,t){return Cf(e._transformAlgorithm(t),void 0,(t=>{throw Up(e._controlledTransformStream,t),t}))}function Lp(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function Op(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Qp.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof hf.toStringTag&&Object.defineProperty(Qp.prototype,hf.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Hp=/*#__PURE__*/Object.freeze({__proto__:null,ByteLengthQueuingStrategy:_p,CountQueuingStrategy:Cp,ReadableByteStreamController:_d,ReadableStream:fp,ReadableStreamBYOBReader:jd,ReadableStreamBYOBRequest:vd,ReadableStreamDefaultController:Wl,ReadableStreamDefaultReader:sd,TransformStream:xp,TransformStreamDefaultController:Qp,WritableStream:il,WritableStreamDefaultController:El,WritableStreamDefaultWriter:bl}),jp=function(e,t){return jp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},jp(e,t)};
|
|
3
3
|
/*! *****************************************************************************
|
|
4
4
|
Copyright (c) Microsoft Corporation.
|
|
5
5
|
|
|
@@ -13,5 +13,5 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
13
13
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
14
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
15
|
PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
***************************************************************************** */function Fp(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+t+" is not a constructor or null");function r(){this.constructor=e}qp(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function Op(e){if(!e)throw new TypeError("Assertion failed")}function Np(){}function Lp(e){return"object"==typeof e&&null!==e||"function"==typeof e}function jp(e){if("function"!=typeof e)return!1;var t=!1;try{new e({start:function(){t=!0}})}catch(e){}return t}function Wp(e){return!!Lp(e)&&"function"==typeof e.getReader}function Hp(e){return!!Lp(e)&&"function"==typeof e.getWriter}function Gp(e){return!!Lp(e)&&(!!Wp(e.readable)&&!!Hp(e.writable))}function Vp(e){try{return e.getReader({mode:"byob"}).releaseLock(),!0}catch(e){return!1}}function $p(e,t){var r=(void 0===t?{}:t).type;return Op(Wp(e)),Op(!1===e.locked),"bytes"===(r=Zp(r))?new Jp(e):new Xp(e)}function Zp(e){var t=e+"";if("bytes"===t)return t;if(void 0===e)return e;throw new RangeError("Invalid type is specified")}var Yp=function(){function e(e){this._underlyingReader=void 0,this._readerMode=void 0,this._readableStreamController=void 0,this._pendingRead=void 0,this._underlyingStream=e,this._attachDefaultReader()}return e.prototype.start=function(e){this._readableStreamController=e},e.prototype.cancel=function(e){return Op(void 0!==this._underlyingReader),this._underlyingReader.cancel(e)},e.prototype._attachDefaultReader=function(){if("default"!==this._readerMode){this._detachReader();var e=this._underlyingStream.getReader();this._readerMode="default",this._attachReader(e)}},e.prototype._attachReader=function(e){var t=this;Op(void 0===this._underlyingReader),this._underlyingReader=e;var r=this._underlyingReader.closed;r&&r.then((function(){return t._finishPendingRead()})).then((function(){e===t._underlyingReader&&t._readableStreamController.close()}),(function(r){e===t._underlyingReader&&t._readableStreamController.error(r)})).catch(Np)},e.prototype._detachReader=function(){void 0!==this._underlyingReader&&(this._underlyingReader.releaseLock(),this._underlyingReader=void 0,this._readerMode=void 0)},e.prototype._pullWithDefaultReader=function(){var e=this;this._attachDefaultReader();var t=this._underlyingReader.read().then((function(t){var r=e._readableStreamController;t.done?e._tryClose():r.enqueue(t.value)}));return this._setPendingRead(t),t},e.prototype._tryClose=function(){try{this._readableStreamController.close()}catch(e){}},e.prototype._setPendingRead=function(e){var t,r=this,i=function(){r._pendingRead===t&&(r._pendingRead=void 0)};this._pendingRead=t=e.then(i,i)},e.prototype._finishPendingRead=function(){var e=this;if(this._pendingRead){var t=function(){return e._finishPendingRead()};return this._pendingRead.then(t,t)}},e}(),Xp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Fp(t,e),t.prototype.pull=function(){return this._pullWithDefaultReader()},t}(Yp);function Qp(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var Jp=function(e){function t(t){var r=this,i=Vp(t);return(r=e.call(this,t)||this)._supportsByob=i,r}return Fp(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return"bytes"},enumerable:!1,configurable:!0}),t.prototype._attachByobReader=function(){if("byob"!==this._readerMode){Op(this._supportsByob),this._detachReader();var e=this._underlyingStream.getReader({mode:"byob"});this._readerMode="byob",this._attachReader(e)}},t.prototype.pull=function(){if(this._supportsByob){var e=this._readableStreamController.byobRequest;if(e)return this._pullWithByobRequest(e)}return this._pullWithDefaultReader()},t.prototype._pullWithByobRequest=function(e){var t=this;this._attachByobReader();var r=new Uint8Array(e.view.byteLength),i=this._underlyingReader.read(r).then((function(r){var i,n,a;t._readableStreamController,r.done?(t._tryClose(),e.respond(0)):(i=r.value,n=e.view,a=Qp(i),Qp(n).set(a,0),e.respond(r.value.byteLength))}));return this._setPendingRead(i),i},t}(Yp);function ey(e){Op(Hp(e)),Op(!1===e.locked);var t=e.getWriter();return new ty(t)}var ty=function(){function e(e){var t=this;this._writableStreamController=void 0,this._pendingWrite=void 0,this._state="writable",this._storedError=void 0,this._underlyingWriter=e,this._errorPromise=new Promise((function(e,r){t._errorPromiseReject=r})),this._errorPromise.catch(Np)}return e.prototype.start=function(e){var t=this;this._writableStreamController=e,this._underlyingWriter.closed.then((function(){t._state="closed"})).catch((function(e){return t._finishErroring(e)}))},e.prototype.write=function(e){var t=this,r=this._underlyingWriter;if(null===r.desiredSize)return r.ready;var i=r.write(e);i.catch((function(e){return t._finishErroring(e)})),r.ready.catch((function(e){return t._startErroring(e)}));var n=Promise.race([i,this._errorPromise]);return this._setPendingWrite(n),n},e.prototype.close=function(){var e=this;return void 0===this._pendingWrite?this._underlyingWriter.close():this._finishPendingWrite().then((function(){return e.close()}))},e.prototype.abort=function(e){if("errored"!==this._state)return this._underlyingWriter.abort(e)},e.prototype._setPendingWrite=function(e){var t,r=this,i=function(){r._pendingWrite===t&&(r._pendingWrite=void 0)};this._pendingWrite=t=e.then(i,i)},e.prototype._finishPendingWrite=function(){var e=this;if(void 0===this._pendingWrite)return Promise.resolve();var t=function(){return e._finishPendingWrite()};return this._pendingWrite.then(t,t)},e.prototype._startErroring=function(e){var t=this;if("writable"===this._state){this._state="erroring",this._storedError=e;var r=function(){return t._finishErroring(e)};void 0===this._pendingWrite?r():this._finishPendingWrite().then(r,r),this._writableStreamController.error(e)}},e.prototype._finishErroring=function(e){"writable"===this._state&&this._startErroring(e),"erroring"===this._state&&(this._state="errored",this._errorPromiseReject(this._storedError))},e}();function ry(e){Op(Gp(e));var t=e.readable,r=e.writable;Op(!1===t.locked),Op(!1===r.locked);var i,n=t.getReader();try{i=r.getWriter()}catch(e){throw n.releaseLock(),e}return new iy(n,i)}var iy=function(){function e(e,t){var r=this;this._transformStreamController=void 0,this._onRead=function(e){if(!e.done)return r._transformStreamController.enqueue(e.value),r._reader.read().then(r._onRead)},this._onError=function(e){r._flushReject(e),r._transformStreamController.error(e),r._reader.cancel(e).catch(Np),r._writer.abort(e).catch(Np)},this._onTerminate=function(){r._flushResolve(),r._transformStreamController.terminate();var e=new TypeError("TransformStream terminated");r._writer.abort(e).catch(Np)},this._reader=e,this._writer=t,this._flushPromise=new Promise((function(e,t){r._flushResolve=e,r._flushReject=t}))}return e.prototype.start=function(e){this._transformStreamController=e,this._reader.read().then(this._onRead).then(this._onTerminate,this._onError);var t=this._reader.closed;t&&t.then(this._onTerminate,this._onError)},e.prototype.transform=function(e){return this._writer.write(e)},e.prototype.flush=function(){var e=this;return this._writer.close().then((function(){return e._flushPromise}))},e}(),ny=/*#__PURE__*/Object.freeze({__proto__:null,createReadableStreamWrapper:function(e){Op(function(e){return!!jp(e)&&!!Wp(new e)}(e));var t=function(e){try{return new e({type:"bytes"}),!0}catch(e){return!1}}(e);return function(r,i){var n=(void 0===i?{}:i).type;if("bytes"!==(n=Zp(n))||t||(n=void 0),r.constructor===e&&("bytes"!==n||Vp(r)))return r;if("bytes"===n){var a=$p(r,{type:n});return new e(a)}a=$p(r);return new e(a)}},createTransformStreamWrapper:function(e){return Op(function(e){return!!jp(e)&&!!Gp(new e)}(e)),function(t){if(t.constructor===e)return t;var r=ry(t);return new e(r)}},createWrappingReadableSource:$p,createWrappingTransformer:ry,createWrappingWritableSink:ey,createWritableStreamWrapper:function(e){return Op(function(e){return!!jp(e)&&!!Hp(new e)}(e)),function(t){if(t.constructor===e)return t;var r=ey(t);return new e(r)}}}),ay=it((function(e){!function(e,t){function r(e,t){if(!e)throw Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function n(e,t,r){if(n.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var a;"object"==typeof e?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;try{a=void 0}catch(e){}function s(e,t,r){for(var i=0,n=Math.min(e.length,r),a=t;a<n;a++){var s=e.charCodeAt(a)-48;i<<=4,i|=s>=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return i}function o(e,t,r,i){for(var n=0,a=Math.min(e.length,r),s=t;s<a;s++){var o=e.charCodeAt(s)-48;n*=i,n+=o>=49?o-49+10:o>=17?o-17+10:o}return n}n.isBN=function(e){return e instanceof n||null!==e&&"object"==typeof e&&e.constructor.wordSize===n.wordSize&&Array.isArray(e.words)},n.max=function(e,t){return e.cmp(t)>0?e:t},n.min=function(e,t){return e.cmp(t)<0?e:t},n.prototype._init=function(e,t,i){if("number"==typeof e)return this._initNumber(e,t,i);if("object"==typeof e)return this._initArray(e,t,i);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var n=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&n++,16===t?this._parseHex(e,n):this._parseBase(e,t,n),"-"===e[0]&&(this.negative=1),this.strip(),"le"===i&&this._initArray(this.toArray(),t,i)},n.prototype._initNumber=function(e,t,i){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),t,i)},n.prototype._initArray=function(e,t,i){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var a,s,o=0;if("be"===i)for(n=e.length-1,a=0;n>=0;n-=3)s=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);else if("le"===i)for(n=0,a=0;n<e.length;n+=3)s=e[n]|e[n+1]<<8|e[n+2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);return this.strip()},n.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,n,a=0;for(r=e.length-6,i=0;r>=t;r-=6)n=s(e,r,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303,(a+=24)>=26&&(a-=26,i++);r+6!==t&&(n=s(e,t,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303),this.strip()},n.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=t)i++;i--,n=n/t|0;for(var a=e.length-r,s=a%i,c=Math.min(a,a-s)+r,u=0,h=r;h<c;h+=i)u=o(e,h,h+i,t),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var d=1;for(u=o(e,h,e.length,t),h=0;h<s;h++)d*=t;this.imuln(d),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},n.prototype.copy=function(e){e.words=Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},n.prototype.clone=function(){var e=new n(null);return this.copy(e),e},n.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i,i=i-1|0;var n=0|e.words[0],a=0|t.words[0],s=n*a,o=67108863&s,c=s/67108864|0;r.words[0]=o;for(var u=1;u<i;u++){for(var h=c>>>26,d=67108863&c,f=Math.min(u,t.length-1),l=Math.max(0,u-e.length+1);l<=f;l++){var p=u-l|0;h+=(s=(n=0|e.words[p])*(a=0|t.words[l])+d)/67108864|0,d=67108863&s}r.words[u]=0|d,c=0|h}return 0!==c?r.words[u]=0|c:r.length--,r.strip()}n.prototype.toString=function(e,t){var i;if(t=0|t||1,16===(e=e||10)||"hex"===e){i="";for(var n=0,a=0,s=0;s<this.length;s++){var o=this.words[s],d=(16777215&(o<<n|a)).toString(16);i=0!==(a=o>>>24-n&16777215)||s!==this.length-1?c[6-d.length]+d+i:d+i,(n+=2)>=26&&(n-=26,s--)}for(0!==a&&(i=a.toString(16)+i);i.length%t!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(e===(0|e)&&e>=2&&e<=36){var f=u[e],l=h[e];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var y=p.modn(l).toString(e);i=(p=p.idivn(l)).isZero()?y+i:c[f-y.length]+y+i}for(this.isZero()&&(i="0"+i);i.length%t!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(e,t){return r(void 0!==a),this.toArrayLike(a,e,t)},n.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},n.prototype.toArrayLike=function(e,t,i){var n=this.byteLength(),a=i||Math.max(1,n);r(n<=a,"byte array longer than desired length"),r(a>0,"Requested array length <= 0"),this.strip();var s,o,c="le"===t,u=new e(a),h=this.clone();if(c){for(o=0;!h.isZero();o++)s=h.andln(255),h.iushrn(8),u[o]=s;for(;o<a;o++)u[o]=0}else{for(o=0;o<a-n;o++)u[o]=0;for(o=0;!h.isZero();o++)s=h.andln(255),h.iushrn(8),u[a-o-1]=s}return u},n.prototype._countBits=Math.clz32?function(e){return 32-Math.clz32(e)}:function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},n.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},n.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},n.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},n.prototype.ior=function(e){return r(0==(this.negative|e.negative)),this.iuor(e)},n.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},n.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},n.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},n.prototype.iand=function(e){return r(0==(this.negative|e.negative)),this.iuand(e)},n.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},n.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},n.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var i=0;i<r.length;i++)this.words[i]=t.words[i]^r.words[i];if(this!==t)for(;i<t.length;i++)this.words[i]=t.words[i];return this.length=t.length,this.strip()},n.prototype.ixor=function(e){return r(0==(this.negative|e.negative)),this.iuxor(e)},n.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},n.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},n.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),i=e%26;this._expand(t),i>0&&t--;for(var n=0;n<t;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(e){return this.clone().inotn(e)},n.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var i=e/26|0,n=e%26;return this._expand(i+1),this.words[i]=t?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(e){var t,r,i;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,i=e):(r=e,i=this);for(var n=0,a=0;a<i.length;a++)t=(0|r.words[a])+(0|i.words[a])+n,this.words[a]=67108863&t,n=t>>>26;for(;0!==n&&a<r.length;a++)t=(0|r.words[a])+n,this.words[a]=67108863&t,n=t>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},n.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},n.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,i,n=this.cmp(e);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=e):(r=e,i=this);for(var a=0,s=0;s<i.length;s++)a=(t=(0|r.words[s])-(0|i.words[s])+a)>>26,this.words[s]=67108863&t;for(;0!==a&&s<r.length;s++)a=(t=(0|r.words[s])+a)>>26,this.words[s]=67108863&t;if(0===a&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(e){return this.clone().isub(e)};var f=function(e,t,r){var i,n,a,s=e.words,o=t.words,c=r.words,u=0,h=0|s[0],d=8191&h,f=h>>>13,l=0|s[1],p=8191&l,y=l>>>13,b=0|s[2],m=8191&b,g=b>>>13,w=0|s[3],v=8191&w,_=w>>>13,k=0|s[4],A=8191&k,S=k>>>13,E=0|s[5],P=8191&E,x=E>>>13,M=0|s[6],K=8191&M,C=M>>>13,D=0|s[7],U=8191&D,R=D>>>13,I=0|s[8],B=8191&I,T=I>>>13,z=0|s[9],q=8191&z,F=z>>>13,O=0|o[0],N=8191&O,L=O>>>13,j=0|o[1],W=8191&j,H=j>>>13,G=0|o[2],V=8191&G,$=G>>>13,Z=0|o[3],Y=8191&Z,X=Z>>>13,Q=0|o[4],J=8191&Q,ee=Q>>>13,te=0|o[5],re=8191&te,ie=te>>>13,ne=0|o[6],ae=8191&ne,se=ne>>>13,oe=0|o[7],ce=8191&oe,ue=oe>>>13,he=0|o[8],de=8191&he,fe=he>>>13,le=0|o[9],pe=8191&le,ye=le>>>13;r.negative=e.negative^t.negative,r.length=19;var be=(u+(i=Math.imul(d,N))|0)+((8191&(n=(n=Math.imul(d,L))+Math.imul(f,N)|0))<<13)|0;u=((a=Math.imul(f,L))+(n>>>13)|0)+(be>>>26)|0,be&=67108863,i=Math.imul(p,N),n=(n=Math.imul(p,L))+Math.imul(y,N)|0,a=Math.imul(y,L);var me=(u+(i=i+Math.imul(d,W)|0)|0)+((8191&(n=(n=n+Math.imul(d,H)|0)+Math.imul(f,W)|0))<<13)|0;u=((a=a+Math.imul(f,H)|0)+(n>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(m,N),n=(n=Math.imul(m,L))+Math.imul(g,N)|0,a=Math.imul(g,L),i=i+Math.imul(p,W)|0,n=(n=n+Math.imul(p,H)|0)+Math.imul(y,W)|0,a=a+Math.imul(y,H)|0;var ge=(u+(i=i+Math.imul(d,V)|0)|0)+((8191&(n=(n=n+Math.imul(d,$)|0)+Math.imul(f,V)|0))<<13)|0;u=((a=a+Math.imul(f,$)|0)+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,i=Math.imul(v,N),n=(n=Math.imul(v,L))+Math.imul(_,N)|0,a=Math.imul(_,L),i=i+Math.imul(m,W)|0,n=(n=n+Math.imul(m,H)|0)+Math.imul(g,W)|0,a=a+Math.imul(g,H)|0,i=i+Math.imul(p,V)|0,n=(n=n+Math.imul(p,$)|0)+Math.imul(y,V)|0,a=a+Math.imul(y,$)|0;var we=(u+(i=i+Math.imul(d,Y)|0)|0)+((8191&(n=(n=n+Math.imul(d,X)|0)+Math.imul(f,Y)|0))<<13)|0;u=((a=a+Math.imul(f,X)|0)+(n>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(A,N),n=(n=Math.imul(A,L))+Math.imul(S,N)|0,a=Math.imul(S,L),i=i+Math.imul(v,W)|0,n=(n=n+Math.imul(v,H)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,H)|0,i=i+Math.imul(m,V)|0,n=(n=n+Math.imul(m,$)|0)+Math.imul(g,V)|0,a=a+Math.imul(g,$)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0;var ve=(u+(i=i+Math.imul(d,J)|0)|0)+((8191&(n=(n=n+Math.imul(d,ee)|0)+Math.imul(f,J)|0))<<13)|0;u=((a=a+Math.imul(f,ee)|0)+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(P,N),n=(n=Math.imul(P,L))+Math.imul(x,N)|0,a=Math.imul(x,L),i=i+Math.imul(A,W)|0,n=(n=n+Math.imul(A,H)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,H)|0,i=i+Math.imul(v,V)|0,n=(n=n+Math.imul(v,$)|0)+Math.imul(_,V)|0,a=a+Math.imul(_,$)|0,i=i+Math.imul(m,Y)|0,n=(n=n+Math.imul(m,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0,i=i+Math.imul(p,J)|0,n=(n=n+Math.imul(p,ee)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,ee)|0;var _e=(u+(i=i+Math.imul(d,re)|0)|0)+((8191&(n=(n=n+Math.imul(d,ie)|0)+Math.imul(f,re)|0))<<13)|0;u=((a=a+Math.imul(f,ie)|0)+(n>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(K,N),n=(n=Math.imul(K,L))+Math.imul(C,N)|0,a=Math.imul(C,L),i=i+Math.imul(P,W)|0,n=(n=n+Math.imul(P,H)|0)+Math.imul(x,W)|0,a=a+Math.imul(x,H)|0,i=i+Math.imul(A,V)|0,n=(n=n+Math.imul(A,$)|0)+Math.imul(S,V)|0,a=a+Math.imul(S,$)|0,i=i+Math.imul(v,Y)|0,n=(n=n+Math.imul(v,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,i=i+Math.imul(m,J)|0,n=(n=n+Math.imul(m,ee)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,ee)|0,i=i+Math.imul(p,re)|0,n=(n=n+Math.imul(p,ie)|0)+Math.imul(y,re)|0,a=a+Math.imul(y,ie)|0;var ke=(u+(i=i+Math.imul(d,ae)|0)|0)+((8191&(n=(n=n+Math.imul(d,se)|0)+Math.imul(f,ae)|0))<<13)|0;u=((a=a+Math.imul(f,se)|0)+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(U,N),n=(n=Math.imul(U,L))+Math.imul(R,N)|0,a=Math.imul(R,L),i=i+Math.imul(K,W)|0,n=(n=n+Math.imul(K,H)|0)+Math.imul(C,W)|0,a=a+Math.imul(C,H)|0,i=i+Math.imul(P,V)|0,n=(n=n+Math.imul(P,$)|0)+Math.imul(x,V)|0,a=a+Math.imul(x,$)|0,i=i+Math.imul(A,Y)|0,n=(n=n+Math.imul(A,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,i=i+Math.imul(v,J)|0,n=(n=n+Math.imul(v,ee)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,ee)|0,i=i+Math.imul(m,re)|0,n=(n=n+Math.imul(m,ie)|0)+Math.imul(g,re)|0,a=a+Math.imul(g,ie)|0,i=i+Math.imul(p,ae)|0,n=(n=n+Math.imul(p,se)|0)+Math.imul(y,ae)|0,a=a+Math.imul(y,se)|0;var Ae=(u+(i=i+Math.imul(d,ce)|0)|0)+((8191&(n=(n=n+Math.imul(d,ue)|0)+Math.imul(f,ce)|0))<<13)|0;u=((a=a+Math.imul(f,ue)|0)+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,i=Math.imul(B,N),n=(n=Math.imul(B,L))+Math.imul(T,N)|0,a=Math.imul(T,L),i=i+Math.imul(U,W)|0,n=(n=n+Math.imul(U,H)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,H)|0,i=i+Math.imul(K,V)|0,n=(n=n+Math.imul(K,$)|0)+Math.imul(C,V)|0,a=a+Math.imul(C,$)|0,i=i+Math.imul(P,Y)|0,n=(n=n+Math.imul(P,X)|0)+Math.imul(x,Y)|0,a=a+Math.imul(x,X)|0,i=i+Math.imul(A,J)|0,n=(n=n+Math.imul(A,ee)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,ee)|0,i=i+Math.imul(v,re)|0,n=(n=n+Math.imul(v,ie)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ie)|0,i=i+Math.imul(m,ae)|0,n=(n=n+Math.imul(m,se)|0)+Math.imul(g,ae)|0,a=a+Math.imul(g,se)|0,i=i+Math.imul(p,ce)|0,n=(n=n+Math.imul(p,ue)|0)+Math.imul(y,ce)|0,a=a+Math.imul(y,ue)|0;var Se=(u+(i=i+Math.imul(d,de)|0)|0)+((8191&(n=(n=n+Math.imul(d,fe)|0)+Math.imul(f,de)|0))<<13)|0;u=((a=a+Math.imul(f,fe)|0)+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(q,N),n=(n=Math.imul(q,L))+Math.imul(F,N)|0,a=Math.imul(F,L),i=i+Math.imul(B,W)|0,n=(n=n+Math.imul(B,H)|0)+Math.imul(T,W)|0,a=a+Math.imul(T,H)|0,i=i+Math.imul(U,V)|0,n=(n=n+Math.imul(U,$)|0)+Math.imul(R,V)|0,a=a+Math.imul(R,$)|0,i=i+Math.imul(K,Y)|0,n=(n=n+Math.imul(K,X)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,X)|0,i=i+Math.imul(P,J)|0,n=(n=n+Math.imul(P,ee)|0)+Math.imul(x,J)|0,a=a+Math.imul(x,ee)|0,i=i+Math.imul(A,re)|0,n=(n=n+Math.imul(A,ie)|0)+Math.imul(S,re)|0,a=a+Math.imul(S,ie)|0,i=i+Math.imul(v,ae)|0,n=(n=n+Math.imul(v,se)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,se)|0,i=i+Math.imul(m,ce)|0,n=(n=n+Math.imul(m,ue)|0)+Math.imul(g,ce)|0,a=a+Math.imul(g,ue)|0,i=i+Math.imul(p,de)|0,n=(n=n+Math.imul(p,fe)|0)+Math.imul(y,de)|0,a=a+Math.imul(y,fe)|0;var Ee=(u+(i=i+Math.imul(d,pe)|0)|0)+((8191&(n=(n=n+Math.imul(d,ye)|0)+Math.imul(f,pe)|0))<<13)|0;u=((a=a+Math.imul(f,ye)|0)+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(q,W),n=(n=Math.imul(q,H))+Math.imul(F,W)|0,a=Math.imul(F,H),i=i+Math.imul(B,V)|0,n=(n=n+Math.imul(B,$)|0)+Math.imul(T,V)|0,a=a+Math.imul(T,$)|0,i=i+Math.imul(U,Y)|0,n=(n=n+Math.imul(U,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,i=i+Math.imul(K,J)|0,n=(n=n+Math.imul(K,ee)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,ee)|0,i=i+Math.imul(P,re)|0,n=(n=n+Math.imul(P,ie)|0)+Math.imul(x,re)|0,a=a+Math.imul(x,ie)|0,i=i+Math.imul(A,ae)|0,n=(n=n+Math.imul(A,se)|0)+Math.imul(S,ae)|0,a=a+Math.imul(S,se)|0,i=i+Math.imul(v,ce)|0,n=(n=n+Math.imul(v,ue)|0)+Math.imul(_,ce)|0,a=a+Math.imul(_,ue)|0,i=i+Math.imul(m,de)|0,n=(n=n+Math.imul(m,fe)|0)+Math.imul(g,de)|0,a=a+Math.imul(g,fe)|0;var Pe=(u+(i=i+Math.imul(p,pe)|0)|0)+((8191&(n=(n=n+Math.imul(p,ye)|0)+Math.imul(y,pe)|0))<<13)|0;u=((a=a+Math.imul(y,ye)|0)+(n>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,i=Math.imul(q,V),n=(n=Math.imul(q,$))+Math.imul(F,V)|0,a=Math.imul(F,$),i=i+Math.imul(B,Y)|0,n=(n=n+Math.imul(B,X)|0)+Math.imul(T,Y)|0,a=a+Math.imul(T,X)|0,i=i+Math.imul(U,J)|0,n=(n=n+Math.imul(U,ee)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,ee)|0,i=i+Math.imul(K,re)|0,n=(n=n+Math.imul(K,ie)|0)+Math.imul(C,re)|0,a=a+Math.imul(C,ie)|0,i=i+Math.imul(P,ae)|0,n=(n=n+Math.imul(P,se)|0)+Math.imul(x,ae)|0,a=a+Math.imul(x,se)|0,i=i+Math.imul(A,ce)|0,n=(n=n+Math.imul(A,ue)|0)+Math.imul(S,ce)|0,a=a+Math.imul(S,ue)|0,i=i+Math.imul(v,de)|0,n=(n=n+Math.imul(v,fe)|0)+Math.imul(_,de)|0,a=a+Math.imul(_,fe)|0;var xe=(u+(i=i+Math.imul(m,pe)|0)|0)+((8191&(n=(n=n+Math.imul(m,ye)|0)+Math.imul(g,pe)|0))<<13)|0;u=((a=a+Math.imul(g,ye)|0)+(n>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(q,Y),n=(n=Math.imul(q,X))+Math.imul(F,Y)|0,a=Math.imul(F,X),i=i+Math.imul(B,J)|0,n=(n=n+Math.imul(B,ee)|0)+Math.imul(T,J)|0,a=a+Math.imul(T,ee)|0,i=i+Math.imul(U,re)|0,n=(n=n+Math.imul(U,ie)|0)+Math.imul(R,re)|0,a=a+Math.imul(R,ie)|0,i=i+Math.imul(K,ae)|0,n=(n=n+Math.imul(K,se)|0)+Math.imul(C,ae)|0,a=a+Math.imul(C,se)|0,i=i+Math.imul(P,ce)|0,n=(n=n+Math.imul(P,ue)|0)+Math.imul(x,ce)|0,a=a+Math.imul(x,ue)|0,i=i+Math.imul(A,de)|0,n=(n=n+Math.imul(A,fe)|0)+Math.imul(S,de)|0,a=a+Math.imul(S,fe)|0;var Me=(u+(i=i+Math.imul(v,pe)|0)|0)+((8191&(n=(n=n+Math.imul(v,ye)|0)+Math.imul(_,pe)|0))<<13)|0;u=((a=a+Math.imul(_,ye)|0)+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(q,J),n=(n=Math.imul(q,ee))+Math.imul(F,J)|0,a=Math.imul(F,ee),i=i+Math.imul(B,re)|0,n=(n=n+Math.imul(B,ie)|0)+Math.imul(T,re)|0,a=a+Math.imul(T,ie)|0,i=i+Math.imul(U,ae)|0,n=(n=n+Math.imul(U,se)|0)+Math.imul(R,ae)|0,a=a+Math.imul(R,se)|0,i=i+Math.imul(K,ce)|0,n=(n=n+Math.imul(K,ue)|0)+Math.imul(C,ce)|0,a=a+Math.imul(C,ue)|0,i=i+Math.imul(P,de)|0,n=(n=n+Math.imul(P,fe)|0)+Math.imul(x,de)|0,a=a+Math.imul(x,fe)|0;var Ke=(u+(i=i+Math.imul(A,pe)|0)|0)+((8191&(n=(n=n+Math.imul(A,ye)|0)+Math.imul(S,pe)|0))<<13)|0;u=((a=a+Math.imul(S,ye)|0)+(n>>>13)|0)+(Ke>>>26)|0,Ke&=67108863,i=Math.imul(q,re),n=(n=Math.imul(q,ie))+Math.imul(F,re)|0,a=Math.imul(F,ie),i=i+Math.imul(B,ae)|0,n=(n=n+Math.imul(B,se)|0)+Math.imul(T,ae)|0,a=a+Math.imul(T,se)|0,i=i+Math.imul(U,ce)|0,n=(n=n+Math.imul(U,ue)|0)+Math.imul(R,ce)|0,a=a+Math.imul(R,ue)|0,i=i+Math.imul(K,de)|0,n=(n=n+Math.imul(K,fe)|0)+Math.imul(C,de)|0,a=a+Math.imul(C,fe)|0;var Ce=(u+(i=i+Math.imul(P,pe)|0)|0)+((8191&(n=(n=n+Math.imul(P,ye)|0)+Math.imul(x,pe)|0))<<13)|0;u=((a=a+Math.imul(x,ye)|0)+(n>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,i=Math.imul(q,ae),n=(n=Math.imul(q,se))+Math.imul(F,ae)|0,a=Math.imul(F,se),i=i+Math.imul(B,ce)|0,n=(n=n+Math.imul(B,ue)|0)+Math.imul(T,ce)|0,a=a+Math.imul(T,ue)|0,i=i+Math.imul(U,de)|0,n=(n=n+Math.imul(U,fe)|0)+Math.imul(R,de)|0,a=a+Math.imul(R,fe)|0;var De=(u+(i=i+Math.imul(K,pe)|0)|0)+((8191&(n=(n=n+Math.imul(K,ye)|0)+Math.imul(C,pe)|0))<<13)|0;u=((a=a+Math.imul(C,ye)|0)+(n>>>13)|0)+(De>>>26)|0,De&=67108863,i=Math.imul(q,ce),n=(n=Math.imul(q,ue))+Math.imul(F,ce)|0,a=Math.imul(F,ue),i=i+Math.imul(B,de)|0,n=(n=n+Math.imul(B,fe)|0)+Math.imul(T,de)|0,a=a+Math.imul(T,fe)|0;var Ue=(u+(i=i+Math.imul(U,pe)|0)|0)+((8191&(n=(n=n+Math.imul(U,ye)|0)+Math.imul(R,pe)|0))<<13)|0;u=((a=a+Math.imul(R,ye)|0)+(n>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,i=Math.imul(q,de),n=(n=Math.imul(q,fe))+Math.imul(F,de)|0,a=Math.imul(F,fe);var Re=(u+(i=i+Math.imul(B,pe)|0)|0)+((8191&(n=(n=n+Math.imul(B,ye)|0)+Math.imul(T,pe)|0))<<13)|0;u=((a=a+Math.imul(T,ye)|0)+(n>>>13)|0)+(Re>>>26)|0,Re&=67108863;var Ie=(u+(i=Math.imul(q,pe))|0)+((8191&(n=(n=Math.imul(q,ye))+Math.imul(F,pe)|0))<<13)|0;return u=((a=Math.imul(F,ye))+(n>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,c[0]=be,c[1]=me,c[2]=ge,c[3]=we,c[4]=ve,c[5]=_e,c[6]=ke,c[7]=Ae,c[8]=Se,c[9]=Ee,c[10]=Pe,c[11]=xe,c[12]=Me,c[13]=Ke,c[14]=Ce,c[15]=De,c[16]=Ue,c[17]=Re,c[18]=Ie,0!==u&&(c[19]=u,r.length++),r};function l(e,t,r){return(new p).mulp(e,t,r)}function p(e,t){this.x=e,this.y=t}Math.imul||(f=d),n.prototype.mulTo=function(e,t){var r,i=this.length+e.length;return r=10===this.length&&10===e.length?f(this,e,t):i<63?d(this,e,t):i<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var i=0,n=0,a=0;a<r.length-1;a++){var s=n;n=0;for(var o=67108863&i,c=Math.min(a,t.length-1),u=Math.max(0,a-e.length+1);u<=c;u++){var h=a-u,d=(0|e.words[h])*(0|t.words[u]),f=67108863&d;o=67108863&(f=f+o|0),n+=(s=(s=s+(d/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[a]=o,i=s,s=n}return 0!==i?r.words[a]=i:r.length--,r.strip()}(this,e,t):l(this,e,t),r},p.prototype.makeRBT=function(e){for(var t=Array(e),r=n.prototype._countBits(e)-1,i=0;i<e;i++)t[i]=this.revBin(i,r,e);return t},p.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var i=0,n=0;n<t;n++)i|=(1&e)<<t-n-1,e>>=1;return i},p.prototype.permute=function(e,t,r,i,n,a){for(var s=0;s<a;s++)i[s]=t[e[s]],n[s]=r[e[s]]},p.prototype.transform=function(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var s=1;s<n;s<<=1)for(var o=s<<1,c=Math.cos(2*Math.PI/o),u=Math.sin(2*Math.PI/o),h=0;h<n;h+=o)for(var d=c,f=u,l=0;l<s;l++){var p=r[h+l],y=i[h+l],b=r[h+l+s],m=i[h+l+s],g=d*b-f*m;m=d*m+f*b,b=g,r[h+l]=p+b,i[h+l]=y+m,r[h+l+s]=p-b,i[h+l+s]=y-m,l!==o&&(g=c*d-u*f,f=c*f+u*d,d=g)}},p.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},p.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1],e[r-i-1]=n,n=t[i],t[i]=-t[r-i-1],t[r-i-1]=-n}},p.prototype.normalize13b=function(e,t){for(var r=0,i=0;i<t/2;i++){var n=8192*Math.round(e[2*i+1]/t)+Math.round(e[2*i]/t)+r;e[i]=67108863&n,r=n<67108864?0:n/67108864|0}return e},p.prototype.convert13b=function(e,t,i,n){for(var a=0,s=0;s<t;s++)a+=0|e[s],i[2*s]=8191&a,a>>>=13,i[2*s+1]=8191&a,a>>>=13;for(s=2*t;s<n;++s)i[s]=0;r(0===a),r(0==(-8192&a))},p.prototype.stub=function(e){for(var t=Array(e),r=0;r<e;r++)t[r]=0;return t},p.prototype.mulp=function(e,t,r){var i=2*this.guessLen13b(e.length,t.length),n=this.makeRBT(i),a=this.stub(i),s=Array(i),o=Array(i),c=Array(i),u=Array(i),h=Array(i),d=Array(i),f=r.words;f.length=i,this.convert13b(e.words,e.length,s,i),this.convert13b(t.words,t.length,u,i),this.transform(s,a,o,c,i,n),this.transform(u,a,h,d,i,n);for(var l=0;l<i;l++){var p=o[l]*h[l]-c[l]*d[l];c[l]=o[l]*d[l]+c[l]*h[l],o[l]=p}return this.conjugate(o,c,i),this.transform(o,c,f,a,i,n),this.conjugate(f,a,i),this.normalize13b(f,i),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},n.prototype.mul=function(e){var t=new n(null);return t.words=Array(this.length+e.length),this.mulTo(e,t)},n.prototype.mulf=function(e){var t=new n(null);return t.words=Array(this.length+e.length),l(this,e,t)},n.prototype.imul=function(e){return this.clone().mulTo(e,this)},n.prototype.imuln=function(e){r("number"==typeof e),r(e<67108864);for(var t=0,i=0;i<this.length;i++){var n=(0|this.words[i])*e,a=(67108863&n)+(67108863&t);t>>=26,t+=n/67108864|0,t+=a>>>26,this.words[i]=67108863&a}return 0!==t&&(this.words[i]=t,this.length++),this},n.prototype.muln=function(e){return this.clone().imuln(e)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(e){var t=function(e){for(var t=Array(e.bitLength()),r=0;r<t.length;r++){var i=r/26|0,n=r%26;t[r]=(e.words[i]&1<<n)>>>n}return t}(e);if(0===t.length)return new n(1);for(var r=this,i=0;i<t.length&&0===t[i];i++,r=r.sqr());if(++i<t.length)for(var a=r.sqr();i<t.length;i++,a=a.sqr())0!==t[i]&&(r=r.mul(a));return r},n.prototype.iushln=function(e){r("number"==typeof e&&e>=0);var t,i=e%26,n=(e-i)/26,a=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(t=0;t<this.length;t++){var o=this.words[t]&a,c=(0|this.words[t])-o<<i;this.words[t]=c|s,s=o>>>26-i}s&&(this.words[t]=s,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t<n;t++)this.words[t]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(e){return r(0===this.negative),this.iushln(e)},n.prototype.iushrn=function(e,t,i){var n;r("number"==typeof e&&e>=0),n=t?(t-t%26)/26:0;var a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<<a,c=i;if(n=Math.max(0,n-=s),c){for(var u=0;u<s;u++)c.words[u]=this.words[u];c.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=n);u--){var d=0|this.words[u];this.words[u]=h<<26-a|d>>>a,h=d&o}return c&&0!==h&&(c.words[c.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(e,t,i){return r(0===this.negative),this.iushrn(e,t,i)},n.prototype.shln=function(e){return this.clone().ishln(e)},n.prototype.ushln=function(e){return this.clone().iushln(e)},n.prototype.shrn=function(e){return this.clone().ishrn(e)},n.prototype.ushrn=function(e){return this.clone().iushrn(e)},n.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,i=(e-t)/26,n=1<<t;return!(this.length<=i)&&!!(this.words[i]&n)},n.prototype.imaskn=function(e){r("number"==typeof e&&e>=0);var t=e%26,i=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==t&&i++,this.length=Math.min(i,this.length),0!==t){var n=67108863^67108863>>>t<<t;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(e){return this.clone().imaskn(e)},n.prototype.iaddn=function(e){return r("number"==typeof e),r(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},n.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},n.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},n.prototype.addn=function(e){return this.clone().iaddn(e)},n.prototype.subn=function(e){return this.clone().isubn(e)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(e,t,i){var n,a,s=e.length+i;this._expand(s);var o=0;for(n=0;n<e.length;n++){a=(0|this.words[n+i])+o;var c=(0|e.words[n])*t;o=((a-=67108863&c)>>26)-(c/67108864|0),this.words[n+i]=67108863&a}for(;n<this.length-i;n++)o=(a=(0|this.words[n+i])+o)>>26,this.words[n+i]=67108863&a;if(0===o)return this.strip();for(r(-1===o),o=0,n=0;n<this.length;n++)o=(a=-(0|this.words[n])+o)>>26,this.words[n]=67108863&a;return this.negative=1,this.strip()},n.prototype._wordDiv=function(e,t){var r=(this.length,e.length),i=this.clone(),a=e,s=0|a.words[a.length-1];0!==(r=26-this._countBits(s))&&(a=a.ushln(r),i.iushln(r),s=0|a.words[a.length-1]);var o,c=i.length-a.length;if("mod"!==t){(o=new n(null)).length=c+1,o.words=Array(o.length);for(var u=0;u<o.length;u++)o.words[u]=0}var h=i.clone()._ishlnsubmul(a,1,c);0===h.negative&&(i=h,o&&(o.words[c]=1));for(var d=c-1;d>=0;d--){var f=67108864*(0|i.words[a.length+d])+(0|i.words[a.length+d-1]);for(f=Math.min(f/s|0,67108863),i._ishlnsubmul(a,f,d);0!==i.negative;)f--,i.negative=0,i._ishlnsubmul(a,1,d),i.isZero()||(i.negative^=1);o&&(o.words[d]=f)}return o&&o.strip(),i.strip(),"div"!==t&&0!==r&&i.iushrn(r),{div:o||null,mod:i}},n.prototype.divmod=function(e,t,i){return r(!e.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(a=o.div.neg()),"div"!==t&&(s=o.mod.neg(),i&&0!==s.negative&&s.iadd(e)),{div:a,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(a=o.div.neg()),{div:a,mod:o.mod}):0!=(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),i&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new n(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new n(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new n(this.modn(e.words[0]))}:this._wordDiv(e,t);var a,s,o},n.prototype.div=function(e){return this.divmod(e,"div",!1).div},n.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},n.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},n.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),n=e.andln(1),a=r.cmp(i);return a<0||1===n&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},n.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,i=0,n=this.length-1;n>=0;n--)i=(t*i+(0|this.words[n]))%e;return i},n.prototype.idivn=function(e){r(e<=67108863);for(var t=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*t;this.words[i]=n/e|0,t=n%e}return this.strip()},n.prototype.divn=function(e){return this.clone().idivn(e)},n.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,i=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a=new n(1),s=new n(0),o=new n(0),c=new n(1),u=0;t.isEven()&&i.isEven();)t.iushrn(1),i.iushrn(1),++u;for(var h=i.clone(),d=t.clone();!t.isZero();){for(var f=0,l=1;0==(t.words[0]&l)&&f<26;++f,l<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(a.isOdd()||s.isOdd())&&(a.iadd(h),s.isub(d)),a.iushrn(1),s.iushrn(1);for(var p=0,y=1;0==(i.words[0]&y)&&p<26;++p,y<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(o.isOdd()||c.isOdd())&&(o.iadd(h),c.isub(d)),o.iushrn(1),c.iushrn(1);t.cmp(i)>=0?(t.isub(i),a.isub(o),s.isub(c)):(i.isub(t),o.isub(a),c.isub(s))}return{a:o,b:c,gcd:i.iushln(u)}},n.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,i=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a,s=new n(1),o=new n(0),c=i.clone();t.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,h=1;0==(t.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(t.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);for(var d=0,f=1;0==(i.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(i.iushrn(d);d-- >0;)o.isOdd()&&o.iadd(c),o.iushrn(1);t.cmp(i)>=0?(t.isub(i),s.isub(o)):(i.isub(t),o.isub(s))}return(a=0===t.cmpn(1)?s:o).cmpn(0)<0&&a.iadd(e),a},n.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=t.cmp(r);if(n<0){var a=t;t=r,r=a}else if(0===n||0===r.cmpn(1))break;t.isub(r)}return r.iushln(i)},n.prototype.invm=function(e){return this.egcd(e).a.umod(e)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(e){return this.words[0]&e},n.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,i=(e-t)/26,n=1<<t;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var a=n,s=i;0!==a&&s<this.length;s++){var o=0|this.words[s];a=(o+=a)>>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(e){var t,i=e<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)t=1;else{i&&(e=-e),r(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:n<e?-1:1}return 0!==this.negative?0|-t:t},n.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},n.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|e.words[r];if(i!==n){i<n?t=-1:i>n&&(t=1);break}}return t},n.prototype.gtn=function(e){return 1===this.cmpn(e)},n.prototype.gt=function(e){return 1===this.cmp(e)},n.prototype.gten=function(e){return this.cmpn(e)>=0},n.prototype.gte=function(e){return this.cmp(e)>=0},n.prototype.ltn=function(e){return-1===this.cmpn(e)},n.prototype.lt=function(e){return-1===this.cmp(e)},n.prototype.lten=function(e){return this.cmpn(e)<=0},n.prototype.lte=function(e){return this.cmp(e)<=0},n.prototype.eqn=function(e){return 0===this.cmpn(e)},n.prototype.eq=function(e){return 0===this.cmp(e)},n.red=function(e){return new _(e)},n.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(e){return this.red=e,this},n.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},n.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},n.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},n.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},n.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},n.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},n.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},n.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new n(t,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function m(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function g(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function v(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(e){if("string"==typeof e){var t=n._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){_.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var e=new n(null);return e.words=Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var i=t<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):r.strip(),r},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)},i(m,b),m.prototype.split=function(e,t){for(var r=4194303,i=Math.min(e.length,9),n=0;n<i;n++)t.words[n]=e.words[n];if(t.length=i,e.length<=9)return e.words[0]=0,void(e.length=1);var a=e.words[9];for(t.words[t.length++]=a&r,n=10;n<e.length;n++){var s=0|e.words[n];e.words[n-10]=(s&r)<<4|a>>>22,a=s}a>>>=22,e.words[n-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},m.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var i=0|e.words[r];t+=977*i,e.words[r]=67108863&t,t=64*i+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(g,b),i(w,b),i(v,b),v.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var i=19*(0|e.words[r])+t,n=67108863&i;i>>>=26,e.words[r]=n,t=i}return 0!==t&&(e.words[e.length++]=t),e},n._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new m;else if("p224"===e)t=new g;else if("p192"===e)t=new w;else{if("p25519"!==e)throw Error("Unknown prime "+e);t=new v}return y[e]=t,t},_.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},_.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},_.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},_.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},_.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},_.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},_.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},_.prototype.isqr=function(e){return this.imul(e,e.clone())},_.prototype.sqr=function(e){return this.mul(e,e)},_.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var i=this.m.add(new n(1)).iushrn(2);return this.pow(e,i)}for(var a=this.m.subn(1),s=0;!a.isZero()&&0===a.andln(1);)s++,a.iushrn(1);r(!a.isZero());var o=new n(1).toRed(this),c=o.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new n(2*h*h).toRed(this);0!==this.pow(h,u).cmp(c);)h.redIAdd(c);for(var d=this.pow(h,a),f=this.pow(e,a.addn(1).iushrn(1)),l=this.pow(e,a),p=s;0!==l.cmp(o);){for(var y=l,b=0;0!==y.cmp(o);b++)y=y.redSqr();r(b<p);var m=this.pow(d,new n(1).iushln(p-b-1));f=f.redMul(m),d=m.redSqr(),l=l.redMul(d),p=b}return f},_.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},_.prototype.pow=function(e,t){if(t.isZero())return new n(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=Array(16);r[0]=new n(1).toRed(this),r[1]=e;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],e);var a=r[0],s=0,o=0,c=t.bitLength()%26;for(0===c&&(c=26),i=t.length-1;i>=0;i--){for(var u=t.words[i],h=c-1;h>=0;h--){var d=u>>h&1;a!==r[0]&&(a=this.sqr(a)),0!==d||0!==s?(s<<=1,s|=d,(4===++o||0===i&&0===h)&&(a=this.mul(a,r[s]),o=0,s=0)):o=0}c=26}return a},_.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},_.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},n.mont=function(e){return new k(e)},i(k,_),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new n(0)._forceRed(this);var r=e.mul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(i).iushrn(this.shift),s=a;return a.cmp(this.m)>=0?s=a.isub(this.m):a.cmpn(0)<0&&(s=a.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,rt)})),sy=/*#__PURE__*/Object.freeze({__proto__:null,default:ay,__moduleExports:ay});class oy{constructor(e){if(void 0===e)throw Error("Invalid BigInteger input");this.value=new ay(e)}clone(){const e=new oy(null);return this.value.copy(e.value),e}iinc(){return this.value.iadd(new ay(1)),this}inc(){return this.clone().iinc()}idec(){return this.value.isub(new ay(1)),this}dec(){return this.clone().idec()}iadd(e){return this.value.iadd(e.value),this}add(e){return this.clone().iadd(e)}isub(e){return this.value.isub(e.value),this}sub(e){return this.clone().isub(e)}imul(e){return this.value.imul(e.value),this}mul(e){return this.clone().imul(e)}imod(e){return this.value=this.value.umod(e.value),this}mod(e){return this.clone().imod(e)}modExp(e,t){const r=t.isEven()?ay.red(t.value):ay.mont(t.value),i=this.clone();return i.value=i.value.toRed(r).redPow(e.value).fromRed(),i}modInv(e){if(!this.gcd(e).isOne())throw Error("Inverse does not exist");return new oy(this.value.invm(e.value))}gcd(e){return new oy(this.value.gcd(e.value))}ileftShift(e){return this.value.ishln(e.value.toNumber()),this}leftShift(e){return this.clone().ileftShift(e)}irightShift(e){return this.value.ishrn(e.value.toNumber()),this}rightShift(e){return this.clone().irightShift(e)}equal(e){return this.value.eq(e.value)}lt(e){return this.value.lt(e.value)}lte(e){return this.value.lte(e.value)}gt(e){return this.value.gt(e.value)}gte(e){return this.value.gte(e.value)}isZero(){return this.value.isZero()}isOne(){return this.value.eq(new ay(1))}isNegative(){return this.value.isNeg()}isEven(){return this.value.isEven()}abs(){const e=this.clone();return e.value=e.value.abs(),e}toString(){return this.value.toString()}toNumber(){return this.value.toNumber()}getBit(e){return this.value.testn(e)?1:0}bitLength(){return this.value.bitLength()}byteLength(){return this.value.byteLength()}toUint8Array(e="be",t){return this.value.toArrayLike(Uint8Array,e,t)}}var cy,uy=/*#__PURE__*/Object.freeze({__proto__:null,default:oy}),hy=it((function(e,t){var r=t;function i(e){return 1===e.length?"0"+e:e}function n(e){for(var t="",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var i=0;i<e.length;i++)r[i]=0|e[i];return r}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(i=0;i<e.length;i++){var n=e.charCodeAt(i),a=n>>8,s=255&n;a?r.push(a,s):r.push(s)}return r},r.zero2=i,r.toHex=n,r.encode=function(e,t){return"hex"===t?n(e):e}})),dy=it((function(e,t){var r=t;r.assert=et,r.toArray=hy.toArray,r.zero2=hy.zero2,r.toHex=hy.toHex,r.encode=hy.encode,r.getNAF=function(e,t){for(var r=[],i=1<<t+1,n=e.clone();n.cmpn(1)>=0;){var a;if(n.isOdd()){var s=n.andln(i-1);a=s>(i>>1)-1?(i>>1)-s:s,n.isubn(a)}else a=0;r.push(a);for(var o=0!==n.cmpn(0)&&0===n.andln(i-1)?t+1:1,c=1;c<o;c++)r.push(0);n.iushrn(o)}return r},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var i=0,n=0;e.cmpn(-i)>0||t.cmpn(-n)>0;){var a,s,o,c=e.andln(3)+i&3,u=t.andln(3)+n&3;if(3===c&&(c=-1),3===u&&(u=-1),0==(1&c))a=0;else a=3!==(o=e.andln(7)+i&7)&&5!==o||2!==u?c:-c;if(r[0].push(a),0==(1&u))s=0;else s=3!==(o=t.andln(7)+n&7)&&5!==o||2!==c?u:-u;r[1].push(s),2*i===a+1&&(i=1-i),2*n===s+1&&(n=1-n),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var i="_"+t;e.prototype[t]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new ay(e,"hex","le")}})),fy=function(e){return cy||(cy=new ly(null)),cy.generate(e)};function ly(e){this.rand=e}var py=ly;if(ly.prototype.generate=function(e){return this._rand(e)},ly.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?ly.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?ly.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(ly.prototype._rand=function(){throw Error("Not implemented yet")});else try{var yy=void 0;if("function"!=typeof yy.randomBytes)throw Error("Not supported");ly.prototype._rand=function(e){return yy.randomBytes(e)}}catch(e){}fy.Rand=py;var by=dy.getNAF,my=dy.getJSF,gy=dy.assert;function wy(e,t){this.type=e,this.p=new ay(t.p,16),this.red=t.prime?ay.red(t.prime):ay.mont(this.p),this.zero=new ay(0).toRed(this.red),this.one=new ay(1).toRed(this.red),this.two=new ay(2).toRed(this.red),this.n=t.n&&new ay(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,];var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var vy=wy;function _y(e,t){this.curve=e,this.type=t,this.precomputed=null}wy.prototype.point=function(){throw Error("Not implemented")},wy.prototype.validate=function(){throw Error("Not implemented")},wy.prototype._fixedNafMul=function(e,t){gy(e.precomputed);var r=e._getDoubles(),i=by(t,1),n=(1<<r.step+1)-(r.step%2==0?2:1);n/=3;for(var a=[],s=0;s<i.length;s+=r.step){var o=0;for(t=s+r.step-1;t>=s;t--)o=(o<<1)+i[t];a.push(o)}for(var c=this.jpoint(null,null,null),u=this.jpoint(null,null,null),h=n;h>0;h--){for(s=0;s<a.length;s++){(o=a[s])===h?u=u.mixedAdd(r.points[s]):o===-h&&(u=u.mixedAdd(r.points[s].neg()))}c=c.add(u)}return c.toP()},wy.prototype._wnafMul=function(e,t){var r=4,i=e._getNAFPoints(r);r=i.wnd;for(var n=i.points,a=by(t,r),s=this.jpoint(null,null,null),o=a.length-1;o>=0;o--){for(t=0;o>=0&&0===a[o];o--)t++;if(o>=0&&t++,s=s.dblp(t),o<0)break;var c=a[o];gy(0!==c),s="affine"===e.type?c>0?s.mixedAdd(n[c-1>>1]):s.mixedAdd(n[-c-1>>1].neg()):c>0?s.add(n[c-1>>1]):s.add(n[-c-1>>1].neg())}return"affine"===e.type?s.toP():s},wy.prototype._wnafMulAdd=function(e,t,r,i,n){for(var a=this._wnafT1,s=this._wnafT2,o=this._wnafT3,c=0,u=0;u<i;u++){var h=(A=t[u])._getNAFPoints(e);a[u]=h.wnd,s[u]=h.points}for(u=i-1;u>=1;u-=2){var d=u-1,f=u;if(1===a[d]&&1===a[f]){var l=[t[d],null,null,t[f]];0===t[d].y.cmp(t[f].y)?(l[1]=t[d].add(t[f]),l[2]=t[d].toJ().mixedAdd(t[f].neg())):0===t[d].y.cmp(t[f].y.redNeg())?(l[1]=t[d].toJ().mixedAdd(t[f]),l[2]=t[d].add(t[f].neg())):(l[1]=t[d].toJ().mixedAdd(t[f]),l[2]=t[d].toJ().mixedAdd(t[f].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],y=my(r[d],r[f]);c=Math.max(y[0].length,c),o[d]=Array(c),o[f]=Array(c);for(var b=0;b<c;b++){var m=0|y[0][b],g=0|y[1][b];o[d][b]=p[3*(m+1)+(g+1)],o[f][b]=0,s[d]=l}}else o[d]=by(r[d],a[d]),o[f]=by(r[f],a[f]),c=Math.max(o[d].length,c),c=Math.max(o[f].length,c)}var w=this.jpoint(null,null,null),v=this._wnafT4;for(u=c;u>=0;u--){for(var _=0;u>=0;){var k=!0;for(b=0;b<i;b++)v[b]=0|o[b][u],0!==v[b]&&(k=!1);if(!k)break;_++,u--}if(u>=0&&_++,w=w.dblp(_),u<0)break;for(b=0;b<i;b++){var A,S=v[b];0!==S&&(S>0?A=s[b][S-1>>1]:S<0&&(A=s[b][-S-1>>1].neg()),w="affine"===A.type?w.mixedAdd(A):w.add(A))}}for(u=0;u<i;u++)s[u]=null;return n?w:w.toP()},wy.BasePoint=_y,_y.prototype.eq=function(){throw Error("Not implemented")},_y.prototype.validate=function(){return this.curve.validate(this)},wy.prototype.decodePoint=function(e,t){e=dy.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?gy(e[e.length-1]%2==0):7===e[0]&&gy(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw Error("Unknown point format")},_y.prototype.encodeCompressed=function(e){return this.encode(e,!0)},_y.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},_y.prototype.encode=function(e,t){return dy.encode(this._encode(t),e)},_y.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},_y.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},_y.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n<t;n+=e){for(var a=0;a<e;a++)i=i.dbl();r.push(i)}return{step:e,points:r}},_y.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,i=1===r?null:this.dbl(),n=1;n<r;n++)t[n]=t[n-1].add(i);return{wnd:e,points:t}},_y.prototype._getBeta=function(){return null},_y.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t};var ky=dy.assert;function Ay(e){vy.call(this,"short",e),this.a=new ay(e.a,16).toRed(this.red),this.b=new ay(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}at(Ay,vy);var Sy=Ay;function Ey(e,t,r,i){vy.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new ay(t,16),this.y=new ay(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function Py(e,t,r,i){vy.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new ay(0)):(this.x=new ay(t,16),this.y=new ay(r,16),this.z=new ay(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}function xy(e){vy.call(this,"mont",e),this.a=new ay(e.a,16).toRed(this.red),this.b=new ay(e.b,16).toRed(this.red),this.i4=new ay(4).toRed(this.red).redInvm(),this.two=new ay(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}Ay.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new ay(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=(t=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(e.lambda)r=new ay(e.lambda,16);else{var n=this._getEndoRoots(this.n);0===this.g.mul(n[0]).x.cmp(this.g.x.redMul(t))?r=n[0]:(r=n[1],ky(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new ay(e.a,16),b:new ay(e.b,16)}})):this._getEndoBasis(r)}}},Ay.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:ay.mont(e),r=new ay(2).toRed(t).redInvm(),i=r.redNeg(),n=new ay(3).toRed(t).redNeg().redSqrt().redMul(r);return[i.redAdd(n).fromRed(),i.redSub(n).fromRed()]},Ay.prototype._getEndoBasis=function(e){for(var t,r,i,n,a,s,o,c,u,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,f=this.n.clone(),l=new ay(1),p=new ay(0),y=new ay(0),b=new ay(1),m=0;0!==d.cmpn(0);){var g=f.div(d);c=f.sub(g.mul(d)),u=y.sub(g.mul(l));var w=b.sub(g.mul(p));if(!i&&c.cmp(h)<0)t=o.neg(),r=l,i=c.neg(),n=u;else if(i&&2==++m)break;o=c,f=d,d=c,y=l,l=u,b=p,p=w}a=c.neg(),s=u;var v=i.sqr().add(n.sqr());return a.sqr().add(s.sqr()).cmp(v)>=0&&(a=t,s=r),i.negative&&(i=i.neg(),n=n.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:i,b:n},{a,b:s}]},Ay.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],i=t[1],n=i.b.mul(e).divRound(this.n),a=r.b.neg().mul(e).divRound(this.n),s=n.mul(r.a),o=a.mul(i.a),c=n.mul(r.b),u=a.mul(i.b);return{k1:e.sub(s).sub(o),k2:c.add(u).neg()}},Ay.prototype.pointFromX=function(e,t){(e=new ay(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw Error("invalid point");var n=i.fromRed().isOdd();return(t&&!n||!t&&n)&&(i=i.redNeg()),this.point(e,i)},Ay.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,i=this.a.redMul(t),n=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},Ay.prototype._endoWnafMulAdd=function(e,t,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,a=0;a<e.length;a++){var s=this._endoSplit(t[a]),o=e[a],c=o._getBeta();s.k1.negative&&(s.k1.ineg(),o=o.neg(!0)),s.k2.negative&&(s.k2.ineg(),c=c.neg(!0)),i[2*a]=o,i[2*a+1]=c,n[2*a]=s.k1,n[2*a+1]=s.k2}for(var u=this._wnafMulAdd(1,i,n,2*a,r),h=0;h<2*a;h++)i[h]=null,n[h]=null;return u},at(Ey,vy.BasePoint),Ay.prototype.point=function(e,t,r){return new Ey(this,e,t,r)},Ay.prototype.pointFromJSON=function(e,t){return Ey.fromJSON(this,e,t)},Ey.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,i=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(i)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(i)}}}return t}},Ey.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Ey.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var i=e.point(t[0],t[1],r);if(!t[2])return i;function n(t){return e.point(t[0],t[1],r)}var a=t[2];return i.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[i].concat(a.doubles.points.map(n))},naf:a.naf&&{wnd:a.naf.wnd,points:[i].concat(a.naf.points.map(n))}},i},Ey.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Ey.prototype.isInfinity=function(){return this.inf},Ey.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),i=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},Ey.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),i=e.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(i),a=n.redSqr().redISub(this.x.redAdd(this.x)),s=n.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,s)},Ey.prototype.getX=function(){return this.x.fromRed()},Ey.prototype.getY=function(){return this.y.fromRed()},Ey.prototype.mul=function(e){return e=new ay(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Ey.prototype.mulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},Ey.prototype.jmulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},Ey.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},Ey.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,i=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return t},Ey.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},at(Py,vy.BasePoint),Ay.prototype.jpoint=function(e,t,r){return new Py(this,e,t,r)},Py.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),i=this.y.redMul(t).redMul(e);return this.curve.point(r,i)},Py.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Py.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(t),n=e.x.redMul(r),a=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(r.redMul(this.z)),o=i.redSub(n),c=a.redSub(s);if(0===o.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=o.redSqr(),h=u.redMul(o),d=i.redMul(u),f=c.redSqr().redIAdd(h).redISub(d).redISub(d),l=c.redMul(d.redISub(f)).redISub(a.redMul(h)),p=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(f,l,p)},Py.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,i=e.x.redMul(t),n=this.y,a=e.y.redMul(t).redMul(this.z),s=r.redSub(i),o=n.redSub(a);if(0===s.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),u=c.redMul(s),h=r.redMul(c),d=o.redSqr().redIAdd(u).redISub(h).redISub(h),f=o.redMul(h.redISub(d)).redISub(n.redMul(u)),l=this.z.redMul(s);return this.curve.jpoint(d,f,l)},Py.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var i=this.curve.a,n=this.curve.tinv,a=this.x,s=this.y,o=this.z,c=o.redSqr().redSqr(),u=s.redAdd(s);for(r=0;r<e;r++){var h=a.redSqr(),d=u.redSqr(),f=d.redSqr(),l=h.redAdd(h).redIAdd(h).redIAdd(i.redMul(c)),p=a.redMul(d),y=l.redSqr().redISub(p.redAdd(p)),b=p.redISub(y),m=l.redMul(b);m=m.redIAdd(m).redISub(f);var g=u.redMul(o);r+1<e&&(c=c.redMul(f)),a=y,o=g,u=m}return this.curve.jpoint(a,u.redMul(n),o)},Py.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Py.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(a);s=s.redIAdd(s);var o=i.redAdd(i).redIAdd(i),c=o.redSqr().redISub(s).redISub(s),u=a.redIAdd(a);u=(u=u.redIAdd(u)).redIAdd(u),e=c,t=o.redMul(s.redISub(c)).redISub(u),r=this.y.redAdd(this.y)}else{var h=this.x.redSqr(),d=this.y.redSqr(),f=d.redSqr(),l=this.x.redAdd(d).redSqr().redISub(h).redISub(f);l=l.redIAdd(l);var p=h.redAdd(h).redIAdd(h),y=p.redSqr(),b=f.redIAdd(f);b=(b=b.redIAdd(b)).redIAdd(b),e=y.redISub(l).redISub(l),t=p.redMul(l.redISub(e)).redISub(b),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},Py.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(a);s=s.redIAdd(s);var o=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),c=o.redSqr().redISub(s).redISub(s);e=c;var u=a.redIAdd(a);u=(u=u.redIAdd(u)).redIAdd(u),t=o.redMul(s.redISub(c)).redISub(u),r=this.y.redAdd(this.y)}else{var h=this.z.redSqr(),d=this.y.redSqr(),f=this.x.redMul(d),l=this.x.redSub(h).redMul(this.x.redAdd(h));l=l.redAdd(l).redIAdd(l);var p=f.redIAdd(f),y=(p=p.redIAdd(p)).redAdd(p);e=l.redSqr().redISub(y),r=this.y.redAdd(this.z).redSqr().redISub(d).redISub(h);var b=d.redSqr();b=(b=(b=b.redIAdd(b)).redIAdd(b)).redIAdd(b),t=l.redMul(p.redISub(e)).redISub(b)}return this.curve.jpoint(e,t,r)},Py.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,i=this.z,n=i.redSqr().redSqr(),a=t.redSqr(),s=r.redSqr(),o=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(n)),c=t.redAdd(t),u=(c=c.redIAdd(c)).redMul(s),h=o.redSqr().redISub(u.redAdd(u)),d=u.redISub(h),f=s.redSqr();f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var l=o.redMul(d).redISub(f),p=r.redAdd(r).redMul(i);return this.curve.jpoint(h,l,p)},Py.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),i=t.redSqr(),n=e.redAdd(e).redIAdd(e),a=n.redSqr(),s=this.x.redAdd(t).redSqr().redISub(e).redISub(i),o=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(a)).redSqr(),c=i.redIAdd(i);c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var u=n.redIAdd(s).redSqr().redISub(a).redISub(o).redISub(c),h=t.redMul(u);h=(h=h.redIAdd(h)).redIAdd(h);var d=this.x.redMul(o).redISub(h);d=(d=d.redIAdd(d)).redIAdd(d);var f=this.y.redMul(u.redMul(c.redISub(u)).redISub(s.redMul(o)));f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var l=this.z.redAdd(s).redSqr().redISub(r).redISub(o);return this.curve.jpoint(d,f,l)},Py.prototype.mul=function(e,t){return e=new ay(e,t),this.curve._wnafMul(this,e)},Py.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var i=t.redMul(this.z),n=r.redMul(e.z);return 0===this.y.redMul(n).redISub(e.y.redMul(i)).cmpn(0)},Py.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var i=e.clone(),n=this.curve.redN.redMul(t);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},Py.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},Py.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},at(xy,vy);var My=xy;function Ky(e,t,r){vy.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new ay(t,16),this.z=new ay(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}xy.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),i=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===i.redSqrt().redSqr().cmp(i)},at(Ky,vy.BasePoint),xy.prototype.decodePoint=function(e,t){if(33===(e=dy.toArray(e,t)).length&&64===e[0]&&(e=e.slice(1,33).reverse()),32!==e.length)throw Error("Unknown point compression format");return this.point(e,1)},xy.prototype.point=function(e,t){return new Ky(this,e,t)},xy.prototype.pointFromJSON=function(e){return Ky.fromJSON(this,e)},Ky.prototype.precompute=function(){},Ky.prototype._encode=function(e){var t=this.curve.p.byteLength();return e?[64].concat(this.getX().toArray("le",t)):this.getX().toArray("be",t)},Ky.fromJSON=function(e,t){return new Ky(e,t[0],t[1]||e.one)},Ky.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Ky.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Ky.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),i=e.redMul(t),n=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},Ky.prototype.add=function(){throw Error("Not supported on Montgomery curve")},Ky.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(r),s=n.redMul(i),o=t.z.redMul(a.redAdd(s).redSqr()),c=t.x.redMul(a.redISub(s).redSqr());return this.curve.point(o,c)},Ky.prototype.mul=function(e){for(var t=(e=new ay(e,16)).clone(),r=this,i=this.curve.point(null,null),n=[];0!==t.cmpn(0);t.iushrn(1))n.push(t.andln(1));for(var a=n.length-1;a>=0;a--)0===n[a]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},Ky.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},Ky.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},Ky.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},Ky.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Ky.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Cy=dy.assert;function Dy(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,vy.call(this,"edwards",e),this.a=new ay(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new ay(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new ay(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Cy(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}at(Dy,vy);var Uy=Dy;function Ry(e,t,r,i,n){vy.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new ay(t,16),this.y=new ay(r,16),this.z=i?new ay(i,16):this.curve.one,this.t=n&&new ay(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}Dy.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},Dy.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},Dy.prototype.jpoint=function(e,t,r,i){return this.point(e,t,r,i)},Dy.prototype.pointFromX=function(e,t){(e=new ay(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=this.c2.redSub(this.a.redMul(r)),n=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=i.redMul(n.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw Error("invalid point");var o=s.fromRed().isOdd();return(t&&!o||!t&&o)&&(s=s.redNeg()),this.point(e,s)},Dy.prototype.pointFromY=function(e,t){(e=new ay(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=r.redSub(this.c2),n=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=i.redMul(n.redInvm());if(0===a.cmp(this.zero)){if(t)throw Error("invalid point");return this.point(this.zero,e)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw Error("invalid point");return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},Dy.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),i=t.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===i.cmp(n)},at(Ry,vy.BasePoint),Dy.prototype.pointFromJSON=function(e){return Ry.fromJSON(this,e)},Dy.prototype.point=function(e,t,r,i){return new Ry(this,e,t,r,i)},Ry.fromJSON=function(e,t){return new Ry(e,t[0],t[1],t[2])},Ry.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Ry.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Ry.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(e),n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=i.redAdd(t),s=a.redSub(r),o=i.redSub(t),c=n.redMul(s),u=a.redMul(o),h=n.redMul(o),d=s.redMul(a);return this.curve.point(c,u,d,h)},Ry.prototype._projDbl=function(){var e,t,r,i=this.x.redAdd(this.y).redSqr(),n=this.x.redSqr(),a=this.y.redSqr();if(this.curve.twisted){var s=(u=this.curve._mulA(n)).redAdd(a);if(this.zOne)e=i.redSub(n).redSub(a).redMul(s.redSub(this.curve.two)),t=s.redMul(u.redSub(a)),r=s.redSqr().redSub(s).redSub(s);else{var o=this.z.redSqr(),c=s.redSub(o).redISub(o);e=i.redSub(n).redISub(a).redMul(c),t=s.redMul(u.redSub(a)),r=s.redMul(c)}}else{var u=n.redAdd(a);o=this.curve._mulC(this.z).redSqr(),c=u.redSub(o).redSub(o);e=this.curve._mulC(i.redISub(u)).redMul(c),t=this.curve._mulC(u).redMul(n.redISub(a)),r=u.redMul(c)}return this.curve.point(e,t,r)},Ry.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Ry.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.dd).redMul(e.t),n=this.z.redMul(e.z.redAdd(e.z)),a=r.redSub(t),s=n.redSub(i),o=n.redAdd(i),c=r.redAdd(t),u=a.redMul(s),h=o.redMul(c),d=a.redMul(c),f=s.redMul(o);return this.curve.point(u,h,f,d)},Ry.prototype._projAdd=function(e){var t,r,i=this.z.redMul(e.z),n=i.redSqr(),a=this.x.redMul(e.x),s=this.y.redMul(e.y),o=this.curve.d.redMul(a).redMul(s),c=n.redSub(o),u=n.redAdd(o),h=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(s),d=i.redMul(c).redMul(h);return this.curve.twisted?(t=i.redMul(u).redMul(s.redSub(this.curve._mulA(a))),r=c.redMul(u)):(t=i.redMul(u).redMul(s.redSub(a)),r=this.curve._mulC(c).redMul(u)),this.curve.point(d,t,r)},Ry.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},Ry.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},Ry.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},Ry.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},Ry.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},Ry.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Ry.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Ry.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Ry.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},Ry.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}},Ry.prototype.toP=Ry.prototype.normalize,Ry.prototype.mixedAdd=Ry.prototype.add;var Iy=it((function(e,t){var r=t;r.base=vy,r.short=Sy,r.mont=My,r.edwards=Uy})),By=pt.rotl32,Ty=pt.sum32,zy=pt.sum32_5,qy=At.ft_1,Fy=mt.BlockHash,Oy=[1518500249,1859775393,2400959708,3395469782];function Ny(){if(!(this instanceof Ny))return new Ny;Fy.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}pt.inherits(Ny,Fy);var Ly=Ny;Ny.blockSize=512,Ny.outSize=160,Ny.hmacStrength=80,Ny.padLength=64,Ny.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=By(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0],a=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4];for(i=0;i<r.length;i++){var u=~~(i/20),h=zy(By(n,5),qy(u,a,s,o),c,r[i],Oy[u]);c=o,o=s,s=By(a,30),a=n,n=h}this.h[0]=Ty(this.h[0],n),this.h[1]=Ty(this.h[1],a),this.h[2]=Ty(this.h[2],s),this.h[3]=Ty(this.h[3],o),this.h[4]=Ty(this.h[4],c)},Ny.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"big"):pt.split32(this.h,"big")};var jy={sha1:Ly,sha224:qt,sha256:Tt,sha384:lr,sha512:Jt};function Wy(e,t,r){if(!(this instanceof Wy))return new Wy(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(pt.toArray(t,r))}var Hy=Wy;Wy.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),et(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},Wy.prototype.update=function(e,t){return this.inner.update(e,t),this},Wy.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)};var Gy=it((function(e,t){var r=t;r.utils=pt,r.common=mt,r.sha=jy,r.ripemd=Mr,r.hmac=Hy,r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160})),Vy={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}},$y=it((function(e,t){var r,i=t,n=dy.assert;function a(e){if("short"===e.type)this.curve=new Iy.short(e);else if("edwards"===e.type)this.curve=new Iy.edwards(e);else{if("mont"!==e.type)throw Error("Unknown curve type.");this.curve=new Iy.mont(e)}this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, n*G != O")}function s(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new a(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=a,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Gy.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Gy.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Gy.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Gy.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Gy.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",cofactor:"8",hash:Gy.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",cofactor:"8",hash:Gy.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]}),s("brainpoolP256r1",{type:"short",prime:null,p:"A9FB57DB A1EEA9BC 3E660A90 9D838D72 6E3BF623 D5262028 2013481D 1F6E5377",a:"7D5A0975 FC2C3057 EEF67530 417AFFE7 FB8055C1 26DC5C6C E94A4B44 F330B5D9",b:"26DC5C6C E94A4B44 F330B5D9 BBD77CBF 95841629 5CF7E1CE 6BCCDC18 FF8C07B6",n:"A9FB57DB A1EEA9BC 3E660A90 9D838D71 8C397AA3 B561A6F7 901E0E82 974856A7",hash:Gy.sha256,gRed:!1,g:["8BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262","547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997"]}),s("brainpoolP384r1",{type:"short",prime:null,p:"8CB91E82 A3386D28 0F5D6F7E 50E641DF 152F7109 ED5456B4 12B1DA19 7FB71123ACD3A729 901D1A71 87470013 3107EC53",a:"7BC382C6 3D8C150C 3C72080A CE05AFA0 C2BEA28E 4FB22787 139165EF BA91F90F8AA5814A 503AD4EB 04A8C7DD 22CE2826",b:"04A8C7DD 22CE2826 8B39B554 16F0447C 2FB77DE1 07DCD2A6 2E880EA5 3EEB62D57CB43902 95DBC994 3AB78696 FA504C11",n:"8CB91E82 A3386D28 0F5D6F7E 50E641DF 152F7109 ED5456B3 1F166E6C AC0425A7CF3AB6AF 6B7FC310 3B883202 E9046565",hash:Gy.sha384,gRed:!1,g:["1D1C64F068CF45FFA2A63A81B7C13F6B8847A3E77EF14FE3DB7FCAFE0CBD10E8E826E03436D646AAEF87B2E247D4AF1E","8ABE1D7520F9C2A45CB1EB8E95CFD55262B70B29FEEC5864E19C054FF99129280E4646217791811142820341263C5315"]}),s("brainpoolP512r1",{type:"short",prime:null,p:"AADD9DB8 DBE9C48B 3FD4E6AE 33C9FC07 CB308DB3 B3C9D20E D6639CCA 703308717D4D9B00 9BC66842 AECDA12A E6A380E6 2881FF2F 2D82C685 28AA6056 583A48F3",a:"7830A331 8B603B89 E2327145 AC234CC5 94CBDD8D 3DF91610 A83441CA EA9863BC2DED5D5A A8253AA1 0A2EF1C9 8B9AC8B5 7F1117A7 2BF2C7B9 E7C1AC4D 77FC94CA",b:"3DF91610 A83441CA EA9863BC 2DED5D5A A8253AA1 0A2EF1C9 8B9AC8B5 7F1117A72BF2C7B9 E7C1AC4D 77FC94CA DC083E67 984050B7 5EBAE5DD 2809BD63 8016F723",n:"AADD9DB8 DBE9C48B 3FD4E6AE 33C9FC07 CB308DB3 B3C9D20E D6639CCA 70330870553E5C41 4CA92619 41866119 7FAC1047 1DB1D381 085DDADD B5879682 9CA90069",hash:Gy.sha512,gRed:!1,g:["81AEE4BDD82ED9645A21322E9C4C6A9385ED9F70B5D916C1B43B62EEF4D0098EFF3B1F78E2D0D48D50D1687B93B97D5F7C6D5047406A5E688B352209BCB9F822","7DDE385D566332ECC0EABFA9CF7822FDF209F70024A57B1AA000C55B881F8111B2DCDE494A5F485E5BCA4BD88A2763AED1CA2B2FA8F0540678CD1E0F3AD80892"]});try{r=Vy}catch(e){r=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Gy.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function Zy(e){if(!(this instanceof Zy))return new Zy(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=hy.toArray(e.entropy,e.entropyEnc||"hex"),r=hy.toArray(e.nonce,e.nonceEnc||"hex"),i=hy.toArray(e.pers,e.persEnc||"hex");et(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,i)}var Yy=Zy;Zy.prototype._init=function(e,t,r){var i=e.concat(t).concat(r);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},Zy.prototype._hmac=function(){return new Gy.hmac(this.hash,this.K)},Zy.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},Zy.prototype.reseed=function(e,t,r,i){"string"!=typeof t&&(i=r,r=t,t=null),e=hy.toArray(e,t),r=hy.toArray(r,i),et(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},Zy.prototype.generate=function(e,t,r,i){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof t&&(i=r,r=t,t=null),r&&(r=hy.toArray(r,i||"hex"),this._update(r));for(var n=[];n.length<e;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var a=n.slice(0,e);return this._update(r),this._reseed++,hy.encode(a,t)};var Xy=dy.assert;function Qy(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var Jy=Qy;Qy.fromPublic=function(e,t,r){return t instanceof Qy?t:new Qy(e,{pub:t,pubEnc:r})},Qy.fromPrivate=function(e,t,r){return t instanceof Qy?t:new Qy(e,{priv:t,privEnc:r})},Qy.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Qy.prototype.getPublic=function(e,t){return this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},Qy.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},Qy.prototype._importPrivate=function(e,t){if(this.priv=new ay(e,t||16),"mont"===this.ec.curve.type){var r=this.ec.curve.one,i=r.ushln(252).sub(r).ushln(3);this.priv=this.priv.or(r.ushln(254)),this.priv=this.priv.and(i)}else this.priv=this.priv.umod(this.ec.curve.n)},Qy.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?Xy(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Xy(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},Qy.prototype.derive=function(e){return e.mul(this.priv).getX()},Qy.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},Qy.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},Qy.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var eb=dy.assert;function tb(e,t){if(e instanceof tb)return e;this._importDER(e,t)||(eb(e.r&&e.s,"Signature without r or s"),this.r=new ay(e.r,16),this.s=new ay(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var rb=tb;function ib(){this.place=0}function nb(e,t){var r=e[t.place++];if(!(128&r))return r;for(var i=15&r,n=0,a=0,s=t.place;a<i;a++,s++)n<<=8,n|=e[s];return t.place=s,n}function ab(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function sb(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}tb.prototype._importDER=function(e,t){e=dy.toArray(e,t);var r=new ib;if(48!==e[r.place++])return!1;if(nb(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var i=nb(e,r),n=e.slice(r.place,i+r.place);if(r.place+=i,2!==e[r.place++])return!1;var a=nb(e,r);if(e.length!==a+r.place)return!1;var s=e.slice(r.place,a+r.place);return 0===n[0]&&128&n[1]&&(n=n.slice(1)),0===s[0]&&128&s[1]&&(s=s.slice(1)),this.r=new ay(n),this.s=new ay(s),this.recoveryParam=null,!0},tb.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=ab(t),r=ab(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];sb(i,t.length),(i=i.concat(t)).push(2),sb(i,r.length);var n=i.concat(r),a=[48];return sb(a,n.length),a=a.concat(n),dy.encode(a,e)};var ob=dy.assert;function cb(e){if(!(this instanceof cb))return new cb(e);"string"==typeof e&&(ob($y.hasOwnProperty(e),"Unknown curve "+e),e=$y[e]),e instanceof $y.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var ub=cb;cb.prototype.keyPair=function(e){return new Jy(this,e)},cb.prototype.keyFromPrivate=function(e,t){return Jy.fromPrivate(this,e,t)},cb.prototype.keyFromPublic=function(e,t){return Jy.fromPublic(this,e,t)},cb.prototype.genKeyPair=function(e){e||(e={});var t=new Yy({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||fy(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()});if("mont"===this.curve.type){var r=new ay(t.generate(32));return this.keyFromPrivate(r)}for(var i=this.n.byteLength(),n=this.n.sub(new ay(2));;){if(!((r=new ay(t.generate(i))).cmp(n)>0))return r.iaddn(1),this.keyFromPrivate(r)}},cb.prototype._truncateToN=function(e,t,r){var i=(r=r||8*e.byteLength())-this.n.bitLength();return i>0&&(e=e.ushrn(i)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},cb.prototype.truncateMsg=function(e){var t;return e instanceof Uint8Array?(t=8*e.byteLength,e=this._truncateToN(new ay(e,16),!1,t)):"string"==typeof e?(t=4*e.length,e=this._truncateToN(new ay(e,16),!1,t)):e=this._truncateToN(new ay(e,16)),e},cb.prototype.sign=function(e,t,r,i){"object"==typeof r&&(i=r,r=null),i||(i={}),t=this.keyFromPrivate(t,r),e=this.truncateMsg(e);for(var n=this.n.byteLength(),a=t.getPrivate().toArray("be",n),s=e.toArray("be",n),o=new Yy({hash:this.hash,entropy:a,nonce:s,pers:i.pers,persEnc:i.persEnc||"utf8"}),c=this.n.sub(new ay(1)),u=0;;u++){var h=i.k?i.k(u):new ay(o.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(c)>=0)){var d=this.g.mul(h);if(!d.isInfinity()){var f=d.getX(),l=f.umod(this.n);if(0!==l.cmpn(0)){var p=h.invm(this.n).mul(l.mul(t.getPrivate()).iadd(e));if(0!==(p=p.umod(this.n)).cmpn(0)){var y=(d.getY().isOdd()?1:0)|(0!==f.cmp(l)?2:0);return i.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),y^=1),new rb({r:l,s:p,recoveryParam:y})}}}}}},cb.prototype.verify=function(e,t,r,i){return r=this.keyFromPublic(r,i),t=new rb(t,"hex"),this._verify(this.truncateMsg(e),t,r)||this._verify(this._truncateToN(new ay(e,16)),t,r)},cb.prototype._verify=function(e,t,r){var i=t.r,n=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(n.cmpn(1)<0||n.cmp(this.n)>=0)return!1;var a,s=n.invm(this.n),o=s.mul(e).umod(this.n),c=s.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(o,r.getPublic(),c)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(o,r.getPublic(),c)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},cb.prototype.recoverPubKey=function(e,t,r,i){ob((3&r)===r,"The recovery param is more than two bits"),t=new rb(t,i);var n=this.n,a=new ay(e),s=t.r,o=t.s,c=1&r,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw Error("Unable to find sencond key candinate");s=u?this.curve.pointFromX(s.add(this.curve.n),c):this.curve.pointFromX(s,c);var h=t.r.invm(n),d=n.sub(a).mul(h).umod(n),f=o.mul(h).umod(n);return this.g.mulAdd(d,s,f)},cb.prototype.getKeyRecoveryParam=function(e,t,r,i){if(null!==(t=new rb(t,i)).recoveryParam)return t.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(e,t,n)}catch(e){continue}if(a.eq(r))return n}throw Error("Unable to find valid recovery factor")};var hb=dy.assert,db=dy.parseBytes,fb=dy.cachedProperty;function lb(e,t){if(this.eddsa=e,t.hasOwnProperty("secret")&&(this._secret=db(t.secret)),e.isPoint(t.pub))this._pub=t.pub;else if(this._pubBytes=db(t.pub),this._pubBytes&&33===this._pubBytes.length&&64===this._pubBytes[0]&&(this._pubBytes=this._pubBytes.slice(1,33)),this._pubBytes&&32!==this._pubBytes.length)throw Error("Unknown point compression format")}lb.fromPublic=function(e,t){return t instanceof lb?t:new lb(e,{pub:t})},lb.fromSecret=function(e,t){return t instanceof lb?t:new lb(e,{secret:t})},lb.prototype.secret=function(){return this._secret},fb(lb,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),fb(lb,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),fb(lb,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,i=t.slice(0,e.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),fb(lb,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),fb(lb,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),fb(lb,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),lb.prototype.sign=function(e){return hb(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},lb.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},lb.prototype.getSecret=function(e){return hb(this._secret,"KeyPair is public only"),dy.encode(this.secret(),e)},lb.prototype.getPublic=function(e,t){return dy.encode((t?[64]:[]).concat(this.pubBytes()),e)};var pb=lb,yb=dy.assert,bb=dy.cachedProperty,mb=dy.parseBytes;function gb(e,t){this.eddsa=e,"object"!=typeof t&&(t=mb(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),yb(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof ay&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}bb(gb,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),bb(gb,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),bb(gb,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),bb(gb,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),gb.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},gb.prototype.toHex=function(){return dy.encode(this.toBytes(),"hex").toUpperCase()};var wb=gb,vb=dy.assert,_b=dy.parseBytes;function kb(e){if(vb("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof kb))return new kb(e);e=$y[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=Gy.sha512}var Ab=kb;kb.prototype.sign=function(e,t){e=_b(e);var r=this.keyFromSecret(t),i=this.hashInt(r.messagePrefix(),e),n=this.g.mul(i),a=this.encodePoint(n),s=this.hashInt(a,r.pubBytes(),e).mul(r.priv()),o=i.add(s).umod(this.curve.n);return this.makeSignature({R:n,S:o,Rencoded:a})},kb.prototype.verify=function(e,t,r){e=_b(e),t=this.makeSignature(t);var i=this.keyFromPublic(r),n=this.hashInt(t.Rencoded(),i.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(i.pub().mul(n)).eq(a)},kb.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return dy.intFromLE(e.digest()).umod(this.curve.n)},kb.prototype.keyPair=function(e){return new pb(this,e)},kb.prototype.keyFromPublic=function(e){return pb.fromPublic(this,e)},kb.prototype.keyFromSecret=function(e){return pb.fromSecret(this,e)},kb.prototype.genKeyPair=function(e){e||(e={});var t=new Yy({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||fy(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.curve.n.toArray()});return this.keyFromSecret(t.generate(32))},kb.prototype.makeSignature=function(e){return e instanceof wb?e:new wb(this,e)},kb.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},kb.prototype.decodePoint=function(e){var t=(e=dy.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),i=0!=(128&e[t]),n=dy.intFromLE(r);return this.curve.pointFromY(n,i)},kb.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},kb.prototype.decodeInt=function(e){return dy.intFromLE(e)},kb.prototype.isPoint=function(e){return e instanceof this.pointClass};var Sb=it((function(e,t){var r=t;r.utils=dy,r.rand=fy,r.curve=Iy,r.curves=$y,r.ec=ub,r.eddsa=Ab})),Eb=/*#__PURE__*/Object.freeze({__proto__:null,default:Sb,__moduleExports:Sb});export{xu as AEADEncryptedDataPacket,Uh as CleartextMessage,bu as CompressedDataPacket,ou as LiteralDataPacket,Iu as MarkerPacket,Ph as Message,fu as OnePassSignaturePacket,pu as PacketList,yh as PrivateKey,ph as PublicKey,Mu as PublicKeyEncryptedSessionKeyPacket,Du as PublicKeyPacket,Bu as PublicSubkeyPacket,zu as SecretKeyPacket,Nu as SecretSubkeyPacket,Wu as Signature,hu as SignaturePacket,uh as Subkey,Eu as SymEncryptedIntegrityProtectedDataPacket,Cu as SymEncryptedSessionKeyPacket,Ru as SymmetricallyEncryptedDataPacket,Lu as TrustPacket,mn as UnparseablePacket,Tu as UserAttributePacket,Ou as UserIDPacket,le as armor,ne as config,Ih as createCleartextMessage,Ch as createMessage,Nh as decrypt,qh as decryptKey,Gh as decryptSessionKeys,Oh as encrypt,Fh as encryptKey,Hh as encryptSessionKey,ie as enums,Bh as generateKey,Wh as generateSessionKey,Rh as readCleartextMessage,wh as readKey,_h as readKeys,Kh as readMessage,vh as readPrivateKey,kh as readPrivateKeys,Hu as readSignature,Th as reformatKey,zh as revokeKey,Lh as sign,fe as unarmor,jh as verify};
|
|
16
|
+
***************************************************************************** */function Gp(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+t+" is not a constructor or null");function r(){this.constructor=e}jp(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function Wp(e){if(!e)throw new TypeError("Assertion failed")}function Vp(){}function Jp(e){return"object"==typeof e&&null!==e||"function"==typeof e}function Yp(e){if("function"!=typeof e)return!1;var t=!1;try{new e({start:function(){t=!0}})}catch(e){}return t}function Zp(e){return!!Jp(e)&&"function"==typeof e.getReader}function Xp(e){return!!Jp(e)&&"function"==typeof e.getWriter}function $p(e){return!!Jp(e)&&(!!Zp(e.readable)&&!!Xp(e.writable))}function ey(e){try{return e.getReader({mode:"byob"}).releaseLock(),!0}catch(e){return!1}}function ty(e,t){var r=(void 0===t?{}:t).type;return Wp(Zp(e)),Wp(!1===e.locked),"bytes"===(r=ry(r))?new sy(e):new ny(e)}function ry(e){var t=e+"";if("bytes"===t)return t;if(void 0===e)return e;throw new RangeError("Invalid type is specified")}var iy=function(){function e(e){this._underlyingReader=void 0,this._readerMode=void 0,this._readableStreamController=void 0,this._pendingRead=void 0,this._underlyingStream=e,this._attachDefaultReader()}return e.prototype.start=function(e){this._readableStreamController=e},e.prototype.cancel=function(e){return Wp(void 0!==this._underlyingReader),this._underlyingReader.cancel(e)},e.prototype._attachDefaultReader=function(){if("default"!==this._readerMode){this._detachReader();var e=this._underlyingStream.getReader();this._readerMode="default",this._attachReader(e)}},e.prototype._attachReader=function(e){var t=this;Wp(void 0===this._underlyingReader),this._underlyingReader=e;var r=this._underlyingReader.closed;r&&r.then((function(){return t._finishPendingRead()})).then((function(){e===t._underlyingReader&&t._readableStreamController.close()}),(function(r){e===t._underlyingReader&&t._readableStreamController.error(r)})).catch(Vp)},e.prototype._detachReader=function(){void 0!==this._underlyingReader&&(this._underlyingReader.releaseLock(),this._underlyingReader=void 0,this._readerMode=void 0)},e.prototype._pullWithDefaultReader=function(){var e=this;this._attachDefaultReader();var t=this._underlyingReader.read().then((function(t){var r=e._readableStreamController;t.done?e._tryClose():r.enqueue(t.value)}));return this._setPendingRead(t),t},e.prototype._tryClose=function(){try{this._readableStreamController.close()}catch(e){}},e.prototype._setPendingRead=function(e){var t,r=this,i=function(){r._pendingRead===t&&(r._pendingRead=void 0)};this._pendingRead=t=e.then(i,i)},e.prototype._finishPendingRead=function(){var e=this;if(this._pendingRead){var t=function(){return e._finishPendingRead()};return this._pendingRead.then(t,t)}},e}(),ny=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Gp(t,e),t.prototype.pull=function(){return this._pullWithDefaultReader()},t}(iy);function ay(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var sy=function(e){function t(t){var r=this,i=ey(t);return(r=e.call(this,t)||this)._supportsByob=i,r}return Gp(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return"bytes"},enumerable:!1,configurable:!0}),t.prototype._attachByobReader=function(){if("byob"!==this._readerMode){Wp(this._supportsByob),this._detachReader();var e=this._underlyingStream.getReader({mode:"byob"});this._readerMode="byob",this._attachReader(e)}},t.prototype.pull=function(){if(this._supportsByob){var e=this._readableStreamController.byobRequest;if(e)return this._pullWithByobRequest(e)}return this._pullWithDefaultReader()},t.prototype._pullWithByobRequest=function(e){var t=this;this._attachByobReader();var r=new Uint8Array(e.view.byteLength),i=this._underlyingReader.read(r).then((function(r){var i,n,a;t._readableStreamController,r.done?(t._tryClose(),e.respond(0)):(i=r.value,n=e.view,a=ay(i),ay(n).set(a,0),e.respond(r.value.byteLength))}));return this._setPendingRead(i),i},t}(iy);function oy(e){Wp(Xp(e)),Wp(!1===e.locked);var t=e.getWriter();return new cy(t)}var cy=function(){function e(e){var t=this;this._writableStreamController=void 0,this._pendingWrite=void 0,this._state="writable",this._storedError=void 0,this._underlyingWriter=e,this._errorPromise=new Promise((function(e,r){t._errorPromiseReject=r})),this._errorPromise.catch(Vp)}return e.prototype.start=function(e){var t=this;this._writableStreamController=e,this._underlyingWriter.closed.then((function(){t._state="closed"})).catch((function(e){return t._finishErroring(e)}))},e.prototype.write=function(e){var t=this,r=this._underlyingWriter;if(null===r.desiredSize)return r.ready;var i=r.write(e);i.catch((function(e){return t._finishErroring(e)})),r.ready.catch((function(e){return t._startErroring(e)}));var n=Promise.race([i,this._errorPromise]);return this._setPendingWrite(n),n},e.prototype.close=function(){var e=this;return void 0===this._pendingWrite?this._underlyingWriter.close():this._finishPendingWrite().then((function(){return e.close()}))},e.prototype.abort=function(e){if("errored"!==this._state)return this._underlyingWriter.abort(e)},e.prototype._setPendingWrite=function(e){var t,r=this,i=function(){r._pendingWrite===t&&(r._pendingWrite=void 0)};this._pendingWrite=t=e.then(i,i)},e.prototype._finishPendingWrite=function(){var e=this;if(void 0===this._pendingWrite)return Promise.resolve();var t=function(){return e._finishPendingWrite()};return this._pendingWrite.then(t,t)},e.prototype._startErroring=function(e){var t=this;if("writable"===this._state){this._state="erroring",this._storedError=e;var r=function(){return t._finishErroring(e)};void 0===this._pendingWrite?r():this._finishPendingWrite().then(r,r),this._writableStreamController.error(e)}},e.prototype._finishErroring=function(e){"writable"===this._state&&this._startErroring(e),"erroring"===this._state&&(this._state="errored",this._errorPromiseReject(this._storedError))},e}();function uy(e){Wp($p(e));var t=e.readable,r=e.writable;Wp(!1===t.locked),Wp(!1===r.locked);var i,n=t.getReader();try{i=r.getWriter()}catch(e){throw n.releaseLock(),e}return new hy(n,i)}var hy=function(){function e(e,t){var r=this;this._transformStreamController=void 0,this._onRead=function(e){if(!e.done)return r._transformStreamController.enqueue(e.value),r._reader.read().then(r._onRead)},this._onError=function(e){r._flushReject(e),r._transformStreamController.error(e),r._reader.cancel(e).catch(Vp),r._writer.abort(e).catch(Vp)},this._onTerminate=function(){r._flushResolve(),r._transformStreamController.terminate();var e=new TypeError("TransformStream terminated");r._writer.abort(e).catch(Vp)},this._reader=e,this._writer=t,this._flushPromise=new Promise((function(e,t){r._flushResolve=e,r._flushReject=t}))}return e.prototype.start=function(e){this._transformStreamController=e,this._reader.read().then(this._onRead).then(this._onTerminate,this._onError);var t=this._reader.closed;t&&t.then(this._onTerminate,this._onError)},e.prototype.transform=function(e){return this._writer.write(e)},e.prototype.flush=function(){var e=this;return this._writer.close().then((function(){return e._flushPromise}))},e}(),fy=/*#__PURE__*/Object.freeze({__proto__:null,createReadableStreamWrapper:function(e){Wp(function(e){return!!Yp(e)&&!!Zp(new e)}(e));var t=function(e){try{return new e({type:"bytes"}),!0}catch(e){return!1}}(e);return function(r,i){var n=(void 0===i?{}:i).type;if("bytes"!==(n=ry(n))||t||(n=void 0),r.constructor===e&&("bytes"!==n||ey(r)))return r;if("bytes"===n){var a=ty(r,{type:n});return new e(a)}a=ty(r);return new e(a)}},createTransformStreamWrapper:function(e){return Wp(function(e){return!!Yp(e)&&!!$p(new e)}(e)),function(t){if(t.constructor===e)return t;var r=uy(t);return new e(r)}},createWrappingReadableSource:ty,createWrappingTransformer:uy,createWrappingWritableSink:oy,createWritableStreamWrapper:function(e){return Wp(function(e){return!!Yp(e)&&!!Xp(new e)}(e)),function(t){if(t.constructor===e)return t;var r=oy(t);return new e(r)}}}),dy=it((function(e){!function(e,t){function r(e,t){if(!e)throw Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function n(e,t,r){if(n.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var a;"object"==typeof e?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;try{a=void 0}catch(e){}function s(e,t,r){for(var i=0,n=Math.min(e.length,r),a=t;a<n;a++){var s=e.charCodeAt(a)-48;i<<=4,i|=s>=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return i}function o(e,t,r,i){for(var n=0,a=Math.min(e.length,r),s=t;s<a;s++){var o=e.charCodeAt(s)-48;n*=i,n+=o>=49?o-49+10:o>=17?o-17+10:o}return n}n.isBN=function(e){return e instanceof n||null!==e&&"object"==typeof e&&e.constructor.wordSize===n.wordSize&&Array.isArray(e.words)},n.max=function(e,t){return e.cmp(t)>0?e:t},n.min=function(e,t){return e.cmp(t)<0?e:t},n.prototype._init=function(e,t,i){if("number"==typeof e)return this._initNumber(e,t,i);if("object"==typeof e)return this._initArray(e,t,i);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var n=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&n++,16===t?this._parseHex(e,n):this._parseBase(e,t,n),"-"===e[0]&&(this.negative=1),this.strip(),"le"===i&&this._initArray(this.toArray(),t,i)},n.prototype._initNumber=function(e,t,i){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),t,i)},n.prototype._initArray=function(e,t,i){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var a,s,o=0;if("be"===i)for(n=e.length-1,a=0;n>=0;n-=3)s=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);else if("le"===i)for(n=0,a=0;n<e.length;n+=3)s=e[n]|e[n+1]<<8|e[n+2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);return this.strip()},n.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,n,a=0;for(r=e.length-6,i=0;r>=t;r-=6)n=s(e,r,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303,(a+=24)>=26&&(a-=26,i++);r+6!==t&&(n=s(e,t,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303),this.strip()},n.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=t)i++;i--,n=n/t|0;for(var a=e.length-r,s=a%i,c=Math.min(a,a-s)+r,u=0,h=r;h<c;h+=i)u=o(e,h,h+i,t),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var f=1;for(u=o(e,h,e.length,t),h=0;h<s;h++)f*=t;this.imuln(f),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},n.prototype.copy=function(e){e.words=Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},n.prototype.clone=function(){var e=new n(null);return this.copy(e),e},n.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i,i=i-1|0;var n=0|e.words[0],a=0|t.words[0],s=n*a,o=67108863&s,c=s/67108864|0;r.words[0]=o;for(var u=1;u<i;u++){for(var h=c>>>26,f=67108863&c,d=Math.min(u,t.length-1),l=Math.max(0,u-e.length+1);l<=d;l++){var p=u-l|0;h+=(s=(n=0|e.words[p])*(a=0|t.words[l])+f)/67108864|0,f=67108863&s}r.words[u]=0|f,c=0|h}return 0!==c?r.words[u]=0|c:r.length--,r.strip()}n.prototype.toString=function(e,t){var i;if(t=0|t||1,16===(e=e||10)||"hex"===e){i="";for(var n=0,a=0,s=0;s<this.length;s++){var o=this.words[s],f=(16777215&(o<<n|a)).toString(16);i=0!==(a=o>>>24-n&16777215)||s!==this.length-1?c[6-f.length]+f+i:f+i,(n+=2)>=26&&(n-=26,s--)}for(0!==a&&(i=a.toString(16)+i);i.length%t!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(e===(0|e)&&e>=2&&e<=36){var d=u[e],l=h[e];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var y=p.modn(l).toString(e);i=(p=p.idivn(l)).isZero()?y+i:c[d-y.length]+y+i}for(this.isZero()&&(i="0"+i);i.length%t!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(e,t){return r(void 0!==a),this.toArrayLike(a,e,t)},n.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},n.prototype.toArrayLike=function(e,t,i){var n=this.byteLength(),a=i||Math.max(1,n);r(n<=a,"byte array longer than desired length"),r(a>0,"Requested array length <= 0"),this.strip();var s,o,c="le"===t,u=new e(a),h=this.clone();if(c){for(o=0;!h.isZero();o++)s=h.andln(255),h.iushrn(8),u[o]=s;for(;o<a;o++)u[o]=0}else{for(o=0;o<a-n;o++)u[o]=0;for(o=0;!h.isZero();o++)s=h.andln(255),h.iushrn(8),u[a-o-1]=s}return u},n.prototype._countBits=Math.clz32?function(e){return 32-Math.clz32(e)}:function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},n.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},n.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},n.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},n.prototype.ior=function(e){return r(0==(this.negative|e.negative)),this.iuor(e)},n.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},n.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},n.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},n.prototype.iand=function(e){return r(0==(this.negative|e.negative)),this.iuand(e)},n.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},n.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},n.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var i=0;i<r.length;i++)this.words[i]=t.words[i]^r.words[i];if(this!==t)for(;i<t.length;i++)this.words[i]=t.words[i];return this.length=t.length,this.strip()},n.prototype.ixor=function(e){return r(0==(this.negative|e.negative)),this.iuxor(e)},n.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},n.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},n.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),i=e%26;this._expand(t),i>0&&t--;for(var n=0;n<t;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(e){return this.clone().inotn(e)},n.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var i=e/26|0,n=e%26;return this._expand(i+1),this.words[i]=t?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(e){var t,r,i;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,i=e):(r=e,i=this);for(var n=0,a=0;a<i.length;a++)t=(0|r.words[a])+(0|i.words[a])+n,this.words[a]=67108863&t,n=t>>>26;for(;0!==n&&a<r.length;a++)t=(0|r.words[a])+n,this.words[a]=67108863&t,n=t>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},n.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},n.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,i,n=this.cmp(e);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=e):(r=e,i=this);for(var a=0,s=0;s<i.length;s++)a=(t=(0|r.words[s])-(0|i.words[s])+a)>>26,this.words[s]=67108863&t;for(;0!==a&&s<r.length;s++)a=(t=(0|r.words[s])+a)>>26,this.words[s]=67108863&t;if(0===a&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(e){return this.clone().isub(e)};var d=function(e,t,r){var i,n,a,s=e.words,o=t.words,c=r.words,u=0,h=0|s[0],f=8191&h,d=h>>>13,l=0|s[1],p=8191&l,y=l>>>13,b=0|s[2],g=8191&b,m=b>>>13,w=0|s[3],A=8191&w,v=w>>>13,_=0|s[4],k=8191&_,E=_>>>13,S=0|s[5],C=8191&S,I=S>>>13,B=0|s[6],P=8191&B,M=B>>>13,D=0|s[7],x=8191&D,K=D>>>13,U=0|s[8],R=8191&U,T=U>>>13,Q=0|s[9],z=8191&Q,F=Q>>>13,N=0|o[0],q=8191&N,L=N>>>13,O=0|o[1],H=8191&O,j=O>>>13,G=0|o[2],W=8191&G,V=G>>>13,J=0|o[3],Y=8191&J,Z=J>>>13,X=0|o[4],$=8191&X,ee=X>>>13,te=0|o[5],re=8191&te,ie=te>>>13,ne=0|o[6],ae=8191&ne,se=ne>>>13,oe=0|o[7],ce=8191&oe,ue=oe>>>13,he=0|o[8],fe=8191&he,de=he>>>13,le=0|o[9],pe=8191&le,ye=le>>>13;r.negative=e.negative^t.negative,r.length=19;var be=(u+(i=Math.imul(f,q))|0)+((8191&(n=(n=Math.imul(f,L))+Math.imul(d,q)|0))<<13)|0;u=((a=Math.imul(d,L))+(n>>>13)|0)+(be>>>26)|0,be&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,L))+Math.imul(y,q)|0,a=Math.imul(y,L);var ge=(u+(i=i+Math.imul(f,H)|0)|0)+((8191&(n=(n=n+Math.imul(f,j)|0)+Math.imul(d,H)|0))<<13)|0;u=((a=a+Math.imul(d,j)|0)+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,i=Math.imul(g,q),n=(n=Math.imul(g,L))+Math.imul(m,q)|0,a=Math.imul(m,L),i=i+Math.imul(p,H)|0,n=(n=n+Math.imul(p,j)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,j)|0;var me=(u+(i=i+Math.imul(f,W)|0)|0)+((8191&(n=(n=n+Math.imul(f,V)|0)+Math.imul(d,W)|0))<<13)|0;u=((a=a+Math.imul(d,V)|0)+(n>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,L))+Math.imul(v,q)|0,a=Math.imul(v,L),i=i+Math.imul(g,H)|0,n=(n=n+Math.imul(g,j)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,j)|0,i=i+Math.imul(p,W)|0,n=(n=n+Math.imul(p,V)|0)+Math.imul(y,W)|0,a=a+Math.imul(y,V)|0;var we=(u+(i=i+Math.imul(f,Y)|0)|0)+((8191&(n=(n=n+Math.imul(f,Z)|0)+Math.imul(d,Y)|0))<<13)|0;u=((a=a+Math.imul(d,Z)|0)+(n>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(k,q),n=(n=Math.imul(k,L))+Math.imul(E,q)|0,a=Math.imul(E,L),i=i+Math.imul(A,H)|0,n=(n=n+Math.imul(A,j)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,j)|0,i=i+Math.imul(g,W)|0,n=(n=n+Math.imul(g,V)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,V)|0,i=i+Math.imul(p,Y)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,Z)|0;var Ae=(u+(i=i+Math.imul(f,$)|0)|0)+((8191&(n=(n=n+Math.imul(f,ee)|0)+Math.imul(d,$)|0))<<13)|0;u=((a=a+Math.imul(d,ee)|0)+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,i=Math.imul(C,q),n=(n=Math.imul(C,L))+Math.imul(I,q)|0,a=Math.imul(I,L),i=i+Math.imul(k,H)|0,n=(n=n+Math.imul(k,j)|0)+Math.imul(E,H)|0,a=a+Math.imul(E,j)|0,i=i+Math.imul(A,W)|0,n=(n=n+Math.imul(A,V)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,V)|0,i=i+Math.imul(g,Y)|0,n=(n=n+Math.imul(g,Z)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,Z)|0,i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,ee)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,ee)|0;var ve=(u+(i=i+Math.imul(f,re)|0)|0)+((8191&(n=(n=n+Math.imul(f,ie)|0)+Math.imul(d,re)|0))<<13)|0;u=((a=a+Math.imul(d,ie)|0)+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(P,q),n=(n=Math.imul(P,L))+Math.imul(M,q)|0,a=Math.imul(M,L),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,j)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,j)|0,i=i+Math.imul(k,W)|0,n=(n=n+Math.imul(k,V)|0)+Math.imul(E,W)|0,a=a+Math.imul(E,V)|0,i=i+Math.imul(A,Y)|0,n=(n=n+Math.imul(A,Z)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,Z)|0,i=i+Math.imul(g,$)|0,n=(n=n+Math.imul(g,ee)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,ee)|0,i=i+Math.imul(p,re)|0,n=(n=n+Math.imul(p,ie)|0)+Math.imul(y,re)|0,a=a+Math.imul(y,ie)|0;var _e=(u+(i=i+Math.imul(f,ae)|0)|0)+((8191&(n=(n=n+Math.imul(f,se)|0)+Math.imul(d,ae)|0))<<13)|0;u=((a=a+Math.imul(d,se)|0)+(n>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(x,q),n=(n=Math.imul(x,L))+Math.imul(K,q)|0,a=Math.imul(K,L),i=i+Math.imul(P,H)|0,n=(n=n+Math.imul(P,j)|0)+Math.imul(M,H)|0,a=a+Math.imul(M,j)|0,i=i+Math.imul(C,W)|0,n=(n=n+Math.imul(C,V)|0)+Math.imul(I,W)|0,a=a+Math.imul(I,V)|0,i=i+Math.imul(k,Y)|0,n=(n=n+Math.imul(k,Z)|0)+Math.imul(E,Y)|0,a=a+Math.imul(E,Z)|0,i=i+Math.imul(A,$)|0,n=(n=n+Math.imul(A,ee)|0)+Math.imul(v,$)|0,a=a+Math.imul(v,ee)|0,i=i+Math.imul(g,re)|0,n=(n=n+Math.imul(g,ie)|0)+Math.imul(m,re)|0,a=a+Math.imul(m,ie)|0,i=i+Math.imul(p,ae)|0,n=(n=n+Math.imul(p,se)|0)+Math.imul(y,ae)|0,a=a+Math.imul(y,se)|0;var ke=(u+(i=i+Math.imul(f,ce)|0)|0)+((8191&(n=(n=n+Math.imul(f,ue)|0)+Math.imul(d,ce)|0))<<13)|0;u=((a=a+Math.imul(d,ue)|0)+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(R,q),n=(n=Math.imul(R,L))+Math.imul(T,q)|0,a=Math.imul(T,L),i=i+Math.imul(x,H)|0,n=(n=n+Math.imul(x,j)|0)+Math.imul(K,H)|0,a=a+Math.imul(K,j)|0,i=i+Math.imul(P,W)|0,n=(n=n+Math.imul(P,V)|0)+Math.imul(M,W)|0,a=a+Math.imul(M,V)|0,i=i+Math.imul(C,Y)|0,n=(n=n+Math.imul(C,Z)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,Z)|0,i=i+Math.imul(k,$)|0,n=(n=n+Math.imul(k,ee)|0)+Math.imul(E,$)|0,a=a+Math.imul(E,ee)|0,i=i+Math.imul(A,re)|0,n=(n=n+Math.imul(A,ie)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ie)|0,i=i+Math.imul(g,ae)|0,n=(n=n+Math.imul(g,se)|0)+Math.imul(m,ae)|0,a=a+Math.imul(m,se)|0,i=i+Math.imul(p,ce)|0,n=(n=n+Math.imul(p,ue)|0)+Math.imul(y,ce)|0,a=a+Math.imul(y,ue)|0;var Ee=(u+(i=i+Math.imul(f,fe)|0)|0)+((8191&(n=(n=n+Math.imul(f,de)|0)+Math.imul(d,fe)|0))<<13)|0;u=((a=a+Math.imul(d,de)|0)+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(z,q),n=(n=Math.imul(z,L))+Math.imul(F,q)|0,a=Math.imul(F,L),i=i+Math.imul(R,H)|0,n=(n=n+Math.imul(R,j)|0)+Math.imul(T,H)|0,a=a+Math.imul(T,j)|0,i=i+Math.imul(x,W)|0,n=(n=n+Math.imul(x,V)|0)+Math.imul(K,W)|0,a=a+Math.imul(K,V)|0,i=i+Math.imul(P,Y)|0,n=(n=n+Math.imul(P,Z)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,Z)|0,i=i+Math.imul(C,$)|0,n=(n=n+Math.imul(C,ee)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,ee)|0,i=i+Math.imul(k,re)|0,n=(n=n+Math.imul(k,ie)|0)+Math.imul(E,re)|0,a=a+Math.imul(E,ie)|0,i=i+Math.imul(A,ae)|0,n=(n=n+Math.imul(A,se)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,se)|0,i=i+Math.imul(g,ce)|0,n=(n=n+Math.imul(g,ue)|0)+Math.imul(m,ce)|0,a=a+Math.imul(m,ue)|0,i=i+Math.imul(p,fe)|0,n=(n=n+Math.imul(p,de)|0)+Math.imul(y,fe)|0,a=a+Math.imul(y,de)|0;var Se=(u+(i=i+Math.imul(f,pe)|0)|0)+((8191&(n=(n=n+Math.imul(f,ye)|0)+Math.imul(d,pe)|0))<<13)|0;u=((a=a+Math.imul(d,ye)|0)+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(z,H),n=(n=Math.imul(z,j))+Math.imul(F,H)|0,a=Math.imul(F,j),i=i+Math.imul(R,W)|0,n=(n=n+Math.imul(R,V)|0)+Math.imul(T,W)|0,a=a+Math.imul(T,V)|0,i=i+Math.imul(x,Y)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(K,Y)|0,a=a+Math.imul(K,Z)|0,i=i+Math.imul(P,$)|0,n=(n=n+Math.imul(P,ee)|0)+Math.imul(M,$)|0,a=a+Math.imul(M,ee)|0,i=i+Math.imul(C,re)|0,n=(n=n+Math.imul(C,ie)|0)+Math.imul(I,re)|0,a=a+Math.imul(I,ie)|0,i=i+Math.imul(k,ae)|0,n=(n=n+Math.imul(k,se)|0)+Math.imul(E,ae)|0,a=a+Math.imul(E,se)|0,i=i+Math.imul(A,ce)|0,n=(n=n+Math.imul(A,ue)|0)+Math.imul(v,ce)|0,a=a+Math.imul(v,ue)|0,i=i+Math.imul(g,fe)|0,n=(n=n+Math.imul(g,de)|0)+Math.imul(m,fe)|0,a=a+Math.imul(m,de)|0;var Ce=(u+(i=i+Math.imul(p,pe)|0)|0)+((8191&(n=(n=n+Math.imul(p,ye)|0)+Math.imul(y,pe)|0))<<13)|0;u=((a=a+Math.imul(y,ye)|0)+(n>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,i=Math.imul(z,W),n=(n=Math.imul(z,V))+Math.imul(F,W)|0,a=Math.imul(F,V),i=i+Math.imul(R,Y)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(T,Y)|0,a=a+Math.imul(T,Z)|0,i=i+Math.imul(x,$)|0,n=(n=n+Math.imul(x,ee)|0)+Math.imul(K,$)|0,a=a+Math.imul(K,ee)|0,i=i+Math.imul(P,re)|0,n=(n=n+Math.imul(P,ie)|0)+Math.imul(M,re)|0,a=a+Math.imul(M,ie)|0,i=i+Math.imul(C,ae)|0,n=(n=n+Math.imul(C,se)|0)+Math.imul(I,ae)|0,a=a+Math.imul(I,se)|0,i=i+Math.imul(k,ce)|0,n=(n=n+Math.imul(k,ue)|0)+Math.imul(E,ce)|0,a=a+Math.imul(E,ue)|0,i=i+Math.imul(A,fe)|0,n=(n=n+Math.imul(A,de)|0)+Math.imul(v,fe)|0,a=a+Math.imul(v,de)|0;var Ie=(u+(i=i+Math.imul(g,pe)|0)|0)+((8191&(n=(n=n+Math.imul(g,ye)|0)+Math.imul(m,pe)|0))<<13)|0;u=((a=a+Math.imul(m,ye)|0)+(n>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(z,Y),n=(n=Math.imul(z,Z))+Math.imul(F,Y)|0,a=Math.imul(F,Z),i=i+Math.imul(R,$)|0,n=(n=n+Math.imul(R,ee)|0)+Math.imul(T,$)|0,a=a+Math.imul(T,ee)|0,i=i+Math.imul(x,re)|0,n=(n=n+Math.imul(x,ie)|0)+Math.imul(K,re)|0,a=a+Math.imul(K,ie)|0,i=i+Math.imul(P,ae)|0,n=(n=n+Math.imul(P,se)|0)+Math.imul(M,ae)|0,a=a+Math.imul(M,se)|0,i=i+Math.imul(C,ce)|0,n=(n=n+Math.imul(C,ue)|0)+Math.imul(I,ce)|0,a=a+Math.imul(I,ue)|0,i=i+Math.imul(k,fe)|0,n=(n=n+Math.imul(k,de)|0)+Math.imul(E,fe)|0,a=a+Math.imul(E,de)|0;var Be=(u+(i=i+Math.imul(A,pe)|0)|0)+((8191&(n=(n=n+Math.imul(A,ye)|0)+Math.imul(v,pe)|0))<<13)|0;u=((a=a+Math.imul(v,ye)|0)+(n>>>13)|0)+(Be>>>26)|0,Be&=67108863,i=Math.imul(z,$),n=(n=Math.imul(z,ee))+Math.imul(F,$)|0,a=Math.imul(F,ee),i=i+Math.imul(R,re)|0,n=(n=n+Math.imul(R,ie)|0)+Math.imul(T,re)|0,a=a+Math.imul(T,ie)|0,i=i+Math.imul(x,ae)|0,n=(n=n+Math.imul(x,se)|0)+Math.imul(K,ae)|0,a=a+Math.imul(K,se)|0,i=i+Math.imul(P,ce)|0,n=(n=n+Math.imul(P,ue)|0)+Math.imul(M,ce)|0,a=a+Math.imul(M,ue)|0,i=i+Math.imul(C,fe)|0,n=(n=n+Math.imul(C,de)|0)+Math.imul(I,fe)|0,a=a+Math.imul(I,de)|0;var Pe=(u+(i=i+Math.imul(k,pe)|0)|0)+((8191&(n=(n=n+Math.imul(k,ye)|0)+Math.imul(E,pe)|0))<<13)|0;u=((a=a+Math.imul(E,ye)|0)+(n>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,i=Math.imul(z,re),n=(n=Math.imul(z,ie))+Math.imul(F,re)|0,a=Math.imul(F,ie),i=i+Math.imul(R,ae)|0,n=(n=n+Math.imul(R,se)|0)+Math.imul(T,ae)|0,a=a+Math.imul(T,se)|0,i=i+Math.imul(x,ce)|0,n=(n=n+Math.imul(x,ue)|0)+Math.imul(K,ce)|0,a=a+Math.imul(K,ue)|0,i=i+Math.imul(P,fe)|0,n=(n=n+Math.imul(P,de)|0)+Math.imul(M,fe)|0,a=a+Math.imul(M,de)|0;var Me=(u+(i=i+Math.imul(C,pe)|0)|0)+((8191&(n=(n=n+Math.imul(C,ye)|0)+Math.imul(I,pe)|0))<<13)|0;u=((a=a+Math.imul(I,ye)|0)+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(z,ae),n=(n=Math.imul(z,se))+Math.imul(F,ae)|0,a=Math.imul(F,se),i=i+Math.imul(R,ce)|0,n=(n=n+Math.imul(R,ue)|0)+Math.imul(T,ce)|0,a=a+Math.imul(T,ue)|0,i=i+Math.imul(x,fe)|0,n=(n=n+Math.imul(x,de)|0)+Math.imul(K,fe)|0,a=a+Math.imul(K,de)|0;var De=(u+(i=i+Math.imul(P,pe)|0)|0)+((8191&(n=(n=n+Math.imul(P,ye)|0)+Math.imul(M,pe)|0))<<13)|0;u=((a=a+Math.imul(M,ye)|0)+(n>>>13)|0)+(De>>>26)|0,De&=67108863,i=Math.imul(z,ce),n=(n=Math.imul(z,ue))+Math.imul(F,ce)|0,a=Math.imul(F,ue),i=i+Math.imul(R,fe)|0,n=(n=n+Math.imul(R,de)|0)+Math.imul(T,fe)|0,a=a+Math.imul(T,de)|0;var xe=(u+(i=i+Math.imul(x,pe)|0)|0)+((8191&(n=(n=n+Math.imul(x,ye)|0)+Math.imul(K,pe)|0))<<13)|0;u=((a=a+Math.imul(K,ye)|0)+(n>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(z,fe),n=(n=Math.imul(z,de))+Math.imul(F,fe)|0,a=Math.imul(F,de);var Ke=(u+(i=i+Math.imul(R,pe)|0)|0)+((8191&(n=(n=n+Math.imul(R,ye)|0)+Math.imul(T,pe)|0))<<13)|0;u=((a=a+Math.imul(T,ye)|0)+(n>>>13)|0)+(Ke>>>26)|0,Ke&=67108863;var Ue=(u+(i=Math.imul(z,pe))|0)+((8191&(n=(n=Math.imul(z,ye))+Math.imul(F,pe)|0))<<13)|0;return u=((a=Math.imul(F,ye))+(n>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,c[0]=be,c[1]=ge,c[2]=me,c[3]=we,c[4]=Ae,c[5]=ve,c[6]=_e,c[7]=ke,c[8]=Ee,c[9]=Se,c[10]=Ce,c[11]=Ie,c[12]=Be,c[13]=Pe,c[14]=Me,c[15]=De,c[16]=xe,c[17]=Ke,c[18]=Ue,0!==u&&(c[19]=u,r.length++),r};function l(e,t,r){return(new p).mulp(e,t,r)}function p(e,t){this.x=e,this.y=t}Math.imul||(d=f),n.prototype.mulTo=function(e,t){var r,i=this.length+e.length;return r=10===this.length&&10===e.length?d(this,e,t):i<63?f(this,e,t):i<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var i=0,n=0,a=0;a<r.length-1;a++){var s=n;n=0;for(var o=67108863&i,c=Math.min(a,t.length-1),u=Math.max(0,a-e.length+1);u<=c;u++){var h=a-u,f=(0|e.words[h])*(0|t.words[u]),d=67108863&f;o=67108863&(d=d+o|0),n+=(s=(s=s+(f/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}r.words[a]=o,i=s,s=n}return 0!==i?r.words[a]=i:r.length--,r.strip()}(this,e,t):l(this,e,t),r},p.prototype.makeRBT=function(e){for(var t=Array(e),r=n.prototype._countBits(e)-1,i=0;i<e;i++)t[i]=this.revBin(i,r,e);return t},p.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var i=0,n=0;n<t;n++)i|=(1&e)<<t-n-1,e>>=1;return i},p.prototype.permute=function(e,t,r,i,n,a){for(var s=0;s<a;s++)i[s]=t[e[s]],n[s]=r[e[s]]},p.prototype.transform=function(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var s=1;s<n;s<<=1)for(var o=s<<1,c=Math.cos(2*Math.PI/o),u=Math.sin(2*Math.PI/o),h=0;h<n;h+=o)for(var f=c,d=u,l=0;l<s;l++){var p=r[h+l],y=i[h+l],b=r[h+l+s],g=i[h+l+s],m=f*b-d*g;g=f*g+d*b,b=m,r[h+l]=p+b,i[h+l]=y+g,r[h+l+s]=p-b,i[h+l+s]=y-g,l!==o&&(m=c*f-u*d,d=c*d+u*f,f=m)}},p.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},p.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1],e[r-i-1]=n,n=t[i],t[i]=-t[r-i-1],t[r-i-1]=-n}},p.prototype.normalize13b=function(e,t){for(var r=0,i=0;i<t/2;i++){var n=8192*Math.round(e[2*i+1]/t)+Math.round(e[2*i]/t)+r;e[i]=67108863&n,r=n<67108864?0:n/67108864|0}return e},p.prototype.convert13b=function(e,t,i,n){for(var a=0,s=0;s<t;s++)a+=0|e[s],i[2*s]=8191&a,a>>>=13,i[2*s+1]=8191&a,a>>>=13;for(s=2*t;s<n;++s)i[s]=0;r(0===a),r(0==(-8192&a))},p.prototype.stub=function(e){for(var t=Array(e),r=0;r<e;r++)t[r]=0;return t},p.prototype.mulp=function(e,t,r){var i=2*this.guessLen13b(e.length,t.length),n=this.makeRBT(i),a=this.stub(i),s=Array(i),o=Array(i),c=Array(i),u=Array(i),h=Array(i),f=Array(i),d=r.words;d.length=i,this.convert13b(e.words,e.length,s,i),this.convert13b(t.words,t.length,u,i),this.transform(s,a,o,c,i,n),this.transform(u,a,h,f,i,n);for(var l=0;l<i;l++){var p=o[l]*h[l]-c[l]*f[l];c[l]=o[l]*f[l]+c[l]*h[l],o[l]=p}return this.conjugate(o,c,i),this.transform(o,c,d,a,i,n),this.conjugate(d,a,i),this.normalize13b(d,i),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},n.prototype.mul=function(e){var t=new n(null);return t.words=Array(this.length+e.length),this.mulTo(e,t)},n.prototype.mulf=function(e){var t=new n(null);return t.words=Array(this.length+e.length),l(this,e,t)},n.prototype.imul=function(e){return this.clone().mulTo(e,this)},n.prototype.imuln=function(e){r("number"==typeof e),r(e<67108864);for(var t=0,i=0;i<this.length;i++){var n=(0|this.words[i])*e,a=(67108863&n)+(67108863&t);t>>=26,t+=n/67108864|0,t+=a>>>26,this.words[i]=67108863&a}return 0!==t&&(this.words[i]=t,this.length++),this},n.prototype.muln=function(e){return this.clone().imuln(e)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(e){var t=function(e){for(var t=Array(e.bitLength()),r=0;r<t.length;r++){var i=r/26|0,n=r%26;t[r]=(e.words[i]&1<<n)>>>n}return t}(e);if(0===t.length)return new n(1);for(var r=this,i=0;i<t.length&&0===t[i];i++,r=r.sqr());if(++i<t.length)for(var a=r.sqr();i<t.length;i++,a=a.sqr())0!==t[i]&&(r=r.mul(a));return r},n.prototype.iushln=function(e){r("number"==typeof e&&e>=0);var t,i=e%26,n=(e-i)/26,a=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(t=0;t<this.length;t++){var o=this.words[t]&a,c=(0|this.words[t])-o<<i;this.words[t]=c|s,s=o>>>26-i}s&&(this.words[t]=s,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t<n;t++)this.words[t]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(e){return r(0===this.negative),this.iushln(e)},n.prototype.iushrn=function(e,t,i){var n;r("number"==typeof e&&e>=0),n=t?(t-t%26)/26:0;var a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<<a,c=i;if(n=Math.max(0,n-=s),c){for(var u=0;u<s;u++)c.words[u]=this.words[u];c.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=n);u--){var f=0|this.words[u];this.words[u]=h<<26-a|f>>>a,h=f&o}return c&&0!==h&&(c.words[c.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(e,t,i){return r(0===this.negative),this.iushrn(e,t,i)},n.prototype.shln=function(e){return this.clone().ishln(e)},n.prototype.ushln=function(e){return this.clone().iushln(e)},n.prototype.shrn=function(e){return this.clone().ishrn(e)},n.prototype.ushrn=function(e){return this.clone().iushrn(e)},n.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,i=(e-t)/26,n=1<<t;return!(this.length<=i)&&!!(this.words[i]&n)},n.prototype.imaskn=function(e){r("number"==typeof e&&e>=0);var t=e%26,i=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==t&&i++,this.length=Math.min(i,this.length),0!==t){var n=67108863^67108863>>>t<<t;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(e){return this.clone().imaskn(e)},n.prototype.iaddn=function(e){return r("number"==typeof e),r(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},n.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},n.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},n.prototype.addn=function(e){return this.clone().iaddn(e)},n.prototype.subn=function(e){return this.clone().isubn(e)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(e,t,i){var n,a,s=e.length+i;this._expand(s);var o=0;for(n=0;n<e.length;n++){a=(0|this.words[n+i])+o;var c=(0|e.words[n])*t;o=((a-=67108863&c)>>26)-(c/67108864|0),this.words[n+i]=67108863&a}for(;n<this.length-i;n++)o=(a=(0|this.words[n+i])+o)>>26,this.words[n+i]=67108863&a;if(0===o)return this.strip();for(r(-1===o),o=0,n=0;n<this.length;n++)o=(a=-(0|this.words[n])+o)>>26,this.words[n]=67108863&a;return this.negative=1,this.strip()},n.prototype._wordDiv=function(e,t){var r=(this.length,e.length),i=this.clone(),a=e,s=0|a.words[a.length-1];0!==(r=26-this._countBits(s))&&(a=a.ushln(r),i.iushln(r),s=0|a.words[a.length-1]);var o,c=i.length-a.length;if("mod"!==t){(o=new n(null)).length=c+1,o.words=Array(o.length);for(var u=0;u<o.length;u++)o.words[u]=0}var h=i.clone()._ishlnsubmul(a,1,c);0===h.negative&&(i=h,o&&(o.words[c]=1));for(var f=c-1;f>=0;f--){var d=67108864*(0|i.words[a.length+f])+(0|i.words[a.length+f-1]);for(d=Math.min(d/s|0,67108863),i._ishlnsubmul(a,d,f);0!==i.negative;)d--,i.negative=0,i._ishlnsubmul(a,1,f),i.isZero()||(i.negative^=1);o&&(o.words[f]=d)}return o&&o.strip(),i.strip(),"div"!==t&&0!==r&&i.iushrn(r),{div:o||null,mod:i}},n.prototype.divmod=function(e,t,i){return r(!e.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(a=o.div.neg()),"div"!==t&&(s=o.mod.neg(),i&&0!==s.negative&&s.iadd(e)),{div:a,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(a=o.div.neg()),{div:a,mod:o.mod}):0!=(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),i&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new n(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new n(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new n(this.modn(e.words[0]))}:this._wordDiv(e,t);var a,s,o},n.prototype.div=function(e){return this.divmod(e,"div",!1).div},n.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},n.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},n.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),n=e.andln(1),a=r.cmp(i);return a<0||1===n&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},n.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,i=0,n=this.length-1;n>=0;n--)i=(t*i+(0|this.words[n]))%e;return i},n.prototype.idivn=function(e){r(e<=67108863);for(var t=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*t;this.words[i]=n/e|0,t=n%e}return this.strip()},n.prototype.divn=function(e){return this.clone().idivn(e)},n.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,i=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a=new n(1),s=new n(0),o=new n(0),c=new n(1),u=0;t.isEven()&&i.isEven();)t.iushrn(1),i.iushrn(1),++u;for(var h=i.clone(),f=t.clone();!t.isZero();){for(var d=0,l=1;0==(t.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(a.isOdd()||s.isOdd())&&(a.iadd(h),s.isub(f)),a.iushrn(1),s.iushrn(1);for(var p=0,y=1;0==(i.words[0]&y)&&p<26;++p,y<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(o.isOdd()||c.isOdd())&&(o.iadd(h),c.isub(f)),o.iushrn(1),c.iushrn(1);t.cmp(i)>=0?(t.isub(i),a.isub(o),s.isub(c)):(i.isub(t),o.isub(a),c.isub(s))}return{a:o,b:c,gcd:i.iushln(u)}},n.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,i=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a,s=new n(1),o=new n(0),c=i.clone();t.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,h=1;0==(t.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(t.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);for(var f=0,d=1;0==(i.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(i.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(c),o.iushrn(1);t.cmp(i)>=0?(t.isub(i),s.isub(o)):(i.isub(t),o.isub(s))}return(a=0===t.cmpn(1)?s:o).cmpn(0)<0&&a.iadd(e),a},n.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=t.cmp(r);if(n<0){var a=t;t=r,r=a}else if(0===n||0===r.cmpn(1))break;t.isub(r)}return r.iushln(i)},n.prototype.invm=function(e){return this.egcd(e).a.umod(e)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(e){return this.words[0]&e},n.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,i=(e-t)/26,n=1<<t;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var a=n,s=i;0!==a&&s<this.length;s++){var o=0|this.words[s];a=(o+=a)>>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(e){var t,i=e<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)t=1;else{i&&(e=-e),r(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:n<e?-1:1}return 0!==this.negative?0|-t:t},n.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},n.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|e.words[r];if(i!==n){i<n?t=-1:i>n&&(t=1);break}}return t},n.prototype.gtn=function(e){return 1===this.cmpn(e)},n.prototype.gt=function(e){return 1===this.cmp(e)},n.prototype.gten=function(e){return this.cmpn(e)>=0},n.prototype.gte=function(e){return this.cmp(e)>=0},n.prototype.ltn=function(e){return-1===this.cmpn(e)},n.prototype.lt=function(e){return-1===this.cmp(e)},n.prototype.lten=function(e){return this.cmpn(e)<=0},n.prototype.lte=function(e){return this.cmp(e)<=0},n.prototype.eqn=function(e){return 0===this.cmpn(e)},n.prototype.eq=function(e){return 0===this.cmp(e)},n.red=function(e){return new v(e)},n.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(e){return this.red=e,this},n.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},n.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},n.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},n.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},n.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},n.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},n.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},n.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new n(t,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function m(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function v(e){if("string"==typeof e){var t=n._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function _(e){v.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var e=new n(null);return e.words=Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var i=t<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):r.strip(),r},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)},i(g,b),g.prototype.split=function(e,t){for(var r=4194303,i=Math.min(e.length,9),n=0;n<i;n++)t.words[n]=e.words[n];if(t.length=i,e.length<=9)return e.words[0]=0,void(e.length=1);var a=e.words[9];for(t.words[t.length++]=a&r,n=10;n<e.length;n++){var s=0|e.words[n];e.words[n-10]=(s&r)<<4|a>>>22,a=s}a>>>=22,e.words[n-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},g.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var i=0|e.words[r];t+=977*i,e.words[r]=67108863&t,t=64*i+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(m,b),i(w,b),i(A,b),A.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var i=19*(0|e.words[r])+t,n=67108863&i;i>>>=26,e.words[r]=n,t=i}return 0!==t&&(e.words[e.length++]=t),e},n._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new g;else if("p224"===e)t=new m;else if("p192"===e)t=new w;else{if("p25519"!==e)throw Error("Unknown prime "+e);t=new A}return y[e]=t,t},v.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},v.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},v.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},v.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},v.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},v.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},v.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},v.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},v.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},v.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},v.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},v.prototype.isqr=function(e){return this.imul(e,e.clone())},v.prototype.sqr=function(e){return this.mul(e,e)},v.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var i=this.m.add(new n(1)).iushrn(2);return this.pow(e,i)}for(var a=this.m.subn(1),s=0;!a.isZero()&&0===a.andln(1);)s++,a.iushrn(1);r(!a.isZero());var o=new n(1).toRed(this),c=o.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new n(2*h*h).toRed(this);0!==this.pow(h,u).cmp(c);)h.redIAdd(c);for(var f=this.pow(h,a),d=this.pow(e,a.addn(1).iushrn(1)),l=this.pow(e,a),p=s;0!==l.cmp(o);){for(var y=l,b=0;0!==y.cmp(o);b++)y=y.redSqr();r(b<p);var g=this.pow(f,new n(1).iushln(p-b-1));d=d.redMul(g),f=g.redSqr(),l=l.redMul(f),p=b}return d},v.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},v.prototype.pow=function(e,t){if(t.isZero())return new n(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=Array(16);r[0]=new n(1).toRed(this),r[1]=e;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],e);var a=r[0],s=0,o=0,c=t.bitLength()%26;for(0===c&&(c=26),i=t.length-1;i>=0;i--){for(var u=t.words[i],h=c-1;h>=0;h--){var f=u>>h&1;a!==r[0]&&(a=this.sqr(a)),0!==f||0!==s?(s<<=1,s|=f,(4===++o||0===i&&0===h)&&(a=this.mul(a,r[s]),o=0,s=0)):o=0}c=26}return a},v.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},v.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},n.mont=function(e){return new _(e)},i(_,v),_.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},_.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},_.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},_.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new n(0)._forceRed(this);var r=e.mul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(i).iushrn(this.shift),s=a;return a.cmp(this.m)>=0?s=a.isub(this.m):a.cmpn(0)<0&&(s=a.iadd(this.m)),s._forceRed(this)},_.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,rt)})),ly=/*#__PURE__*/Object.freeze({__proto__:null,default:dy,__moduleExports:dy});class py{constructor(e){if(void 0===e)throw Error("Invalid BigInteger input");this.value=new dy(e)}clone(){const e=new py(null);return this.value.copy(e.value),e}iinc(){return this.value.iadd(new dy(1)),this}inc(){return this.clone().iinc()}idec(){return this.value.isub(new dy(1)),this}dec(){return this.clone().idec()}iadd(e){return this.value.iadd(e.value),this}add(e){return this.clone().iadd(e)}isub(e){return this.value.isub(e.value),this}sub(e){return this.clone().isub(e)}imul(e){return this.value.imul(e.value),this}mul(e){return this.clone().imul(e)}imod(e){return this.value=this.value.umod(e.value),this}mod(e){return this.clone().imod(e)}modExp(e,t){const r=t.isEven()?dy.red(t.value):dy.mont(t.value),i=this.clone();return i.value=i.value.toRed(r).redPow(e.value).fromRed(),i}modInv(e){if(!this.gcd(e).isOne())throw Error("Inverse does not exist");return new py(this.value.invm(e.value))}gcd(e){return new py(this.value.gcd(e.value))}ileftShift(e){return this.value.ishln(e.value.toNumber()),this}leftShift(e){return this.clone().ileftShift(e)}irightShift(e){return this.value.ishrn(e.value.toNumber()),this}rightShift(e){return this.clone().irightShift(e)}equal(e){return this.value.eq(e.value)}lt(e){return this.value.lt(e.value)}lte(e){return this.value.lte(e.value)}gt(e){return this.value.gt(e.value)}gte(e){return this.value.gte(e.value)}isZero(){return this.value.isZero()}isOne(){return this.value.eq(new dy(1))}isNegative(){return this.value.isNeg()}isEven(){return this.value.isEven()}abs(){const e=this.clone();return e.value=e.value.abs(),e}toString(){return this.value.toString()}toNumber(){return this.value.toNumber()}getBit(e){return this.value.testn(e)?1:0}bitLength(){return this.value.bitLength()}byteLength(){return this.value.byteLength()}toUint8Array(e="be",t){return this.value.toArrayLike(Uint8Array,e,t)}}var yy,by=/*#__PURE__*/Object.freeze({__proto__:null,default:py}),gy=it((function(e,t){var r=t;function i(e){return 1===e.length?"0"+e:e}function n(e){for(var t="",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var i=0;i<e.length;i++)r[i]=0|e[i];return r}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(i=0;i<e.length;i++){var n=e.charCodeAt(i),a=n>>8,s=255&n;a?r.push(a,s):r.push(s)}return r},r.zero2=i,r.toHex=n,r.encode=function(e,t){return"hex"===t?n(e):e}})),my=it((function(e,t){var r=t;r.assert=et,r.toArray=gy.toArray,r.zero2=gy.zero2,r.toHex=gy.toHex,r.encode=gy.encode,r.getNAF=function(e,t){for(var r=[],i=1<<t+1,n=e.clone();n.cmpn(1)>=0;){var a;if(n.isOdd()){var s=n.andln(i-1);a=s>(i>>1)-1?(i>>1)-s:s,n.isubn(a)}else a=0;r.push(a);for(var o=0!==n.cmpn(0)&&0===n.andln(i-1)?t+1:1,c=1;c<o;c++)r.push(0);n.iushrn(o)}return r},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var i=0,n=0;e.cmpn(-i)>0||t.cmpn(-n)>0;){var a,s,o,c=e.andln(3)+i&3,u=t.andln(3)+n&3;if(3===c&&(c=-1),3===u&&(u=-1),0==(1&c))a=0;else a=3!==(o=e.andln(7)+i&7)&&5!==o||2!==u?c:-c;if(r[0].push(a),0==(1&u))s=0;else s=3!==(o=t.andln(7)+n&7)&&5!==o||2!==c?u:-u;r[1].push(s),2*i===a+1&&(i=1-i),2*n===s+1&&(n=1-n),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var i="_"+t;e.prototype[t]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new dy(e,"hex","le")}})),wy=function(e){return yy||(yy=new Ay(null)),yy.generate(e)};function Ay(e){this.rand=e}var vy=Ay;if(Ay.prototype.generate=function(e){return this._rand(e)},Ay.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?Ay.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?Ay.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(Ay.prototype._rand=function(){throw Error("Not implemented yet")});else try{var _y=void 0;if("function"!=typeof _y.randomBytes)throw Error("Not supported");Ay.prototype._rand=function(e){return _y.randomBytes(e)}}catch(e){}wy.Rand=vy;var ky=my.getNAF,Ey=my.getJSF,Sy=my.assert;function Cy(e,t){this.type=e,this.p=new dy(t.p,16),this.red=t.prime?dy.red(t.prime):dy.mont(this.p),this.zero=new dy(0).toRed(this.red),this.one=new dy(1).toRed(this.red),this.two=new dy(2).toRed(this.red),this.n=t.n&&new dy(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,];var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Iy=Cy;function By(e,t){this.curve=e,this.type=t,this.precomputed=null}Cy.prototype.point=function(){throw Error("Not implemented")},Cy.prototype.validate=function(){throw Error("Not implemented")},Cy.prototype._fixedNafMul=function(e,t){Sy(e.precomputed);var r=e._getDoubles(),i=ky(t,1),n=(1<<r.step+1)-(r.step%2==0?2:1);n/=3;for(var a=[],s=0;s<i.length;s+=r.step){var o=0;for(t=s+r.step-1;t>=s;t--)o=(o<<1)+i[t];a.push(o)}for(var c=this.jpoint(null,null,null),u=this.jpoint(null,null,null),h=n;h>0;h--){for(s=0;s<a.length;s++){(o=a[s])===h?u=u.mixedAdd(r.points[s]):o===-h&&(u=u.mixedAdd(r.points[s].neg()))}c=c.add(u)}return c.toP()},Cy.prototype._wnafMul=function(e,t){var r=4,i=e._getNAFPoints(r);r=i.wnd;for(var n=i.points,a=ky(t,r),s=this.jpoint(null,null,null),o=a.length-1;o>=0;o--){for(t=0;o>=0&&0===a[o];o--)t++;if(o>=0&&t++,s=s.dblp(t),o<0)break;var c=a[o];Sy(0!==c),s="affine"===e.type?c>0?s.mixedAdd(n[c-1>>1]):s.mixedAdd(n[-c-1>>1].neg()):c>0?s.add(n[c-1>>1]):s.add(n[-c-1>>1].neg())}return"affine"===e.type?s.toP():s},Cy.prototype._wnafMulAdd=function(e,t,r,i,n){for(var a=this._wnafT1,s=this._wnafT2,o=this._wnafT3,c=0,u=0;u<i;u++){var h=(k=t[u])._getNAFPoints(e);a[u]=h.wnd,s[u]=h.points}for(u=i-1;u>=1;u-=2){var f=u-1,d=u;if(1===a[f]&&1===a[d]){var l=[t[f],null,null,t[d]];0===t[f].y.cmp(t[d].y)?(l[1]=t[f].add(t[d]),l[2]=t[f].toJ().mixedAdd(t[d].neg())):0===t[f].y.cmp(t[d].y.redNeg())?(l[1]=t[f].toJ().mixedAdd(t[d]),l[2]=t[f].add(t[d].neg())):(l[1]=t[f].toJ().mixedAdd(t[d]),l[2]=t[f].toJ().mixedAdd(t[d].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],y=Ey(r[f],r[d]);c=Math.max(y[0].length,c),o[f]=Array(c),o[d]=Array(c);for(var b=0;b<c;b++){var g=0|y[0][b],m=0|y[1][b];o[f][b]=p[3*(g+1)+(m+1)],o[d][b]=0,s[f]=l}}else o[f]=ky(r[f],a[f]),o[d]=ky(r[d],a[d]),c=Math.max(o[f].length,c),c=Math.max(o[d].length,c)}var w=this.jpoint(null,null,null),A=this._wnafT4;for(u=c;u>=0;u--){for(var v=0;u>=0;){var _=!0;for(b=0;b<i;b++)A[b]=0|o[b][u],0!==A[b]&&(_=!1);if(!_)break;v++,u--}if(u>=0&&v++,w=w.dblp(v),u<0)break;for(b=0;b<i;b++){var k,E=A[b];0!==E&&(E>0?k=s[b][E-1>>1]:E<0&&(k=s[b][-E-1>>1].neg()),w="affine"===k.type?w.mixedAdd(k):w.add(k))}}for(u=0;u<i;u++)s[u]=null;return n?w:w.toP()},Cy.BasePoint=By,By.prototype.eq=function(){throw Error("Not implemented")},By.prototype.validate=function(){return this.curve.validate(this)},Cy.prototype.decodePoint=function(e,t){e=my.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?Sy(e[e.length-1]%2==0):7===e[0]&&Sy(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw Error("Unknown point format")},By.prototype.encodeCompressed=function(e){return this.encode(e,!0)},By.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},By.prototype.encode=function(e,t){return my.encode(this._encode(t),e)},By.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},By.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},By.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n<t;n+=e){for(var a=0;a<e;a++)i=i.dbl();r.push(i)}return{step:e,points:r}},By.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,i=1===r?null:this.dbl(),n=1;n<r;n++)t[n]=t[n-1].add(i);return{wnd:e,points:t}},By.prototype._getBeta=function(){return null},By.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t};var Py=my.assert;function My(e){Iy.call(this,"short",e),this.a=new dy(e.a,16).toRed(this.red),this.b=new dy(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}at(My,Iy);var Dy=My;function xy(e,t,r,i){Iy.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new dy(t,16),this.y=new dy(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function Ky(e,t,r,i){Iy.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new dy(0)):(this.x=new dy(t,16),this.y=new dy(r,16),this.z=new dy(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}function Uy(e){Iy.call(this,"mont",e),this.a=new dy(e.a,16).toRed(this.red),this.b=new dy(e.b,16).toRed(this.red),this.i4=new dy(4).toRed(this.red).redInvm(),this.two=new dy(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}My.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new dy(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=(t=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(e.lambda)r=new dy(e.lambda,16);else{var n=this._getEndoRoots(this.n);0===this.g.mul(n[0]).x.cmp(this.g.x.redMul(t))?r=n[0]:(r=n[1],Py(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new dy(e.a,16),b:new dy(e.b,16)}})):this._getEndoBasis(r)}}},My.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:dy.mont(e),r=new dy(2).toRed(t).redInvm(),i=r.redNeg(),n=new dy(3).toRed(t).redNeg().redSqrt().redMul(r);return[i.redAdd(n).fromRed(),i.redSub(n).fromRed()]},My.prototype._getEndoBasis=function(e){for(var t,r,i,n,a,s,o,c,u,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),f=e,d=this.n.clone(),l=new dy(1),p=new dy(0),y=new dy(0),b=new dy(1),g=0;0!==f.cmpn(0);){var m=d.div(f);c=d.sub(m.mul(f)),u=y.sub(m.mul(l));var w=b.sub(m.mul(p));if(!i&&c.cmp(h)<0)t=o.neg(),r=l,i=c.neg(),n=u;else if(i&&2==++g)break;o=c,d=f,f=c,y=l,l=u,b=p,p=w}a=c.neg(),s=u;var A=i.sqr().add(n.sqr());return a.sqr().add(s.sqr()).cmp(A)>=0&&(a=t,s=r),i.negative&&(i=i.neg(),n=n.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:i,b:n},{a,b:s}]},My.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],i=t[1],n=i.b.mul(e).divRound(this.n),a=r.b.neg().mul(e).divRound(this.n),s=n.mul(r.a),o=a.mul(i.a),c=n.mul(r.b),u=a.mul(i.b);return{k1:e.sub(s).sub(o),k2:c.add(u).neg()}},My.prototype.pointFromX=function(e,t){(e=new dy(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw Error("invalid point");var n=i.fromRed().isOdd();return(t&&!n||!t&&n)&&(i=i.redNeg()),this.point(e,i)},My.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,i=this.a.redMul(t),n=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},My.prototype._endoWnafMulAdd=function(e,t,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,a=0;a<e.length;a++){var s=this._endoSplit(t[a]),o=e[a],c=o._getBeta();s.k1.negative&&(s.k1.ineg(),o=o.neg(!0)),s.k2.negative&&(s.k2.ineg(),c=c.neg(!0)),i[2*a]=o,i[2*a+1]=c,n[2*a]=s.k1,n[2*a+1]=s.k2}for(var u=this._wnafMulAdd(1,i,n,2*a,r),h=0;h<2*a;h++)i[h]=null,n[h]=null;return u},at(xy,Iy.BasePoint),My.prototype.point=function(e,t,r){return new xy(this,e,t,r)},My.prototype.pointFromJSON=function(e,t){return xy.fromJSON(this,e,t)},xy.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,i=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(i)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(i)}}}return t}},xy.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},xy.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var i=e.point(t[0],t[1],r);if(!t[2])return i;function n(t){return e.point(t[0],t[1],r)}var a=t[2];return i.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[i].concat(a.doubles.points.map(n))},naf:a.naf&&{wnd:a.naf.wnd,points:[i].concat(a.naf.points.map(n))}},i},xy.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},xy.prototype.isInfinity=function(){return this.inf},xy.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),i=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},xy.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),i=e.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(i),a=n.redSqr().redISub(this.x.redAdd(this.x)),s=n.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,s)},xy.prototype.getX=function(){return this.x.fromRed()},xy.prototype.getY=function(){return this.y.fromRed()},xy.prototype.mul=function(e){return e=new dy(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},xy.prototype.mulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},xy.prototype.jmulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},xy.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},xy.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,i=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return t},xy.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},at(Ky,Iy.BasePoint),My.prototype.jpoint=function(e,t,r){return new Ky(this,e,t,r)},Ky.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),i=this.y.redMul(t).redMul(e);return this.curve.point(r,i)},Ky.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ky.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(t),n=e.x.redMul(r),a=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(r.redMul(this.z)),o=i.redSub(n),c=a.redSub(s);if(0===o.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=o.redSqr(),h=u.redMul(o),f=i.redMul(u),d=c.redSqr().redIAdd(h).redISub(f).redISub(f),l=c.redMul(f.redISub(d)).redISub(a.redMul(h)),p=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(d,l,p)},Ky.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,i=e.x.redMul(t),n=this.y,a=e.y.redMul(t).redMul(this.z),s=r.redSub(i),o=n.redSub(a);if(0===s.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),u=c.redMul(s),h=r.redMul(c),f=o.redSqr().redIAdd(u).redISub(h).redISub(h),d=o.redMul(h.redISub(f)).redISub(n.redMul(u)),l=this.z.redMul(s);return this.curve.jpoint(f,d,l)},Ky.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var i=this.curve.a,n=this.curve.tinv,a=this.x,s=this.y,o=this.z,c=o.redSqr().redSqr(),u=s.redAdd(s);for(r=0;r<e;r++){var h=a.redSqr(),f=u.redSqr(),d=f.redSqr(),l=h.redAdd(h).redIAdd(h).redIAdd(i.redMul(c)),p=a.redMul(f),y=l.redSqr().redISub(p.redAdd(p)),b=p.redISub(y),g=l.redMul(b);g=g.redIAdd(g).redISub(d);var m=u.redMul(o);r+1<e&&(c=c.redMul(d)),a=y,o=m,u=g}return this.curve.jpoint(a,u.redMul(n),o)},Ky.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Ky.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(a);s=s.redIAdd(s);var o=i.redAdd(i).redIAdd(i),c=o.redSqr().redISub(s).redISub(s),u=a.redIAdd(a);u=(u=u.redIAdd(u)).redIAdd(u),e=c,t=o.redMul(s.redISub(c)).redISub(u),r=this.y.redAdd(this.y)}else{var h=this.x.redSqr(),f=this.y.redSqr(),d=f.redSqr(),l=this.x.redAdd(f).redSqr().redISub(h).redISub(d);l=l.redIAdd(l);var p=h.redAdd(h).redIAdd(h),y=p.redSqr(),b=d.redIAdd(d);b=(b=b.redIAdd(b)).redIAdd(b),e=y.redISub(l).redISub(l),t=p.redMul(l.redISub(e)).redISub(b),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},Ky.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(a);s=s.redIAdd(s);var o=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),c=o.redSqr().redISub(s).redISub(s);e=c;var u=a.redIAdd(a);u=(u=u.redIAdd(u)).redIAdd(u),t=o.redMul(s.redISub(c)).redISub(u),r=this.y.redAdd(this.y)}else{var h=this.z.redSqr(),f=this.y.redSqr(),d=this.x.redMul(f),l=this.x.redSub(h).redMul(this.x.redAdd(h));l=l.redAdd(l).redIAdd(l);var p=d.redIAdd(d),y=(p=p.redIAdd(p)).redAdd(p);e=l.redSqr().redISub(y),r=this.y.redAdd(this.z).redSqr().redISub(f).redISub(h);var b=f.redSqr();b=(b=(b=b.redIAdd(b)).redIAdd(b)).redIAdd(b),t=l.redMul(p.redISub(e)).redISub(b)}return this.curve.jpoint(e,t,r)},Ky.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,i=this.z,n=i.redSqr().redSqr(),a=t.redSqr(),s=r.redSqr(),o=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(n)),c=t.redAdd(t),u=(c=c.redIAdd(c)).redMul(s),h=o.redSqr().redISub(u.redAdd(u)),f=u.redISub(h),d=s.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var l=o.redMul(f).redISub(d),p=r.redAdd(r).redMul(i);return this.curve.jpoint(h,l,p)},Ky.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),i=t.redSqr(),n=e.redAdd(e).redIAdd(e),a=n.redSqr(),s=this.x.redAdd(t).redSqr().redISub(e).redISub(i),o=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(a)).redSqr(),c=i.redIAdd(i);c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var u=n.redIAdd(s).redSqr().redISub(a).redISub(o).redISub(c),h=t.redMul(u);h=(h=h.redIAdd(h)).redIAdd(h);var f=this.x.redMul(o).redISub(h);f=(f=f.redIAdd(f)).redIAdd(f);var d=this.y.redMul(u.redMul(c.redISub(u)).redISub(s.redMul(o)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var l=this.z.redAdd(s).redSqr().redISub(r).redISub(o);return this.curve.jpoint(f,d,l)},Ky.prototype.mul=function(e,t){return e=new dy(e,t),this.curve._wnafMul(this,e)},Ky.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var i=t.redMul(this.z),n=r.redMul(e.z);return 0===this.y.redMul(n).redISub(e.y.redMul(i)).cmpn(0)},Ky.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var i=e.clone(),n=this.curve.redN.redMul(t);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},Ky.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},Ky.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},at(Uy,Iy);var Ry=Uy;function Ty(e,t,r){Iy.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new dy(t,16),this.z=new dy(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}Uy.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),i=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===i.redSqrt().redSqr().cmp(i)},at(Ty,Iy.BasePoint),Uy.prototype.decodePoint=function(e,t){if(33===(e=my.toArray(e,t)).length&&64===e[0]&&(e=e.slice(1,33).reverse()),32!==e.length)throw Error("Unknown point compression format");return this.point(e,1)},Uy.prototype.point=function(e,t){return new Ty(this,e,t)},Uy.prototype.pointFromJSON=function(e){return Ty.fromJSON(this,e)},Ty.prototype.precompute=function(){},Ty.prototype._encode=function(e){var t=this.curve.p.byteLength();return e?[64].concat(this.getX().toArray("le",t)):this.getX().toArray("be",t)},Ty.fromJSON=function(e,t){return new Ty(e,t[0],t[1]||e.one)},Ty.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Ty.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Ty.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),i=e.redMul(t),n=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},Ty.prototype.add=function(){throw Error("Not supported on Montgomery curve")},Ty.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(r),s=n.redMul(i),o=t.z.redMul(a.redAdd(s).redSqr()),c=t.x.redMul(a.redISub(s).redSqr());return this.curve.point(o,c)},Ty.prototype.mul=function(e){for(var t=(e=new dy(e,16)).clone(),r=this,i=this.curve.point(null,null),n=[];0!==t.cmpn(0);t.iushrn(1))n.push(t.andln(1));for(var a=n.length-1;a>=0;a--)0===n[a]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},Ty.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},Ty.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},Ty.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},Ty.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Ty.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Qy=my.assert;function zy(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,Iy.call(this,"edwards",e),this.a=new dy(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new dy(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new dy(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Qy(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}at(zy,Iy);var Fy=zy;function Ny(e,t,r,i,n){Iy.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new dy(t,16),this.y=new dy(r,16),this.z=i?new dy(i,16):this.curve.one,this.t=n&&new dy(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}zy.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},zy.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},zy.prototype.jpoint=function(e,t,r,i){return this.point(e,t,r,i)},zy.prototype.pointFromX=function(e,t){(e=new dy(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=this.c2.redSub(this.a.redMul(r)),n=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=i.redMul(n.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw Error("invalid point");var o=s.fromRed().isOdd();return(t&&!o||!t&&o)&&(s=s.redNeg()),this.point(e,s)},zy.prototype.pointFromY=function(e,t){(e=new dy(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=r.redSub(this.c2),n=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=i.redMul(n.redInvm());if(0===a.cmp(this.zero)){if(t)throw Error("invalid point");return this.point(this.zero,e)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw Error("invalid point");return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},zy.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),i=t.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===i.cmp(n)},at(Ny,Iy.BasePoint),zy.prototype.pointFromJSON=function(e){return Ny.fromJSON(this,e)},zy.prototype.point=function(e,t,r,i){return new Ny(this,e,t,r,i)},Ny.fromJSON=function(e,t){return new Ny(e,t[0],t[1],t[2])},Ny.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Ny.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Ny.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(e),n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=i.redAdd(t),s=a.redSub(r),o=i.redSub(t),c=n.redMul(s),u=a.redMul(o),h=n.redMul(o),f=s.redMul(a);return this.curve.point(c,u,f,h)},Ny.prototype._projDbl=function(){var e,t,r,i=this.x.redAdd(this.y).redSqr(),n=this.x.redSqr(),a=this.y.redSqr();if(this.curve.twisted){var s=(u=this.curve._mulA(n)).redAdd(a);if(this.zOne)e=i.redSub(n).redSub(a).redMul(s.redSub(this.curve.two)),t=s.redMul(u.redSub(a)),r=s.redSqr().redSub(s).redSub(s);else{var o=this.z.redSqr(),c=s.redSub(o).redISub(o);e=i.redSub(n).redISub(a).redMul(c),t=s.redMul(u.redSub(a)),r=s.redMul(c)}}else{var u=n.redAdd(a);o=this.curve._mulC(this.z).redSqr(),c=u.redSub(o).redSub(o);e=this.curve._mulC(i.redISub(u)).redMul(c),t=this.curve._mulC(u).redMul(n.redISub(a)),r=u.redMul(c)}return this.curve.point(e,t,r)},Ny.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Ny.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.dd).redMul(e.t),n=this.z.redMul(e.z.redAdd(e.z)),a=r.redSub(t),s=n.redSub(i),o=n.redAdd(i),c=r.redAdd(t),u=a.redMul(s),h=o.redMul(c),f=a.redMul(c),d=s.redMul(o);return this.curve.point(u,h,d,f)},Ny.prototype._projAdd=function(e){var t,r,i=this.z.redMul(e.z),n=i.redSqr(),a=this.x.redMul(e.x),s=this.y.redMul(e.y),o=this.curve.d.redMul(a).redMul(s),c=n.redSub(o),u=n.redAdd(o),h=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(s),f=i.redMul(c).redMul(h);return this.curve.twisted?(t=i.redMul(u).redMul(s.redSub(this.curve._mulA(a))),r=c.redMul(u)):(t=i.redMul(u).redMul(s.redSub(a)),r=this.curve._mulC(c).redMul(u)),this.curve.point(f,t,r)},Ny.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},Ny.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},Ny.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},Ny.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},Ny.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},Ny.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Ny.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Ny.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Ny.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},Ny.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}},Ny.prototype.toP=Ny.prototype.normalize,Ny.prototype.mixedAdd=Ny.prototype.add;var qy=it((function(e,t){var r=t;r.base=Iy,r.short=Dy,r.mont=Ry,r.edwards=Fy})),Ly=pt.rotl32,Oy=pt.sum32,Hy=pt.sum32_5,jy=kt.ft_1,Gy=gt.BlockHash,Wy=[1518500249,1859775393,2400959708,3395469782];function Vy(){if(!(this instanceof Vy))return new Vy;Gy.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}pt.inherits(Vy,Gy);var Jy=Vy;Vy.blockSize=512,Vy.outSize=160,Vy.hmacStrength=80,Vy.padLength=64,Vy.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=Ly(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0],a=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4];for(i=0;i<r.length;i++){var u=~~(i/20),h=Hy(Ly(n,5),jy(u,a,s,o),c,r[i],Wy[u]);c=o,o=s,s=Ly(a,30),a=n,n=h}this.h[0]=Oy(this.h[0],n),this.h[1]=Oy(this.h[1],a),this.h[2]=Oy(this.h[2],s),this.h[3]=Oy(this.h[3],o),this.h[4]=Oy(this.h[4],c)},Vy.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"big"):pt.split32(this.h,"big")};var Yy={sha1:Jy,sha224:zt,sha256:Tt,sha384:lr,sha512:$t};function Zy(e,t,r){if(!(this instanceof Zy))return new Zy(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(pt.toArray(t,r))}var Xy=Zy;Zy.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),et(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},Zy.prototype.update=function(e,t){return this.inner.update(e,t),this},Zy.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)};var $y=it((function(e,t){var r=t;r.utils=pt,r.common=gt,r.sha=Yy,r.ripemd=Br,r.hmac=Xy,r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160})),eb={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}},tb=it((function(e,t){var r,i=t,n=my.assert;function a(e){if("short"===e.type)this.curve=new qy.short(e);else if("edwards"===e.type)this.curve=new qy.edwards(e);else{if("mont"!==e.type)throw Error("Unknown curve type.");this.curve=new qy.mont(e)}this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, n*G != O")}function s(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new a(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=a,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:$y.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:$y.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:$y.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:$y.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:$y.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",cofactor:"8",hash:$y.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",cofactor:"8",hash:$y.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]}),s("brainpoolP256r1",{type:"short",prime:null,p:"A9FB57DB A1EEA9BC 3E660A90 9D838D72 6E3BF623 D5262028 2013481D 1F6E5377",a:"7D5A0975 FC2C3057 EEF67530 417AFFE7 FB8055C1 26DC5C6C E94A4B44 F330B5D9",b:"26DC5C6C E94A4B44 F330B5D9 BBD77CBF 95841629 5CF7E1CE 6BCCDC18 FF8C07B6",n:"A9FB57DB A1EEA9BC 3E660A90 9D838D71 8C397AA3 B561A6F7 901E0E82 974856A7",hash:$y.sha256,gRed:!1,g:["8BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262","547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997"]}),s("brainpoolP384r1",{type:"short",prime:null,p:"8CB91E82 A3386D28 0F5D6F7E 50E641DF 152F7109 ED5456B4 12B1DA19 7FB71123ACD3A729 901D1A71 87470013 3107EC53",a:"7BC382C6 3D8C150C 3C72080A CE05AFA0 C2BEA28E 4FB22787 139165EF BA91F90F8AA5814A 503AD4EB 04A8C7DD 22CE2826",b:"04A8C7DD 22CE2826 8B39B554 16F0447C 2FB77DE1 07DCD2A6 2E880EA5 3EEB62D57CB43902 95DBC994 3AB78696 FA504C11",n:"8CB91E82 A3386D28 0F5D6F7E 50E641DF 152F7109 ED5456B3 1F166E6C AC0425A7CF3AB6AF 6B7FC310 3B883202 E9046565",hash:$y.sha384,gRed:!1,g:["1D1C64F068CF45FFA2A63A81B7C13F6B8847A3E77EF14FE3DB7FCAFE0CBD10E8E826E03436D646AAEF87B2E247D4AF1E","8ABE1D7520F9C2A45CB1EB8E95CFD55262B70B29FEEC5864E19C054FF99129280E4646217791811142820341263C5315"]}),s("brainpoolP512r1",{type:"short",prime:null,p:"AADD9DB8 DBE9C48B 3FD4E6AE 33C9FC07 CB308DB3 B3C9D20E D6639CCA 703308717D4D9B00 9BC66842 AECDA12A E6A380E6 2881FF2F 2D82C685 28AA6056 583A48F3",a:"7830A331 8B603B89 E2327145 AC234CC5 94CBDD8D 3DF91610 A83441CA EA9863BC2DED5D5A A8253AA1 0A2EF1C9 8B9AC8B5 7F1117A7 2BF2C7B9 E7C1AC4D 77FC94CA",b:"3DF91610 A83441CA EA9863BC 2DED5D5A A8253AA1 0A2EF1C9 8B9AC8B5 7F1117A72BF2C7B9 E7C1AC4D 77FC94CA DC083E67 984050B7 5EBAE5DD 2809BD63 8016F723",n:"AADD9DB8 DBE9C48B 3FD4E6AE 33C9FC07 CB308DB3 B3C9D20E D6639CCA 70330870553E5C41 4CA92619 41866119 7FAC1047 1DB1D381 085DDADD B5879682 9CA90069",hash:$y.sha512,gRed:!1,g:["81AEE4BDD82ED9645A21322E9C4C6A9385ED9F70B5D916C1B43B62EEF4D0098EFF3B1F78E2D0D48D50D1687B93B97D5F7C6D5047406A5E688B352209BCB9F822","7DDE385D566332ECC0EABFA9CF7822FDF209F70024A57B1AA000C55B881F8111B2DCDE494A5F485E5BCA4BD88A2763AED1CA2B2FA8F0540678CD1E0F3AD80892"]});try{r=eb}catch(e){r=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:$y.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function rb(e){if(!(this instanceof rb))return new rb(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=gy.toArray(e.entropy,e.entropyEnc||"hex"),r=gy.toArray(e.nonce,e.nonceEnc||"hex"),i=gy.toArray(e.pers,e.persEnc||"hex");et(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,i)}var ib=rb;rb.prototype._init=function(e,t,r){var i=e.concat(t).concat(r);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},rb.prototype._hmac=function(){return new $y.hmac(this.hash,this.K)},rb.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},rb.prototype.reseed=function(e,t,r,i){"string"!=typeof t&&(i=r,r=t,t=null),e=gy.toArray(e,t),r=gy.toArray(r,i),et(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},rb.prototype.generate=function(e,t,r,i){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof t&&(i=r,r=t,t=null),r&&(r=gy.toArray(r,i||"hex"),this._update(r));for(var n=[];n.length<e;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var a=n.slice(0,e);return this._update(r),this._reseed++,gy.encode(a,t)};var nb=my.assert;function ab(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var sb=ab;ab.fromPublic=function(e,t,r){return t instanceof ab?t:new ab(e,{pub:t,pubEnc:r})},ab.fromPrivate=function(e,t,r){return t instanceof ab?t:new ab(e,{priv:t,privEnc:r})},ab.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},ab.prototype.getPublic=function(e,t){return this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},ab.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},ab.prototype._importPrivate=function(e,t){if(this.priv=new dy(e,t||16),"mont"===this.ec.curve.type){var r=this.ec.curve.one,i=r.ushln(252).sub(r).ushln(3);this.priv=this.priv.or(r.ushln(254)),this.priv=this.priv.and(i)}else this.priv=this.priv.umod(this.ec.curve.n)},ab.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?nb(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||nb(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},ab.prototype.derive=function(e){return e.mul(this.priv).getX()},ab.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},ab.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},ab.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var ob=my.assert;function cb(e,t){if(e instanceof cb)return e;this._importDER(e,t)||(ob(e.r&&e.s,"Signature without r or s"),this.r=new dy(e.r,16),this.s=new dy(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var ub=cb;function hb(){this.place=0}function fb(e,t){var r=e[t.place++];if(!(128&r))return r;for(var i=15&r,n=0,a=0,s=t.place;a<i;a++,s++)n<<=8,n|=e[s];return t.place=s,n}function db(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function lb(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}cb.prototype._importDER=function(e,t){e=my.toArray(e,t);var r=new hb;if(48!==e[r.place++])return!1;if(fb(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var i=fb(e,r),n=e.slice(r.place,i+r.place);if(r.place+=i,2!==e[r.place++])return!1;var a=fb(e,r);if(e.length!==a+r.place)return!1;var s=e.slice(r.place,a+r.place);return 0===n[0]&&128&n[1]&&(n=n.slice(1)),0===s[0]&&128&s[1]&&(s=s.slice(1)),this.r=new dy(n),this.s=new dy(s),this.recoveryParam=null,!0},cb.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=db(t),r=db(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];lb(i,t.length),(i=i.concat(t)).push(2),lb(i,r.length);var n=i.concat(r),a=[48];return lb(a,n.length),a=a.concat(n),my.encode(a,e)};var pb=my.assert;function yb(e){if(!(this instanceof yb))return new yb(e);"string"==typeof e&&(pb(tb.hasOwnProperty(e),"Unknown curve "+e),e=tb[e]),e instanceof tb.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var bb=yb;yb.prototype.keyPair=function(e){return new sb(this,e)},yb.prototype.keyFromPrivate=function(e,t){return sb.fromPrivate(this,e,t)},yb.prototype.keyFromPublic=function(e,t){return sb.fromPublic(this,e,t)},yb.prototype.genKeyPair=function(e){e||(e={});var t=new ib({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||wy(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()});if("mont"===this.curve.type){var r=new dy(t.generate(32));return this.keyFromPrivate(r)}for(var i=this.n.byteLength(),n=this.n.sub(new dy(2));;){if(!((r=new dy(t.generate(i))).cmp(n)>0))return r.iaddn(1),this.keyFromPrivate(r)}},yb.prototype._truncateToN=function(e,t,r){var i=(r=r||8*e.byteLength())-this.n.bitLength();return i>0&&(e=e.ushrn(i)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},yb.prototype.truncateMsg=function(e){var t;return e instanceof Uint8Array?(t=8*e.byteLength,e=this._truncateToN(new dy(e,16),!1,t)):"string"==typeof e?(t=4*e.length,e=this._truncateToN(new dy(e,16),!1,t)):e=this._truncateToN(new dy(e,16)),e},yb.prototype.sign=function(e,t,r,i){"object"==typeof r&&(i=r,r=null),i||(i={}),t=this.keyFromPrivate(t,r),e=this.truncateMsg(e);for(var n=this.n.byteLength(),a=t.getPrivate().toArray("be",n),s=e.toArray("be",n),o=new ib({hash:this.hash,entropy:a,nonce:s,pers:i.pers,persEnc:i.persEnc||"utf8"}),c=this.n.sub(new dy(1)),u=0;;u++){var h=i.k?i.k(u):new dy(o.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(c)>=0)){var f=this.g.mul(h);if(!f.isInfinity()){var d=f.getX(),l=d.umod(this.n);if(0!==l.cmpn(0)){var p=h.invm(this.n).mul(l.mul(t.getPrivate()).iadd(e));if(0!==(p=p.umod(this.n)).cmpn(0)){var y=(f.getY().isOdd()?1:0)|(0!==d.cmp(l)?2:0);return i.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),y^=1),new ub({r:l,s:p,recoveryParam:y})}}}}}},yb.prototype.verify=function(e,t,r,i){return r=this.keyFromPublic(r,i),t=new ub(t,"hex"),this._verify(this.truncateMsg(e),t,r)||this._verify(this._truncateToN(new dy(e,16)),t,r)},yb.prototype._verify=function(e,t,r){var i=t.r,n=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(n.cmpn(1)<0||n.cmp(this.n)>=0)return!1;var a,s=n.invm(this.n),o=s.mul(e).umod(this.n),c=s.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(o,r.getPublic(),c)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(o,r.getPublic(),c)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},yb.prototype.recoverPubKey=function(e,t,r,i){pb((3&r)===r,"The recovery param is more than two bits"),t=new ub(t,i);var n=this.n,a=new dy(e),s=t.r,o=t.s,c=1&r,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw Error("Unable to find sencond key candinate");s=u?this.curve.pointFromX(s.add(this.curve.n),c):this.curve.pointFromX(s,c);var h=t.r.invm(n),f=n.sub(a).mul(h).umod(n),d=o.mul(h).umod(n);return this.g.mulAdd(f,s,d)},yb.prototype.getKeyRecoveryParam=function(e,t,r,i){if(null!==(t=new ub(t,i)).recoveryParam)return t.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(e,t,n)}catch(e){continue}if(a.eq(r))return n}throw Error("Unable to find valid recovery factor")};var gb=my.assert,mb=my.parseBytes,wb=my.cachedProperty;function Ab(e,t){if(this.eddsa=e,t.hasOwnProperty("secret")&&(this._secret=mb(t.secret)),e.isPoint(t.pub))this._pub=t.pub;else if(this._pubBytes=mb(t.pub),this._pubBytes&&33===this._pubBytes.length&&64===this._pubBytes[0]&&(this._pubBytes=this._pubBytes.slice(1,33)),this._pubBytes&&32!==this._pubBytes.length)throw Error("Unknown point compression format")}Ab.fromPublic=function(e,t){return t instanceof Ab?t:new Ab(e,{pub:t})},Ab.fromSecret=function(e,t){return t instanceof Ab?t:new Ab(e,{secret:t})},Ab.prototype.secret=function(){return this._secret},wb(Ab,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),wb(Ab,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),wb(Ab,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,i=t.slice(0,e.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),wb(Ab,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),wb(Ab,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),wb(Ab,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),Ab.prototype.sign=function(e){return gb(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},Ab.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},Ab.prototype.getSecret=function(e){return gb(this._secret,"KeyPair is public only"),my.encode(this.secret(),e)},Ab.prototype.getPublic=function(e,t){return my.encode((t?[64]:[]).concat(this.pubBytes()),e)};var vb=Ab,_b=my.assert,kb=my.cachedProperty,Eb=my.parseBytes;function Sb(e,t){this.eddsa=e,"object"!=typeof t&&(t=Eb(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),_b(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof dy&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}kb(Sb,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),kb(Sb,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),kb(Sb,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),kb(Sb,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),Sb.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Sb.prototype.toHex=function(){return my.encode(this.toBytes(),"hex").toUpperCase()};var Cb=Sb,Ib=my.assert,Bb=my.parseBytes;function Pb(e){if(Ib("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof Pb))return new Pb(e);e=tb[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=$y.sha512}var Mb=Pb;Pb.prototype.sign=function(e,t){e=Bb(e);var r=this.keyFromSecret(t),i=this.hashInt(r.messagePrefix(),e),n=this.g.mul(i),a=this.encodePoint(n),s=this.hashInt(a,r.pubBytes(),e).mul(r.priv()),o=i.add(s).umod(this.curve.n);return this.makeSignature({R:n,S:o,Rencoded:a})},Pb.prototype.verify=function(e,t,r){e=Bb(e),t=this.makeSignature(t);var i=this.keyFromPublic(r),n=this.hashInt(t.Rencoded(),i.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(i.pub().mul(n)).eq(a)},Pb.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return my.intFromLE(e.digest()).umod(this.curve.n)},Pb.prototype.keyPair=function(e){return new vb(this,e)},Pb.prototype.keyFromPublic=function(e){return vb.fromPublic(this,e)},Pb.prototype.keyFromSecret=function(e){return vb.fromSecret(this,e)},Pb.prototype.genKeyPair=function(e){e||(e={});var t=new ib({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||wy(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.curve.n.toArray()});return this.keyFromSecret(t.generate(32))},Pb.prototype.makeSignature=function(e){return e instanceof Cb?e:new Cb(this,e)},Pb.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},Pb.prototype.decodePoint=function(e){var t=(e=my.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),i=0!=(128&e[t]),n=my.intFromLE(r);return this.curve.pointFromY(n,i)},Pb.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},Pb.prototype.decodeInt=function(e){return my.intFromLE(e)},Pb.prototype.isPoint=function(e){return e instanceof this.pointClass};var Db=it((function(e,t){var r=t;r.utils=my,r.rand=wy,r.curve=qy,r.curves=tb,r.ec=bb,r.eddsa=Mb})),xb=/*#__PURE__*/Object.freeze({__proto__:null,default:Db,__moduleExports:Db});function Kb(e,t,r,i){e[t]+=r[i],e[t+1]+=r[i+1]+(e[t]<r[i])}function Ub(e,t){e[0]+=t,e[1]+=e[0]<t}function Rb(e,t,r,i,n,a,s,o){Kb(e,r,e,i),Kb(e,r,t,s);let c=e[a]^e[r],u=e[a+1]^e[r+1];e[a]=u,e[a+1]=c,Kb(e,n,e,a),c=e[i]^e[n],u=e[i+1]^e[n+1],e[i]=c>>>24^u<<8,e[i+1]=u>>>24^c<<8,Kb(e,r,e,i),Kb(e,r,t,o),c=e[a]^e[r],u=e[a+1]^e[r+1],e[a]=c>>>16^u<<16,e[a+1]=u>>>16^c<<16,Kb(e,n,e,a),c=e[i]^e[n],u=e[i+1]^e[n+1],e[i]=u>>>31^c<<1,e[i+1]=c>>>31^u<<1}const Tb=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Qb=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map((e=>2*e)));function zb(e,t){const r=new Uint32Array(32),i=new Uint32Array(e.b.buffer,e.b.byteOffset,32);for(let t=0;t<16;t++)r[t]=e.h[t],r[t+16]=Tb[t];r[24]^=e.t0[0],r[25]^=e.t0[1];const n=t?4294967295:0;r[28]^=n,r[29]^=n;for(let e=0;e<12;e++){const t=e<<4;Rb(r,i,0,8,16,24,Qb[t+0],Qb[t+1]),Rb(r,i,2,10,18,26,Qb[t+2],Qb[t+3]),Rb(r,i,4,12,20,28,Qb[t+4],Qb[t+5]),Rb(r,i,6,14,22,30,Qb[t+6],Qb[t+7]),Rb(r,i,0,10,20,30,Qb[t+8],Qb[t+9]),Rb(r,i,2,12,22,24,Qb[t+10],Qb[t+11]),Rb(r,i,4,14,16,26,Qb[t+12],Qb[t+13]),Rb(r,i,6,8,18,28,Qb[t+14],Qb[t+15])}for(let t=0;t<16;t++)e.h[t]^=r[t]^r[t+16]}class Fb{constructor(e,t,r,i){const n=new Uint8Array(64);this.S={b:new Uint8Array(jb),h:new Uint32Array(qb/4),t0:new Uint32Array(2),c:0,outlen:e},n[0]=e,t&&(n[1]=t.length),n[2]=1,n[3]=1,r&&n.set(r,32),i&&n.set(i,48);const a=new Uint32Array(n.buffer,n.byteOffset,n.length/Uint32Array.BYTES_PER_ELEMENT);for(let e=0;e<16;e++)this.S.h[e]=Tb[e]^a[e];if(t){const e=new Uint8Array(jb);e.set(t),this.update(e)}}update(e){if(!(e instanceof Uint8Array))throw Error("Input must be Uint8Array or Buffer");let t=0;for(;t<e.length;){this.S.c===jb&&(Ub(this.S.t0,this.S.c),zb(this.S,!1),this.S.c=0);let r=jb-this.S.c;this.S.b.set(e.subarray(t,t+r),this.S.c);const i=Math.min(r,e.length-t);this.S.c+=i,t+=i}return this}digest(e){Ub(this.S.t0,this.S.c),this.S.b.fill(0,this.S.c),this.S.c=jb,zb(this.S,!0);const t=e||new Uint8Array(this.S.outlen);for(let e=0;e<this.S.outlen;e++)t[e]=this.S.h[e>>2]>>8*(3&e);return this.S.h=null,t.buffer}}function Nb(e,t,r,i){if(e>qb)throw Error(`outlen must be at most ${qb} (given: ${e})`);if(t){if(!(t instanceof Uint8Array))throw Error("key must be Uint8Array or Buffer");if(t.length>Lb)throw Error(`key size must be at most ${Lb} (given: ${t.length})`)}if(r){if(!(r instanceof Uint8Array))throw Error("salt must be Uint8Array or Buffer");if(r.length!==Ob)throw Error(`salt must be exactly ${Ob} (given: ${r.length}`)}if(i){if(!(i instanceof Uint8Array))throw Error("personal must be Uint8Array or Buffer");if(i.length!==Hb)throw Error(`salt must be exactly ${Hb} (given: ${i.length}`)}return new Fb(e,t,r,i)}const qb=64,Lb=64,Ob=16,Hb=16,jb=128,Gb=2,Wb=19,Vb=4294967295,Jb=4,Yb=4294967295,Zb=8,Xb=4294967295,$b=8,eg=4294967295,tg=4294967295,rg=32,ig=1024,ng=64,ag=205===new Uint8Array(new Uint16Array([43981]).buffer)[0];function sg(e,t,r){return e[r+0]=t,e[r+1]=t>>8,e[r+2]=t>>16,e[r+3]=t>>24,e}function og(e,t,r){if(t>Number.MAX_SAFE_INTEGER)throw Error("LE64: large numbers unsupported");let i=t;for(let t=r;t<r+7;t++)e[t]=i,i=(i-e[t])/256;return e}function cg(e,t,r){const i=new Uint8Array(64),n=new Uint8Array(4+t.length);if(sg(n,e,0),n.set(t,4),e<=64)return Nb(e).update(n).digest(r),r;const a=Math.ceil(e/32)-2;for(let e=0;e<a;e++)Nb(64).update(0===e?n:i).digest(i),r.set(i.subarray(0,32),32*e);const s=new Uint8Array(Nb(e-32*a).update(i).digest());return r.set(s,32*a),r}function ug(e,t,r,i){return e.fn.XOR(t.byteOffset,r.byteOffset,i.byteOffset),t}function hg(e,t,r,i){return e.fn.G(t.byteOffset,r.byteOffset,i.byteOffset,e.refs.gZ.byteOffset),i}function fg(e,t,r,i){return e.fn.G2(t.byteOffset,r.byteOffset,i.byteOffset,e.refs.gZ.byteOffset),i}function*dg(e,t,r,i,n,a,s,o){e.refs.prngTmp.fill(0);const c=e.refs.prngTmp.subarray(0,48);og(c,t,0),og(c,r,8),og(c,i,16),og(c,n,24),og(c,a,32),og(c,Gb,40);for(let t=1;t<=s;t++){og(e.refs.prngTmp,t,c.length);const r=fg(e,e.refs.ZERO1024,e.refs.prngTmp,e.refs.prngR);for(let e=1===t?8*o:0;e<r.length;e+=8)yield r.subarray(e,e+8)}return[]}const lg=1024,pg=64*lg;function yg(e,{memory:t,instance:r}){if(!ag)throw Error("BigEndian system not supported");const i=function({type:e,version:t,tagLength:r,password:i,salt:n,ad:a,secret:s,parallelism:o,memorySize:c,passes:u}){const h=(e,t,r,i)=>{if(t<r||t>i)throw Error(`${e} size should be between ${r} and ${i} bytes`)};if(e!==Gb||t!==Wb)throw Error("Unsupported type or version");return h("password",i,$b,Xb),h("salt",n,Zb,Yb),h("tag",r,Jb,Vb),h("memory",c,8*o,eg),a&&h("associated data",a,0,tg),s&&h("secret",s,0,rg),{type:e,version:t,tagLength:r,password:i,salt:n,ad:a,secret:s,lanes:o,memorySize:c,passes:u}}({type:Gb,version:Wb,...e}),{G:n,G2:a,xor:s,getLZ:o}=r.exports,c={},u={};u.G=n,u.G2=a,u.XOR=s;const h=4*i.lanes*Math.floor(i.memorySize/(4*i.lanes)),f=h*ig+10*lg;if(t.buffer.byteLength<f){const e=Math.ceil((f-t.buffer.byteLength)/pg);t.grow(e)}let d=0;c.gZ=new Uint8Array(t.buffer,d,ig),d+=c.gZ.length,c.prngR=new Uint8Array(t.buffer,d,ig),d+=c.prngR.length,c.prngTmp=new Uint8Array(t.buffer,d,ig),d+=c.prngTmp.length,c.ZERO1024=new Uint8Array(t.buffer,d,1024),d+=c.ZERO1024.length;const l=new Uint32Array(t.buffer,d,2);d+=l.length*Uint32Array.BYTES_PER_ELEMENT;const p={fn:u,refs:c},y=new Uint8Array(t.buffer,d,ig);d+=y.length;const b=new Uint8Array(t.buffer,d,i.memorySize*ig),g=new Uint8Array(t.buffer,0,d),m=function(e){const t=Nb(ng),r=new Uint8Array(4),i=new Uint8Array(24);sg(i,e.lanes,0),sg(i,e.tagLength,4),sg(i,e.memorySize,8),sg(i,e.passes,12),sg(i,e.version,16),sg(i,e.type,20);const n=[i];e.password?(n.push(sg(new Uint8Array(4),e.password.length,0)),n.push(e.password)):n.push(r);e.salt?(n.push(sg(new Uint8Array(4),e.salt.length,0)),n.push(e.salt)):n.push(r);e.secret?(n.push(sg(new Uint8Array(4),e.secret.length,0)),n.push(e.secret)):n.push(r);e.ad?(n.push(sg(new Uint8Array(4),e.ad.length,0)),n.push(e.ad)):n.push(r);t.update(function(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!(e[r]instanceof Uint8Array))throw Error("concatArrays: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let i=0;return e.forEach((e=>{r.set(e,i),i+=e.length})),r}(n));const a=t.digest();return new Uint8Array(a)}(i),w=h/i.lanes,A=Array(i.lanes).fill(null).map((()=>Array(w))),v=(e,t)=>(A[e][t]=b.subarray(e*w*1024+1024*t,e*w*1024+1024*t+ig),A[e][t]);for(let e=0;e<i.lanes;e++){const t=new Uint8Array(m.length+8);t.set(m),sg(t,0,m.length),sg(t,e,m.length+4),cg(ig,t,v(e,0)),sg(t,1,m.length),cg(ig,t,v(e,1))}const _=w/4;for(let e=0;e<i.passes;e++)for(let t=0;t<4;t++){const r=0===e&&t<=1;for(let n=0;n<i.lanes;n++){let a=0===t&&0===e?2:0;const s=r?dg(p,e,n,t,h,i.passes,_,a):null;for(;a<_;a++){const c=t*_+a,u=c>0?A[n][c-1]:A[n][w-1],h=r?s.next().value:u;o(l.byteOffset,h.byteOffset,n,i.lanes,e,t,a,4,_);const f=l[0],d=l[1];0===e&&v(n,c),hg(p,u,A[f][d],e>0?y:A[n][c]),e>0&&ug(p,A[n][c],y,A[n][c])}}}const k=A[0][w-1];for(let e=1;e<i.lanes;e++)ug(p,k,k,A[e][w-1]);const E=cg(i.tagLength,k,new Uint8Array(i.tagLength));return g.fill(0),t.grow(0),E}let bg;async function gg(e,t){const r=new WebAssembly.Memory({initial:1040,maximum:65536}),i=await async function(e,t,r){const i={env:{memory:e}};if(void 0===bg)try{return bg=!0,await t(i)}catch(e){bg=!1}return(bg?t:r)(i)}(r,e,t);return e=>yg(e,{instance:i.instance,memory:r})}function mg(t,r,i,n){function a(e,t,r){var i=r?WebAssembly.instantiateStreaming:WebAssembly.instantiate,n=r?WebAssembly.compileStreaming:WebAssembly.compile;return t?i(e,t):n(e)}var s=null;if(r)return a(fetch(r),n,!0);var o=e.atob(i),c=o.length;s=new Uint8Array(new ArrayBuffer(c));for(var u=0;u<c;u++)s[u]=o.charCodeAt(u);if(t){var h=new WebAssembly.Module(s);return n?new WebAssembly.Instance(h,n):h}return a(s,n,!1)}var wg=/*#__PURE__*/Object.freeze({__proto__:null,default:async()=>gg((e=>mg(0,null,"AGFzbQEAAAABKwdgBH9/f38AYAABf2AAAGADf39/AGAJf39/f39/f39/AX9gAX8AYAF/AX8CEwEDZW52Bm1lbW9yeQIBkAiAgAQDCgkCAwAABAEFBgEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwACAkcyAAMFZ2V0TFoABBlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAgJc3RhY2tTYXZlAAUMc3RhY2tSZXN0b3JlAAYKc3RhY2tBbGxvYwAHCQcBAEEBCwEACs0gCQMAAQtYAQJ/A0AgACAEQQR0IgNqIAIgA2r9AAQAIAEgA2r9AAQA/VH9CwQAIAAgA0EQciIDaiACIANq/QAEACABIANq/QAEAP1R/QsEACAEQQJqIgRBwABHDQALC7ceAgt7A38DQCADIBFBBHQiD2ogASAPav0ABAAgACAPav0ABAD9USIF/QsEACACIA9qIAX9CwQAIAMgD0EQciIPaiABIA9q/QAEACAAIA9q/QAEAP1RIgX9CwQAIAIgD2ogBf0LBAAgEUECaiIRQcAARw0ACwNAIAMgEEEHdGoiAEEQaiAA/QAEcCAA/QAEMCIFIAD9AAQQIgT9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAQgBP0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9USIJQSD9ywEgCUEg/c0B/VAiCSAA/QAEUCIG/c4BIAkgCf0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIGIAX9USIFQSj9ywEgBUEY/c0B/VAiCCAE/c4BIAggCP0NAAECAwgJCgsAAQIDCAkKCyAEIAT9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIKIAogCf1RIgVBMP3LASAFQRD9zQH9UCIFIAb9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgkgCP1RIgRBAf3LASAEQT/9zQH9UCIMIAD9AARgIAD9AAQgIgQgAP0ABAAiBv3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBv1RIghBIP3LASAIQSD9zQH9UCIIIABBQGsiAf0ABAAiB/3OASAIIAj9DQABAgMICQoLAAECAwgJCgsgByAH/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiByAE/VEiBEEo/csBIARBGP3NAf1QIgsgBv3OASALIAv9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAI/VEiBEEw/csBIARBEP3NAf1QIgQgB/3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgByAH/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCCAL/VEiB0EB/csBIAdBP/3NAf1QIg0gDf0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eHyIH/c4BIAcgB/0NAAECAwgJCgsAAQIDCAkKCyAKIAr9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIKIAQgBSAF/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/VEiC0Eg/csBIAtBIP3NAf1QIgsgCP3OASALIAv9DQABAgMICQoLAAECAwgJCgsgCCAI/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCCAH/VEiB0Eo/csBIAdBGP3NAf1QIgcgCv3OASAHIAf9DQABAgMICQoLAAECAwgJCgsgCiAK/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiDv0LBAAgACAGIA0gDCAM/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4fIgr9zgEgCiAK/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgYgBSAEIAT9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9USIFQSD9ywEgBUEg/c0B/VAiBSAJ/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAJIAn9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJIAr9USIEQSj9ywEgBEEY/c0B/VAiCiAG/c4BIAogCv0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIE/QsEACAAIAQgBf1RIgVBMP3LASAFQRD9zQH9UCIFIA4gC/1RIgRBMP3LASAEQRD9zQH9UCIEIAT9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwRgIAAgBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwRwIAEgBCAI/c4BIAQgBP0NAAECAwgJCgsAAQIDCAkKCyAIIAj9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIE/QsEACAAIAUgCf3OASAFIAX9DQABAgMICQoLAAECAwgJCgsgCSAJ/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCf0LBFAgACAEIAf9USIFQQH9ywEgBUE//c0B/VAiBSAJIAr9USIEQQH9ywEgBEE//c0B/VAiBCAE/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEICAAIAQgBSAF/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEMCAQQQFqIhBBCEcNAAtBACEQA0AgAyAQQQR0aiIAQYABaiAA/QAEgAcgAP0ABIADIgUgAP0ABIABIgT9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAQgBP0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9USIJQSD9ywEgCUEg/c0B/VAiCSAA/QAEgAUiBv3OASAJIAn9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAF/VEiBUEo/csBIAVBGP3NAf1QIgggBP3OASAIIAj9DQABAgMICQoLAAECAwgJCgsgBCAE/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCiAKIAn9USIFQTD9ywEgBUEQ/c0B/VAiBSAG/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJIAj9USIEQQH9ywEgBEE//c0B/VAiDCAA/QAEgAYgAP0ABIACIgQgAP0ABAAiBv3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBv1RIghBIP3LASAIQSD9zQH9UCIIIAD9AASABCIH/c4BIAggCP0NAAECAwgJCgsAAQIDCAkKCyAHIAf9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIHIAT9USIEQSj9ywEgBEEY/c0B/VAiCyAG/c4BIAsgC/0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIGIAj9USIEQTD9ywEgBEEQ/c0B/VAiBCAH/c4BIAQgBP0NAAECAwgJCgsAAQIDCAkKCyAHIAf9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIIIAv9USIHQQH9ywEgB0E//c0B/VAiDSAN/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4fIgf9zgEgByAH/Q0AAQIDCAkKCwABAgMICQoLIAogCv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgogBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9USILQSD9ywEgC0Eg/c0B/VAiCyAI/c4BIAsgC/0NAAECAwgJCgsAAQIDCAkKCyAIIAj9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIIIAf9USIHQSj9ywEgB0EY/c0B/VAiByAK/c4BIAcgB/0NAAECAwgJCgsAAQIDCAkKCyAKIAr9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIO/QsEACAAIAYgDSAMIAz9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh8iCv3OASAKIAr9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAFIAQgBP0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/1RIgVBIP3LASAFQSD9zQH9UCIFIAn9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAkgCf0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgkgCv1RIgRBKP3LASAEQRj9zQH9UCIKIAb9zgEgCiAK/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9CwQAIAAgBCAF/VEiBUEw/csBIAVBEP3NAf1QIgUgDiAL/VEiBEEw/csBIARBEP3NAf1QIgQgBP0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/0LBIAGIAAgBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwSAByAAIAQgCP3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgCCAI/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBP0LBIAEIAAgBSAJ/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAJIAn9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJ/QsEgAUgACAEIAf9USIFQQH9ywEgBUE//c0B/VAiBSAJIAr9USIEQQH9ywEgBEE//c0B/VAiBCAE/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEgAIgACAEIAUgBf0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/0LBIADIBBBAWoiEEEIRw0AC0EAIRADQCACIBBBBHQiAGoiASAAIANq/QAEACAB/QAEAP1R/QsEACACIABBEHIiAWoiDyABIANq/QAEACAP/QAEAP1R/QsEACACIABBIHIiAWoiDyABIANq/QAEACAP/QAEAP1R/QsEACACIABBMHIiAGoiASAAIANq/QAEACAB/QAEAP1R/QsEACAQQQRqIhBBwABHDQALCxYAIAAgASACIAMQAiAAIAIgAiADEAILewIBfwF+IAIhCSABNQIAIQogBCAFcgRAIAEoAgQgA3AhCQsgACAJNgIAIAAgB0EBayAFIAQbIAhsIAZBAWtBAEF/IAYbIAIgCUYbaiIBIAVBAWogCGxBACAEG2ogAa0gCiAKfkIgiH5CIIinQX9zaiAHIAhscDYCBCAACwQAIwALBgAgACQACxAAIwAgAGtBcHEiACQAIAALBQBBgAgL",e)),(e=>mg(0,null,"AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==",e)))});export{Ru as AEADEncryptedDataPacket,Fh as CleartextMessage,Eu as CompressedDataPacket,ua as KDFParams,yu as LiteralDataPacket,qu as MarkerPacket,Kh as Message,Au as OnePassSignaturePacket,_u as PacketList,_h as PrivateKey,vh as PublicKey,Tu as PublicKeyEncryptedSessionKeyPacket,zu as PublicKeyPacket,Lu as PublicSubkeyPacket,Hu as SecretKeyPacket,Vu as SecretSubkeyPacket,Zu as Signature,mu as SignaturePacket,bh as Subkey,Ku as SymEncryptedIntegrityProtectedDataPacket,Qu as SymEncryptedSessionKeyPacket,Nu as SymmetricallyEncryptedDataPacket,Ju as TrustPacket,gn as UnparseablePacket,Ou as UserAttributePacket,Wu as UserIDPacket,le as armor,ne as config,qh as createCleartextMessage,Qh as createMessage,Vh as decrypt,jh as decryptKey,$h as decryptSessionKeys,Wh as encrypt,Gh as encryptKey,Xh as encryptSessionKey,ie as enums,Lh as generateKey,Zh as generateSessionKey,Nh as readCleartextMessage,Ch as readKey,Bh as readKeys,Th as readMessage,Ih as readPrivateKey,Ph as readPrivateKeys,Xu as readSignature,Oh as reformatKey,Hh as revokeKey,Jh as sign,de as unarmor,Yh as verify};
|
|
17
17
|
//# sourceMappingURL=openpgp.min.mjs.map
|