@protontech/openpgp 6.0.0-alpha.0 → 6.0.0-alpha.1.patch.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.
Files changed (45) hide show
  1. package/README.md +6 -6
  2. package/dist/lightweight/argon2id.min.mjs +1 -1
  3. package/dist/lightweight/argon2id.min.mjs.map +1 -1
  4. package/dist/lightweight/argon2id.mjs +1 -1
  5. package/dist/lightweight/bn.interface.min.mjs +2 -2
  6. package/dist/lightweight/bn.interface.min.mjs.map +1 -1
  7. package/dist/lightweight/bn.interface.mjs +3460 -2
  8. package/dist/lightweight/interface.min.mjs +1 -1
  9. package/dist/lightweight/interface.min.mjs.map +1 -1
  10. package/dist/lightweight/interface.mjs +1 -1
  11. package/dist/lightweight/legacy_ciphers.min.mjs +3 -0
  12. package/dist/lightweight/legacy_ciphers.min.mjs.map +1 -0
  13. package/dist/lightweight/legacy_ciphers.mjs +1829 -0
  14. package/dist/lightweight/native.interface.min.mjs +1 -1
  15. package/dist/lightweight/native.interface.min.mjs.map +1 -1
  16. package/dist/lightweight/native.interface.mjs +1 -1
  17. package/dist/lightweight/noble_curves.min.mjs +11 -11
  18. package/dist/lightweight/noble_curves.min.mjs.map +1 -1
  19. package/dist/lightweight/noble_curves.mjs +84 -55
  20. package/dist/lightweight/noble_hashes.min.mjs +2 -2
  21. package/dist/lightweight/noble_hashes.min.mjs.map +1 -1
  22. package/dist/lightweight/noble_hashes.mjs +1 -2
  23. package/dist/lightweight/openpgp.min.mjs +2 -2
  24. package/dist/lightweight/openpgp.min.mjs.map +1 -1
  25. package/dist/lightweight/openpgp.mjs +1373 -3341
  26. package/dist/lightweight/sha3.min.mjs +3 -3
  27. package/dist/lightweight/sha3.min.mjs.map +1 -1
  28. package/dist/lightweight/sha3.mjs +51 -37
  29. package/dist/node/openpgp.cjs +7887 -8057
  30. package/dist/node/openpgp.min.cjs +11 -11
  31. package/dist/node/openpgp.min.cjs.map +1 -1
  32. package/dist/node/openpgp.min.mjs +11 -11
  33. package/dist/node/openpgp.min.mjs.map +1 -1
  34. package/dist/node/openpgp.mjs +7886 -8058
  35. package/dist/openpgp.js +7940 -8020
  36. package/dist/openpgp.min.js +11 -11
  37. package/dist/openpgp.min.js.map +1 -1
  38. package/dist/openpgp.min.mjs +11 -11
  39. package/dist/openpgp.min.mjs.map +1 -1
  40. package/dist/openpgp.mjs +7939 -8021
  41. package/openpgp.d.ts +58 -43
  42. package/package.json +32 -34
  43. package/dist/lightweight/bn.min.mjs +0 -3
  44. package/dist/lightweight/bn.min.mjs.map +0 -1
  45. package/dist/lightweight/bn.mjs +0 -3449
@@ -1,3 +1,3 @@
1
- /*! OpenPGP.js v6.0.0-alpha.0 - 2023-12-12 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
1
+ /*! OpenPGP.js v6.0.0-alpha.1.patch.0 - 2024-03-01 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
2
2
  "undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;import{B as e}from"./interface.min.mjs";class t extends e{constructor(e){if(super(),void 0===e)throw Error("Invalid BigInteger input");if(e instanceof Uint8Array){const t="0123456789ABCDEF";let i="";e.forEach((e=>{i+=t[e>>4]+t[15&e]})),this.value=BigInt("0x0"+i)}else this.value=BigInt(e)}clone(){return new t(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,i){if(i.isZero())throw Error("Modulo cannot be zero");if(i.isOne())return new t(0);if(e.isNegative())throw Error("Unsopported negative exponent");let n=e.value,r=this.value;r%=i.value;let s=BigInt(1);for(;n>BigInt(0);){const e=n&BigInt(1);n>>=BigInt(1);const t=s*r%i.value;s=e?t:s,r=r*r%i.value}return new t(s)}modInv(e){const{gcd:t,x:i}=this._egcd(e);if(!t.isOne())throw Error("Inverse does not exist");return i.add(e).mod(e)}idiv(e){return this.value/=e.value,this}div(e){return this.clone().idiv(e)}_egcd(e){let i=BigInt(0),n=BigInt(1),r=BigInt(1),s=BigInt(0),u=this.abs().value,l=e.abs().value;const a=this.isNegative(),o=e.isNegative();for(;l!==BigInt(0);){const e=u/l;let t=i;i=r-e*i,r=t,t=n,n=s-e*n,s=t,t=l,l=u%l,u=t}return{x:new t(a?-r:r),y:new t(o?-s:s),gcd:new t(u)}}gcd(e){let i=this.value,n=e.value;for(;n!==BigInt(0);){const e=n;n=i%n,i=e}return new t(i)}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)}ixor(e){return this.value^=e.value,this}xor(e){return this.clone().ixor(e)}ibitwiseAnd(e){return this.value&=e.value,this}bitwiseAnd(e){return this.clone().ibitwiseAnd(e)}ibitwiseOr(e){return this.value|=e.value,this}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}negate(){const e=this.clone();return 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 t(0),i=new t(1),n=new t(-1),r=this.isNegative()?n:e;let s=1;const u=this.clone();for(;!u.irightShift(i).equal(r);)s++;return s}byteLength(){const e=new t(0),i=new t(-1),n=this.isNegative()?i:e,r=new t(8);let s=1;const u=this.clone();for(;!u.irightShift(r).equal(n);)s++;return s}toUint8Array(e="be",t){let i=this.value.toString(16);i.length%2==1&&(i="0"+i);const n=i.length/2,r=new Uint8Array(t||n),s=t?t-n:0;let u=0;for(;u<n;)r[u+s]=parseInt(i.slice(2*u,2*u+2),16),u++;return"be"!==e&&r.reverse(),r}}export{t as default};
3
3
  //# sourceMappingURL=native.interface.min.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.interface.min.mjs","sources":["../../node_modules/@openpgp/noble-hashes/esm/biginteger/native.interface.js"],"sourcesContent":["/**\n * @fileoverview\n * BigInteger implementation of basic operations\n * that wraps the native BigInt library.\n * Operations are not constant time,\n * but we try and limit timing leakage where we can\n * @module biginteger/native\n * @private\n */\nimport AbstractBigInteger from './interface.js';\n/**\n * @private\n */\nexport default class NativeBigInteger extends AbstractBigInteger {\n /**\n * Get a BigInteger (input must be big endian for strings and arrays)\n * @param {Number|String|Uint8Array} n - Value to convert\n * @throws {Error} on null or undefined input\n */\n constructor(n) {\n super(); // noop, needed for TS checks only\n if (n === undefined) {\n throw new Error('Invalid BigInteger input');\n }\n if (n instanceof Uint8Array) {\n const bytes = n;\n const hexAlphabet = '0123456789ABCDEF';\n let s = '';\n bytes.forEach((v) => {\n s += hexAlphabet[v >> 4] + hexAlphabet[v & 15];\n });\n this.value = BigInt('0x0' + s);\n }\n else {\n this.value = BigInt(n);\n }\n }\n clone() {\n return new NativeBigInteger(this.value);\n }\n /**\n * BigInteger increment in place\n */\n iinc() {\n this.value++;\n return this;\n }\n /**\n * BigInteger increment\n * @returns {BigInteger} this + 1.\n */\n inc() {\n return this.clone().iinc();\n }\n /**\n * BigInteger decrement in place\n */\n idec() {\n this.value--;\n return this;\n }\n /**\n * BigInteger decrement\n * @returns {BigInteger} this - 1.\n */\n dec() {\n return this.clone().idec();\n }\n /**\n * BigInteger addition in place\n * @param {BigInteger} x - Value to add\n */\n iadd(x) {\n this.value += x.value;\n return this;\n }\n /**\n * BigInteger addition\n * @param {BigInteger} x - Value to add\n * @returns {BigInteger} this + x.\n */\n add(x) {\n return this.clone().iadd(x);\n }\n /**\n * BigInteger subtraction in place\n * @param {BigInteger} x - Value to subtract\n */\n isub(x) {\n this.value -= x.value;\n return this;\n }\n /**\n * BigInteger subtraction\n * @param {BigInteger} x - Value to subtract\n * @returns {BigInteger} this - x.\n */\n sub(x) {\n return this.clone().isub(x);\n }\n /**\n * BigInteger multiplication in place\n * @param {BigInteger} x - Value to multiply\n */\n imul(x) {\n this.value *= x.value;\n return this;\n }\n /**\n * BigInteger multiplication\n * @param {BigInteger} x - Value to multiply\n * @returns {BigInteger} this * x.\n */\n mul(x) {\n return this.clone().imul(x);\n }\n /**\n * Compute value modulo m, in place\n * @param {BigInteger} m - Modulo\n */\n imod(m) {\n this.value %= m.value;\n if (this.isNegative()) {\n this.iadd(m);\n }\n return this;\n }\n /**\n * Compute value modulo m\n * @param {BigInteger} m - Modulo\n * @returns {BigInteger} this mod m.\n */\n mod(m) {\n return this.clone().imod(m);\n }\n /**\n * Compute modular exponentiation using square and multiply\n * @param {BigInteger} e - Exponent\n * @param {BigInteger} n - Modulo\n * @returns {BigInteger} this ** e mod n.\n */\n modExp(e, n) {\n if (n.isZero())\n throw Error('Modulo cannot be zero');\n if (n.isOne())\n return new NativeBigInteger(0);\n if (e.isNegative())\n throw Error('Unsopported negative exponent');\n let exp = e.value;\n let x = this.value;\n x %= n.value;\n let r = BigInt(1);\n while (exp > BigInt(0)) {\n const lsb = exp & BigInt(1);\n exp >>= BigInt(1); // e / 2\n // Always compute multiplication step, to reduce timing leakage\n const rx = (r * x) % n.value;\n // Update r only if lsb is 1 (odd exponent)\n r = lsb ? rx : r;\n x = (x * x) % n.value; // Square\n }\n return new NativeBigInteger(r);\n }\n /**\n * Compute the inverse of this value modulo n\n * Note: this and and n must be relatively prime\n * @param {BigInteger} n - Modulo\n * @returns {BigInteger} x such that this*x = 1 mod n\n * @throws {Error} if the inverse does not exist\n */\n modInv(n) {\n const { gcd, x } = this._egcd(n);\n if (!gcd.isOne()) {\n throw new Error('Inverse does not exist');\n }\n return x.add(n).mod(n);\n }\n /**\n * BigInteger division, in place\n * @param {BigInteger} n - Value to divide\n */\n idiv(n) {\n this.value /= n.value;\n return this;\n }\n /**\n * BigInteger division\n * @param {BigInteger} n - Value to divide\n * @returns {BigInteger} this divded by n.\n */\n div(n) {\n return this.clone().idiv(n);\n }\n /**\n * Extended Eucleadian algorithm (http://anh.cs.luc.edu/331/notes/xgcd.pdf)\n * Given a = this and b, compute (x, y) such that ax + by = gdc(a, b).\n * Negative numbers are also supported.\n * @param {BigInteger} b - Second operand\n * @returns {{ gcd, x, y: BigInteger }}\n */\n _egcd(bInput) {\n let x = BigInt(0);\n let y = BigInt(1);\n let xPrev = BigInt(1);\n let yPrev = BigInt(0);\n // Deal with negative numbers: run algo over absolute values,\n // and \"move\" the sign to the returned x and/or y.\n // See https://math.stackexchange.com/questions/37806/extended-euclidean-algorithm-with-negative-numbers\n let a = this.abs().value;\n let b = bInput.abs().value;\n const aNegated = this.isNegative();\n const bNegated = bInput.isNegative();\n while (b !== BigInt(0)) {\n const q = a / b;\n let tmp = x;\n x = xPrev - q * x;\n xPrev = tmp;\n tmp = y;\n y = yPrev - q * y;\n yPrev = tmp;\n tmp = b;\n b = a % b;\n a = tmp;\n }\n return {\n x: new NativeBigInteger(aNegated ? -xPrev : xPrev),\n y: new NativeBigInteger(bNegated ? -yPrev : yPrev),\n gcd: new NativeBigInteger(a),\n };\n }\n /**\n * Compute greatest common divisor between this and n\n * @param {BigInteger} b - Operand\n * @returns {BigInteger} gcd\n */\n gcd(bInput) {\n let a = this.value;\n let b = bInput.value;\n while (b !== BigInt(0)) {\n const tmp = b;\n b = a % b;\n a = tmp;\n }\n return new NativeBigInteger(a);\n }\n /**\n * Shift this to the left by x, in place\n * @param {BigInteger} x - Shift value\n */\n ileftShift(x) {\n this.value <<= x.value;\n return this;\n }\n /**\n * Shift this to the left by x\n * @param {BigInteger} x - Shift value\n * @returns {BigInteger} this << x.\n */\n leftShift(x) {\n return this.clone().ileftShift(x);\n }\n /**\n * Shift this to the right by x, in place\n * @param {BigInteger} x - Shift value\n */\n irightShift(x) {\n this.value >>= x.value;\n return this;\n }\n /**\n * Shift this to the right by x\n * @param {BigInteger} x - Shift value\n * @returns {BigInteger} this >> x.\n */\n rightShift(x) {\n return this.clone().irightShift(x);\n }\n ixor(x) {\n this.value ^= x.value;\n return this;\n }\n xor(x) {\n return this.clone().ixor(x);\n }\n ibitwiseAnd(x) {\n this.value &= x.value;\n return this;\n }\n bitwiseAnd(x) {\n return this.clone().ibitwiseAnd(x);\n }\n ibitwiseOr(x) {\n this.value |= x.value;\n return this;\n }\n /**\n * Whether this value is equal to x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n equal(x) {\n return this.value === x.value;\n }\n /**\n * Whether this value is less than x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n lt(x) {\n return this.value < x.value;\n }\n /**\n * Whether this value is less than or equal to x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n lte(x) {\n return this.value <= x.value;\n }\n /**\n * Whether this value is greater than x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n gt(x) {\n return this.value > x.value;\n }\n /**\n * Whether this value is greater than or equal to x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n gte(x) {\n return this.value >= x.value;\n }\n isZero() {\n return this.value === BigInt(0);\n }\n isOne() {\n return this.value === BigInt(1);\n }\n isNegative() {\n return this.value < BigInt(0);\n }\n isEven() {\n return !(this.value & BigInt(1));\n }\n abs() {\n const res = this.clone();\n if (this.isNegative()) {\n res.value = -res.value;\n }\n return res;\n }\n negate() {\n const res = this.clone();\n res.value = -res.value;\n return res;\n }\n /**\n * Get this value as a string\n * @returns {String} this value.\n */\n toString() {\n return this.value.toString();\n }\n /**\n * Get this value as an exact Number (max 53 bits)\n * Fails if this value is too large\n * @returns {Number}\n */\n toNumber() {\n const number = Number(this.value);\n if (number > Number.MAX_SAFE_INTEGER) {\n // We throw and error to conform with the bn.js implementation\n throw new Error('Number can only safely store up to 53 bits');\n }\n return number;\n }\n /**\n * Get value of i-th bit\n * @param {Number} i - Bit index\n * @returns {Number} Bit value.\n */\n getBit(i) {\n const bit = (this.value >> BigInt(i)) & BigInt(1);\n return bit === BigInt(0) ? 0 : 1;\n }\n /**\n * Compute bit length\n * @returns {Number} Bit length.\n */\n bitLength() {\n const zero = new NativeBigInteger(0);\n const one = new NativeBigInteger(1);\n const negOne = new NativeBigInteger(-1);\n // -1n >> -1n is -1n\n // 1n >> 1n is 0n\n const target = this.isNegative() ? negOne : zero;\n let bitlen = 1;\n const tmp = this.clone();\n while (!tmp.irightShift(one).equal(target)) {\n bitlen++;\n }\n return bitlen;\n }\n /**\n * Compute byte length\n * @returns {Number} Byte length.\n */\n byteLength() {\n const zero = new NativeBigInteger(0);\n const negOne = new NativeBigInteger(-1);\n const target = this.isNegative() ? negOne : zero;\n const eight = new NativeBigInteger(8);\n let len = 1;\n const tmp = this.clone();\n while (!tmp.irightShift(eight).equal(target)) {\n len++;\n }\n return len;\n }\n /**\n * Get Uint8Array representation of this number\n * @param {String} endian - Endianess of output array (defaults to 'be')\n * @param {Number} length - Of output array\n * @returns {Uint8Array}\n */\n toUint8Array(endian = 'be', length) {\n // we get and parse the hex string (https://coolaj86.com/articles/convert-js-bigints-to-typedarrays/)\n // this is faster than shift+mod iterations\n let hex = this.value.toString(16);\n if (hex.length % 2 === 1) {\n hex = '0' + hex;\n }\n const rawLength = hex.length / 2;\n const bytes = new Uint8Array(length || rawLength);\n // parse hex\n const offset = length ? length - rawLength : 0;\n let i = 0;\n while (i < rawLength) {\n bytes[i + offset] = parseInt(hex.slice(2 * i, 2 * i + 2), 16);\n i++;\n }\n if (endian !== 'be') {\n bytes.reverse();\n }\n return bytes;\n }\n}\n//# sourceMappingURL=native.interface.js.map"],"names":["NativeBigInteger","AbstractBigInteger","constructor","n","super","undefined","Error","Uint8Array","hexAlphabet","s","forEach","v","this","value","BigInt","clone","iinc","inc","idec","dec","iadd","x","add","isub","sub","imul","mul","imod","m","isNegative","mod","modExp","e","isZero","isOne","exp","r","lsb","rx","modInv","gcd","_egcd","idiv","div","bInput","y","xPrev","yPrev","a","abs","b","aNegated","bNegated","q","tmp","ileftShift","leftShift","irightShift","rightShift","ixor","xor","ibitwiseAnd","bitwiseAnd","ibitwiseOr","equal","lt","lte","gt","gte","isEven","res","negate","toString","toNumber","number","Number","MAX_SAFE_INTEGER","getBit","i","bitLength","zero","one","negOne","target","bitlen","byteLength","eight","len","toUint8Array","endian","length","hex","rawLength","bytes","offset","parseInt","slice","reverse"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"native.interface.min.mjs","sources":["../../node_modules/@openpgp/noble-hashes/esm/biginteger/native.interface.js"],"sourcesContent":["/**\n * @fileoverview\n * BigInteger implementation of basic operations\n * that wraps the native BigInt library.\n * Operations are not constant time,\n * but we try and limit timing leakage where we can\n * @module biginteger/native\n * @private\n */\nimport AbstractBigInteger from './interface.js';\n/**\n * @private\n */\nexport default class NativeBigInteger extends AbstractBigInteger {\n /**\n * Get a BigInteger (input must be big endian for strings and arrays)\n * @param {Number|String|Uint8Array} n - Value to convert\n * @throws {Error} on null or undefined input\n */\n constructor(n) {\n super(); // noop, needed for TS checks only\n if (n === undefined) {\n throw new Error('Invalid BigInteger input');\n }\n if (n instanceof Uint8Array) {\n const bytes = n;\n const hexAlphabet = '0123456789ABCDEF';\n let s = '';\n bytes.forEach((v) => {\n s += hexAlphabet[v >> 4] + hexAlphabet[v & 15];\n });\n this.value = BigInt('0x0' + s);\n }\n else {\n this.value = BigInt(n);\n }\n }\n clone() {\n return new NativeBigInteger(this.value);\n }\n /**\n * BigInteger increment in place\n */\n iinc() {\n this.value++;\n return this;\n }\n /**\n * BigInteger increment\n * @returns {BigInteger} this + 1.\n */\n inc() {\n return this.clone().iinc();\n }\n /**\n * BigInteger decrement in place\n */\n idec() {\n this.value--;\n return this;\n }\n /**\n * BigInteger decrement\n * @returns {BigInteger} this - 1.\n */\n dec() {\n return this.clone().idec();\n }\n /**\n * BigInteger addition in place\n * @param {BigInteger} x - Value to add\n */\n iadd(x) {\n this.value += x.value;\n return this;\n }\n /**\n * BigInteger addition\n * @param {BigInteger} x - Value to add\n * @returns {BigInteger} this + x.\n */\n add(x) {\n return this.clone().iadd(x);\n }\n /**\n * BigInteger subtraction in place\n * @param {BigInteger} x - Value to subtract\n */\n isub(x) {\n this.value -= x.value;\n return this;\n }\n /**\n * BigInteger subtraction\n * @param {BigInteger} x - Value to subtract\n * @returns {BigInteger} this - x.\n */\n sub(x) {\n return this.clone().isub(x);\n }\n /**\n * BigInteger multiplication in place\n * @param {BigInteger} x - Value to multiply\n */\n imul(x) {\n this.value *= x.value;\n return this;\n }\n /**\n * BigInteger multiplication\n * @param {BigInteger} x - Value to multiply\n * @returns {BigInteger} this * x.\n */\n mul(x) {\n return this.clone().imul(x);\n }\n /**\n * Compute value modulo m, in place\n * @param {BigInteger} m - Modulo\n */\n imod(m) {\n this.value %= m.value;\n if (this.isNegative()) {\n this.iadd(m);\n }\n return this;\n }\n /**\n * Compute value modulo m\n * @param {BigInteger} m - Modulo\n * @returns {BigInteger} this mod m.\n */\n mod(m) {\n return this.clone().imod(m);\n }\n /**\n * Compute modular exponentiation using square and multiply\n * @param {BigInteger} e - Exponent\n * @param {BigInteger} n - Modulo\n * @returns {BigInteger} this ** e mod n.\n */\n modExp(e, n) {\n if (n.isZero())\n throw Error('Modulo cannot be zero');\n if (n.isOne())\n return new NativeBigInteger(0);\n if (e.isNegative())\n throw Error('Unsopported negative exponent');\n let exp = e.value;\n let x = this.value;\n x %= n.value;\n let r = BigInt(1);\n while (exp > BigInt(0)) {\n const lsb = exp & BigInt(1);\n exp >>= BigInt(1); // e / 2\n // Always compute multiplication step, to reduce timing leakage\n const rx = (r * x) % n.value;\n // Update r only if lsb is 1 (odd exponent)\n r = lsb ? rx : r;\n x = (x * x) % n.value; // Square\n }\n return new NativeBigInteger(r);\n }\n /**\n * Compute the inverse of this value modulo n\n * Note: this and and n must be relatively prime\n * @param {BigInteger} n - Modulo\n * @returns {BigInteger} x such that this*x = 1 mod n\n * @throws {Error} if the inverse does not exist\n */\n modInv(n) {\n const { gcd, x } = this._egcd(n);\n if (!gcd.isOne()) {\n throw new Error('Inverse does not exist');\n }\n return x.add(n).mod(n);\n }\n /**\n * BigInteger division, in place\n * @param {BigInteger} n - Value to divide\n */\n idiv(n) {\n this.value /= n.value;\n return this;\n }\n /**\n * BigInteger division\n * @param {BigInteger} n - Value to divide\n * @returns {BigInteger} this divded by n.\n */\n div(n) {\n return this.clone().idiv(n);\n }\n /**\n * Extended Eucleadian algorithm (http://anh.cs.luc.edu/331/notes/xgcd.pdf)\n * Given a = this and b, compute (x, y) such that ax + by = gdc(a, b).\n * Negative numbers are also supported.\n * @param {BigInteger} b - Second operand\n * @returns {{ gcd, x, y: BigInteger }}\n */\n _egcd(bInput) {\n let x = BigInt(0);\n let y = BigInt(1);\n let xPrev = BigInt(1);\n let yPrev = BigInt(0);\n // Deal with negative numbers: run algo over absolute values,\n // and \"move\" the sign to the returned x and/or y.\n // See https://math.stackexchange.com/questions/37806/extended-euclidean-algorithm-with-negative-numbers\n let a = this.abs().value;\n let b = bInput.abs().value;\n const aNegated = this.isNegative();\n const bNegated = bInput.isNegative();\n while (b !== BigInt(0)) {\n const q = a / b;\n let tmp = x;\n x = xPrev - q * x;\n xPrev = tmp;\n tmp = y;\n y = yPrev - q * y;\n yPrev = tmp;\n tmp = b;\n b = a % b;\n a = tmp;\n }\n return {\n x: new NativeBigInteger(aNegated ? -xPrev : xPrev),\n y: new NativeBigInteger(bNegated ? -yPrev : yPrev),\n gcd: new NativeBigInteger(a),\n };\n }\n /**\n * Compute greatest common divisor between this and n\n * @param {BigInteger} b - Operand\n * @returns {BigInteger} gcd\n */\n gcd(bInput) {\n let a = this.value;\n let b = bInput.value;\n while (b !== BigInt(0)) {\n const tmp = b;\n b = a % b;\n a = tmp;\n }\n return new NativeBigInteger(a);\n }\n /**\n * Shift this to the left by x, in place\n * @param {BigInteger} x - Shift value\n */\n ileftShift(x) {\n this.value <<= x.value;\n return this;\n }\n /**\n * Shift this to the left by x\n * @param {BigInteger} x - Shift value\n * @returns {BigInteger} this << x.\n */\n leftShift(x) {\n return this.clone().ileftShift(x);\n }\n /**\n * Shift this to the right by x, in place\n * @param {BigInteger} x - Shift value\n */\n irightShift(x) {\n this.value >>= x.value;\n return this;\n }\n /**\n * Shift this to the right by x\n * @param {BigInteger} x - Shift value\n * @returns {BigInteger} this >> x.\n */\n rightShift(x) {\n return this.clone().irightShift(x);\n }\n ixor(x) {\n this.value ^= x.value;\n return this;\n }\n xor(x) {\n return this.clone().ixor(x);\n }\n ibitwiseAnd(x) {\n this.value &= x.value;\n return this;\n }\n bitwiseAnd(x) {\n return this.clone().ibitwiseAnd(x);\n }\n ibitwiseOr(x) {\n this.value |= x.value;\n return this;\n }\n /**\n * Whether this value is equal to x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n equal(x) {\n return this.value === x.value;\n }\n /**\n * Whether this value is less than x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n lt(x) {\n return this.value < x.value;\n }\n /**\n * Whether this value is less than or equal to x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n lte(x) {\n return this.value <= x.value;\n }\n /**\n * Whether this value is greater than x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n gt(x) {\n return this.value > x.value;\n }\n /**\n * Whether this value is greater than or equal to x\n * @param {BigInteger} x\n * @returns {Boolean}\n */\n gte(x) {\n return this.value >= x.value;\n }\n isZero() {\n return this.value === BigInt(0);\n }\n isOne() {\n return this.value === BigInt(1);\n }\n isNegative() {\n return this.value < BigInt(0);\n }\n isEven() {\n return !(this.value & BigInt(1));\n }\n abs() {\n const res = this.clone();\n if (this.isNegative()) {\n res.value = -res.value;\n }\n return res;\n }\n negate() {\n const res = this.clone();\n res.value = -res.value;\n return res;\n }\n /**\n * Get this value as a string\n * @returns {String} this value.\n */\n toString() {\n return this.value.toString();\n }\n /**\n * Get this value as an exact Number (max 53 bits)\n * Fails if this value is too large\n * @returns {Number}\n */\n toNumber() {\n const number = Number(this.value);\n if (number > Number.MAX_SAFE_INTEGER) {\n // We throw and error to conform with the bn.js implementation\n throw new Error('Number can only safely store up to 53 bits');\n }\n return number;\n }\n /**\n * Get value of i-th bit\n * @param {Number} i - Bit index\n * @returns {Number} Bit value.\n */\n getBit(i) {\n const bit = (this.value >> BigInt(i)) & BigInt(1);\n return bit === BigInt(0) ? 0 : 1;\n }\n /**\n * Compute bit length\n * @returns {Number} Bit length.\n */\n bitLength() {\n const zero = new NativeBigInteger(0);\n const one = new NativeBigInteger(1);\n const negOne = new NativeBigInteger(-1);\n // -1n >> -1n is -1n\n // 1n >> 1n is 0n\n const target = this.isNegative() ? negOne : zero;\n let bitlen = 1;\n const tmp = this.clone();\n while (!tmp.irightShift(one).equal(target)) {\n bitlen++;\n }\n return bitlen;\n }\n /**\n * Compute byte length\n * @returns {Number} Byte length.\n */\n byteLength() {\n const zero = new NativeBigInteger(0);\n const negOne = new NativeBigInteger(-1);\n const target = this.isNegative() ? negOne : zero;\n const eight = new NativeBigInteger(8);\n let len = 1;\n const tmp = this.clone();\n while (!tmp.irightShift(eight).equal(target)) {\n len++;\n }\n return len;\n }\n /**\n * Get Uint8Array representation of this number\n * @param {String} endian - Endianess of output array (defaults to 'be')\n * @param {Number} length - Of output array\n * @returns {Uint8Array}\n */\n toUint8Array(endian = 'be', length) {\n // we get and parse the hex string (https://coolaj86.com/articles/convert-js-bigints-to-typedarrays/)\n // this is faster than shift+mod iterations\n let hex = this.value.toString(16);\n if (hex.length % 2 === 1) {\n hex = '0' + hex;\n }\n const rawLength = hex.length / 2;\n const bytes = new Uint8Array(length || rawLength);\n // parse hex\n const offset = length ? length - rawLength : 0;\n let i = 0;\n while (i < rawLength) {\n bytes[i + offset] = parseInt(hex.slice(2 * i, 2 * i + 2), 16);\n i++;\n }\n if (endian !== 'be') {\n bytes.reverse();\n }\n return bytes;\n }\n}\n//# sourceMappingURL=native.interface.js.map"],"names":["NativeBigInteger","AbstractBigInteger","constructor","n","super","undefined","Error","Uint8Array","hexAlphabet","s","forEach","v","this","value","BigInt","clone","iinc","inc","idec","dec","iadd","x","add","isub","sub","imul","mul","imod","m","isNegative","mod","modExp","e","isZero","isOne","exp","r","lsb","rx","modInv","gcd","_egcd","idiv","div","bInput","y","xPrev","yPrev","a","abs","b","aNegated","bNegated","q","tmp","ileftShift","leftShift","irightShift","rightShift","ixor","xor","ibitwiseAnd","bitwiseAnd","ibitwiseOr","equal","lt","lte","gt","gte","isEven","res","negate","toString","toNumber","number","Number","MAX_SAFE_INTEGER","getBit","i","bitLength","zero","one","negOne","target","bitlen","byteLength","eight","len","toUint8Array","endian","length","hex","rawLength","bytes","offset","parseInt","slice","reverse"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- /*! OpenPGP.js v6.0.0-alpha.0 - 2023-12-12 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
1
+ /*! OpenPGP.js v6.0.0-alpha.1.patch.0 - 2024-03-01 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
2
2
  const globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
3
3
 
4
4
  import { B as BigInteger } from './interface.mjs';
@@ -1,14 +1,14 @@
1
- /*! OpenPGP.js v6.0.0-alpha.0 - 2023-12-12 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
2
- "undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;import{H as e,h as t,t as n,e as r,b as f,c as i,r as o,s,a,d as c,w as u,u as d,f as l}from"./sha3.min.mjs";import{B as h}from"./interface.min.mjs";import"./native.interface.min.mjs";import"./bn.interface.min.mjs";import"./bn.min.mjs";class b extends e{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,t(e);const f=n(r);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,o=new Uint8Array(i);o.set(f.length>i?e.create().update(f).digest():f);for(let e=0;e<o.length;e++)o[e]^=54;this.iHash.update(o),this.oHash=e.create();for(let e=0;e<o.length;e++)o[e]^=106;this.oHash.update(o),o.fill(0)}update(e){return r(this),this.iHash.update(e),this}digestInto(e){r(this),f(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:r,destroyed:f,blockLen:i,outputLen:o}=this;return e.finished=r,e.destroyed=f,e.blockLen=i,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const m=(e,t,n)=>new b(e,t).update(n).digest();m.create=(e,t)=>new b(e,t)
3
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */;const w=Object.freeze(h.new(2)),y=e=>e instanceof Uint8Array,p=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function g(e){if(!y(e))throw Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=p[e[n]];return t}function E(e){const t=e instanceof h?g(e.toUint8Array()):e.toString(16);return 1&t.length?"0"+t:t}function x(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);const t=e.length;if(t%2)throw Error("padded hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(t/2);for(let t=0;t<n.length;t++){const r=2*t,f=e.slice(r,r+2),i=Number.parseInt(f,16);if(Number.isNaN(i)||i<0)throw Error("Invalid byte sequence");n[t]=i}return n}function B(e){return h.new(e)}function S(e){if(!y(e))throw Error("Uint8Array expected");return h.new(e.slice().reverse())}function v(e,t){return e.toUint8Array("be",t)}function O(e,t){return e.toUint8Array("le",t)}function A(e,t,n){let r;if("string"==typeof t)try{r=x(t)}catch(n){throw Error(`${e} must be valid hex string, got "${t}". Cause: ${n}`)}else{if(!y(t))throw Error(e+" must be hex string or Uint8Array");r=new Uint8Array(t)}const f=r.length;if("number"==typeof n&&f!==n)throw Error(`${e} expected ${n} bytes, got ${f}`);return r}function z(...e){const t=new Uint8Array(e.reduce(((e,t)=>e+t.length),0));let n=0;return e.forEach((e=>{if(!y(e))throw Error("Uint8Array expected");t.set(e,n),n+=e.length})),t}const q=e=>w.leftShift(h.new(e-1)).idec(),R=e=>new Uint8Array(e),j=e=>Uint8Array.from(e);function N(e,t,n){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof n)throw Error("hmacFn must be a function");let r=R(e),f=R(e),i=0;const o=()=>{r.fill(1),f.fill(0),i=0},s=(...e)=>n(f,r,...e),a=(e=R())=>{f=s(j([0]),e),r=s(),0!==e.length&&(f=s(j([1]),e),r=s())},c=()=>{if(i++>=1e3)throw Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){r=s();const t=r.slice();n.push(t),e+=r.length}return z(...n)};return(e,t)=>{let n;for(o(),a(e);!(n=t(c()));)a();return o(),n}}const I={BigInteger:e=>e instanceof h,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function L(e,t,n={}){const r=(t,n,r)=>{const f=I[n];if("function"!=typeof f)throw Error(`Invalid validator "${n}", expected function`);const i=e[t];if(!(r&&void 0===i||f(i,e)))throw Error(`Invalid param ${t+""}=${i} (${typeof i}), expected ${n}`)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e}var P=/*#__PURE__*/Object.freeze({__proto__:null,bitGet:(e,t)=>e.getBit(t),bitLen:function(e){return e.bitLength()},bitMask:q,bitSet:(e,t,n)=>{throw Error("unsupported bitSet")},bytesToHex:g,bytesToNumberBE:B,bytesToNumberLE:S,concatBytes:z,createHmacDrbg:N,ensureBytes:A,equalBytes:function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},hexToBytes:x,hexToNumber:function(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return h.new(""===e?"0":"0x"+e)},numberToBytesBE:v,numberToBytesLE:O,numberToHexUnpadded:E,numberToVarBytesBE:function(e){return x(E(e))},utf8ToBytes:function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))},validateObject:L});
4
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Z=Object.freeze(h.new(0)),H=Object.freeze(h.new(1)),U=Object.freeze(h.new(2)),T=Object.freeze(h.new(3)),F=Object.freeze(h.new(4)),G=Object.freeze(h.new(5)),k=Object.freeze(h.new(8)),$=Object.freeze(h.new(9)),C=Object.freeze(h.new(16));function V(e,t){return e.mod(t)}function _(e,t,n){return e.modExp(t,n)}function K(e,t,n){return e.modExp(U.leftShift(t.dec()),n)}function D(e,t){return e.modInv(t)}function Y(e){if(e.mod(F).equal(T)){const t=e.add(H).irightShift(U);return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error("Cannot find square root");return r}}if(e.mod(k).equal(G)){const t=e.sub(G).irightShift(T);return function(e,n){const r=e.mul(n,U),f=e.pow(r,t),i=e.mul(n,f),o=e.mul(e.mul(i,U),f),s=e.mul(i,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw Error("Cannot find square root");return s}}return e.mod(C).equal($),function(e){const t=e.dec().rightShift(H);let n=e.dec(),r=h.new(0);for(;n.isEven();)n.irightShift(H),r.iinc();let f=h.new(2);const i=e.dec();for(;f.lt(e)&&!_(f,t,e).equal(i);)f.iinc();if(r.isOne()){const t=e.inc().irightShift(U);return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error("Cannot find square root");return r}}const o=n.inc().irightShift(H);return function(e,i){if(e.eql(e.pow(i,t),e.neg(e.ONE)))throw Error("Cannot find square root");let s=r,a=e.pow(e.mul(e.ONE,f),n),c=e.pow(i,o),u=e.pow(i,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=h.new(1);for(let n=e.sqr(u);t.lt(s)&&!e.eql(n,e.ONE);t.iinc())n=e.sqr(n);const n=e.pow(a,H.leftShift(s.sub(t).idec()));a=e.sqr(n),c=e.mul(c,n),u=e.mul(u,a),s=t}return c}}(e)}const W=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function M(e,t){const n=void 0!==t?t:e.bitLength();return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function J(e,t,n=!1,r={}){if(e.lte(Z))throw Error("Expected Field ORDER > 0, got "+e);const{nBitLength:f,nByteLength:i}=M(e,t);if(i>2048)throw Error("Field lengths over 2048 bytes are not supported");const o=Y(e),s=Object.freeze({ORDER:e,BITS:f,BYTES:i,MASK:q(f),ZERO:Z,ONE:H,create:t=>V(t,e),isValid:t=>{if(!(t instanceof h))throw Error("Invalid field element: expected bigint, got "+typeof t);return Z.lte(t)&&t.lt(e)},is0:e=>e.isZero(),isOdd:e=>!e.isEven(),neg:t=>V(t.negate(),e),eql:(e,t)=>e.equal(t),sqr:t=>V(t.mul(t),e),add:(t,n)=>V(t.add(n),e),sub:(t,n)=>V(t.sub(n),e),mul:(t,n)=>V(t.mul(n),e),pow:(e,t)=>function(e,t,n){if(n.isNegative())throw Error("Expected power > 0");if(n.isZero())return e.ONE;if(n.isOne())return t;let r=e.ONE,f=t;for(;n.gt(Z);)n.isEven()||(r=e.mul(r,f)),f=e.sqr(f),n=n.rightShift(H);return r}(s,e,t),div:(t,n)=>V(t.mul(D(n,e)),e),sqrN:e=>e.mul(e),addN:(e,t)=>e.add(t),subN:(e,t)=>e.sub(t),mulN:(e,t)=>e.mul(t),inv:t=>D(t,e),sqrt:r.sqrt||(e=>o(s,e)),invertBatch:e=>function(e,t){const n=Array(t.length),r=t.reduce(((t,r,f)=>e.is0(r)?t:(n[f]=t,e.mul(t,r))),e.ONE),f=e.inv(r);return t.reduceRight(((t,r,f)=>e.is0(r)?t:(n[f]=e.mul(t,n[f]),e.mul(t,r))),f),n}(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?O(e,i):v(e,i),fromBytes:e=>{if(e.length!==i)throw Error(`Fp.fromBytes: expected ${i}, got ${e.length}`);return n?S(e):B(e)}});return Object.freeze(s)}function Q(e){if(!(e instanceof h))throw Error("field order must be bigint");return e.byteLength()}function X(e){const t=Q(e);return t+Math.ceil(t/2)}
1
+ /*! OpenPGP.js v6.0.0-alpha.1.patch.0 - 2024-03-01 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
2
+ "undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;import{H as e,h as t,t as n,e as r,b as f,c as i,r as o,s,a,d as c,w as u,u as d,f as l}from"./sha3.min.mjs";import{B as h}from"./interface.min.mjs";import"./native.interface.min.mjs";import"./bn.interface.min.mjs";class b extends e{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,t(e);const f=n(r);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,o=new Uint8Array(i);o.set(f.length>i?e.create().update(f).digest():f);for(let e=0;e<o.length;e++)o[e]^=54;this.iHash.update(o),this.oHash=e.create();for(let e=0;e<o.length;e++)o[e]^=106;this.oHash.update(o),o.fill(0)}update(e){return r(this),this.iHash.update(e),this}digestInto(e){r(this),f(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:r,destroyed:f,blockLen:i,outputLen:o}=this;return e.finished=r,e.destroyed=f,e.blockLen=i,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const m=(e,t,n)=>new b(e,t).update(n).digest();m.create=(e,t)=>new b(e,t)
3
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */;const w=Object.freeze(h.new(2));function y(e){return e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name}const p=/* @__PURE__ */Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function g(e){if(!y(e))throw Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=p[e[n]];return t}function E(e){const t=e instanceof h?g(e.toUint8Array()):e.toString(16);return 1&t.length?"0"+t:t}const x={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function B(e){return e>=x._0&&e<=x._9?e-x._0:e>=x._A&&e<=x._F?e-(x._A-10):e>=x._a&&e<=x._f?e-(x._a-10):void 0}function S(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);const t=e.length,n=t/2;if(t%2)throw Error("padded hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let t=0,f=0;t<n;t++,f+=2){const n=B(e.charCodeAt(f)),i=B(e.charCodeAt(f+1));if(void 0===n||void 0===i){const t=e[f]+e[f+1];throw Error('hex string expected, got non-hex character "'+t+'" at index '+f)}r[t]=16*n+i}return r}function v(e){return h.new(e)}function O(e){if(!y(e))throw Error("Uint8Array expected");return h.new(e.slice().reverse())}function A(e,t){return e.toUint8Array("be",t)}function z(e,t){return e.toUint8Array("le",t)}function q(e,t,n){let r;if("string"==typeof t)try{r=S(t)}catch(n){throw Error(`${e} must be valid hex string, got "${t}". Cause: ${n}`)}else{if(!y(t))throw Error(e+" must be hex string or Uint8Array");r=new Uint8Array(t)}const f=r.length;if("number"==typeof n&&f!==n)throw Error(`${e} expected ${n} bytes, got ${f}`);return r}function R(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];if(!y(r))throw Error("Uint8Array expected");t+=r.length}let n=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++){const f=e[t];n.set(f,r),r+=f.length}return n}const j=e=>w.leftShift(h.new(e-1)).idec(),N=e=>new Uint8Array(e),P=e=>Uint8Array.from(e);function I(e,t,n){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof n)throw Error("hmacFn must be a function");let r=N(e),f=N(e),i=0;const o=()=>{r.fill(1),f.fill(0),i=0},s=(...e)=>n(f,r,...e),a=(e=N())=>{f=s(P([0]),e),r=s(),0!==e.length&&(f=s(P([1]),e),r=s())},c=()=>{if(i++>=1e3)throw Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){r=s();const t=r.slice();n.push(t),e+=r.length}return R(...n)};return(e,t)=>{let n;for(o(),a(e);!(n=t(c()));)a();return o(),n}}const L={BigInteger:e=>e instanceof h,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||y(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function Z(e,t,n={}){const r=(t,n,r)=>{const f=L[n];if("function"!=typeof f)throw Error(`Invalid validator "${n}", expected function`);const i=e[t];if(!(r&&void 0===i||f(i,e)))throw Error(`Invalid param ${t+""}=${i} (${typeof i}), expected ${n}`)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e}var H=/*#__PURE__*/Object.freeze({__proto__:null,bitGet:(e,t)=>e.getBit(t),bitLen:function(e){return e.bitLength()},bitMask:j,bitSet:(e,t,n)=>{throw Error("unsupported bitSet")},bytesToHex:g,bytesToNumberBE:v,bytesToNumberLE:O,concatBytes:R,createHmacDrbg:I,ensureBytes:q,equalBytes:function(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return 0===n},hexToBytes:S,hexToNumber:function(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return h.new(""===e?"0":"0x"+e)},isBytes:y,numberToBytesBE:A,numberToBytesLE:z,numberToHexUnpadded:E,numberToVarBytesBE:function(e){return S(E(e))},utf8ToBytes:function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))},validateObject:Z});
4
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const T=Object.freeze(h.new(0)),U=Object.freeze(h.new(1)),F=Object.freeze(h.new(2)),_=Object.freeze(h.new(3)),G=Object.freeze(h.new(4)),k=Object.freeze(h.new(5)),C=Object.freeze(h.new(8)),$=Object.freeze(h.new(9)),V=Object.freeze(h.new(16));function K(e,t){return e.mod(t)}function D(e,t,n){return e.modExp(t,n)}function Y(e,t,n){return e.modExp(F.leftShift(t.dec()),n)}function W(e,t){return e.modInv(t)}function M(e){if(e.mod(G).equal(_)){const t=e.add(U).irightShift(F);return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error("Cannot find square root");return r}}if(e.mod(C).equal(k)){const t=e.sub(k).irightShift(_);return function(e,n){const r=e.mul(n,F),f=e.pow(r,t),i=e.mul(n,f),o=e.mul(e.mul(i,F),f),s=e.mul(i,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw Error("Cannot find square root");return s}}return e.mod(V).equal($),function(e){const t=e.dec().rightShift(U);let n=e.dec(),r=h.new(0);for(;n.isEven();)n.irightShift(U),r.iinc();let f=h.new(2);const i=e.dec();for(;f.lt(e)&&!D(f,t,e).equal(i);)f.iinc();if(r.isOne()){const t=e.inc().irightShift(F);return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error("Cannot find square root");return r}}const o=n.inc().irightShift(U);return function(e,i){if(e.eql(e.pow(i,t),e.neg(e.ONE)))throw Error("Cannot find square root");let s=r,a=e.pow(e.mul(e.ONE,f),n),c=e.pow(i,o),u=e.pow(i,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=h.new(1);for(let n=e.sqr(u);t.lt(s)&&!e.eql(n,e.ONE);t.iinc())n=e.sqr(n);const n=e.pow(a,U.leftShift(s.sub(t).idec()));a=e.sqr(n),c=e.mul(c,n),u=e.mul(u,a),s=t}return c}}(e)}const J=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Q(e,t){const n=void 0!==t?t:e.bitLength();return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function X(e,t,n=!1,r={}){if(e.lte(T))throw Error("Expected Field ORDER > 0, got "+e);const{nBitLength:f,nByteLength:i}=Q(e,t);if(i>2048)throw Error("Field lengths over 2048 bytes are not supported");const o=M(e),s=Object.freeze({ORDER:e,BITS:f,BYTES:i,MASK:j(f),ZERO:T,ONE:U,create:t=>K(t,e),isValid:t=>{if(!(t instanceof h))throw Error("Invalid field element: expected bigint, got "+typeof t);return T.lte(t)&&t.lt(e)},is0:e=>e.isZero(),isOdd:e=>!e.isEven(),neg:t=>K(t.negate(),e),eql:(e,t)=>e.equal(t),sqr:t=>K(t.mul(t),e),add:(t,n)=>K(t.add(n),e),sub:(t,n)=>K(t.sub(n),e),mul:(t,n)=>K(t.mul(n),e),pow:(e,t)=>function(e,t,n){if(n.isNegative())throw Error("Expected power > 0");if(n.isZero())return e.ONE;if(n.isOne())return t;let r=e.ONE,f=t;for(;n.gt(T);)n.isEven()||(r=e.mul(r,f)),f=e.sqr(f),n=n.rightShift(U);return r}(s,e,t),div:(t,n)=>K(t.mul(W(n,e)),e),sqrN:e=>e.mul(e),addN:(e,t)=>e.add(t),subN:(e,t)=>e.sub(t),mulN:(e,t)=>e.mul(t),inv:t=>W(t,e),sqrt:r.sqrt||(e=>o(s,e)),invertBatch:e=>function(e,t){const n=Array(t.length),r=t.reduce(((t,r,f)=>e.is0(r)?t:(n[f]=t,e.mul(t,r))),e.ONE),f=e.inv(r);return t.reduceRight(((t,r,f)=>e.is0(r)?t:(n[f]=e.mul(t,n[f]),e.mul(t,r))),f),n}(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?z(e,i):A(e,i),fromBytes:e=>{if(e.length!==i)throw Error(`Fp.fromBytes: expected ${i}, got ${e.length}`);return n?O(e):v(e)}});return Object.freeze(s)}function ee(e){if(!(e instanceof h))throw Error("field order must be bigint");return e.byteLength()}function te(e){const t=ee(e);return t+Math.ceil(t/2)}
5
5
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- const ee=Object.freeze(h.new(0)),te=Object.freeze(h.new(1));function ne(e,t){const n=(e,t)=>{const n=t.negate();return e?n:t},r=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:n,unsafeLadder(t,n){const r=n.clone();let f=e.ZERO,i=t;for(;r.gt(ee);)r.isEven()||(f=f.add(i)),i=i.double(),r.irightShift(te);return f},precomputeWindow(e,t){const{windows:n,windowSize:f}=r(t),i=[];let o=e,s=o;for(let e=0;e<n;e++){s=o,i.push(s);for(let e=1;e<f;e++)s=s.add(o),i.push(s);o=s.double()}return i},wNAF(t,f,i){const o=i.clone(),{windows:s,windowSize:a}=r(t);let c=e.ZERO,u=e.BASE;const d=h.new(2**t-1),l=2**t,b=h.new(t);for(let e=0;e<s;e++){const t=e*a;let r=o.bitwiseAnd(d).toNumber();o.irightShift(b),r>a&&(r-=l,o.iinc());const i=t,s=t+Math.abs(r)-1,h=e%2!=0,m=r<0;0===r?u=u.add(n(h,f[i])):c=c.add(n(m,f[s]))}return{p:c,f:u}},wNAFCached(e,t,n,r){const f=e._WINDOW_SIZE||1;let i=t.get(e);return i||(i=this.precomputeWindow(e,f),1!==f&&t.set(e,r(i))),this.wNAF(f,i,n)}}}function re(e){return L(e.Fp,W.reduce(((e,t)=>(e[t]="function",e)),{ORDER:"BigInteger",MASK:"BigInteger",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),L(e,{n:"BigInteger",h:"BigInteger",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...M(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}
7
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const{bytesToNumberBE:fe,hexToBytes:ie}=P,oe={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(e){const{Err:t}=oe;if(e.length<2||2!==e[0])throw new t("Invalid signature integer tag");const n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t("Invalid signature integer: wrong length");if(128&r[0])throw new t("Invalid signature integer: negative");if(0===r[0]&&!(128&r[1]))throw new t("Invalid signature integer: unnecessary leading zero");return{d:fe(r),l:e.subarray(n+2)}},toSig(e){const{Err:t}=oe,n="string"==typeof e?ie(e):e;if(!(n instanceof Uint8Array))throw Error("ui8a expected");let r=n.length;if(r<2||48!=n[0])throw new t("Invalid signature tag");if(n[1]!==r-2)throw new t("Invalid signature: incorrect length");const{d:f,l:i}=oe._parseInt(n.subarray(2)),{d:o,l:s}=oe._parseInt(i);if(s.length)throw new t("Invalid signature: left bytes after parsing");return{r:f,s:o}},hexFromSig(e){const t=e=>8&Number.parseInt(e[0],16)?"00"+e:e,n=e=>{const t=e instanceof h?g(e.toUint8Array()):e.toString(16);return 1&t.length?"0"+t:t},r=t(n(e.s)),f=t(n(e.r)),i=r.length/2,o=f.length/2,s=n(i),a=n(o);return`30${n(o+i+4)}02${a}${f}02${s}${r}`}},se=Object.freeze(h.new(0)),ae=Object.freeze(h.new(1));Object.freeze(h.new(2));const ce=Object.freeze(h.new(3));function ue(e){const t=function(e){const t=re(e);L(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:f}=t;if(n){if(!r.eql(f,r.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof n||!(n.beta instanceof h)||"function"!=typeof n.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:n}=t,r=t.toBytes||((e,t,r)=>{const f=t.toAffine();return z(Uint8Array.from([4]),n.toBytes(f.x),n.toBytes(f.y))}),f=t.fromBytes||(e=>{const t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function i(e){const{a:r,b:f}=t,i=n.sqr(e),o=n.mul(i,e);return n.add(n.add(o,n.mul(e,r)),f)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw Error("bad generator point: equation left != right");function o(e){return e instanceof h&&se.lt(e)&&e.lt(t.n)}function s(e){if(!o(e))throw Error("Expected valid bigint: 0 < bigint < curve.n")}function a(e){const{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:f,n:i}=t;if(n&&!(e instanceof h)){if(e instanceof Uint8Array&&(e=g(e)),"string"!=typeof e||!n.includes(e.length))throw Error("Invalid key");e=e.padStart(2*r,"0")}let o;try{o=e instanceof h?e:B(A("private key",e,r))}catch(t){throw Error(`private key must be ${r} bytes, hex or bigint, not ${typeof e}`)}return f&&(o=V(o,i)),s(o),o}const c=new Map;function u(e){if(!(e instanceof d))throw Error("ProjectivePoint expected")}class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,null==e||!n.isValid(e))throw Error("x required");if(null==t||!n.isValid(t))throw Error("y required");if(null==r||!n.isValid(r))throw Error("z required")}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error("invalid affine point");if(e instanceof d)throw Error("projective point not allowed");const f=e=>n.eql(e,n.ZERO);return f(t)&&f(r)?d.ZERO:new d(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(d.fromAffine)}static fromHex(e){const t=d.fromAffine(f(A("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(a(e))}_setWindowSize(e){this._WINDOW_SIZE=e,c.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw Error("bad point: ZERO")}const{x:e,y:r}=this.toAffine();if(!n.isValid(e)||!n.isValid(r))throw Error("bad point: x or y not FE");const f=n.sqr(r),o=i(e);if(!n.eql(f,o))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error("Field doesn't support isOdd")}equals(e){u(e);const{px:t,py:r,pz:f}=this,{px:i,py:o,pz:s}=e,a=n.eql(n.mul(t,s),n.mul(i,f)),c=n.eql(n.mul(r,s),n.mul(o,f));return a&&c}negate(){return new d(this.px,n.neg(this.py),this.pz)}double(){const{a:e,b:r}=t,f=n.mul(r,ce),{px:i,py:o,pz:s}=this;let a=n.ZERO,c=n.ZERO,u=n.ZERO,l=n.mul(i,i),h=n.mul(o,o),b=n.mul(s,s),m=n.mul(i,o);return m=n.add(m,m),u=n.mul(i,s),u=n.add(u,u),a=n.mul(e,u),c=n.mul(f,b),c=n.add(a,c),a=n.sub(h,c),c=n.add(h,c),c=n.mul(a,c),a=n.mul(m,a),u=n.mul(f,u),b=n.mul(e,b),m=n.sub(l,b),m=n.mul(e,m),m=n.add(m,u),u=n.add(l,l),l=n.add(u,l),l=n.add(l,b),l=n.mul(l,m),c=n.add(c,l),b=n.mul(o,s),b=n.add(b,b),l=n.mul(b,m),a=n.sub(a,l),u=n.mul(b,h),u=n.add(u,u),u=n.add(u,u),new d(a,c,u)}add(e){u(e);const{px:r,py:f,pz:i}=this,{px:o,py:s,pz:a}=e;let c=n.ZERO,l=n.ZERO,h=n.ZERO;const b=t.a,m=n.mul(t.b,ce);let w=n.mul(r,o),y=n.mul(f,s),p=n.mul(i,a),g=n.add(r,f),E=n.add(o,s);g=n.mul(g,E),E=n.add(w,y),g=n.sub(g,E),E=n.add(r,i);let x=n.add(o,a);return E=n.mul(E,x),x=n.add(w,p),E=n.sub(E,x),x=n.add(f,i),c=n.add(s,a),x=n.mul(x,c),c=n.add(y,p),x=n.sub(x,c),h=n.mul(b,E),c=n.mul(m,p),h=n.add(c,h),c=n.sub(y,h),h=n.add(y,h),l=n.mul(c,h),y=n.add(w,w),y=n.add(y,w),p=n.mul(b,p),E=n.mul(m,E),y=n.add(y,p),p=n.sub(w,p),p=n.mul(b,p),E=n.add(E,p),w=n.mul(y,E),l=n.add(l,w),w=n.mul(x,E),c=n.mul(g,c),c=n.sub(c,w),w=n.mul(g,y),h=n.mul(x,h),h=n.add(h,w),new d(c,l,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return b.wNAFCached(this,c,e,(e=>{const t=n.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(d.fromAffine)}))}multiplyUnsafe(e){const r=d.ZERO;if(e.isZero())return r;if(s(e),e.isOne())return this;const{endo:f}=t;if(!f)return b.unsafeLadder(this,e);let{k1neg:i,k1:o,k2neg:a,k2:c}=f.splitScalar(e),u=r,l=r,h=this;for(;o.gt(se)||c.gt(se);)o.isEven()||(u=u.add(h)),c.isEven()||(l=l.add(h)),h=h.double(),o=o.rightShift(ae),c=c.rightShift(ae);return i&&(u=u.negate()),a&&(l=l.negate()),l=new d(n.mul(l.px,f.beta),l.py,l.pz),u.add(l)}multiply(e){s(e);let r,f,i=e;const{endo:o}=t;if(o){const{k1neg:e,k1:t,k2neg:s,k2:a}=o.splitScalar(i);let{p:c,f:u}=this.wNAF(t),{p:l,f:h}=this.wNAF(a);c=b.constTimeNegate(e,c),l=b.constTimeNegate(s,l),l=new d(n.mul(l.px,o.beta),l.py,l.pz),r=c.add(l),f=u.add(h)}else{const{p:e,f:t}=this.wNAF(i);r=e,f=t}return d.normalizeZ([r,f])[0]}multiplyAndAddUnsafe(e,t,n){const r=d.BASE,f=(e,t)=>t.isZero()||t.isOne()||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),i=f(this,t).add(f(e,n));return i.is0()?void 0:i}toAffine(e){const{px:t,py:r,pz:f}=this,i=this.is0();null==e&&(e=i?n.ONE:n.inv(f));const o=n.mul(t,e),s=n.mul(r,e),a=n.mul(f,e);if(i)return{x:n.ZERO,y:n.ZERO};if(!n.eql(a,n.ONE))throw Error("invZ was invalid");return{x:o,y:s}}isTorsionFree(){const{h:e,isTorsionFree:n}=t;if(e.isOne())return!0;if(n)return n(d,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:n}=t;return e.isOne()?this:n?n(d,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return this.assertValidity(),r(d,this,e)}toHex(e=!0){return g(this.toRawBytes(e))}}d.BASE=new d(t.Gx,t.Gy,n.ONE),d.ZERO=new d(n.ZERO,n.ONE,n.ZERO);const l=t.nBitLength,b=ne(d,t.endo?Math.ceil(l/2):l);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:a,weierstrassEquation:i,isWithinCurveOrder:o}}function de(e){const t=function(e){const t=re(e);return L(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:n,n:r}=t,f=n.BYTES+1,i=2*n.BYTES+1;function o(e){return V(e,r)}function s(e){return D(e,r)}const{ProjectivePoint:a,normPrivateKeyToScalar:c,weierstrassEquation:u,isWithinCurveOrder:d}=ue({...t,toBytes(e,t,r){const f=t.toAffine(),i=n.toBytes(f.x),o=z;return r?o(Uint8Array.from([t.hasEvenY()?2:3]),i):o(Uint8Array.from([4]),i,n.toBytes(f.y))},fromBytes(e){const t=e.length,r=e[0],o=e.subarray(1);if(t!==f||2!==r&&3!==r){if(t===i&&4===r){return{x:n.fromBytes(o.subarray(0,n.BYTES)),y:n.fromBytes(o.subarray(n.BYTES,2*n.BYTES))}}throw Error(`Point of length ${t} was invalid. Expected ${f} compressed bytes or ${i} uncompressed bytes`)}{const e=B(o);if(s=e,!se.lt(s)||!s.lt(n.ORDER))throw Error("Point is not on curve");const t=u(e);let f=n.sqrt(t);return 1==(1&r)!==!f.isEven()&&(f=n.neg(f)),{x:e,y:f}}var s}}),l=e=>g(v(e,t.nByteLength));function b(e){const t=r.rightShift(ae);return e.gt(t)}const m=(e,t,n)=>B(e.slice(t,n));class w{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){const n=t.nByteLength;return e=A("compactSignature",e,2*n),new w(m(e,0,n),m(e,n,2*n))}static fromDER(e){const{r:t,s:n}=oe.toSig(A("DER",e));return new w(t,n)}assertValidity(){if(!d(this.r))throw Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(e){return new w(this.r,this.s,e)}recoverPublicKey(e){const{r,s:f,recovery:i}=this,c=R(A("msgHash",e));if(null==i||![0,1,2,3].includes(i))throw Error("recovery id invalid");const u=2===i||3===i?r.add(t.n):r;if(u.gte(n.ORDER))throw Error("recovery id 2 or 3 invalid");const d=0==(1&i)?"02":"03",h=a.fromHex(d+l(u)),b=s(u),m=o(c.negate().imul(b)),w=o(f.mul(b)),y=a.BASE.multiplyAndAddUnsafe(h,m,w);if(!y)throw Error("point at infinify");return y.assertValidity(),y}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new w(this.r,o(this.s.negate()),this.recovery):this}toDERRawBytes(){return x(this.toDERHex())}toDERHex(){return oe.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return x(this.toCompactHex())}toCompactHex(){return l(this.r)+l(this.s)}}const y={isValidPrivateKey(e){try{return c(e),!0}catch(e){return!1}},normPrivateKeyToScalar:c,randomPrivateKey:()=>{const e=X(t.n);return function(e,t,n=!1){const r=e.length,f=Q(t),i=X(t);if(r<16||r<i||r>1024)throw Error(`expected ${i}-1024 bytes of input, got ${r}`);const o=V(n?B(e):S(e),t.dec()).inc();return n?O(o,f):v(o,f)}(t.randomBytes(e),t.n)},precompute:(e=8,t=a.BASE)=>(t._setWindowSize(e),t.multiply(h.new(3)),t)};function p(e){const t=e instanceof Uint8Array,n="string"==typeof e,r=(t||n)&&e.length;return t?r===f||r===i:n?r===2*f||r===2*i:e instanceof a}const E=t.bits2int||function(e){const n=B(e),r=8*e.length-t.nBitLength;return r>0?n.rightShift(h.new(r)):n},R=t.bits2int_modN||function(e){return o(E(e))},j=q(t.nBitLength);function I(e){if(!(e instanceof h))throw Error("bigint expected");if(!se.lte(e)||!e.lt(j))throw Error("bigint expected < 2^"+t.nBitLength);return v(e,t.nByteLength)}function P(e,r,f=Z){if(["recovered","canonical"].some((e=>e in f)))throw Error("sign() legacy options not supported");const{hash:i,randomBytes:u}=t;let{lowS:l,prehash:h,extraEntropy:m}=f;null==l&&(l=!0),e=A("msgHash",e),h&&(e=A("prehashed msgHash",i(e)));const y=R(e),p=c(r),g=[I(p),I(y)];if(null!=m){const e=!0===m?u(n.BYTES):m;g.push(A("extraEntropy",e))}const x=z(...g),B=y;return{seed:x,k2sig:function(e){const t=E(e);if(!d(t))return;const n=s(t),r=a.BASE.multiply(t).toAffine(),f=o(r.x);if(f.isZero())return;const i=o(n.mul(o(B.add(f.mul(p)))));if(i.isZero())return;let c=(r.x.equal(f)?0:2)|r.y.getBit(0),u=i;return l&&b(i)&&(u=function(e){return b(e)?o(e.negate()):e}(i),c^=1),new w(f,u,c)}}}const Z={lowS:t.lowS,prehash:!1},H={lowS:t.lowS,prehash:!1};return a.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return a.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(p(e))throw Error("first arg must be private key");if(!p(t))throw Error("second arg must be public key");return a.fromHex(t).multiply(c(e)).toRawBytes(n)},sign:function(e,n,r=Z){const{seed:f,k2sig:i}=P(e,n,r),o=t;return N(o.hash.outputLen,o.nByteLength,o.hmac)(f,i)},verify:function(e,n,r,f=H){const i=e;if(n=A("msgHash",n),r=A("publicKey",r),"strict"in f)throw Error("options.strict was renamed to lowS");const{lowS:c,prehash:u}=f;let d,l;try{if("string"==typeof i||i instanceof Uint8Array)try{d=w.fromDER(i)}catch(e){if(!(e instanceof oe.Err))throw e;d=w.fromCompact(i)}else{if(!("object"==typeof i&&i.r instanceof h&&i.s instanceof h))throw Error("PARSE");{const{r:e,s:t}=i;d=new w(e,t)}}l=a.fromHex(r)}catch(e){if("PARSE"===e.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(c&&d.hasHighS())return!1;u&&(n=t.hash(n));const{r:b,s:m}=d,y=R(n),p=s(m),g=o(y.mul(p)),E=o(b.mul(p)),x=a.BASE.multiplyAndAddUnsafe(l,g,E)?.toAffine();return!!x&&o(x.x).equal(b)},ProjectivePoint:a,Signature:w,utils:y}}
8
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function le(e){return{hash:e,hmac:(t,...n)=>m(e,t,i(...n)),randomBytes:o}}function he(e,t){const n=t=>de({...e,...le(t)});return Object.freeze({...n(t),create:n})}
9
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.freeze(h.new(4));const be=J(h.new("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),me=he({a:be.create(h.new("-3")),b:h.new("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Fp:be,n:h.new("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:h.new("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:h.new("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:h.new(1),lowS:!1},s),we=J(h.new("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),ye=he({a:we.create(h.new("-3")),b:h.new("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Fp:we,n:h.new("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:h.new("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:h.new("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:h.new(1),lowS:!1},a),pe=J(h.new("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),ge={a:pe.create(h.new("-3")),b:h.new("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Fp:pe,n:h.new("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:h.new("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:h.new("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:h.new(1)},Ee=he({a:ge.a,b:ge.b,Fp:pe,n:ge.n,Gx:ge.Gx,Gy:ge.Gy,h:ge.h,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},c),xe=J(h.new("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),Be=he({a:xe.create(h.new("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:h.new("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:xe,n:h.new("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:h.new("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:h.new("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:h.new(1),lowS:!1},s),Se=J(h.new("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),ve=he({a:Se.create(h.new("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:h.new("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:Se,n:h.new("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:h.new("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:h.new("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:h.new(1),lowS:!1},a),Oe=J(h.new("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")),Ae=he({a:Oe.create(h.new("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:h.new("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:Oe,n:h.new("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:h.new("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:h.new("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:h.new(1),lowS:!1},c),ze=Object.freeze(h.new(0)),qe=Object.freeze(h.new(1)),Re=Object.freeze(h.new(2)),je=Object.freeze(h.new(3)),Ne=Object.freeze(h.new(8)),Ie={zip215:!0};function Le(e){const t=function(e){const t=re(e);return L(e,{hash:"function",a:"BigInteger",d:"BigInteger",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:n,n:r,prehash:f,hash:i,randomBytes:o,nByteLength:s,h:a}=t,c=Re.leftShift(h.new(8*s).idec()),u=n.create,d=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(e.mul(n.inv(t)))}}catch(e){return{isValid:!1,value:ze}}}),l=t.adjustScalarBytes||(e=>e),b=t.domain||((e,t,n)=>{if(t.length||n)throw Error("Contexts/pre-hash are not supported");return e}),m=e=>e instanceof h&&e.gt(ze),w=(e,t)=>m(e)&&m(t)&&e.lt(t),y=e=>e.isZero()||w(e,c);function p(e,t){if(w(e,t))return e;throw Error(`Expected valid scalar < ${t}, got ${typeof e} ${e}`)}function E(e){return e.isZero()?e:p(e,r)}const x=new Map;function B(e){if(!(e instanceof v))throw Error("ExtendedPoint expected")}class v{constructor(e,t,n,r){if(this.ex=e,this.ey=t,this.ez=n,this.et=r,!y(e))throw Error("x required");if(!y(t))throw Error("y required");if(!y(n))throw Error("z required");if(!y(r))throw Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof v)throw Error("extended point not allowed");const{x:t,y:n}=e||{};if(!y(t)||!y(n))throw Error("invalid affine point");return new v(t,n,qe,u(t.mul(n)))}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.ez)));return e.map(((e,n)=>e.toAffine(t[n]))).map(v.fromAffine)}_setWindowSize(e){this._WINDOW_SIZE=e,x.delete(this)}assertValidity(){const{a:e,d:n}=t;if(this.is0())throw Error("bad point: ZERO");const{ex:r,ey:f,ez:i,et:o}=this,s=u(r.mul(r)),a=u(f.mul(f)),c=u(i.mul(i)),d=u(c.mul(c)),l=u(s.mul(e)),h=u(c.mul(u(l.add(a)))),b=u(d.add(u(n.mul(u(s.mul(a))))));if(!h.equal(b))throw Error("bad point: equation left != right (1)");const m=u(r.mul(f)),w=u(i.mul(o));if(!m.equal(w))throw Error("bad point: equation left != right (2)")}equals(e){B(e);const{ex:t,ey:n,ez:r}=this,{ex:f,ey:i,ez:o}=e,s=u(t.mul(o)),a=u(f.mul(r)),c=u(n.mul(o)),d=u(i.mul(r));return s.equal(a)&&c.equal(d)}is0(){return this.equals(v.ZERO)}negate(){return new v(u(this.ex.negate()),this.ey,this.ez,u(this.et.negate()))}double(){const{a:e}=t,{ex:n,ey:r,ez:f}=this,i=u(n.mul(n)),o=u(r.mul(r)),s=u(Re.mul(u(f.mul(f)))),a=u(e.mul(i)),c=n.add(r),d=u(u(c.mul(c)).sub(i).isub(o)),l=a.add(o),h=l.sub(s),b=a.sub(o),m=u(d.mul(h)),w=u(l.mul(b)),y=u(d.mul(b)),p=u(h.mul(l));return new v(m,w,p,y)}add(e){B(e);const{a:n,d:r}=t,{ex:f,ey:i,ez:o,et:s}=this,{ex:a,ey:c,ez:d,et:l}=e;if(n.equal(h.new(-1))){const e=u(i.sub(f).imul(c.add(a))),t=u(i.add(f).imul(c.sub(a))),n=u(t.sub(e));if(n.isZero())return this.double();const r=u(o.mul(Re).imul(l)),h=u(s.mul(Re).imul(d)),b=h.add(r),m=t.add(e),w=h.sub(r),y=u(b.mul(n)),p=u(m.mul(w)),g=u(b.mul(w)),E=u(n.mul(m));return new v(y,p,E,g)}const b=u(f.mul(a)),m=u(i.mul(c)),w=u(s.mul(r).imul(l)),y=u(o.mul(d)),p=u(f.add(i).imul(a.add(c)).isub(b).isub(m)),g=y.sub(w),E=y.add(w),x=u(m.sub(n.mul(b))),S=u(p.mul(g)),O=u(E.mul(x)),A=u(p.mul(x)),z=u(g.mul(E));return new v(S,O,z,A)}subtract(e){return this.add(e.negate())}wNAF(e){return R.wNAFCached(this,x,e,v.normalizeZ)}multiply(e){const{p:t,f:n}=this.wNAF(p(e,r));return v.normalizeZ([t,n])[0]}multiplyUnsafe(e){let t=E(e);return t.isZero()?q:this.equals(q)||t.isOne()?this:this.equals(O)?this.wNAF(t).p:R.unsafeLadder(this,t)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return R.unsafeLadder(this,r).is0()}toAffine(e){const{ex:t,ey:r,ez:f}=this,i=this.is0();null==e&&(e=i?Ne:n.inv(f));const o=u(t.mul(e)),s=u(r.mul(e)),a=u(f.mul(e));if(i)return{x:ze.clone(),y:qe.clone()};if(!a.isOne())throw Error("invZ was invalid");return{x:o,y:s}}clearCofactor(){const{h:e}=t;return e.isOne()?this:this.multiplyUnsafe(e)}static fromHex(e,r=!1){const{d:f,a:i}=t,o=n.BYTES,s=(e=A("pointHex",e,o)).slice(),a=e[o-1];s[o-1]=-129&a;const l=S(s);l.isZero()||p(l,r?c:n.ORDER);const h=u(l.mul(l)),b=u(h.dec()),m=u(f.mul(h).isub(i));let{isValid:w,value:y}=d(b,m);if(!w)throw Error("Point.fromHex: invalid y coordinate");const g=!y.isEven(),E=0!=(128&a);if(!r&&y.isZero()&&E)throw Error("Point.fromHex: x=0 and x_0=1");return E!==g&&(y=u(y.negate())),v.fromAffine({x:y,y:l})}static fromPrivateKey(e){return I(e).point}toRawBytes(){const{x:e,y:t}=this.toAffine(),r=t.toUint8Array("le",n.BYTES);return r[r.length-1]|=e.isEven()?0:128,r}toHex(){return g(this.toRawBytes())}}v.BASE=new v(t.Gx,t.Gy,qe,u(t.Gx.mul(t.Gy))),v.ZERO=new v(ze,qe,qe,ze);const{BASE:O,ZERO:q}=v,R=ne(v,8*s);function j(e){return V(e,r)}function N(e){return j(S(e))}function I(e){const t=s;e=A("private key",e,t);const n=A("hashed private key",i(e),2*t),r=l(n.slice(0,t)),f=n.slice(t,2*t),o=N(r),a=O.multiply(o),c=a.toRawBytes();return{head:r,prefix:f,scalar:o,point:a,pointBytes:c}}function P(e=new Uint8Array,...t){const n=z(...t);return N(i(b(n,A("context",e),!!f)))}const Z=Ie;O._setWindowSize(8);return{CURVE:t,getPublicKey:function(e){return I(e).pointBytes},sign:function(e,t,r={}){e=A("message",e),f&&(e=f(e));const{prefix:i,scalar:o,pointBytes:a}=I(t),c=P(r.context,i,e),u=O.multiply(c).toRawBytes(),d=P(r.context,u,a,e),l=j(c.add(d.mul(o)));return E(l),A("result",z(u,l.toUint8Array("le",n.BYTES)),2*s)},verify:function(e,t,r,i=Z){const{context:o,zip215:s}=i,a=n.BYTES;e=A("signature",e,2*a),t=A("message",t),f&&(t=f(t));const c=S(e.slice(a,2*a));let u,d,l;try{u=v.fromHex(r,s),d=v.fromHex(e.slice(0,a),s),l=O.multiplyUnsafe(c)}catch(e){return!1}if(!s&&u.isSmallOrder())return!1;const h=P(o,d.toRawBytes(),u.toRawBytes(),t);return d.add(u.multiplyUnsafe(h)).subtract(l).clearCofactor().equals(v.ZERO)},ExtendedPoint:v,utils:{getExtendedPublicKey:I,randomPrivateKey:()=>o(n.BYTES),precompute:(e=8,t=v.BASE)=>(t._setWindowSize(e),t.multiply(je),t)}}}
10
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Pe=Object.freeze(h.new(0)),Ze=Object.freeze(h.new(1)),He=Object.freeze(h.new(2));function Ue(e){const t=(L(n=e,{a:"BigInteger"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"BigInteger"}),Object.freeze({...n}));var n;const{P:r}=t,f=e=>V(e,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>_(e,r.sub(He),r));function u(e,t,n){const r=f(e.mul(t.sub(n)));return[t=f(t.sub(r)),n=f(n.add(r))]}function d(e){if(e instanceof h&&!e.isNegative()&&e.lt(r))return e;throw Error("Expected valid scalar 0 < scalar < CURVE.P")}const l=t.a.sub(He).irightShift(He);function b(e){return O(f(e),o)}function m(e,t){const n=function(e){const t=A("u coordinate",e,o);return 32===s&&(t[31]&=127),S(t)}(t),r=function(e){const t=A("scalar",e),n=t.length;if(n!==o&&n!==s)throw Error(`Expected ${o} or ${s} bytes, got ${n}`);return S(a(t))}(e),m=function(e,t){const n=d(e),r=d(t),o=n;let s,a=Ze,b=Pe,m=n,w=Ze,y=Pe.clone();for(let e=h.new(i-1);!e.isNegative();e.idec()){const t=h.new(r.rightShift(e).getBit(0));y.ixor(t),s=u(y,a,m),a=s[0],m=s[1],s=u(y,b,w),b=s[0],w=s[1],y=t;const n=a.add(b),i=f(n.mul(n)),c=a.sub(b),d=f(c.mul(c)),p=i.sub(d),g=m.add(w),E=m.sub(w),x=f(E.mul(n)),B=f(g.mul(c)),S=x.add(B),v=x.sub(B);m=f(S.mul(S)),w=f(o.mul(f(v.mul(v)))),a=f(i.mul(d)),b=f(p.mul(i.add(f(l.mul(p)))))}s=u(y,a,m),a=s[0],m=s[1],s=u(y,b,w),b=s[0],w=s[1];const p=c(b);return f(a.mul(p))}(n,r);if(m.isZero())throw Error("Invalid private or public key received");return b(m)}const w=b(t.Gu);function y(e){return m(e,w)}return{scalarMult:m,scalarMultBase:y,getSharedSecret:(e,t)=>m(e,t),getPublicKey:e=>y(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:w}}
11
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Te=u((()=>l.create({dkLen:114}))),Fe=(u((()=>l.create({dkLen:64}))),h.new("726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018365439")),Ge=h.new(1),ke=h.new(2),$e=h.new(3),Ce=h.new(11),Ve=h.new(22),_e=h.new(44),Ke=h.new(88),De=h.new(223);function Ye(e){const t=Fe,n=e.modExp($e,t),r=n.mul(n).imul(e).imod(t),f=K(r,$e,t).imul(r).imod(t),i=K(f,$e,t).imul(r).imod(t),o=K(i,ke,t).imul(n).imod(t),s=K(o,Ce,t).imul(o).imod(t),a=K(s,Ve,t).imul(s).imod(t),c=K(a,_e,t).imul(a).imod(t),u=K(c,Ke,t).imul(c).imod(t),d=K(u,_e,t).imul(a).imod(t),l=K(d,ke,t).imul(n).imod(t),h=K(l,Ge,t).imul(e).imod(t);return K(h,De,t).imul(l).imod(t)}function We(e){return e[0]&=252,e[55]|=128,e[56]=0,e}const Me=J(Fe,456,!0),Je={a:h.new(1),d:h.new("726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018326358"),Fp:Me,n:h.new("181709681073901722637330951972001133588410340171829515070372549795146003961539585716195755291692375963310293709091662304773755859649779"),nBitLength:456,h:h.new(4),Gx:h.new("224580040295924300187604334099896036246789641632564134246125461686950415467406032909029192869357953282578032075146446173674602635247710"),Gy:h.new("298819210078481492676017930443930673437544040154080242095928241372331506189835876003536878655418784733982303233503462500531545062832660"),hash:Te,randomBytes:o,adjustScalarBytes:We,domain:(e,t,n)=>{if(t.length>255)throw Error("Context is too big: "+t.length);return i(d("SigEd448"),new Uint8Array([n?1:0,t.length]),t,e)},uvRatio:function(e,t){const n=Fe,r=V(e.mul(e).imul(t),n),f=V(r.mul(e),n),i=Ye(V(f.mul(r).imul(t),n)),o=V(f.mul(i),n),s=V(o.mul(o),n);return{isValid:V(s.mul(t),n).equal(e),value:o}}},Qe=Le(Je),Xe=(()=>Ue({a:h.new(156326),montgomeryBits:448,nByteLength:56,P:Fe,Gu:h.new(5),powPminus2:e=>{const t=Fe;return V(K(Ye(e),h.new(2),t).mul(e),t)},adjustScalarBytes:We,randomBytes:o}))();Object.freeze(h.new(4)),Me.ORDER.sub($e).irightShift(ke),h.new(156326),h.new("39082"),h.new("78163"),h.new("98944233647732219769177004876929019128417576295529901074099889598043702116001257856802131563896515373927712232092845883226922417596214"),h.new("315019913931389607337177038330951043522456072897266928557328499619017160722351061360252776265186336876723201881398623946864393857820716"),h.new("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
6
+ const ne=Object.freeze(h.new(0)),re=Object.freeze(h.new(1));function fe(e,t){const n=(e,t)=>{const n=t.negate();return e?n:t},r=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:n,unsafeLadder(t,n){const r=n.clone();let f=e.ZERO,i=t;for(;r.gt(ne);)r.isEven()||(f=f.add(i)),i=i.double(),r.irightShift(re);return f},precomputeWindow(e,t){const{windows:n,windowSize:f}=r(t),i=[];let o=e,s=o;for(let e=0;e<n;e++){s=o,i.push(s);for(let e=1;e<f;e++)s=s.add(o),i.push(s);o=s.double()}return i},wNAF(t,f,i){const o=i.clone(),{windows:s,windowSize:a}=r(t);let c=e.ZERO,u=e.BASE;const d=h.new(2**t-1),l=2**t,b=h.new(t);for(let e=0;e<s;e++){const t=e*a;let r=o.bitwiseAnd(d).toNumber();o.irightShift(b),r>a&&(r-=l,o.iinc());const i=t,s=t+Math.abs(r)-1,h=e%2!=0,m=r<0;0===r?u=u.add(n(h,f[i])):c=c.add(n(m,f[s]))}return{p:c,f:u}},wNAFCached(e,t,n,r){const f=e._WINDOW_SIZE||1;let i=t.get(e);return i||(i=this.precomputeWindow(e,f),1!==f&&t.set(e,r(i))),this.wNAF(f,i,n)}}}function ie(e){return Z(e.Fp,J.reduce(((e,t)=>(e[t]="function",e)),{ORDER:"BigInteger",MASK:"BigInteger",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),Z(e,{n:"BigInteger",h:"BigInteger",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Q(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}
7
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const{bytesToNumberBE:oe,hexToBytes:se}=H,ae={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(e){const{Err:t}=ae;if(e.length<2||2!==e[0])throw new t("Invalid signature integer tag");const n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t("Invalid signature integer: wrong length");if(128&r[0])throw new t("Invalid signature integer: negative");if(0===r[0]&&!(128&r[1]))throw new t("Invalid signature integer: unnecessary leading zero");return{d:oe(r),l:e.subarray(n+2)}},toSig(e){const{Err:t}=ae,n="string"==typeof e?se(e):e;if(!y(n))throw Error("ui8a expected");let r=n.length;if(r<2||48!=n[0])throw new t("Invalid signature tag");if(n[1]!==r-2)throw new t("Invalid signature: incorrect length");const{d:f,l:i}=ae._parseInt(n.subarray(2)),{d:o,l:s}=ae._parseInt(i);if(s.length)throw new t("Invalid signature: left bytes after parsing");return{r:f,s:o}},hexFromSig(e){const t=e=>8&Number.parseInt(e[0],16)?"00"+e:e,n=e=>{const t=e instanceof h?g(e.toUint8Array()):e.toString(16);return 1&t.length?"0"+t:t},r=t(n(e.s)),f=t(n(e.r)),i=r.length/2,o=f.length/2,s=n(i),a=n(o);return`30${n(o+i+4)}02${a}${f}02${s}${r}`}},ce=Object.freeze(h.new(0)),ue=Object.freeze(h.new(1));Object.freeze(h.new(2));const de=Object.freeze(h.new(3));function le(e){const t=function(e){const t=ie(e);Z(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:f}=t;if(n){if(!r.eql(f,r.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof n||!(n.beta instanceof h)||"function"!=typeof n.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:n}=t,r=t.toBytes||((e,t,r)=>{const f=t.toAffine();return R(Uint8Array.from([4]),n.toBytes(f.x),n.toBytes(f.y))}),f=t.fromBytes||(e=>{const t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function i(e){const{a:r,b:f}=t,i=n.sqr(e),o=n.mul(i,e);return n.add(n.add(o,n.mul(e,r)),f)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw Error("bad generator point: equation left != right");function o(e){return e instanceof h&&ce.lt(e)&&e.lt(t.n)}function s(e){if(!o(e))throw Error("Expected valid bigint: 0 < bigint < curve.n")}function a(e){const{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:f,n:i}=t;if(n&&!(e instanceof h)){if(y(e)&&(e=g(e)),"string"!=typeof e||!n.includes(e.length))throw Error("Invalid key");e=e.padStart(2*r,"0")}let o;try{o=e instanceof h?e:v(q("private key",e,r))}catch(t){throw Error(`private key must be ${r} bytes, hex or bigint, not ${typeof e}`)}return f&&(o=K(o,i)),s(o),o}const c=new Map;function u(e){if(!(e instanceof d))throw Error("ProjectivePoint expected")}class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,null==e||!n.isValid(e))throw Error("x required");if(null==t||!n.isValid(t))throw Error("y required");if(null==r||!n.isValid(r))throw Error("z required")}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error("invalid affine point");if(e instanceof d)throw Error("projective point not allowed");const f=e=>n.eql(e,n.ZERO);return f(t)&&f(r)?d.ZERO:new d(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(d.fromAffine)}static fromHex(e){const t=d.fromAffine(f(q("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(a(e))}_setWindowSize(e){this._WINDOW_SIZE=e,c.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw Error("bad point: ZERO")}const{x:e,y:r}=this.toAffine();if(!n.isValid(e)||!n.isValid(r))throw Error("bad point: x or y not FE");const f=n.sqr(r),o=i(e);if(!n.eql(f,o))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error("Field doesn't support isOdd")}equals(e){u(e);const{px:t,py:r,pz:f}=this,{px:i,py:o,pz:s}=e,a=n.eql(n.mul(t,s),n.mul(i,f)),c=n.eql(n.mul(r,s),n.mul(o,f));return a&&c}negate(){return new d(this.px,n.neg(this.py),this.pz)}double(){const{a:e,b:r}=t,f=n.mul(r,de),{px:i,py:o,pz:s}=this;let a=n.ZERO,c=n.ZERO,u=n.ZERO,l=n.mul(i,i),h=n.mul(o,o),b=n.mul(s,s),m=n.mul(i,o);return m=n.add(m,m),u=n.mul(i,s),u=n.add(u,u),a=n.mul(e,u),c=n.mul(f,b),c=n.add(a,c),a=n.sub(h,c),c=n.add(h,c),c=n.mul(a,c),a=n.mul(m,a),u=n.mul(f,u),b=n.mul(e,b),m=n.sub(l,b),m=n.mul(e,m),m=n.add(m,u),u=n.add(l,l),l=n.add(u,l),l=n.add(l,b),l=n.mul(l,m),c=n.add(c,l),b=n.mul(o,s),b=n.add(b,b),l=n.mul(b,m),a=n.sub(a,l),u=n.mul(b,h),u=n.add(u,u),u=n.add(u,u),new d(a,c,u)}add(e){u(e);const{px:r,py:f,pz:i}=this,{px:o,py:s,pz:a}=e;let c=n.ZERO,l=n.ZERO,h=n.ZERO;const b=t.a,m=n.mul(t.b,de);let w=n.mul(r,o),y=n.mul(f,s),p=n.mul(i,a),g=n.add(r,f),E=n.add(o,s);g=n.mul(g,E),E=n.add(w,y),g=n.sub(g,E),E=n.add(r,i);let x=n.add(o,a);return E=n.mul(E,x),x=n.add(w,p),E=n.sub(E,x),x=n.add(f,i),c=n.add(s,a),x=n.mul(x,c),c=n.add(y,p),x=n.sub(x,c),h=n.mul(b,E),c=n.mul(m,p),h=n.add(c,h),c=n.sub(y,h),h=n.add(y,h),l=n.mul(c,h),y=n.add(w,w),y=n.add(y,w),p=n.mul(b,p),E=n.mul(m,E),y=n.add(y,p),p=n.sub(w,p),p=n.mul(b,p),E=n.add(E,p),w=n.mul(y,E),l=n.add(l,w),w=n.mul(x,E),c=n.mul(g,c),c=n.sub(c,w),w=n.mul(g,y),h=n.mul(x,h),h=n.add(h,w),new d(c,l,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return b.wNAFCached(this,c,e,(e=>{const t=n.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(d.fromAffine)}))}multiplyUnsafe(e){const r=d.ZERO;if(e.isZero())return r;if(s(e),e.isOne())return this;const{endo:f}=t;if(!f)return b.unsafeLadder(this,e);let{k1neg:i,k1:o,k2neg:a,k2:c}=f.splitScalar(e),u=r,l=r,h=this;for(;o.gt(ce)||c.gt(ce);)o.isEven()||(u=u.add(h)),c.isEven()||(l=l.add(h)),h=h.double(),o=o.rightShift(ue),c=c.rightShift(ue);return i&&(u=u.negate()),a&&(l=l.negate()),l=new d(n.mul(l.px,f.beta),l.py,l.pz),u.add(l)}multiply(e){s(e);let r,f,i=e;const{endo:o}=t;if(o){const{k1neg:e,k1:t,k2neg:s,k2:a}=o.splitScalar(i);let{p:c,f:u}=this.wNAF(t),{p:l,f:h}=this.wNAF(a);c=b.constTimeNegate(e,c),l=b.constTimeNegate(s,l),l=new d(n.mul(l.px,o.beta),l.py,l.pz),r=c.add(l),f=u.add(h)}else{const{p:e,f:t}=this.wNAF(i);r=e,f=t}return d.normalizeZ([r,f])[0]}multiplyAndAddUnsafe(e,t,n){const r=d.BASE,f=(e,t)=>t.isZero()||t.isOne()||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),i=f(this,t).add(f(e,n));return i.is0()?void 0:i}toAffine(e){const{px:t,py:r,pz:f}=this,i=this.is0();null==e&&(e=i?n.ONE:n.inv(f));const o=n.mul(t,e),s=n.mul(r,e),a=n.mul(f,e);if(i)return{x:n.ZERO,y:n.ZERO};if(!n.eql(a,n.ONE))throw Error("invZ was invalid");return{x:o,y:s}}isTorsionFree(){const{h:e,isTorsionFree:n}=t;if(e.isOne())return!0;if(n)return n(d,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:n}=t;return e.isOne()?this:n?n(d,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return this.assertValidity(),r(d,this,e)}toHex(e=!0){return g(this.toRawBytes(e))}}d.BASE=new d(t.Gx,t.Gy,n.ONE),d.ZERO=new d(n.ZERO,n.ONE,n.ZERO);const l=t.nBitLength,b=fe(d,t.endo?Math.ceil(l/2):l);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:a,weierstrassEquation:i,isWithinCurveOrder:o}}function he(e){const t=function(e){const t=ie(e);return Z(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:n,n:r}=t,f=n.BYTES+1,i=2*n.BYTES+1;function o(e){return K(e,r)}function s(e){return W(e,r)}const{ProjectivePoint:a,normPrivateKeyToScalar:c,weierstrassEquation:u,isWithinCurveOrder:d}=le({...t,toBytes(e,t,r){const f=t.toAffine(),i=n.toBytes(f.x),o=R;return r?o(Uint8Array.from([t.hasEvenY()?2:3]),i):o(Uint8Array.from([4]),i,n.toBytes(f.y))},fromBytes(e){const t=e.length,r=e[0],o=e.subarray(1);if(t!==f||2!==r&&3!==r){if(t===i&&4===r){return{x:n.fromBytes(o.subarray(0,n.BYTES)),y:n.fromBytes(o.subarray(n.BYTES,2*n.BYTES))}}throw Error(`Point of length ${t} was invalid. Expected ${f} compressed bytes or ${i} uncompressed bytes`)}{const e=v(o);if(s=e,!ce.lt(s)||!s.lt(n.ORDER))throw Error("Point is not on curve");const t=u(e);let f=n.sqrt(t);return 1==(1&r)!==!f.isEven()&&(f=n.neg(f)),{x:e,y:f}}var s}}),l=e=>g(A(e,t.nByteLength));function b(e){const t=r.rightShift(ue);return e.gt(t)}const m=(e,t,n)=>v(e.slice(t,n));class w{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){const n=t.nByteLength;return e=q("compactSignature",e,2*n),new w(m(e,0,n),m(e,n,2*n))}static fromDER(e){const{r:t,s:n}=ae.toSig(q("DER",e));return new w(t,n)}assertValidity(){if(!d(this.r))throw Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(e){return new w(this.r,this.s,e)}recoverPublicKey(e){const{r,s:f,recovery:i}=this,c=B(q("msgHash",e));if(null==i||![0,1,2,3].includes(i))throw Error("recovery id invalid");const u=2===i||3===i?r.add(t.n):r;if(u.gte(n.ORDER))throw Error("recovery id 2 or 3 invalid");const d=0==(1&i)?"02":"03",h=a.fromHex(d+l(u)),b=s(u),m=o(c.negate().imul(b)),w=o(f.mul(b)),y=a.BASE.multiplyAndAddUnsafe(h,m,w);if(!y)throw Error("point at infinify");return y.assertValidity(),y}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new w(this.r,o(this.s.negate()),this.recovery):this}toDERRawBytes(){return S(this.toDERHex())}toDERHex(){return ae.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return S(this.toCompactHex())}toCompactHex(){return l(this.r)+l(this.s)}}const p={isValidPrivateKey(e){try{return c(e),!0}catch(e){return!1}},normPrivateKeyToScalar:c,randomPrivateKey:()=>{const e=te(t.n);return function(e,t,n=!1){const r=e.length,f=ee(t),i=te(t);if(r<16||r<i||r>1024)throw Error(`expected ${i}-1024 bytes of input, got ${r}`);const o=K(n?v(e):O(e),t.dec()).inc();return n?z(o,f):A(o,f)}(t.randomBytes(e),t.n)},precompute:(e=8,t=a.BASE)=>(t._setWindowSize(e),t.multiply(h.new(3)),t)};function E(e){const t=y(e),n="string"==typeof e,r=(t||n)&&e.length;return t?r===f||r===i:n?r===2*f||r===2*i:e instanceof a}const x=t.bits2int||function(e){const n=v(e),r=8*e.length-t.nBitLength;return r>0?n.rightShift(h.new(r)):n},B=t.bits2int_modN||function(e){return o(x(e))},N=j(t.nBitLength);function P(e){if(!(e instanceof h))throw Error("bigint expected");if(!ce.lte(e)||!e.lt(N))throw Error("bigint expected < 2^"+t.nBitLength);return A(e,t.nByteLength)}function L(e,r,f=H){if(["recovered","canonical"].some((e=>e in f)))throw Error("sign() legacy options not supported");const{hash:i,randomBytes:u}=t;let{lowS:l,prehash:h,extraEntropy:m}=f;null==l&&(l=!0),e=q("msgHash",e),h&&(e=q("prehashed msgHash",i(e)));const y=B(e),p=c(r),g=[P(p),P(y)];if(null!=m){const e=!0===m?u(n.BYTES):m;g.push(q("extraEntropy",e))}const E=R(...g),S=y;return{seed:E,k2sig:function(e){const t=x(e);if(!d(t))return;const n=s(t),r=a.BASE.multiply(t).toAffine(),f=o(r.x);if(f.isZero())return;const i=o(n.mul(o(S.add(f.mul(p)))));if(i.isZero())return;let c=(r.x.equal(f)?0:2)|r.y.getBit(0),u=i;return l&&b(i)&&(u=function(e){return b(e)?o(e.negate()):e}(i),c^=1),new w(f,u,c)}}}const H={lowS:t.lowS,prehash:!1},T={lowS:t.lowS,prehash:!1};return a.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return a.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(E(e))throw Error("first arg must be private key");if(!E(t))throw Error("second arg must be public key");return a.fromHex(t).multiply(c(e)).toRawBytes(n)},sign:function(e,n,r=H){const{seed:f,k2sig:i}=L(e,n,r),o=t;return I(o.hash.outputLen,o.nByteLength,o.hmac)(f,i)},verify:function(e,n,r,f=T){const i=e;if(n=q("msgHash",n),r=q("publicKey",r),"strict"in f)throw Error("options.strict was renamed to lowS");const{lowS:c,prehash:u}=f;let d,l;try{if("string"==typeof i||y(i))try{d=w.fromDER(i)}catch(e){if(!(e instanceof ae.Err))throw e;d=w.fromCompact(i)}else{if(!("object"==typeof i&&i.r instanceof h&&i.s instanceof h))throw Error("PARSE");{const{r:e,s:t}=i;d=new w(e,t)}}l=a.fromHex(r)}catch(e){if("PARSE"===e.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(c&&d.hasHighS())return!1;u&&(n=t.hash(n));const{r:b,s:m}=d,p=B(n),g=s(m),E=o(p.mul(g)),x=o(b.mul(g)),S=a.BASE.multiplyAndAddUnsafe(l,E,x)?.toAffine();return!!S&&o(S.x).equal(b)},ProjectivePoint:a,Signature:w,utils:p}}
8
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function be(e){return{hash:e,hmac:(t,...n)=>m(e,t,i(...n)),randomBytes:o}}function me(e,t){const n=t=>he({...e,...be(t)});return Object.freeze({...n(t),create:n})}
9
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.freeze(h.new(4));const we=X(h.new("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),ye=me({a:we.create(h.new("-3")),b:h.new("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Fp:we,n:h.new("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:h.new("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:h.new("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:h.new(1),lowS:!1},s),pe=X(h.new("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),ge=me({a:pe.create(h.new("-3")),b:h.new("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Fp:pe,n:h.new("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:h.new("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:h.new("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:h.new(1),lowS:!1},a),Ee=X(h.new("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),xe={a:Ee.create(h.new("-3")),b:h.new("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Fp:Ee,n:h.new("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:h.new("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:h.new("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:h.new(1)},Be=me({a:xe.a,b:xe.b,Fp:Ee,n:xe.n,Gx:xe.Gx,Gy:xe.Gy,h:xe.h,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},c),Se=X(h.new("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),ve=me({a:Se.create(h.new("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:h.new("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:Se,n:h.new("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:h.new("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:h.new("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:h.new(1),lowS:!1},s),Oe=X(h.new("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),Ae=me({a:Oe.create(h.new("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:h.new("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:Oe,n:h.new("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:h.new("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:h.new("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:h.new(1),lowS:!1},a),ze=X(h.new("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")),qe=me({a:ze.create(h.new("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:h.new("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:ze,n:h.new("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:h.new("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:h.new("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:h.new(1),lowS:!1},c),Re=Object.freeze(h.new(0)),je=Object.freeze(h.new(1)),Ne=Object.freeze(h.new(2)),Pe=Object.freeze(h.new(3)),Ie=Object.freeze(h.new(8)),Le={zip215:!0};function Ze(e){const t=function(e){const t=ie(e);return Z(e,{hash:"function",a:"BigInteger",d:"BigInteger",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:n,n:r,prehash:f,hash:i,randomBytes:o,nByteLength:s,h:a}=t,c=Ne.leftShift(h.new(8*s).idec()),u=n.create,d=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(e.mul(n.inv(t)))}}catch(e){return{isValid:!1,value:Re}}}),l=t.adjustScalarBytes||(e=>e),b=t.domain||((e,t,n)=>{if(t.length||n)throw Error("Contexts/pre-hash are not supported");return e}),m=e=>e instanceof h&&e.gt(Re),w=(e,t)=>m(e)&&m(t)&&e.lt(t),y=e=>e.isZero()||w(e,c);function p(e,t){if(w(e,t))return e;throw Error(`Expected valid scalar < ${t}, got ${typeof e} ${e}`)}function E(e){return e.isZero()?e:p(e,r)}const x=new Map;function B(e){if(!(e instanceof S))throw Error("ExtendedPoint expected")}class S{constructor(e,t,n,r){if(this.ex=e,this.ey=t,this.ez=n,this.et=r,!y(e))throw Error("x required");if(!y(t))throw Error("y required");if(!y(n))throw Error("z required");if(!y(r))throw Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof S)throw Error("extended point not allowed");const{x:t,y:n}=e||{};if(!y(t)||!y(n))throw Error("invalid affine point");return new S(t,n,je,u(t.mul(n)))}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.ez)));return e.map(((e,n)=>e.toAffine(t[n]))).map(S.fromAffine)}_setWindowSize(e){this._WINDOW_SIZE=e,x.delete(this)}assertValidity(){const{a:e,d:n}=t;if(this.is0())throw Error("bad point: ZERO");const{ex:r,ey:f,ez:i,et:o}=this,s=u(r.mul(r)),a=u(f.mul(f)),c=u(i.mul(i)),d=u(c.mul(c)),l=u(s.mul(e)),h=u(c.mul(u(l.add(a)))),b=u(d.add(u(n.mul(u(s.mul(a))))));if(!h.equal(b))throw Error("bad point: equation left != right (1)");const m=u(r.mul(f)),w=u(i.mul(o));if(!m.equal(w))throw Error("bad point: equation left != right (2)")}equals(e){B(e);const{ex:t,ey:n,ez:r}=this,{ex:f,ey:i,ez:o}=e,s=u(t.mul(o)),a=u(f.mul(r)),c=u(n.mul(o)),d=u(i.mul(r));return s.equal(a)&&c.equal(d)}is0(){return this.equals(S.ZERO)}negate(){return new S(u(this.ex.negate()),this.ey,this.ez,u(this.et.negate()))}double(){const{a:e}=t,{ex:n,ey:r,ez:f}=this,i=u(n.mul(n)),o=u(r.mul(r)),s=u(Ne.mul(u(f.mul(f)))),a=u(e.mul(i)),c=n.add(r),d=u(u(c.mul(c)).sub(i).isub(o)),l=a.add(o),h=l.sub(s),b=a.sub(o),m=u(d.mul(h)),w=u(l.mul(b)),y=u(d.mul(b)),p=u(h.mul(l));return new S(m,w,p,y)}add(e){B(e);const{a:n,d:r}=t,{ex:f,ey:i,ez:o,et:s}=this,{ex:a,ey:c,ez:d,et:l}=e;if(n.equal(h.new(-1))){const e=u(i.sub(f).imul(c.add(a))),t=u(i.add(f).imul(c.sub(a))),n=u(t.sub(e));if(n.isZero())return this.double();const r=u(o.mul(Ne).imul(l)),h=u(s.mul(Ne).imul(d)),b=h.add(r),m=t.add(e),w=h.sub(r),y=u(b.mul(n)),p=u(m.mul(w)),g=u(b.mul(w)),E=u(n.mul(m));return new S(y,p,E,g)}const b=u(f.mul(a)),m=u(i.mul(c)),w=u(s.mul(r).imul(l)),y=u(o.mul(d)),p=u(f.add(i).imul(a.add(c)).isub(b).isub(m)),g=y.sub(w),E=y.add(w),x=u(m.sub(n.mul(b))),v=u(p.mul(g)),O=u(E.mul(x)),A=u(p.mul(x)),z=u(g.mul(E));return new S(v,O,z,A)}subtract(e){return this.add(e.negate())}wNAF(e){return z.wNAFCached(this,x,e,S.normalizeZ)}multiply(e){const{p:t,f:n}=this.wNAF(p(e,r));return S.normalizeZ([t,n])[0]}multiplyUnsafe(e){let t=E(e);return t.isZero()?A:this.equals(A)||t.isOne()?this:this.equals(v)?this.wNAF(t).p:z.unsafeLadder(this,t)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return z.unsafeLadder(this,r).is0()}toAffine(e){const{ex:t,ey:r,ez:f}=this,i=this.is0();null==e&&(e=i?Ie:n.inv(f));const o=u(t.mul(e)),s=u(r.mul(e)),a=u(f.mul(e));if(i)return{x:Re.clone(),y:je.clone()};if(!a.isOne())throw Error("invZ was invalid");return{x:o,y:s}}clearCofactor(){const{h:e}=t;return e.isOne()?this:this.multiplyUnsafe(e)}static fromHex(e,r=!1){const{d:f,a:i}=t,o=n.BYTES,s=(e=q("pointHex",e,o)).slice(),a=e[o-1];s[o-1]=-129&a;const l=O(s);l.isZero()||p(l,r?c:n.ORDER);const h=u(l.mul(l)),b=u(h.dec()),m=u(f.mul(h).isub(i));let{isValid:w,value:y}=d(b,m);if(!w)throw Error("Point.fromHex: invalid y coordinate");const g=!y.isEven(),E=0!=(128&a);if(!r&&y.isZero()&&E)throw Error("Point.fromHex: x=0 and x_0=1");return E!==g&&(y=u(y.negate())),S.fromAffine({x:y,y:l})}static fromPrivateKey(e){return P(e).point}toRawBytes(){const{x:e,y:t}=this.toAffine(),r=t.toUint8Array("le",n.BYTES);return r[r.length-1]|=e.isEven()?0:128,r}toHex(){return g(this.toRawBytes())}}S.BASE=new S(t.Gx,t.Gy,je,u(t.Gx.mul(t.Gy))),S.ZERO=new S(Re,je,je,Re);const{BASE:v,ZERO:A}=S,z=fe(S,8*s);function j(e){return K(e,r)}function N(e){return j(O(e))}function P(e){const t=s;e=q("private key",e,t);const n=q("hashed private key",i(e),2*t),r=l(n.slice(0,t)),f=n.slice(t,2*t),o=N(r),a=v.multiply(o),c=a.toRawBytes();return{head:r,prefix:f,scalar:o,point:a,pointBytes:c}}function I(e=new Uint8Array,...t){const n=R(...t);return N(i(b(n,q("context",e),!!f)))}const L=Le;v._setWindowSize(8);return{CURVE:t,getPublicKey:function(e){return P(e).pointBytes},sign:function(e,t,r={}){e=q("message",e),f&&(e=f(e));const{prefix:i,scalar:o,pointBytes:a}=P(t),c=I(r.context,i,e),u=v.multiply(c).toRawBytes(),d=I(r.context,u,a,e),l=j(c.add(d.mul(o)));return E(l),q("result",R(u,l.toUint8Array("le",n.BYTES)),2*s)},verify:function(e,t,r,i=L){const{context:o,zip215:s}=i,a=n.BYTES;e=q("signature",e,2*a),t=q("message",t),f&&(t=f(t));const c=O(e.slice(a,2*a));let u,d,l;try{u=S.fromHex(r,s),d=S.fromHex(e.slice(0,a),s),l=v.multiplyUnsafe(c)}catch(e){return!1}if(!s&&u.isSmallOrder())return!1;const h=I(o,d.toRawBytes(),u.toRawBytes(),t);return d.add(u.multiplyUnsafe(h)).subtract(l).clearCofactor().equals(S.ZERO)},ExtendedPoint:S,utils:{getExtendedPublicKey:P,randomPrivateKey:()=>o(n.BYTES),precompute:(e=8,t=S.BASE)=>(t._setWindowSize(e),t.multiply(Pe),t)}}}
10
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const He=Object.freeze(h.new(0)),Te=Object.freeze(h.new(1)),Ue=Object.freeze(h.new(2));function Fe(e){const t=(Z(n=e,{a:"BigInteger"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"BigInteger"}),Object.freeze({...n}));var n;const{P:r}=t,f=e=>K(e,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>D(e,r.sub(Ue),r));function u(e,t,n){const r=f(e.mul(t.sub(n)));return[t=f(t.sub(r)),n=f(n.add(r))]}function d(e){if(e instanceof h&&!e.isNegative()&&e.lt(r))return e;throw Error("Expected valid scalar 0 < scalar < CURVE.P")}const l=t.a.sub(Ue).irightShift(Ue);function b(e){return z(f(e),o)}function m(e,t){const n=function(e){const t=q("u coordinate",e,o);return 32===s&&(t[31]&=127),O(t)}(t),r=function(e){const t=q("scalar",e),n=t.length;if(n!==o&&n!==s)throw Error(`Expected ${o} or ${s} bytes, got ${n}`);return O(a(t))}(e),m=function(e,t){const n=d(e),r=d(t),o=n;let s,a=Te,b=He,m=n,w=Te,y=He.clone();for(let e=h.new(i-1);!e.isNegative();e.idec()){const t=h.new(r.rightShift(e).getBit(0));y.ixor(t),s=u(y,a,m),a=s[0],m=s[1],s=u(y,b,w),b=s[0],w=s[1],y=t;const n=a.add(b),i=f(n.mul(n)),c=a.sub(b),d=f(c.mul(c)),p=i.sub(d),g=m.add(w),E=m.sub(w),x=f(E.mul(n)),B=f(g.mul(c)),S=x.add(B),v=x.sub(B);m=f(S.mul(S)),w=f(o.mul(f(v.mul(v)))),a=f(i.mul(d)),b=f(p.mul(i.add(f(l.mul(p)))))}s=u(y,a,m),a=s[0],m=s[1],s=u(y,b,w),b=s[0],w=s[1];const p=c(b);return f(a.mul(p))}(n,r);if(m.isZero())throw Error("Invalid private or public key received");return b(m)}const w=b(t.Gu);function y(e){return m(e,w)}return{scalarMult:m,scalarMultBase:y,getSharedSecret:(e,t)=>m(e,t),getPublicKey:e=>y(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:w}}
11
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const _e=u((()=>l.create({dkLen:114}))),Ge=(u((()=>l.create({dkLen:64}))),h.new("726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018365439")),ke=h.new(1),Ce=h.new(2),$e=h.new(3),Ve=h.new(11),Ke=h.new(22),De=h.new(44),Ye=h.new(88),We=h.new(223);function Me(e){const t=Ge,n=e.modExp($e,t),r=n.mul(n).imul(e).imod(t),f=Y(r,$e,t).imul(r).imod(t),i=Y(f,$e,t).imul(r).imod(t),o=Y(i,Ce,t).imul(n).imod(t),s=Y(o,Ve,t).imul(o).imod(t),a=Y(s,Ke,t).imul(s).imod(t),c=Y(a,De,t).imul(a).imod(t),u=Y(c,Ye,t).imul(c).imod(t),d=Y(u,De,t).imul(a).imod(t),l=Y(d,Ce,t).imul(n).imod(t),h=Y(l,ke,t).imul(e).imod(t);return Y(h,We,t).imul(l).imod(t)}function Je(e){return e[0]&=252,e[55]|=128,e[56]=0,e}const Qe=X(Ge,456,!0),Xe={a:h.new(1),d:h.new("726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018326358"),Fp:Qe,n:h.new("181709681073901722637330951972001133588410340171829515070372549795146003961539585716195755291692375963310293709091662304773755859649779"),nBitLength:456,h:h.new(4),Gx:h.new("224580040295924300187604334099896036246789641632564134246125461686950415467406032909029192869357953282578032075146446173674602635247710"),Gy:h.new("298819210078481492676017930443930673437544040154080242095928241372331506189835876003536878655418784733982303233503462500531545062832660"),hash:_e,randomBytes:o,adjustScalarBytes:Je,domain:(e,t,n)=>{if(t.length>255)throw Error("Context is too big: "+t.length);return i(d("SigEd448"),new Uint8Array([n?1:0,t.length]),t,e)},uvRatio:function(e,t){const n=Ge,r=K(e.mul(e).imul(t),n),f=K(r.mul(e),n),i=Me(K(f.mul(r).imul(t),n)),o=K(f.mul(i),n),s=K(o.mul(o),n);return{isValid:K(s.mul(t),n).equal(e),value:o}}},et=/* @__PURE__ */Ze(Xe),tt=/* @__PURE__ */(()=>Fe({a:h.new(156326),montgomeryBits:448,nByteLength:56,P:Ge,Gu:h.new(5),powPminus2:e=>{const t=Ge;return K(Y(Me(e),h.new(2),t).mul(e),t)},adjustScalarBytes:Je,randomBytes:o}))();Object.freeze(h.new(4)),Qe.ORDER.sub($e).irightShift(Ce),h.new(156326),h.new("39082"),h.new("78163"),h.new("98944233647732219769177004876929019128417576295529901074099889598043702116001257856802131563896515373927712232092845883226922417596214"),h.new("315019913931389607337177038330951043522456072897266928557328499619017160722351061360252776265186336876723201881398623946864393857820716"),h.new("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
12
12
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
13
- const et=Object.freeze(h.new("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f")),tt=Object.freeze(h.new("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"));Object.freeze(h.new(0));const nt=Object.freeze(h.new(1)),rt=Object.freeze(h.new(2)),ft=(e,t)=>e.add(t.rightShift(nt)).idiv(t);const it=J(et,void 0,void 0,{sqrt:function(e){const t=et,n=h.new(3),r=h.new(6),f=h.new(11),i=h.new(22),o=h.new(23),s=h.new(44),a=h.new(88),c=e.mul(e).imul(e).imod(t),u=c.mul(c).imul(e).imod(t),d=K(u,n,t).imul(u).imod(t),l=K(d,n,t).imul(u).imod(t),b=K(l,rt,t).imul(c).imod(t),m=K(b,f,t).imul(b).imod(t),w=K(m,i,t).imul(m).imod(t),y=K(w,s,t).imul(w).imod(t),p=K(y,a,t).imul(y).imod(t),g=K(p,s,t).imul(w).imod(t),E=K(g,n,t).imul(u).imod(t),x=K(E,o,t).imul(m).imod(t),B=K(x,r,t).imul(c).imod(t),S=K(B,rt,t);if(!it.eql(it.sqr(S),e))throw Error("Cannot find square root");return S}}),ot=he({a:h.new(0),b:h.new(7),Fp:it,n:tt,Gx:h.new("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:h.new("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:h.new(1),lowS:!0,endo:{beta:h.new("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=tt,n=h.new("0x3086d221a7d46bcde86c90e49284eb15"),r=nt.negate().imul(h.new("0xe4437ed6010e88286f547fa90abfe4c3")),f=h.new("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,o=h.new("0x100000000000000000000000000000000"),s=ft(i.mul(e),t),a=ft(r.negate().imul(e),t);let c=V(e.sub(s.mul(n)).sub(a.mul(f)),t),u=V(s.negate().mul(r).isub(a.mul(i)),t);const d=c.gt(o),l=u.gt(o);if(d&&(c=t.sub(c)),l&&(u=t.sub(u)),c.gt(o)||u.gt(o))throw Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:d,k1:c,k2neg:l,k2:u}}}},s);ot.ProjectivePoint;const st=new Map(Object.entries({p256:me,p384:ye,p521:Ee,brainpoolP256r1:Be,brainpoolP384r1:ve,brainpoolP512r1:Ae,secp256k1:ot,x448:Xe,ed448:Qe}));export{st as nobleCurves};
13
+ const nt=Object.freeze(h.new("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f")),rt=Object.freeze(h.new("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"));Object.freeze(h.new(0));const ft=Object.freeze(h.new(1)),it=Object.freeze(h.new(2)),ot=(e,t)=>e.add(t.rightShift(ft)).idiv(t);const st=X(nt,void 0,void 0,{sqrt:function(e){const t=nt,n=h.new(3),r=h.new(6),f=h.new(11),i=h.new(22),o=h.new(23),s=h.new(44),a=h.new(88),c=e.mul(e).imul(e).imod(t),u=c.mul(c).imul(e).imod(t),d=Y(u,n,t).imul(u).imod(t),l=Y(d,n,t).imul(u).imod(t),b=Y(l,it,t).imul(c).imod(t),m=Y(b,f,t).imul(b).imod(t),w=Y(m,i,t).imul(m).imod(t),y=Y(w,s,t).imul(w).imod(t),p=Y(y,a,t).imul(y).imod(t),g=Y(p,s,t).imul(w).imod(t),E=Y(g,n,t).imul(u).imod(t),x=Y(E,o,t).imul(m).imod(t),B=Y(x,r,t).imul(c).imod(t),S=Y(B,it,t);if(!st.eql(st.sqr(S),e))throw Error("Cannot find square root");return S}}),at=me({a:h.new(0),b:h.new(7),Fp:st,n:rt,Gx:h.new("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:h.new("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:h.new(1),lowS:!0,endo:{beta:h.new("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=rt,n=h.new("0x3086d221a7d46bcde86c90e49284eb15"),r=ft.negate().imul(h.new("0xe4437ed6010e88286f547fa90abfe4c3")),f=h.new("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,o=h.new("0x100000000000000000000000000000000"),s=ot(i.mul(e),t),a=ot(r.negate().imul(e),t);let c=K(e.sub(s.mul(n)).sub(a.mul(f)),t),u=K(s.negate().mul(r).isub(a.mul(i)),t);const d=c.gt(o),l=u.gt(o);if(d&&(c=t.sub(c)),l&&(u=t.sub(u)),c.gt(o)||u.gt(o))throw Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:d,k1:c,k2neg:l,k2:u}}}},s);at.ProjectivePoint;const ct=new Map(Object.entries({nistP256:ye,nistP384:ge,nistP521:Be,brainpoolP256r1:ve,brainpoolP384r1:Ae,brainpoolP512r1:qe,secp256k1:at,x448:tt,ed448:et}));export{ct as nobleCurves};
14
14
  //# sourceMappingURL=noble_curves.min.mjs.map