@vbyte/btc-dev 1.1.7 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +94 -0
- package/README.md +260 -3
- package/dist/const.d.ts +3 -0
- package/dist/const.js +23 -22
- package/dist/index.d.ts +11 -11
- package/dist/index.js +10 -10
- package/dist/lib/address/api.d.ts +2 -2
- package/dist/lib/address/api.js +12 -12
- package/dist/lib/address/encode.d.ts +1 -1
- package/dist/lib/address/encode.js +24 -24
- package/dist/lib/address/index.d.ts +6 -6
- package/dist/lib/address/index.js +6 -6
- package/dist/lib/address/p2pkh.d.ts +2 -2
- package/dist/lib/address/p2pkh.js +14 -14
- package/dist/lib/address/p2sh.d.ts +2 -2
- package/dist/lib/address/p2sh.js +13 -13
- package/dist/lib/address/p2tr.d.ts +2 -2
- package/dist/lib/address/p2tr.js +13 -13
- package/dist/lib/address/p2wpkh.d.ts +2 -2
- package/dist/lib/address/p2wpkh.js +14 -14
- package/dist/lib/address/p2wsh.d.ts +2 -2
- package/dist/lib/address/p2wsh.js +13 -13
- package/dist/lib/address/script.d.ts +1 -1
- package/dist/lib/address/script.js +16 -16
- package/dist/lib/address/util.d.ts +1 -1
- package/dist/lib/address/util.js +22 -22
- package/dist/lib/meta/index.d.ts +4 -4
- package/dist/lib/meta/index.js +4 -4
- package/dist/lib/meta/locktime.d.ts +1 -1
- package/dist/lib/meta/locktime.js +12 -12
- package/dist/lib/meta/ref.js +9 -6
- package/dist/lib/meta/scribe.d.ts +2 -2
- package/dist/lib/meta/scribe.js +48 -53
- package/dist/lib/meta/sequence.d.ts +1 -1
- package/dist/lib/meta/sequence.js +16 -15
- package/dist/lib/script/decode.d.ts +2 -2
- package/dist/lib/script/decode.js +50 -15
- package/dist/lib/script/encode.d.ts +1 -1
- package/dist/lib/script/encode.js +20 -16
- package/dist/lib/script/index.d.ts +5 -13
- package/dist/lib/script/index.js +5 -14
- package/dist/lib/script/lock.d.ts +2 -2
- package/dist/lib/script/lock.js +15 -12
- package/dist/lib/script/util.js +4 -4
- package/dist/lib/script/words.js +129 -129
- package/dist/lib/sighash/index.d.ts +3 -3
- package/dist/lib/sighash/index.js +3 -3
- package/dist/lib/sighash/segwit.d.ts +2 -2
- package/dist/lib/sighash/segwit.js +15 -14
- package/dist/lib/sighash/taproot.d.ts +2 -2
- package/dist/lib/sighash/taproot.js +24 -23
- package/dist/lib/sighash/util.d.ts +2 -2
- package/dist/lib/sighash/util.js +7 -7
- package/dist/lib/signer/index.d.ts +2 -2
- package/dist/lib/signer/index.js +2 -2
- package/dist/lib/signer/sign.d.ts +1 -1
- package/dist/lib/signer/sign.js +42 -7
- package/dist/lib/signer/verify.d.ts +17 -3
- package/dist/lib/signer/verify.js +233 -3
- package/dist/lib/taproot/cblock.d.ts +1 -1
- package/dist/lib/taproot/cblock.js +14 -16
- package/dist/lib/taproot/encode.d.ts +1 -1
- package/dist/lib/taproot/encode.js +7 -7
- package/dist/lib/taproot/index.d.ts +4 -4
- package/dist/lib/taproot/index.js +4 -4
- package/dist/lib/taproot/parse.d.ts +1 -1
- package/dist/lib/taproot/parse.js +12 -14
- package/dist/lib/taproot/tree.d.ts +2 -2
- package/dist/lib/taproot/tree.js +11 -7
- package/dist/lib/tx/create.d.ts +1 -1
- package/dist/lib/tx/create.js +28 -12
- package/dist/lib/tx/decode.d.ts +2 -2
- package/dist/lib/tx/decode.js +50 -17
- package/dist/lib/tx/encode.d.ts +2 -2
- package/dist/lib/tx/encode.js +13 -16
- package/dist/lib/tx/index.d.ts +7 -7
- package/dist/lib/tx/index.js +7 -7
- package/dist/lib/tx/parse.d.ts +1 -1
- package/dist/lib/tx/parse.js +9 -9
- package/dist/lib/tx/size.d.ts +2 -2
- package/dist/lib/tx/size.js +9 -9
- package/dist/lib/tx/util.d.ts +2 -2
- package/dist/lib/tx/util.js +23 -22
- package/dist/lib/tx/validate.d.ts +1 -1
- package/dist/lib/tx/validate.js +3 -3
- package/dist/lib/witness/index.d.ts +2 -2
- package/dist/lib/witness/index.js +2 -2
- package/dist/lib/witness/parse.d.ts +2 -2
- package/dist/lib/witness/parse.js +24 -23
- package/dist/lib/witness/util.d.ts +2 -2
- package/dist/lib/witness/util.js +5 -5
- package/dist/main.cjs +2308 -1007
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +2308 -1007
- package/dist/module.mjs.map +1 -1
- package/dist/package.json +20 -17
- package/dist/schema/base.d.ts +1 -1
- package/dist/schema/base.js +17 -13
- package/dist/schema/index.d.ts +2 -2
- package/dist/schema/index.js +2 -2
- package/dist/schema/taproot.d.ts +1 -1
- package/dist/schema/taproot.js +2 -2
- package/dist/schema/tx.d.ts +1 -1
- package/dist/schema/tx.js +4 -4
- package/dist/script.js +8 -8
- package/dist/script.js.map +1 -1
- package/dist/types/address.d.ts +4 -4
- package/dist/types/index.d.ts +8 -8
- package/dist/types/index.js +8 -8
- package/dist/types/meta.d.ts +4 -4
- package/dist/types/psbt.d.ts +2 -2
- package/dist/types/script.d.ts +2 -2
- package/dist/types/sighash.d.ts +2 -2
- package/dist/types/witness.d.ts +5 -5
- package/package.json +20 -17
- package/src/const.ts +0 -61
- package/src/index.ts +0 -13
- package/src/lib/address/api.ts +0 -50
- package/src/lib/address/encode.ts +0 -183
- package/src/lib/address/index.ts +0 -7
- package/src/lib/address/p2pkh.ts +0 -94
- package/src/lib/address/p2sh.ts +0 -96
- package/src/lib/address/p2tr.ts +0 -91
- package/src/lib/address/p2wpkh.ts +0 -94
- package/src/lib/address/p2wsh.ts +0 -92
- package/src/lib/address/script.ts +0 -63
- package/src/lib/address/util.ts +0 -87
- package/src/lib/meta/index.ts +0 -4
- package/src/lib/meta/locktime.ts +0 -57
- package/src/lib/meta/ref.ts +0 -107
- package/src/lib/meta/scribe.ts +0 -256
- package/src/lib/meta/sequence.ts +0 -146
- package/src/lib/script/decode.ts +0 -85
- package/src/lib/script/encode.ts +0 -129
- package/src/lib/script/index.ts +0 -20
- package/src/lib/script/lock.ts +0 -73
- package/src/lib/script/util.ts +0 -78
- package/src/lib/script/words.ts +0 -182
- package/src/lib/sighash/index.ts +0 -3
- package/src/lib/sighash/segwit.ts +0 -152
- package/src/lib/sighash/taproot.ts +0 -206
- package/src/lib/sighash/util.ts +0 -51
- package/src/lib/signer/index.ts +0 -2
- package/src/lib/signer/sign.ts +0 -39
- package/src/lib/signer/verify.ts +0 -88
- package/src/lib/taproot/cblock.ts +0 -96
- package/src/lib/taproot/encode.ts +0 -49
- package/src/lib/taproot/index.ts +0 -4
- package/src/lib/taproot/parse.ts +0 -65
- package/src/lib/taproot/tree.ts +0 -94
- package/src/lib/tx/create.ts +0 -90
- package/src/lib/tx/decode.ts +0 -123
- package/src/lib/tx/encode.ts +0 -155
- package/src/lib/tx/index.ts +0 -7
- package/src/lib/tx/parse.ts +0 -69
- package/src/lib/tx/size.ts +0 -68
- package/src/lib/tx/util.ts +0 -113
- package/src/lib/tx/validate.ts +0 -49
- package/src/lib/witness/index.ts +0 -2
- package/src/lib/witness/parse.ts +0 -127
- package/src/lib/witness/util.ts +0 -18
- package/src/schema/base.ts +0 -57
- package/src/schema/index.ts +0 -2
- package/src/schema/taproot.ts +0 -12
- package/src/schema/tx.ts +0 -48
- package/src/types/address.ts +0 -35
- package/src/types/index.ts +0 -8
- package/src/types/meta.ts +0 -48
- package/src/types/psbt.ts +0 -15
- package/src/types/script.ts +0 -18
- package/src/types/sighash.ts +0 -16
- package/src/types/taproot.ts +0 -41
- package/src/types/txdata.ts +0 -85
- package/src/types/witness.ts +0 -42
package/dist/script.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var btc_dev=function(e){"use strict";var t,n;!function(e){function t(e){return null===e.match(/[^a-fA-F0-9]/)&&e.length%2==0}e.is_hex=t,e.is_bytes=function(e){return!("string"!=typeof e||!t(e))||(e instanceof Uint8Array||!(!Array.isArray(e)||!e.every(e=>"number"==typeof e)))}}(t||(t={})),function(e){e.within_size=function(e,t){if(e.length>t)throw new TypeError(`Data is larger than array size: ${e.length} > ${t}`)},e.is_hex=function(e){if(null!==e.match(/[^a-fA-f0-9]/))throw new TypeError("Invalid characters in hex string: "+e);if(e.length%2!=0)throw new Error(`Length of hex string is invalid: ${e.length}`)},e.is_bytes=function(e){if(!t.is_bytes(e))throw new Error("Bytes contains invalid elements: "+String(e))},e.is_json=function(e){try{JSON.parse(e)}catch{throw new TypeError("JSON string is invalid!")}},e.is_safe_int=function(e){if(e>Number.MAX_SAFE_INTEGER)throw new TypeError("Number exceeds safe bounds!")}}(n||(n={}));const r=BigInt(0),i=BigInt(255),o=BigInt(256);function s(e,t,n="be"){void 0===t&&(t=function(e){if(e<=0xffn)return 1;if(e<=0xffffn)return 2;if(e<=0xffffffffn)return 4;if(e<=0xffffffffffffffffn)return 8;if(e<=0xffffffffffffffffffffffffffffffffn)return 16;if(e<=0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn)return 32;throw new TypeError("Must specify a fixed buffer size for bigints greater than 32 bytes.")}(e));const s="le"===n,u=new ArrayBuffer(t),c=new DataView(u);let a=s?0:t-1;for(;e>r;){const t=e&i,n=Number(t);s?c.setUint8(a++,n):c.setUint8(a--,n),e=(e-t)/o}return new Uint8Array(u)}function u(e,t){return"bigint"==typeof t?`${t}n`:t}function c(e,t){return"string"==typeof t&&/^[0-9]+n$/.test(t)?BigInt(t.slice(0,-1)):t}function a(e,t,n="be"){void 0===t&&(t=function(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=4294967295)return 4;throw new TypeError("Numbers larger than 4 bytes must specify a fixed size!")}(e));const r="le"===n,i=new ArrayBuffer(t),o=new DataView(i);let s=r?0:t-1;for(;e>0;){const t=255&e;r?o.setUint8(s++,e):o.setUint8(s--,e),e=(e-t)/256}return new Uint8Array(i)}function f(e,t,r="be"){t=function(e,t){n.is_hex(e);const r=e.length/2;void 0===t&&(t=r);if(r>t)throw new TypeError(`Hex string is larger than array size: ${r} > ${t}`);return t}(e,t);const i="be"===r,o=new ArrayBuffer(t),s=new DataView(o);let u=i?0:t-1;for(let t=0;t<e.length;t+=2){const n=e.substring(t,t+2),r=parseInt(n,16);i?s.setUint8(u++,r):s.setUint8(u--,r)}return new Uint8Array(o)}function d(e,t,r){if(e instanceof ArrayBuffer)return new Uint8Array(e);if(e instanceof Uint8Array)return function(e,t,r="le"){void 0===t&&(t=e.length);n.within_size(e,t);const i=new Uint8Array(t).fill(0),o="be"===r?0:t-e.length;return i.set(e,o),i}(e,t,r);if("string"==typeof e)return n.is_hex(e),f(e,t,r);if("bigint"==typeof e)return s(e,t,r);if("number"==typeof e)return a(e,t,r);throw new TypeError("Input type not supported:"+typeof e)}const l=new TextEncoder,h=new TextDecoder;function p(e){return l.encode(e)}function m(e){return h.decode(e)}class g extends Uint8Array{static{this.num=(e,t,n)=>new g(e,t,n)}static{this.big=(e,t,n)=>new g(e,t,n)}static{this.bin=(e,t,n)=>{const r=function(e){const t=e.split("").map(Number);if(t.length%8!=0)throw new Error(`Binary array is invalid length: ${e.length}`);const n=new Uint8Array(t.length/8);for(let e=0,r=0;e<t.length;e+=8,r++){let i=0;for(let n=0;n<8;n++)i|=t[e+n]<<7-n;n[r]=i}return n}(e);return new g(r,t,n)}}static{this.uint=(e,t,n)=>new g(e,t,n)}static{this.str=(e,t,n)=>{const r=p(e);return new g(r,t,n)}}static{this.hex=(e,t,r)=>(n.is_hex(e),new g(e,t,r))}static{this.bytes=(e,t,r)=>(n.is_bytes(e),new g(e,t,r))}static{this.json=(e,t)=>{t=t??u;const n=p(JSON.stringify(e,t));return new g(n)}}static{this.blob=(e,t,n)=>{const r=function(e,t,n){const r=e.length,i=n/t;if(n%t!==0)throw new TypeError(`Invalid parameters: ${n} % ${t} !== 0`);if(r!==n)throw new TypeError(`Invalid data stream: ${r} !== ${n}`);if(r%t!==0)throw new TypeError(`Invalid data stream: ${r} % ${t} !== 0`);const o=new Array(i);for(let n=0;n<i;n++){const r=n*t;o[n]=e.subarray(r,r+t)}return o}(d(e),t,n);return r.map(e=>new g(e))}}static{this.is_equal=(e,t)=>new g(e).hex===new g(t).hex}static{this.is_bytes=t.is_bytes}static{this.is_hex=t.is_hex}static random(e=32){const t=function(e=32){if(crypto&&"function"==typeof crypto.getRandomValues)return crypto.getRandomValues(new Uint8Array(e));const t=crypto;if(t&&void 0!==t.randomBytes&&"function"==typeof t.randomBytes)return t.randomBytes(e);throw new Error("getRandomValues from crypto library is undefined")}(e);return new g(t,e)}static now(){const e=Math.floor(Date.now()/1e3);return new g(e,4)}constructor(e,t,n){if(e instanceof g&&void 0===t)return e;super(d(e,t,n))}get arr(){return this.to_arr()}get big(){return this.to_big()}get bin(){return this.to_bin()}get hex(){return this.to_hex()}get num(){return this.to_num()}get str(){return this.to_str()}get uint(){return this.to_uint()}to_big(e="be"){return function(e){let t=BigInt(0);for(let n=e.length-1;n>=0;n--)t=t*o+BigInt(e[n]);return BigInt(t)}("be"===e?this.uint.reverse():this.uint)}to_hex(e="be"){return function(e){let t="";for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,"0");return t}("be"===e?this.uint:this.uint.reverse())}to_json(e){void 0===e&&(e=c);const t=m(this);return JSON.parse(t,e)}to_num(e="be"){return function(e){let t=0;for(let r=e.length-1;r>=0;r--)t=256*t+e[r],n.is_safe_int(t);return t}("be"===e?this.uint.reverse():this.uint)}to_arr(){return[...this]}to_bin(){return function(e){const t=new Array(8*e.length);let n=0;for(const r of e){if(r>255)throw new Error(`Invalid byte value: ${r}. Byte values must be between 0 and 255.`);for(let e=7;e>=0;e--,n++)t[n]=r>>e&1}return t.join("")}(this)}to_str(){return m(this)}to_uint(){return new Uint8Array(this)}append(e){return g.join([this,new g(e)])}equals(e){return new g(e).hex===this.hex}prepend(e){return g.join([new g(e),this])}prefix_varint(e){if(0===this.length)throw new Error("buffer is empty");const t=g.varint(this.length,e);return this.prepend(t)}reverse(){return super.reverse(),this}set(e,t){this.set(e,t)}slice(e,t){const n=new Uint8Array(this).slice(e,t);return new g(n)}subarray(e,t){const n=new Uint8Array(this).subarray(e,t);return new g(n)}toJSON(){return this.hex}toString(){return this.hex}static from(e){return new g(Uint8Array.from(e))}static of(...e){return new g(Uint8Array.of(...e))}static join(e){const t=function(e){let t,n=0;const r=e.reduce((e,t)=>e+t.length,0),i=new Uint8Array(r);for(t=0;t<e.length;t++){const r=e[t];i.set(r,n),n+=r.length}return i}(e.map(e=>new g(e)));return new g(t)}static sort(e,t){const n=e.map(e=>new g(e,t).hex);return n.sort(),n.map(e=>g.hex(e,t))}static varint(e,t){if(e<253)return g.num(e,1);if(e<65536)return g.of(253,...g.num(e,2,t));if(e<4294967296)return g.of(254,...g.num(e,4,t));if(BigInt(e)<0x10000000000000000n)return g.of(255,...g.num(e,8,t));throw new Error(`Value is too large: ${e}`)}}class _{constructor(e){this.data=new g(e),this.size=this.data.length}peek(e){if(e>this.size)throw new Error(`Size greater than stream: ${e} > ${this.size}`);return new g(this.data.slice(0,e))}read(e){const t=this.peek(e);return this.data=this.data.slice(e),this.size=this.data.length,t}varint(e){const t=this.read(1).num;switch(!0){case t>=0&&t<253:return t;case 253===t:return this.read(2).to_num(e);case 254===t:return this.read(4).to_num(e);case 255===t:return this.read(8).to_num(e);default:throw new Error(`Varint is out of range: ${t}`)}}}function y(e){return e instanceof Map||Array.isArray(e)||"object"!=typeof e?e:Object.keys(e).sort().filter(([e,t])=>void 0!==t).reduce((t,n)=>(t[n]=e[n],t),{})}function w(e){return e instanceof Error?e.message:"string"==typeof e?e:String(e)}var v,b;!function(e){function t(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function n(e){return"string"==typeof e}function r(e){return Number.isInteger(e)&&!Number.isNaN(e)}function i(e){return!!n(e)&&(null===e.match(/[^a-fA-F0-9]/)&&e.length%2==0)}e.exists=function(e){return null!=e},e.is_equal=function(e,t){return e===t},e.is_object=t,e.is_deep_equal=function(e,n){return t(e)&&(e=y(e)),t(n)&&(n=y(n)),String(e)===String(n)},e.has_items=function(e){return Array.isArray(e)&&e.length>0},e.is_string=n,e.is_number=r,e.is_bigint=function(e){return"bigint"==typeof e},e.is_uchar=function(e){return r(e)&&e>=0&&e<=255},e.is_ushort=function(e){return r(e)&&e>=0&&e<=65535},e.is_uint=function(e){return r(e)&&e>=0&&e<=4294967295},e.is_u8a=function(e){return e instanceof Uint8Array},e.is_bytes=function(e){return g.is_bytes(e)},e.is_base58=function(e){return"string"==typeof e&&/^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+$/.test(e)},e.is_base64=function(e){return"string"==typeof e&&/^[a-zA-Z0-9+/]+={0,2}$/.test(e)},e.is_b64url=function(e){return"string"==typeof e&&/^[a-zA-Z0-9\-_]+={0,2}$/.test(e)},e.is_bech32=function(e){return"string"==typeof e&&/^[a-z]+1[023456789acdefghjklmnpqrstuvwxyz]+$/.test(e)},e.is_hex=i,e.is_hash=function(e){return n(e)&&i(e)&&64===e.length}}(v||(v={})),function(e){e.ok=function(e,t){if(!1===e)throw new Error(t??"Assertion failed!")},e.exists=function(e,t){if(!v.exists(e))throw new Error(t??"Value is null or undefined!")},e.is_empty=function(e,t){if(null!=e)throw new Error(t??"value is not null or undefined!")},e.is_instance=function(e,t,n){if(!(e instanceof t))throw new Error(n??`value is not an instance of ${t.name}`)},e.is_equal=function(e,t,n){if(!v.is_equal(e,t))throw new Error(n??`values are not equal: ${String(e)} !== ${String(t)}`)},e.is_object=function(e,t){if(!v.is_object(e))throw new Error(t??`value is not an object: ${String(e)}`)},e.is_deep_equal=function(e,t,n){if(!v.is_deep_equal(e,t))throw new Error(n??`values are not deep equal: ${String(e)} !== ${String(t)}`)},e.is_number=function(e){if(!v.is_number(e))throw new TypeError(`invalid number: ${String(e)}`)},e.is_bigint=function(e){if(!v.is_bigint(e))throw new TypeError(`invalid bigint: ${String(e)}`)},e.is_hex=function(e){if(!v.is_hex(e))throw new TypeError(`invalid hex: ${String(e)}`)},e.is_uchar=function(e){if(!v.is_uchar(e))throw new TypeError(`invalid unsignedchar: ${String(e)}`)},e.is_ushort=function(e){if(!v.is_ushort(e))throw new TypeError(`invalid unsigned short: ${String(e)}`)},e.is_uint=function(e){if(!v.is_uint(e))throw new TypeError(`invalid unsigned int: ${String(e)}`)},e.is_u8a=function(e){if(!v.is_u8a(e))throw new TypeError(`invalid Uint8Array: ${String(e)}`)},e.is_hash=function(e,t){if(!v.is_hash(e))throw new TypeError(t??`invalid hash: ${String(e)}`)},e.is_bytes=function(e,t){if(!v.is_bytes(e))throw new TypeError(t??`invalid bytes: ${String(e)}`)},e.size=function(e,t,n){const r=g.bytes(e);if(r.length!==t)throw new Error(n??`invalid input size: ${r.length} !== ${t}`)},e.has_items=function(e,t){if(!v.has_items(e))throw new Error(t??"array does not contain any items")},e.is_base58=function(e){if(!v.is_base58(e))throw new Error("invalid base58 string")},e.is_base64=function(e){if(!v.is_base64(e))throw new Error("invalid base64 string")},e.is_b64url=function(e){if(!v.is_b64url(e))throw new Error("invalid base64url string")},e.is_bech32=function(e){if(!v.is_bech32(e))throw new Error("invalid bech32 string")}}(b||(b={}));const E="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;
|
|
2
|
-
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function
|
|
1
|
+
var btc_dev=function(e){"use strict";const t={TXID:"00".repeat(32),VOUT:4294967295},n={LOCKTIME:0,SEQUENCE:4294967295,VERSION:2},r=[192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,102,126,128,132,150,152,186,188,190],o={P2PKH:"p2pkh",P2SH:"p2sh",P2WPKH:"p2wpkh",P2WSH:"p2wsh",P2TR:"p2tr",OPRETURN:"opreturn"},i={[o.P2PKH]:/^76a914[0-9a-f]{40}88ac$/i,[o.P2SH]:/^a914[0-9a-f]{40}87$/i,[o.P2WPKH]:/^0014[0-9a-f]{40}$/i,[o.P2WSH]:/^0020[0-9a-f]{64}$/i,[o.P2TR]:/^5120[0-9a-f]{64}$/i,[o.OPRETURN]:/^6a[0-9a-f]{2,}$/i},s=[1,2,3,129,130,131],a=[0,...s],c=1e4,u=52e4;var f,d,l=Object.freeze({__proto__:null,COINBASE:t,DEFAULT:n,LOCK_SCRIPT_REGEX:i,LOCK_SCRIPT_TYPE:o,MAX_SCRIPT_SIZE:c,MAX_VARINT_SIZE:u,OP_1_OFFSET:80,SCRIPT_INT_KEY:"",SIGHASH_DEFAULT:1,SIGHASH_SEGWIT:s,SIGHASH_TAPROOT:a,SPEND_SCRIPT_TYPE:{P2PKH:"p2pkh",P2SH:"p2sh",P2WPKH:"p2wpkh",P2WSH:"p2wsh",P2TR:"p2tr",P2TS:"p2ts"},TAPLEAF_DEFAULT_VERSION:192,TAPLEAF_VERSIONS:r,TX_SIZE:{GLOBAL_BASE:8,GLOBAL_WIT:10,TXIN_BASE:40,TXOUT_BASE:8}});!function(e){function t(e){return null===e.match(/[^a-fA-F0-9]/)&&e.length%2==0}e.is_hex=t,e.is_bytes=function(e){return!("string"!=typeof e||!t(e))||(e instanceof Uint8Array||!(!Array.isArray(e)||!e.every(e=>"number"==typeof e)))}}(f||(f={})),function(e){e.within_size=function(e,t){if(e.length>t)throw new TypeError(`Data is larger than array size: ${e.length} > ${t}`)},e.is_hex=function(e){if(null!==e.match(/[^a-fA-F0-9]/))throw new TypeError(`Invalid characters in hex string: ${e}`);if(e.length%2!=0)throw new Error(`Length of hex string is invalid: ${e.length}`)},e.is_bytes=function(e){if(!f.is_bytes(e))throw new Error(`Bytes contains invalid elements: ${String(e)}`)},e.is_json=function(e){try{JSON.parse(e)}catch{throw new TypeError("JSON string is invalid!")}},e.is_safe_int=function(e){if(e>Number.MAX_SAFE_INTEGER)throw new TypeError("Number exceeds safe bounds!")}}(d||(d={}));const p=BigInt(0),h=BigInt(255),m=BigInt(256);function g(e,t,n="be"){void 0===t&&(t=function(e){if(e<=0xffn)return 1;if(e<=0xffffn)return 2;if(e<=0xffffffffn)return 4;if(e<=0xffffffffffffffffn)return 8;if(e<=0xffffffffffffffffffffffffffffffffn)return 16;if(e<=0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn)return 32;throw new TypeError("Must specify a fixed buffer size for bigints greater than 32 bytes.")}(e));const r="le"===n,o=new ArrayBuffer(t),i=new DataView(o);let s=r?0:t-1;for(;e>p;){const t=e&h,n=Number(t);r?i.setUint8(s++,n):i.setUint8(s--,n),e=(e-t)/m}return new Uint8Array(o)}function y(e,t){return"bigint"==typeof t?`${t}n`:t}function _(e,t){return"string"==typeof t&&/^[0-9]+n$/.test(t)?BigInt(t.slice(0,-1)):t}function w(e,t,n="be"){void 0===t&&(t=function(e){if(e<0)throw new TypeError("Number must be non-negative");if(e<=255)return 1;if(e<=65535)return 2;if(e<=4294967295)return 4;throw new TypeError("Numbers larger than 4 bytes must specify a fixed size!")}(e));const r="le"===n,o=new ArrayBuffer(t),i=new DataView(o);let s=r?0:t-1;for(;e>0;){const t=255&e;r?i.setUint8(s++,t):i.setUint8(s--,t),e=(e-t)/256}return new Uint8Array(o)}function v(e,t,n="be"){t=function(e,t){d.is_hex(e);const n=e.length/2;void 0===t&&(t=n);if(n>t)throw new TypeError(`Hex string is larger than array size: ${n} > ${t}`);return t}(e,t);const r="be"===n,o=new ArrayBuffer(t),i=new DataView(o);let s=r?0:t-1;for(let t=0;t<e.length;t+=2){const n=e.substring(t,t+2),o=parseInt(n,16);r?i.setUint8(s++,o):i.setUint8(s--,o)}return new Uint8Array(o)}function b(e,t,n){if(e instanceof ArrayBuffer)return new Uint8Array(e);if(e instanceof Uint8Array)return function(e,t,n="le"){void 0===t&&(t=e.length);d.within_size(e,t);const r=new Uint8Array(t).fill(0),o="be"===n?0:t-e.length;return r.set(e,o),r}(e,t,n);if("string"==typeof e)return d.is_hex(e),v(e,t,n);if("bigint"==typeof e)return g(e,t,n);if("number"==typeof e)return w(e,t,n);throw new TypeError("Input type not supported: "+typeof e)}const E=new TextEncoder,x=new TextDecoder;function z(e){return E.encode(e)}function O(e){return x.decode(e)}class k extends Uint8Array{static{this.num=(e,t,n)=>new k(e,t,n)}static{this.big=(e,t,n)=>new k(e,t,n)}static{this.bin=(e,t,n)=>{const r=function(e){if(!/^[01]*$/.test(e))throw new TypeError("Binary string must contain only 0 and 1 characters");const t=e.split("").map(Number);if(t.length%8!=0)throw new Error(`Binary array is invalid length: ${e.length}`);const n=new Uint8Array(t.length/8);for(let e=0,r=0;e<t.length;e+=8,r++){let o=0;for(let n=0;n<8;n++)o|=t[e+n]<<7-n;n[r]=o}return n}(e);return new k(r,t,n)}}static{this.u8a=(e,t,n)=>new k(e,t,n)}static{this.str=(e,t,n)=>{const r=z(e);return new k(r,t,n)}}static{this.hex=(e,t,n)=>(d.is_hex(e),new k(e,t,n))}static{this.bytes=(e,t,n)=>(d.is_bytes(e),new k(e,t,n))}static{this.json=(e,t)=>{t=t??y;const n=z(JSON.stringify(e,t));return new k(n)}}static{this.chunk=(e,t,n)=>{const r=function(e,t,n){const r=e.length,o=n/t;if(n%t!==0)throw new TypeError(`Invalid parameters: ${n} % ${t} !== 0`);if(r!==n)throw new TypeError(`Invalid data stream: ${r} !== ${n}`);if(r%t!==0)throw new TypeError(`Invalid data stream: ${r} % ${t} !== 0`);const i=new Array(o);for(let n=0;n<o;n++){const r=n*t;i[n]=e.subarray(r,r+t)}return i}(b(e),t,n);return r.map(e=>new k(e))}}static{this.is_equal=(e,t)=>new k(e).hex===new k(t).hex}static{this.is_bytes=f.is_bytes}static{this.is_hex=f.is_hex}static random(e=32){const t=function(e=32){if(!Number.isInteger(e)||e<0)throw new TypeError("Length must be a non-negative integer");if(crypto&&"function"==typeof crypto.getRandomValues)return crypto.getRandomValues(new Uint8Array(e));const t=crypto;if(t&&void 0!==t.randomBytes&&"function"==typeof t.randomBytes)return t.randomBytes(e);throw new Error("getRandomValues from crypto library is undefined")}(e);return new k(t,e)}static now(){const e=Math.floor(Date.now()/1e3);return new k(e,4)}constructor(e,t,n){super(b(e,t,n))}get arr(){return this.to_arr()}get big(){return this.to_big()}get bin(){return this.to_bin()}get hex(){return this.to_hex()}get num(){return this.to_num()}get str(){return this.to_str()}get u8a(){return this.to_u8a()}to_big(e="be"){return function(e){let t=BigInt(0);for(let n=e.length-1;n>=0;n--)t=t*m+BigInt(e[n]);return BigInt(t)}("be"===e?this.u8a.reverse():this.u8a)}to_hex(e="be"){return function(e){let t="";for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,"0");return t}("be"===e?this.u8a:this.u8a.reverse())}to_json(e){void 0===e&&(e=_);const t=O(this);return JSON.parse(t,e)}to_num(e="be"){return function(e){let t=0;for(let n=e.length-1;n>=0;n--)t=256*t+e[n],d.is_safe_int(t);return t}("be"===e?this.u8a.reverse():this.u8a)}to_arr(){return[...this]}to_bin(){return function(e){const t=new Array(8*e.length);let n=0;for(const r of e){if(r>255)throw new Error(`Invalid byte value: ${r}. Byte values must be between 0 and 255.`);for(let e=7;e>=0;e--,n++)t[n]=r>>e&1}return t.join("")}(this)}to_str(){return O(this)}to_u8a(){return new Uint8Array(this)}append(e){return k.join([this,new k(e)])}equals(e){return new k(e).hex===this.hex}prepend(e){return k.join([new k(e),this])}prefix_varint(e){if(0===this.length)throw new Error("buffer is empty");const t=k.create_varint(this.length,e);return this.prepend(t)}reverse(){return super.reverse(),this}set(e,t){super.set(e,t)}slice(e,t){const n=new Uint8Array(this).slice(e,t);return new k(n)}subarray(e,t){const n=new Uint8Array(this).subarray(e,t);return new k(n)}toJSON(){return this.hex}toString(){return this.hex}static from(e){return new k(Uint8Array.from(e))}static of(...e){return new k(Uint8Array.of(...e))}static join(e){const t=function(e){let t,n=0;const r=e.reduce((e,t)=>e+t.length,0),o=new Uint8Array(r);for(t=0;t<e.length;t++){const r=e[t];o.set(r,n),n+=r.length}return o}(e.map(e=>new k(e)));return new k(t)}static sort(e,t){const n=e.map(e=>new k(e,t).hex);return n.sort(),n.map(e=>k.hex(e,t))}static create_varint(e,t){if(e<253)return k.num(e,1);if(e<65536)return k.of(253,...k.num(e,2,t));if(e<4294967296)return k.of(254,...k.num(e,4,t));if(BigInt(e)<0x10000000000000000n)return k.of(255,...k.num(e,8,t));throw new Error(`Value is too large: ${e}`)}}class S{constructor(e){this.data=new k(e),this.size=this.data.length}peek(e){if(e>this.size)throw new Error(`Size greater than stream: ${e} > ${this.size}`);return new k(this.data.slice(0,e))}read(e){const t=this.peek(e);return this.data=this.data.slice(e),this.size=this.data.length,t}read_varint(e){const t=this.read(1).num;switch(!0){case t>=0&&t<253:return t;case 253===t:return this.read(2).to_num(e);case 254===t:return this.read(4).to_num(e);case 255===t:return this.read(8).to_num(e);default:throw new Error(`Varint is out of range: ${t}`)}}}function P(e){const t=k.bytes(e).hex;for(const[e,n]of Object.entries(i))if(n.test(t))return e;return null}function $(e){switch(k.bytes(e).at(0)){case 0:return 0;case 81:return 1;default:return null}}function A(e){const t=k.bytes(e).hex;return i.p2pkh.test(t)}function I(e){const t=k.bytes(e).hex;return i.p2sh.test(t)}function T(e){const t=k.bytes(e).hex;return i.p2wpkh.test(t)}function N(e){const t=k.bytes(e).hex;return i.p2wsh.test(t)}function B(e){const t=k.bytes(e).hex;return i.p2tr.test(t)}function U(e){return e instanceof Map||Array.isArray(e)||"object"!=typeof e?e:Object.keys(e).sort().filter(([e,t])=>void 0!==t).reduce((t,n)=>(t[n]=e[n],t),{})}var R,j;!function(e){function t(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function n(e){return"string"==typeof e}function r(e){return Number.isInteger(e)&&!Number.isNaN(e)}function o(e){return!!n(e)&&(null===e.match(/[^a-fA-F0-9]/)&&e.length%2==0)}e.exists=function(e){return null!=e},e.is_equal=function(e,t){return e===t},e.is_object=t,e.is_deep_equal=function(e,n){return t(e)&&(e=U(e)),t(n)&&(n=U(n)),String(e)===String(n)},e.has_items=function(e){return Array.isArray(e)&&e.length>0},e.is_string=n,e.is_number=r,e.is_bigint=function(e){return"bigint"==typeof e},e.is_uchar=function(e){return r(e)&&e>=0&&e<=255},e.is_ushort=function(e){return r(e)&&e>=0&&e<=65535},e.is_uint=function(e){return r(e)&&e>=0&&e<=4294967295},e.is_u8a=function(e){return e instanceof Uint8Array},e.is_bytes=function(e){return k.is_bytes(e)},e.is_base58=function(e){return"string"==typeof e&&/^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+$/.test(e)},e.is_base64=function(e){return"string"==typeof e&&/^[a-zA-Z0-9+/]+={0,2}$/.test(e)},e.is_b64url=function(e){return"string"==typeof e&&/^[a-zA-Z0-9\-_]+={0,2}$/.test(e)},e.is_bech32=function(e){return"string"==typeof e&&/^[a-z]+1[023456789acdefghjklmnpqrstuvwxyz]+$/.test(e)},e.is_hex=o,e.is_hash=function(e){return n(e)&&o(e)&&64===e.length}}(R||(R={})),function(e){e.ok=function(e,t){if(!1===e)throw new Error(t??"Assertion failed!")},e.exists=function(e,t){if(!R.exists(e))throw new Error(t??"Value is null or undefined!")},e.is_empty=function(e,t){if(null!=e)throw new Error(t??"value is not null or undefined!")},e.is_instance=function(e,t,n){if(!(e instanceof t))throw new Error(n??`value is not an instance of ${t.name}`)},e.is_equal=function(e,t,n){if(!R.is_equal(e,t))throw new Error(n??`values are not equal: ${String(e)} !== ${String(t)}`)},e.is_object=function(e,t){if(!R.is_object(e))throw new Error(t??`value is not an object: ${String(e)}`)},e.is_deep_equal=function(e,t,n){if(!R.is_deep_equal(e,t))throw new Error(n??`values are not deep equal: ${String(e)} !== ${String(t)}`)},e.is_number=function(e){if(!R.is_number(e))throw new TypeError(`invalid number: ${String(e)}`)},e.is_bigint=function(e){if(!R.is_bigint(e))throw new TypeError(`invalid bigint: ${String(e)}`)},e.is_hex=function(e){if(!R.is_hex(e))throw new TypeError(`invalid hex: ${String(e)}`)},e.is_uchar=function(e){if(!R.is_uchar(e))throw new TypeError(`invalid unsignedchar: ${String(e)}`)},e.is_ushort=function(e){if(!R.is_ushort(e))throw new TypeError(`invalid unsigned short: ${String(e)}`)},e.is_uint=function(e){if(!R.is_uint(e))throw new TypeError(`invalid unsigned int: ${String(e)}`)},e.is_u8a=function(e){if(!R.is_u8a(e))throw new TypeError(`invalid Uint8Array: ${String(e)}`)},e.is_hash=function(e,t){if(!R.is_hash(e))throw new TypeError(t??`invalid hash: ${String(e)}`)},e.is_bytes=function(e,t){if(!R.is_bytes(e))throw new TypeError(t??`invalid bytes: ${String(e)}`)},e.size=function(e,t,n){const r=k.bytes(e);if(r.length!==t)throw new Error(n??`invalid input size: ${r.length} !== ${t}`)},e.has_items=function(e,t){if(!R.has_items(e))throw new Error(t??"array does not contain any items")},e.is_base58=function(e){if(!R.is_base58(e))throw new Error("invalid base58 string")},e.is_base64=function(e){if(!R.is_base64(e))throw new Error("invalid base64 string")},e.is_b64url=function(e){if(!R.is_b64url(e))throw new Error("invalid base64url string")},e.is_bech32=function(e){if(!R.is_bech32(e))throw new Error("invalid bech32 string")}}(j||(j={}));const Z="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;
|
|
2
|
+
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function C(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function F(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function H(e,...t){if(!C(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function D(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.createHasher");F(e.outputLen),F(e.blockLen)}function L(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function V(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function q(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function M(e,t){return e<<32-t|e>>>t}function K(e,t){return e<<t|e>>>32-t>>>0}const J=(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),W=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function G(e){if(H(e),J)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=W[e[n]];return t}const Y=48,X=57,Q=65,ee=70,te=97,ne=102;function re(e){return e>=Y&&e<=X?e-Y:e>=Q&&e<=ee?e-(Q-10):e>=te&&e<=ne?e-(te-10):void 0}function oe(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(J)return Uint8Array.fromHex(e);const t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let t=0,o=0;t<n;t++,o+=2){const n=re(e.charCodeAt(o)),i=re(e.charCodeAt(o+1));if(void 0===n||void 0===i){const t=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+t+'" at index '+o)}r[t]=16*n+i}return r}function ie(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}function se(e){return"string"==typeof e&&(e=ie(e)),H(e),e}function ae(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];H(r),t+=r.length}const n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){const o=e[t];n.set(o,r),r+=o.length}return n}class ce{}function ue(e){const t=t=>e().update(se(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function fe(e=32){if(Z&&"function"==typeof Z.getRandomValues)return Z.getRandomValues(new Uint8Array(e));if(Z&&"function"==typeof Z.randomBytes)return Uint8Array.from(Z.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function de(e,t,n){return e&t^~e&n}function le(e,t,n){return e&t^e&n^t&n}class pe extends ce{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=q(this.buffer)}update(e){L(this),H(e=se(e));const{view:t,buffer:n,blockLen:r}=this,o=e.length;for(let i=0;i<o;){const s=Math.min(r-this.pos,o-i);if(s===r){const t=q(e);for(;r<=o-i;i+=r)this.process(t,i);continue}n.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){L(this),function(e,t){H(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:o}=this;let{pos:i}=this;t[i++]=128,V(this.buffer.subarray(i)),this.padOffset>r-i&&(this.process(n,0),i=0);for(let e=i;e<r;e++)t[e]=0;!function(e,t,n,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),a=Number(n&i),c=r?4:0,u=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+u,a,r)}(n,r-8,BigInt(8*this.length),o),this.process(n,0);const s=q(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=a/4,u=this.get();if(c>u.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)s.setUint32(4*e,u[e],o)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:o,destroyed:i,pos:s}=this;return e.destroyed=i,e.finished=o,e.length=r,e.pos=s,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}}const he=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),me=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ge=new Uint32Array(64);class ye extends pe{constructor(e=32){super(64,e,8,!1),this.A=0|he[0],this.B=0|he[1],this.C=0|he[2],this.D=0|he[3],this.E=0|he[4],this.F=0|he[5],this.G=0|he[6],this.H=0|he[7]}get(){const{A:e,B:t,C:n,D:r,E:o,F:i,G:s,H:a}=this;return[e,t,n,r,o,i,s,a]}set(e,t,n,r,o,i,s,a){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|o,this.F=0|i,this.G=0|s,this.H=0|a}process(e,t){for(let n=0;n<16;n++,t+=4)ge[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=ge[e-15],n=ge[e-2],r=M(t,7)^M(t,18)^t>>>3,o=M(n,17)^M(n,19)^n>>>10;ge[e]=o+ge[e-7]+r+ge[e-16]|0}let{A:n,B:r,C:o,D:i,E:s,F:a,G:c,H:u}=this;for(let e=0;e<64;e++){const t=u+(M(s,6)^M(s,11)^M(s,25))+de(s,a,c)+me[e]+ge[e]|0,f=(M(n,2)^M(n,13)^M(n,22))+le(n,r,o)|0;u=c,c=a,a=s,s=i+t|0,i=o,o=r,r=n,n=t+f|0}n=n+this.A|0,r=r+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,r,o,i,s,a,c,u)}roundClean(){V(ge)}destroy(){this.set(0,0,0,0,0,0,0,0),V(this.buffer)}}const _e=ue(()=>new ye);class we extends ce{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,D(e);const n=se(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,o=new Uint8Array(r);o.set(n.length>r?e.create().update(n).digest():n);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),V(o)}update(e){return L(this),this.iHash.update(e),this}digestInto(e){L(this),H(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:o,blockLen:i,outputLen:s}=this;return e.finished=r,e.destroyed=o,e.blockLen=i,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ve=(e,t,n)=>new we(e,t).update(n).digest();ve.create=(e,t)=>new we(e,t);
|
|
3
3
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
4
|
-
const
|
|
5
|
-
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const
|
|
6
|
-
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const
|
|
4
|
+
const be=BigInt(0),Ee=BigInt(1);function xe(e,t=""){if("boolean"!=typeof e){throw new Error((t&&`"${t}"`)+"expected boolean, got type="+typeof e)}return e}function ze(e,t,n=""){const r=C(e),o=e?.length,i=void 0!==t;if(!r||i&&o!==t){throw new Error((n&&`"${n}" `)+"expected Uint8Array"+(i?` of length ${t}`:"")+", got "+(r?`length=${o}`:"type="+typeof e))}return e}function Oe(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function ke(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?be:BigInt("0x"+e)}function Se(e){return ke(G(e))}function Pe(e){return H(e),ke(G(Uint8Array.from(e).reverse()))}function $e(e,t){return oe(e.toString(16).padStart(2*t,"0"))}function Ae(e,t){return $e(e,t).reverse()}function Ie(e,t,n){let r;if("string"==typeof t)try{r=oe(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!C(t))throw new Error(e+" must be hex string or Uint8Array");r=Uint8Array.from(t)}const o=r.length;if("number"==typeof n&&o!==n)throw new Error(e+" of length "+n+" expected, got "+o);return r}const Te=e=>"bigint"==typeof e&&be<=e;function Ne(e,t,n){return Te(e)&&Te(t)&&Te(n)&&t<=e&&e<n}function Be(e){let t;for(t=0;e>be;e>>=Ee,t+=1);return t}const Ue=e=>(Ee<<BigInt(e))-Ee;function Re(e,t,n={}){if(!e||"object"!=typeof e)throw new Error("expected valid options object");function r(t,n,r){const o=e[t];if(r&&void 0===o)return;const i=typeof o;if(i!==n||null===o)throw new Error(`param "${t}" is invalid: expected ${n}, got ${i}`)}Object.entries(t).forEach(([e,t])=>r(e,t,!1)),Object.entries(n).forEach(([e,t])=>r(e,t,!0))}function je(e){const t=new WeakMap;return(n,...r)=>{const o=t.get(n);if(void 0!==o)return o;const i=e(n,...r);return t.set(n,i),i}}
|
|
5
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ze=BigInt(0),Ce=BigInt(1),Fe=BigInt(2),He=BigInt(3),De=BigInt(4),Le=BigInt(5),Ve=BigInt(7),qe=BigInt(8),Me=BigInt(9),Ke=BigInt(16);function Je(e,t){const n=e%t;return n>=Ze?n:t+n}function We(e,t,n){let r=e;for(;t-- >Ze;)r*=r,r%=n;return r}function Ge(e,t){if(e===Ze)throw new Error("invert: expected non-zero number");if(t<=Ze)throw new Error("invert: expected positive modulus, got "+t);let n=Je(e,t),r=t,o=Ze,i=Ce;for(;n!==Ze;){const e=r%n,t=o-i*(r/n);r=n,n=e,o=i,i=t}if(r!==Ce)throw new Error("invert: does not exist");return Je(o,t)}function Ye(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function Xe(e,t){const n=(e.ORDER+Ce)/De,r=e.pow(t,n);return Ye(e,r,t),r}function Qe(e,t){const n=(e.ORDER-Le)/qe,r=e.mul(t,Fe),o=e.pow(r,n),i=e.mul(t,o),s=e.mul(e.mul(i,Fe),o),a=e.mul(i,e.sub(s,e.ONE));return Ye(e,a,t),a}function et(e){if(e<He)throw new Error("sqrt is not defined for small field");let t=e-Ce,n=0;for(;t%Fe===Ze;)t/=Fe,n++;let r=Fe;const o=st(e);for(;1===ot(o,r);)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===n)return Xe;let i=o.pow(r,t);const s=(t+Ce)/Fe;return function(e,r){if(e.is0(r))return r;if(1!==ot(e,r))throw new Error("Cannot find square root");let o=n,a=e.mul(e.ONE,i),c=e.pow(r,t),u=e.pow(r,s);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===o)throw new Error("Cannot find square root");const r=Ce<<BigInt(o-t-1),i=e.pow(a,r);o=t,a=e.sqr(i),c=e.mul(c,a),u=e.mul(u,i)}return u}}function tt(e){return e%De===He?Xe:e%qe===Le?Qe:e%Ke===Me?function(e){const t=st(e),n=et(e),r=n(t,t.neg(t.ONE)),o=n(t,r),i=n(t,t.neg(r)),s=(e+Ve)/Ke;return(e,t)=>{let n=e.pow(t,s),a=e.mul(n,r);const c=e.mul(n,o),u=e.mul(n,i),f=e.eql(e.sqr(a),t),d=e.eql(e.sqr(c),t);n=e.cmov(n,a,f),a=e.cmov(u,c,d);const l=e.eql(e.sqr(a),t),p=e.cmov(n,a,l);return Ye(e,p,t),p}}(e):et(e)}const nt=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rt(e,t,n=!1){const r=new Array(t.length).fill(n?e.ZERO:void 0),o=t.reduce((t,n,o)=>e.is0(n)?t:(r[o]=t,e.mul(t,n)),e.ONE),i=e.inv(o);return t.reduceRight((t,n,o)=>e.is0(n)?t:(r[o]=e.mul(t,r[o]),e.mul(t,n)),i),r}function ot(e,t){const n=(e.ORDER-Ce)/Fe,r=e.pow(t,n),o=e.eql(r,e.ONE),i=e.eql(r,e.ZERO),s=e.eql(r,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function it(e,t){void 0!==t&&F(t);const n=void 0!==t?t:e.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function st(e,t,n=!1,r={}){if(e<=Ze)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s,a=!1;if("object"==typeof t&&null!=t){if(r.sqrt||n)throw new Error("cannot specify opts in two arguments");const e=t;e.BITS&&(o=e.BITS),e.sqrt&&(i=e.sqrt),"boolean"==typeof e.isLE&&(n=e.isLE),"boolean"==typeof e.modFromBytes&&(a=e.modFromBytes),s=e.allowedLengths}else"number"==typeof t&&(o=t),r.sqrt&&(i=r.sqrt);const{nBitLength:c,nByteLength:u}=it(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let f;const d=Object.freeze({ORDER:e,isLE:n,BITS:c,BYTES:u,MASK:Ue(c),ZERO:Ze,ONE:Ce,allowedLengths:s,create:t=>Je(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return Ze<=t&&t<e},is0:e=>e===Ze,isValidNot0:e=>!d.is0(e)&&d.isValid(e),isOdd:e=>(e&Ce)===Ce,neg:t=>Je(-t,e),eql:(e,t)=>e===t,sqr:t=>Je(t*t,e),add:(t,n)=>Je(t+n,e),sub:(t,n)=>Je(t-n,e),mul:(t,n)=>Je(t*n,e),pow:(e,t)=>function(e,t,n){if(n<Ze)throw new Error("invalid exponent, negatives unsupported");if(n===Ze)return e.ONE;if(n===Ce)return t;let r=e.ONE,o=t;for(;n>Ze;)n&Ce&&(r=e.mul(r,o)),o=e.sqr(o),n>>=Ce;return r}(d,e,t),div:(t,n)=>Je(t*Ge(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Ge(t,e),sqrt:i||(t=>(f||(f=tt(e)),f(d,t))),toBytes:e=>n?Ae(e,u):$e(e,u),fromBytes:(t,r=!0)=>{if(s){if(!s.includes(t.length)||t.length>u)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+t.length);const e=new Uint8Array(u);e.set(t,n?0:e.length-t.length),t=e}if(t.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+t.length);let o=n?Pe(t):Se(t);if(a&&(o=Je(o,e)),!r&&!d.isValid(o))throw new Error("invalid field element: outside of range 0..ORDER");return o},invertBatch:e=>rt(d,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(d)}function at(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function ct(e){const t=at(e);return t+Math.ceil(t/2)}function ut(e,t,n=!1){const r=e.length,o=at(t),i=ct(t);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);const s=Je(n?Pe(e):Se(e),t-Ce)+Ce;return n?Ae(s,o):$e(s,o)}
|
|
6
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ft=BigInt(0),dt=BigInt(1);function lt(e,t){const n=t.negate();return e?n:t}function pt(e,t){const n=rt(e.Fp,t.map(e=>e.Z));return t.map((t,r)=>e.fromAffine(t.toAffine(n[r])))}function ht(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function mt(e,t){ht(e,t);const n=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:Ue(e),maxNumber:n,shiftBy:BigInt(e)}}function gt(e,t,n){const{windowSize:r,mask:o,maxNumber:i,shiftBy:s}=n;let a=Number(e&o),c=e>>s;a>r&&(a-=i,c+=dt);const u=t*r;return{nextN:c,offset:u+Math.abs(a)-1,isZero:0===a,isNeg:a<0,isNegF:t%2!=0,offsetF:u}}const yt=new WeakMap,_t=new WeakMap;function wt(e){return _t.get(e)||1}function vt(e){if(e!==ft)throw new Error("invalid wNAF")}class bt{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,n=this.ZERO){let r=e;for(;t>ft;)t&dt&&(n=n.add(r)),r=r.double(),t>>=dt;return n}precomputeWindow(e,t){const{windows:n,windowSize:r}=mt(t,this.bits),o=[];let i=e,s=i;for(let e=0;e<n;e++){s=i,o.push(s);for(let e=1;e<r;e++)s=s.add(i),o.push(s);i=s.double()}return o}wNAF(e,t,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let r=this.ZERO,o=this.BASE;const i=mt(e,this.bits);for(let e=0;e<i.windows;e++){const{nextN:s,offset:a,isZero:c,isNeg:u,isNegF:f,offsetF:d}=gt(n,e,i);n=s,c?o=o.add(lt(f,t[d])):r=r.add(lt(u,t[a]))}return vt(n),{p:r,f:o}}wNAFUnsafe(e,t,n,r=this.ZERO){const o=mt(e,this.bits);for(let e=0;e<o.windows&&n!==ft;e++){const{nextN:i,offset:s,isZero:a,isNeg:c}=gt(n,e,o);if(n=i,!a){const e=t[s];r=r.add(c?e.negate():e)}}return vt(n),r}getPrecomputes(e,t,n){let r=yt.get(t);return r||(r=this.precomputeWindow(t,e),1!==e&&("function"==typeof n&&(r=n(r)),yt.set(t,r))),r}cached(e,t,n){const r=wt(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)}unsafe(e,t,n,r){const o=wt(e);return 1===o?this._unsafeLadder(e,t,r):this.wNAFUnsafe(o,this.getPrecomputes(o,e,n),t,r)}createCache(e,t){ht(t,this.bits),_t.set(e,t),yt.delete(e)}hasCache(e){return 1!==wt(e)}}function Et(e,t,n,r){!function(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}(n,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}(r,t);const o=n.length,i=r.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");const s=e.ZERO,a=Be(BigInt(o));let c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);const u=Ue(c),f=new Array(Number(u)+1).fill(s);let d=s;for(let e=Math.floor((t.BITS-1)/c)*c;e>=0;e-=c){f.fill(s);for(let t=0;t<i;t++){const o=r[t],i=Number(o>>BigInt(e)&u);f[i]=f[i].add(n[t])}let t=s;for(let e=f.length-1,n=s;e>0;e--)n=n.add(f[e]),t=t.add(n);if(d=d.add(t),0!==e)for(let e=0;e<c;e++)d=d.double()}return d}function xt(e,t,n){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return function(e){Re(e,nt.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return st(e,{isLE:n})}
|
|
7
7
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
8
|
-
const ct=(e,t)=>(e+(e>=0?t:-t)/mt)/t;function at(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function ft(e,t){const n={};for(let r of Object.keys(t))n[r]=void 0===e[r]?t[r]:e[r];return ue(n.lowS,"lowS"),ue(n.prehash,"prehash"),void 0!==n.format&&at(n.format),n}class dt extends Error{constructor(e=""){super(e)}}const lt={Err:dt,_tlv:{encode:(e,t)=>{const{Err:n}=lt;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(1&t.length)throw new n("tlv.encode: unpadded data");const r=t.length/2,i=ae(r);if(i.length/2&128)throw new n("tlv.encode: long form length too big");const o=r>127?ae(i.length/2|128):"";return ae(e)+o+i+t},decode(e,t){const{Err:n}=lt;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const i=t[r++];let o=0;if(!!(128&i)){const e=127&i;if(!e)throw new n("tlv.decode(long): indefinite length not supported");if(e>4)throw new n("tlv.decode(long): byte length is too big");const s=t.subarray(r,r+e);if(s.length!==e)throw new n("tlv.decode: length bytes not complete");if(0===s[0])throw new n("tlv.decode(long): zero leftmost byte");for(const e of s)o=o<<8|e;if(r+=e,o<128)throw new n("tlv.decode(long): not minimal encoding")}else o=i;const s=t.subarray(r,r+o);if(s.length!==o)throw new n("tlv.decode: wrong value length");return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){const{Err:t}=lt;if(e<ht)throw new t("integer: negative integers are not allowed");let n=ae(e);if(8&Number.parseInt(n[0],16)&&(n="00"+n),1&n.length)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=lt;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return de(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=lt,i=me("signature",e),{v:o,l:s}=r.decode(48,i);if(s.length)throw new t("invalid signature: left bytes after parsing");const{v:u,l:c}=r.decode(2,o),{v:a,l:f}=r.decode(2,c);if(f.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(u),s:n.decode(a)}},hexFromSig(e){const{_tlv:t,_int:n}=lt,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},ht=BigInt(0),pt=BigInt(1),mt=BigInt(2),gt=BigInt(3),_t=BigInt(4);function yt(e,t){const{BYTES:n}=e;let r;if("bigint"==typeof t)r=t;else{let i=me("private key",t);try{r=e.fromBytes(i)}catch(e){throw new Error(`invalid private key: expected ui8a of size ${n}, got ${typeof t}`)}}if(!e.isValidNot0(r))throw new Error("invalid private key: out of range [1..N-1]");return r}function wt(e,t={}){const n=function(e,t,n={},r){if(void 0===r&&(r="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const n=t[e];if(!("bigint"==typeof n&&n>We))throw new Error(`CURVE.${e} must be positive bigint`)}const i=ut(t.p,n.Fp,r),o=ut(t.n,n.Fn,r),s=["Gx","Gy","a","b"];for(const e of s)if(!i.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:o}}("weierstrass",e,t),{Fp:r,Fn:i}=n;let o=n.CURVE;const{h:s,n:u}=o;ve(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=t;if(c&&(!r.is0(o.a)||"bigint"!=typeof c.beta||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const a=bt(r,i);function f(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const d=t.toBytes||function(e,t,n){const{x:i,y:o}=t.toAffine(),s=r.toBytes(i);if(ue(n,"isCompressed"),n){f();return q(vt(!r.isOdd(o)),s)}return q(Uint8Array.of(4),s,r.toBytes(o))},l=t.fromBytes||function(e){ce(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:n}=a,i=e.length,o=e[0],s=e.subarray(1);if(i!==t||2!==o&&3!==o){if(i===n&&4===o){const e=r.BYTES,t=r.fromBytes(s.subarray(0,e)),n=r.fromBytes(s.subarray(e,2*e));if(!p(t,n))throw new Error("bad point: is not on curve");return{x:t,y:n}}throw new Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${n}`)}{const e=r.fromBytes(s);if(!r.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=h(e);let n;try{n=r.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}f();return!(1&~o)!==r.isOdd(n)&&(n=r.neg(n)),{x:e,y:n}}};function h(e){const t=r.sqr(e),n=r.mul(t,e);return r.add(r.add(n,r.mul(e,o.a)),o.b)}function p(e,t){const n=r.sqr(t),i=h(e);return r.eql(n,i)}if(!p(o.Gx,o.Gy))throw new Error("bad curve params: generator point");const m=r.mul(r.pow(o.a,gt),_t),g=r.mul(r.sqr(o.b),BigInt(27));if(r.is0(r.add(m,g)))throw new Error("bad curve params: a or b");function _(e,t,n=!1){if(!r.isValid(t)||n&&r.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function y(e){if(!(e instanceof x))throw new Error("ProjectivePoint expected")}function w(e){if(!c||!c.basises)throw new Error("no endo");return function(e,t,n){const[[r,i],[o,s]]=t,u=ct(s*e,n),c=ct(-i*e,n);let a=e-u*r-c*o,f=-u*i-c*s;const d=a<ht,l=f<ht;d&&(a=-a),l&&(f=-f);const h=we(Math.ceil(ye(n)/2))+pt;if(a<ht||a>=h||f<ht||f>=h)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:a,k2neg:l,k2:f}}(e,c.basises,i.ORDER)}const v=be((e,t)=>{const{X:n,Y:i,Z:o}=e;if(r.eql(o,r.ONE))return{x:n,y:i};const s=e.is0();null==t&&(t=s?r.ONE:r.inv(o));const u=r.mul(n,t),c=r.mul(i,t),a=r.mul(o,t);if(s)return{x:r.ZERO,y:r.ZERO};if(!r.eql(a,r.ONE))throw new Error("invZ was invalid");return{x:u,y:c}}),b=be(e=>{if(e.is0()){if(t.allowInfinityPoint&&!r.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:n,y:i}=e.toAffine();if(!r.isValid(n)||!r.isValid(i))throw new Error("bad point: x or y not field elements");if(!p(n,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function E(e,t,n,i,o){return n=new x(r.mul(n.X,e),n.Y,n.Z),t=Ye(i,t),n=Ye(o,n),t.add(n)}class x{constructor(e,t,n){this.X=_("x",e),this.Y=_("y",t,!0),this.Z=_("z",n),Object.freeze(this)}static CURVE(){return o}static fromAffine(e){const{x:t,y:n}=e||{};if(!e||!r.isValid(t)||!r.isValid(n))throw new Error("invalid affine point");if(e instanceof x)throw new Error("projective point not allowed");return r.is0(t)&&r.is0(n)?x.ZERO:new x(t,n,r.ONE)}static fromBytes(e){const t=x.fromAffine(l(ce(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return x.fromBytes(me("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return z.createCache(this,e),t||this.multiply(gt),this}assertValidity(){b(this)}hasEvenY(){const{y:e}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(e)}equals(e){y(e);const{X:t,Y:n,Z:i}=this,{X:o,Y:s,Z:u}=e,c=r.eql(r.mul(t,u),r.mul(o,i)),a=r.eql(r.mul(n,u),r.mul(s,i));return c&&a}negate(){return new x(this.X,r.neg(this.Y),this.Z)}double(){const{a:e,b:t}=o,n=r.mul(t,gt),{X:i,Y:s,Z:u}=this;let c=r.ZERO,a=r.ZERO,f=r.ZERO,d=r.mul(i,i),l=r.mul(s,s),h=r.mul(u,u),p=r.mul(i,s);return p=r.add(p,p),f=r.mul(i,u),f=r.add(f,f),c=r.mul(e,f),a=r.mul(n,h),a=r.add(c,a),c=r.sub(l,a),a=r.add(l,a),a=r.mul(c,a),c=r.mul(p,c),f=r.mul(n,f),h=r.mul(e,h),p=r.sub(d,h),p=r.mul(e,p),p=r.add(p,f),f=r.add(d,d),d=r.add(f,d),d=r.add(d,h),d=r.mul(d,p),a=r.add(a,d),h=r.mul(s,u),h=r.add(h,h),d=r.mul(h,p),c=r.sub(c,d),f=r.mul(h,l),f=r.add(f,f),f=r.add(f,f),new x(c,a,f)}add(e){y(e);const{X:t,Y:n,Z:i}=this,{X:s,Y:u,Z:c}=e;let a=r.ZERO,f=r.ZERO,d=r.ZERO;const l=o.a,h=r.mul(o.b,gt);let p=r.mul(t,s),m=r.mul(n,u),g=r.mul(i,c),_=r.add(t,n),w=r.add(s,u);_=r.mul(_,w),w=r.add(p,m),_=r.sub(_,w),w=r.add(t,i);let v=r.add(s,c);return w=r.mul(w,v),v=r.add(p,g),w=r.sub(w,v),v=r.add(n,i),a=r.add(u,c),v=r.mul(v,a),a=r.add(m,g),v=r.sub(v,a),d=r.mul(l,w),a=r.mul(h,g),d=r.add(a,d),a=r.sub(m,d),d=r.add(m,d),f=r.mul(a,d),m=r.add(p,p),m=r.add(m,p),g=r.mul(l,g),w=r.mul(h,w),m=r.add(m,g),g=r.sub(p,g),g=r.mul(l,g),w=r.add(w,g),p=r.mul(m,w),f=r.add(f,p),p=r.mul(v,w),a=r.mul(_,a),a=r.sub(a,p),p=r.mul(_,m),d=r.mul(v,d),d=r.add(d,p),new x(a,f,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(x.ZERO)}multiply(e){const{endo:n}=t;if(!i.isValidNot0(e))throw new Error("invalid scalar: out of range");let r,o;const s=e=>z.cached(this,e,e=>Xe(x,e));if(n){const{k1neg:t,k1:i,k2neg:u,k2:c}=w(e),{p:a,f:f}=s(i),{p:d,f:l}=s(c);o=f.add(l),r=E(n.beta,a,d,t,u)}else{const{p:t,f:n}=s(e);r=t,o=n}return Xe(x,[r,o])[0]}multiplyUnsafe(e){const{endo:n}=t,r=this;if(!i.isValid(e))throw new Error("invalid scalar: out of range");if(e===ht||r.is0())return x.ZERO;if(e===pt)return r;if(z.hasCache(this))return this.multiply(e);if(n){const{k1neg:t,k1:i,k2neg:o,k2:s}=w(e),{p1:u,p2:c}=function(e,t,n,r){let i=t,o=e.ZERO,s=e.ZERO;for(;n>We||r>We;)n&Ge&&(o=o.add(i)),r&Ge&&(s=s.add(i)),i=i.double(),n>>=Ge,r>>=Ge;return{p1:o,p2:s}}(x,r,i,s);return E(n.beta,u,c,t,o)}return z.unsafe(r,e)}multiplyAndAddUnsafe(e,t,n){const r=this.multiplyUnsafe(t).add(e.multiplyUnsafe(n));return r.is0()?void 0:r}toAffine(e){return v(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return s===pt||(e?e(x,this):z.unsafe(this,u).is0())}clearCofactor(){const{clearCofactor:e}=t;return s===pt?this:e?e(x,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(e=!0){return ue(e,"isCompressed"),this.assertValidity(),d(x,this,e)}toHex(e=!0){return N(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return Xe(x,e)}static msm(e,t){return st(x,i,e,t)}static fromPrivateKey(e){return x.BASE.multiply(yt(i,e))}}x.BASE=new x(o.Gx,o.Gy,r.ONE),x.ZERO=new x(r.ZERO,r.ONE,r.ZERO),x.Fp=r,x.Fn=i;const k=i.BITS,z=new ot(x,t.endo?Math.ceil(k/2):k);return x.BASE.precompute(8),x}function vt(e){return Uint8Array.of(e?2:3)}function bt(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Et(e,t,n={}){O(t),ve(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=n.randomBytes||W,i=n.hmac||((e,...n)=>ie(t,e,q(...n))),{Fp:o,Fn:s}=e,{ORDER:u,BITS:c}=s,{keygen:a,getPublicKey:f,getSharedSecret:d,utils:l,lengths:h}=function(e,t={}){const{Fn:n}=e,r=t.randomBytes||W,i=Object.assign(bt(e.Fp,n),{seed:Ke(n.ORDER)});function o(e){try{return!!yt(n,e)}catch(e){return!1}}function s(e=r(i.seed)){return Me(ce(e,i.seed,"seed"),n.ORDER)}function u(t,r=!0){return e.BASE.multiply(yt(n,t)).toBytes(r)}function c(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const{secretKey:r,publicKey:o,publicKeyUncompressed:s}=i;if(n.allowedLengths||r===o)return;const u=me("key",t).length;return u===o||u===s}const a={isValidSecretKey:o,isValidPublicKey:function(t,n){const{publicKey:r,publicKeyUncompressed:o}=i;try{const i=t.length;return!(!0===n&&i!==r||!1===n&&i!==o||!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:s,isValidPrivateKey:o,randomPrivateKey:s,normPrivateKeyToScalar:e=>yt(n,e),precompute:(t=8,n=e.BASE)=>n.precompute(t,!1)};return Object.freeze({getPublicKey:u,getSharedSecret:function(t,r,i=!0){if(!0===c(t))throw new Error("first arg must be private key");if(!1===c(r))throw new Error("second arg must be public key");const o=yt(n,t);return e.fromHex(r).multiply(o).toBytes(i)},keygen:function(e){const t=s(e);return{secretKey:t,publicKey:u(t)}},Point:e,utils:a,lengths:i})}(e,n),p={prehash:!1,lowS:"boolean"==typeof n.lowS&&n.lowS,format:void 0,extraEntropy:!1},m="compact";function g(e){return e>u>>pt}function _(e,t){if(!s.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class y{constructor(e,t,n){this.r=_("r",e),this.s=_("s",t),null!=n&&(this.recovery=n),Object.freeze(this)}static fromBytes(e,t=m){let n;if(function(e,t){at(t);const n=h.signature;ce(e,"compact"===t?n:"recovered"===t?n+1:void 0,`${t} signature`)}(e,t),"der"===t){const{r:t,s:n}=lt.toSig(ce(e));return new y(t,n)}"recovered"===t&&(n=e[0],t="compact",e=e.subarray(1));const r=s.BYTES,i=e.subarray(0,r),o=e.subarray(r,2*r);return new y(s.fromBytes(i),s.fromBytes(o),n)}static fromHex(e,t){return this.fromBytes(H(e),t)}addRecoveryBit(e){return new y(this.r,this.s,e)}recoverPublicKey(t){const n=o.ORDER,{r:r,s:i,recovery:c}=this;if(null==c||![0,1,2,3].includes(c))throw new Error("recovery id invalid");if(u*mt<n&&c>1)throw new Error("recovery id is ambiguous for h>1 curve");const a=2===c||3===c?r+u:r;if(!o.isValid(a))throw new Error("recovery id 2 or 3 invalid");const f=o.toBytes(a),d=e.fromBytes(q(vt(!(1&c)),f)),l=s.inv(a),h=v(me("msgHash",t)),p=s.create(-h*l),m=s.create(i*l),g=e.BASE.multiplyUnsafe(p).add(d.multiplyUnsafe(m));if(g.is0())throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=m){if(at(e),"der"===e)return H(lt.hexFromSig(this));const t=s.toBytes(this.r),n=s.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw new Error("recovery bit must be present");return q(Uint8Array.of(this.recovery),t,n)}return q(t,n)}toHex(e){return N(this.toBytes(e))}assertValidity(){}static fromCompact(e){return y.fromBytes(me("sig",e),"compact")}static fromDER(e){return y.fromBytes(me("sig",e),"der")}normalizeS(){return this.hasHighS()?new y(this.r,s.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return N(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return N(this.toBytes("compact"))}}const w=n.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=de(e),n=8*e.length-c;return n>0?t>>BigInt(n):t},v=n.bits2int_modN||function(e){return s.create(w(e))},b=we(c);function E(e){return function(e,t,n,r){if(!_e(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}("num < 2^"+c,e,ht,b),s.toBytes(e)}function k(e,n){return ce(e,void 0,"message"),n?ce(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:a,getPublicKey:f,getSharedSecret:d,utils:l,lengths:h,Point:e,sign:function(n,o,u={}){n=me("message",n);const{seed:c,k2sig:a}=function(t,n,i){if(["recovered","canonical"].some(e=>e in i))throw new Error("sign() legacy options not supported");const{lowS:o,prehash:u,extraEntropy:c}=ft(i,p);t=k(t,u);const a=v(t),f=yt(s,n),d=[E(f),E(a)];if(null!=c&&!1!==c){const e=!0===c?r(h.secretKey):c;d.push(me("extraEntropy",e))}const l=q(...d),m=a;return{seed:l,k2sig:function(t){const n=w(t);if(!s.isValidNot0(n))return;const r=s.inv(n),i=e.BASE.multiply(n).toAffine(),u=s.create(i.x);if(u===ht)return;const c=s.create(r*s.create(m+u*f));if(c===ht)return;let a=(i.x===u?0:2)|Number(i.y&pt),d=c;return o&&g(c)&&(d=s.neg(c),a^=1),new y(u,d,a)}}}(n,o,u);return function(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");const r=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let o=r(e),s=r(e),u=0;const c=()=>{o.fill(1),s.fill(0),u=0},a=(...e)=>n(s,o,...e),f=(e=r(0))=>{s=a(i(0),e),o=a(),0!==e.length&&(s=a(i(1),e),o=a())},d=()=>{if(u++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){o=a();const t=o.slice();n.push(t),e+=o.length}return q(...n)};return(e,t)=>{let n;for(c(),f(e);!(n=t(d()));)f();return c(),n}}(t.outputLen,s.BYTES,i)(c,a)},verify:function(t,n,r,i={}){const{lowS:o,prehash:u,format:c}=ft(i,p);if(r=me("publicKey",r),n=k(me("message",n),u),"strict"in i)throw new Error("options.strict was renamed to lowS");const a=void 0===c?function(e){let t;const n="string"==typeof e||x(e),r=!n&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!n&&!r)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(r)t=new y(e.r,e.s);else if(n){try{t=y.fromBytes(me("sig",e),"der")}catch(e){if(!(e instanceof lt.Err))throw e}if(!t)try{t=y.fromBytes(me("sig",e),"compact")}catch(e){return!1}}return t||!1}(t):y.fromBytes(me("sig",t),c);if(!1===a)return!1;try{const t=e.fromBytes(r);if(o&&a.hasHighS())return!1;const{r:i,s:u}=a,c=v(n),f=s.inv(u),d=s.create(c*f),l=s.create(i*f),h=e.BASE.multiplyUnsafe(d).add(t.multiplyUnsafe(l));if(h.is0())return!1;return s.create(h.x)===i}catch(e){return!1}},recoverPublicKey:function(e,t,n={}){const{prehash:r}=ft(n,p);return t=k(t,r),y.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:y,hash:t})}function xt(e){const{CURVE:t,curveOpts:n}=function(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},n=e.Fp;let r=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0;return{CURVE:t,curveOpts:{Fp:n,Fn:Ve(t.n,{BITS:e.nBitLength,allowedLengths:r,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e),r={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:n,hash:e.hash,ecdsaOpts:r}}function kt(e){const{CURVE:t,curveOpts:n,hash:r,ecdsaOpts:i}=xt(e);return function(e,t){const n=t.Point;return Object.assign({},t,{ProjectivePoint:n,CURVE:Object.assign({},e,Le(n.Fn.ORDER,n.Fn.BITS))})}(e,Et(wt(t,n),r,i))}
|
|
8
|
+
const zt=(e,t)=>(e+(e>=0?t:-t)/It)/t;function Ot(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function kt(e,t){const n={};for(let r of Object.keys(t))n[r]=void 0===e[r]?t[r]:e[r];return xe(n.lowS,"lowS"),xe(n.prehash,"prehash"),void 0!==n.format&&Ot(n.format),n}class St extends Error{constructor(e=""){super(e)}}const Pt={Err:St,_tlv:{encode:(e,t)=>{const{Err:n}=Pt;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(1&t.length)throw new n("tlv.encode: unpadded data");const r=t.length/2,o=Oe(r);if(o.length/2&128)throw new n("tlv.encode: long form length too big");const i=r>127?Oe(o.length/2|128):"";return Oe(e)+i+o+t},decode(e,t){const{Err:n}=Pt;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const o=t[r++];let i=0;if(!!(128&o)){const e=127&o;if(!e)throw new n("tlv.decode(long): indefinite length not supported");if(e>4)throw new n("tlv.decode(long): byte length is too big");const s=t.subarray(r,r+e);if(s.length!==e)throw new n("tlv.decode: length bytes not complete");if(0===s[0])throw new n("tlv.decode(long): zero leftmost byte");for(const e of s)i=i<<8|e;if(r+=e,i<128)throw new n("tlv.decode(long): not minimal encoding")}else i=o;const s=t.subarray(r,r+i);if(s.length!==i)throw new n("tlv.decode: wrong value length");return{v:s,l:t.subarray(r+i)}}},_int:{encode(e){const{Err:t}=Pt;if(e<$t)throw new t("integer: negative integers are not allowed");let n=Oe(e);if(8&Number.parseInt(n[0],16)&&(n="00"+n),1&n.length)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=Pt;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return Se(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=Pt,o=Ie("signature",e),{v:i,l:s}=r.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");const{v:a,l:c}=r.decode(2,i),{v:u,l:f}=r.decode(2,c);if(f.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(u)}},hexFromSig(e){const{_tlv:t,_int:n}=Pt,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},$t=BigInt(0),At=BigInt(1),It=BigInt(2),Tt=BigInt(3),Nt=BigInt(4);function Bt(e,t){const{BYTES:n}=e;let r;if("bigint"==typeof t)r=t;else{let o=Ie("private key",t);try{r=e.fromBytes(o)}catch(e){throw new Error(`invalid private key: expected ui8a of size ${n}, got ${typeof t}`)}}if(!e.isValidNot0(r))throw new Error("invalid private key: out of range [1..N-1]");return r}function Ut(e,t={}){const n=function(e,t,n={},r){if(void 0===r&&(r="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const n=t[e];if(!("bigint"==typeof n&&n>ft))throw new Error(`CURVE.${e} must be positive bigint`)}const o=xt(t.p,n.Fp,r),i=xt(t.n,n.Fn,r),s=["Gx","Gy","a","b"];for(const e of s)if(!o.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:o,Fn:i}}("weierstrass",e,t),{Fp:r,Fn:o}=n;let i=n.CURVE;const{h:s,n:a}=i;Re(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=t;if(c&&(!r.is0(i.a)||"bigint"!=typeof c.beta||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const u=jt(r,o);function f(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const d=t.toBytes||function(e,t,n){const{x:o,y:i}=t.toAffine(),s=r.toBytes(o);if(xe(n,"isCompressed"),n){f();return ae(Rt(!r.isOdd(i)),s)}return ae(Uint8Array.of(4),s,r.toBytes(i))},l=t.fromBytes||function(e){ze(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:n}=u,o=e.length,i=e[0],s=e.subarray(1);if(o!==t||2!==i&&3!==i){if(o===n&&4===i){const e=r.BYTES,t=r.fromBytes(s.subarray(0,e)),n=r.fromBytes(s.subarray(e,2*e));if(!h(t,n))throw new Error("bad point: is not on curve");return{x:t,y:n}}throw new Error(`bad point: got length ${o}, expected compressed=${t} or uncompressed=${n}`)}{const e=r.fromBytes(s);if(!r.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=p(e);let n;try{n=r.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}f();return!(1&~i)!==r.isOdd(n)&&(n=r.neg(n)),{x:e,y:n}}};function p(e){const t=r.sqr(e),n=r.mul(t,e);return r.add(r.add(n,r.mul(e,i.a)),i.b)}function h(e,t){const n=r.sqr(t),o=p(e);return r.eql(n,o)}if(!h(i.Gx,i.Gy))throw new Error("bad curve params: generator point");const m=r.mul(r.pow(i.a,Tt),Nt),g=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(m,g)))throw new Error("bad curve params: a or b");function y(e,t,n=!1){if(!r.isValid(t)||n&&r.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function _(e){if(!(e instanceof x))throw new Error("ProjectivePoint expected")}function w(e){if(!c||!c.basises)throw new Error("no endo");return function(e,t,n){const[[r,o],[i,s]]=t,a=zt(s*e,n),c=zt(-o*e,n);let u=e-a*r-c*i,f=-a*o-c*s;const d=u<$t,l=f<$t;d&&(u=-u),l&&(f=-f);const p=Ue(Math.ceil(Be(n)/2))+At;if(u<$t||u>=p||f<$t||f>=p)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:f}}(e,c.basises,o.ORDER)}const v=je((e,t)=>{const{X:n,Y:o,Z:i}=e;if(r.eql(i,r.ONE))return{x:n,y:o};const s=e.is0();null==t&&(t=s?r.ONE:r.inv(i));const a=r.mul(n,t),c=r.mul(o,t),u=r.mul(i,t);if(s)return{x:r.ZERO,y:r.ZERO};if(!r.eql(u,r.ONE))throw new Error("invZ was invalid");return{x:a,y:c}}),b=je(e=>{if(e.is0()){if(t.allowInfinityPoint&&!r.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:n,y:o}=e.toAffine();if(!r.isValid(n)||!r.isValid(o))throw new Error("bad point: x or y not field elements");if(!h(n,o))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function E(e,t,n,o,i){return n=new x(r.mul(n.X,e),n.Y,n.Z),t=lt(o,t),n=lt(i,n),t.add(n)}class x{constructor(e,t,n){this.X=y("x",e),this.Y=y("y",t,!0),this.Z=y("z",n),Object.freeze(this)}static CURVE(){return i}static fromAffine(e){const{x:t,y:n}=e||{};if(!e||!r.isValid(t)||!r.isValid(n))throw new Error("invalid affine point");if(e instanceof x)throw new Error("projective point not allowed");return r.is0(t)&&r.is0(n)?x.ZERO:new x(t,n,r.ONE)}static fromBytes(e){const t=x.fromAffine(l(ze(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return x.fromBytes(Ie("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return O.createCache(this,e),t||this.multiply(Tt),this}assertValidity(){b(this)}hasEvenY(){const{y:e}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(e)}equals(e){_(e);const{X:t,Y:n,Z:o}=this,{X:i,Y:s,Z:a}=e,c=r.eql(r.mul(t,a),r.mul(i,o)),u=r.eql(r.mul(n,a),r.mul(s,o));return c&&u}negate(){return new x(this.X,r.neg(this.Y),this.Z)}double(){const{a:e,b:t}=i,n=r.mul(t,Tt),{X:o,Y:s,Z:a}=this;let c=r.ZERO,u=r.ZERO,f=r.ZERO,d=r.mul(o,o),l=r.mul(s,s),p=r.mul(a,a),h=r.mul(o,s);return h=r.add(h,h),f=r.mul(o,a),f=r.add(f,f),c=r.mul(e,f),u=r.mul(n,p),u=r.add(c,u),c=r.sub(l,u),u=r.add(l,u),u=r.mul(c,u),c=r.mul(h,c),f=r.mul(n,f),p=r.mul(e,p),h=r.sub(d,p),h=r.mul(e,h),h=r.add(h,f),f=r.add(d,d),d=r.add(f,d),d=r.add(d,p),d=r.mul(d,h),u=r.add(u,d),p=r.mul(s,a),p=r.add(p,p),d=r.mul(p,h),c=r.sub(c,d),f=r.mul(p,l),f=r.add(f,f),f=r.add(f,f),new x(c,u,f)}add(e){_(e);const{X:t,Y:n,Z:o}=this,{X:s,Y:a,Z:c}=e;let u=r.ZERO,f=r.ZERO,d=r.ZERO;const l=i.a,p=r.mul(i.b,Tt);let h=r.mul(t,s),m=r.mul(n,a),g=r.mul(o,c),y=r.add(t,n),w=r.add(s,a);y=r.mul(y,w),w=r.add(h,m),y=r.sub(y,w),w=r.add(t,o);let v=r.add(s,c);return w=r.mul(w,v),v=r.add(h,g),w=r.sub(w,v),v=r.add(n,o),u=r.add(a,c),v=r.mul(v,u),u=r.add(m,g),v=r.sub(v,u),d=r.mul(l,w),u=r.mul(p,g),d=r.add(u,d),u=r.sub(m,d),d=r.add(m,d),f=r.mul(u,d),m=r.add(h,h),m=r.add(m,h),g=r.mul(l,g),w=r.mul(p,w),m=r.add(m,g),g=r.sub(h,g),g=r.mul(l,g),w=r.add(w,g),h=r.mul(m,w),f=r.add(f,h),h=r.mul(v,w),u=r.mul(y,u),u=r.sub(u,h),h=r.mul(y,m),d=r.mul(v,d),d=r.add(d,h),new x(u,f,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(x.ZERO)}multiply(e){const{endo:n}=t;if(!o.isValidNot0(e))throw new Error("invalid scalar: out of range");let r,i;const s=e=>O.cached(this,e,e=>pt(x,e));if(n){const{k1neg:t,k1:o,k2neg:a,k2:c}=w(e),{p:u,f:f}=s(o),{p:d,f:l}=s(c);i=f.add(l),r=E(n.beta,u,d,t,a)}else{const{p:t,f:n}=s(e);r=t,i=n}return pt(x,[r,i])[0]}multiplyUnsafe(e){const{endo:n}=t,r=this;if(!o.isValid(e))throw new Error("invalid scalar: out of range");if(e===$t||r.is0())return x.ZERO;if(e===At)return r;if(O.hasCache(this))return this.multiply(e);if(n){const{k1neg:t,k1:o,k2neg:i,k2:s}=w(e),{p1:a,p2:c}=function(e,t,n,r){let o=t,i=e.ZERO,s=e.ZERO;for(;n>ft||r>ft;)n&dt&&(i=i.add(o)),r&dt&&(s=s.add(o)),o=o.double(),n>>=dt,r>>=dt;return{p1:i,p2:s}}(x,r,o,s);return E(n.beta,a,c,t,i)}return O.unsafe(r,e)}multiplyAndAddUnsafe(e,t,n){const r=this.multiplyUnsafe(t).add(e.multiplyUnsafe(n));return r.is0()?void 0:r}toAffine(e){return v(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return s===At||(e?e(x,this):O.unsafe(this,a).is0())}clearCofactor(){const{clearCofactor:e}=t;return s===At?this:e?e(x,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(e=!0){return xe(e,"isCompressed"),this.assertValidity(),d(x,this,e)}toHex(e=!0){return G(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return pt(x,e)}static msm(e,t){return Et(x,o,e,t)}static fromPrivateKey(e){return x.BASE.multiply(Bt(o,e))}}x.BASE=new x(i.Gx,i.Gy,r.ONE),x.ZERO=new x(r.ZERO,r.ONE,r.ZERO),x.Fp=r,x.Fn=o;const z=o.BITS,O=new bt(x,t.endo?Math.ceil(z/2):z);return x.BASE.precompute(8),x}function Rt(e){return Uint8Array.of(e?2:3)}function jt(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Zt(e,t,n={}){D(t),Re(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=n.randomBytes||fe,o=n.hmac||((e,...n)=>ve(t,e,ae(...n))),{Fp:i,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:u,getPublicKey:f,getSharedSecret:d,utils:l,lengths:p}=function(e,t={}){const{Fn:n}=e,r=t.randomBytes||fe,o=Object.assign(jt(e.Fp,n),{seed:ct(n.ORDER)});function i(e){try{return!!Bt(n,e)}catch(e){return!1}}function s(e=r(o.seed)){return ut(ze(e,o.seed,"seed"),n.ORDER)}function a(t,r=!0){return e.BASE.multiply(Bt(n,t)).toBytes(r)}function c(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const{secretKey:r,publicKey:i,publicKeyUncompressed:s}=o;if(n.allowedLengths||r===i)return;const a=Ie("key",t).length;return a===i||a===s}const u={isValidSecretKey:i,isValidPublicKey:function(t,n){const{publicKey:r,publicKeyUncompressed:i}=o;try{const o=t.length;return!(!0===n&&o!==r||!1===n&&o!==i||!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:s,isValidPrivateKey:i,randomPrivateKey:s,normPrivateKeyToScalar:e=>Bt(n,e),precompute:(t=8,n=e.BASE)=>n.precompute(t,!1)};return Object.freeze({getPublicKey:a,getSharedSecret:function(t,r,o=!0){if(!0===c(t))throw new Error("first arg must be private key");if(!1===c(r))throw new Error("second arg must be public key");const i=Bt(n,t);return e.fromHex(r).multiply(i).toBytes(o)},keygen:function(e){const t=s(e);return{secretKey:t,publicKey:a(t)}},Point:e,utils:u,lengths:o})}(e,n),h={prehash:!1,lowS:"boolean"==typeof n.lowS&&n.lowS,format:void 0,extraEntropy:!1},m="compact";function g(e){return e>a>>At}function y(e,t){if(!s.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class _{constructor(e,t,n){this.r=y("r",e),this.s=y("s",t),null!=n&&(this.recovery=n),Object.freeze(this)}static fromBytes(e,t=m){let n;if(function(e,t){Ot(t);const n=p.signature;ze(e,"compact"===t?n:"recovered"===t?n+1:void 0,`${t} signature`)}(e,t),"der"===t){const{r:t,s:n}=Pt.toSig(ze(e));return new _(t,n)}"recovered"===t&&(n=e[0],t="compact",e=e.subarray(1));const r=s.BYTES,o=e.subarray(0,r),i=e.subarray(r,2*r);return new _(s.fromBytes(o),s.fromBytes(i),n)}static fromHex(e,t){return this.fromBytes(oe(e),t)}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(t){const n=i.ORDER,{r:r,s:o,recovery:c}=this;if(null==c||![0,1,2,3].includes(c))throw new Error("recovery id invalid");if(a*It<n&&c>1)throw new Error("recovery id is ambiguous for h>1 curve");const u=2===c||3===c?r+a:r;if(!i.isValid(u))throw new Error("recovery id 2 or 3 invalid");const f=i.toBytes(u),d=e.fromBytes(ae(Rt(!(1&c)),f)),l=s.inv(u),p=v(Ie("msgHash",t)),h=s.create(-p*l),m=s.create(o*l),g=e.BASE.multiplyUnsafe(h).add(d.multiplyUnsafe(m));if(g.is0())throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=m){if(Ot(e),"der"===e)return oe(Pt.hexFromSig(this));const t=s.toBytes(this.r),n=s.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw new Error("recovery bit must be present");return ae(Uint8Array.of(this.recovery),t,n)}return ae(t,n)}toHex(e){return G(this.toBytes(e))}assertValidity(){}static fromCompact(e){return _.fromBytes(Ie("sig",e),"compact")}static fromDER(e){return _.fromBytes(Ie("sig",e),"der")}normalizeS(){return this.hasHighS()?new _(this.r,s.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return G(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return G(this.toBytes("compact"))}}const w=n.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=Se(e),n=8*e.length-c;return n>0?t>>BigInt(n):t},v=n.bits2int_modN||function(e){return s.create(w(e))},b=Ue(c);function E(e){return function(e,t,n,r){if(!Ne(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}("num < 2^"+c,e,$t,b),s.toBytes(e)}function x(e,n){return ze(e,void 0,"message"),n?ze(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:u,getPublicKey:f,getSharedSecret:d,utils:l,lengths:p,Point:e,sign:function(n,i,a={}){n=Ie("message",n);const{seed:c,k2sig:u}=function(t,n,o){if(["recovered","canonical"].some(e=>e in o))throw new Error("sign() legacy options not supported");const{lowS:i,prehash:a,extraEntropy:c}=kt(o,h);t=x(t,a);const u=v(t),f=Bt(s,n),d=[E(f),E(u)];if(null!=c&&!1!==c){const e=!0===c?r(p.secretKey):c;d.push(Ie("extraEntropy",e))}const l=ae(...d),m=u;return{seed:l,k2sig:function(t){const n=w(t);if(!s.isValidNot0(n))return;const r=s.inv(n),o=e.BASE.multiply(n).toAffine(),a=s.create(o.x);if(a===$t)return;const c=s.create(r*s.create(m+a*f));if(c===$t)return;let u=(o.x===a?0:2)|Number(o.y&At),d=c;return i&&g(c)&&(d=s.neg(c),u^=1),new _(a,d,u)}}}(n,i,a);return function(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");const r=e=>new Uint8Array(e),o=e=>Uint8Array.of(e);let i=r(e),s=r(e),a=0;const c=()=>{i.fill(1),s.fill(0),a=0},u=(...e)=>n(s,i,...e),f=(e=r(0))=>{s=u(o(0),e),i=u(),0!==e.length&&(s=u(o(1),e),i=u())},d=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){i=u();const t=i.slice();n.push(t),e+=i.length}return ae(...n)};return(e,t)=>{let n;for(c(),f(e);!(n=t(d()));)f();return c(),n}}(t.outputLen,s.BYTES,o)(c,u)},verify:function(t,n,r,o={}){const{lowS:i,prehash:a,format:c}=kt(o,h);if(r=Ie("publicKey",r),n=x(Ie("message",n),a),"strict"in o)throw new Error("options.strict was renamed to lowS");const u=void 0===c?function(e){let t;const n="string"==typeof e||C(e),r=!n&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!n&&!r)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(r)t=new _(e.r,e.s);else if(n){try{t=_.fromBytes(Ie("sig",e),"der")}catch(e){if(!(e instanceof Pt.Err))throw e}if(!t)try{t=_.fromBytes(Ie("sig",e),"compact")}catch(e){return!1}}return t||!1}(t):_.fromBytes(Ie("sig",t),c);if(!1===u)return!1;try{const t=e.fromBytes(r);if(i&&u.hasHighS())return!1;const{r:o,s:a}=u,c=v(n),f=s.inv(a),d=s.create(c*f),l=s.create(o*f),p=e.BASE.multiplyUnsafe(d).add(t.multiplyUnsafe(l));if(p.is0())return!1;return s.create(p.x)===o}catch(e){return!1}},recoverPublicKey:function(e,t,n={}){const{prehash:r}=kt(n,h);return t=x(t,r),_.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:_,hash:t})}function Ct(e){const{CURVE:t,curveOpts:n}=function(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},n=e.Fp;let r=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0;return{CURVE:t,curveOpts:{Fp:n,Fn:st(t.n,{BITS:e.nBitLength,allowedLengths:r,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e),r={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:n,hash:e.hash,ecdsaOpts:r}}function Ft(e){const{CURVE:t,curveOpts:n,hash:r,ecdsaOpts:o}=Ct(e);return function(e,t){const n=t.Point;return Object.assign({},t,{ProjectivePoint:n,CURVE:Object.assign({},e,it(n.Fn.ORDER,n.Fn.BITS))})}(e,Zt(Ut(t,n),r,o))}
|
|
9
9
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
10
10
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
11
|
-
const
|
|
12
|
-
/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function _n(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function yn(e,t){return!!Array.isArray(t)&&(0===t.length||(e?t.every(e=>"string"==typeof e):t.every(e=>Number.isSafeInteger(e))))}function wn(e){if("function"!=typeof e)throw new Error("function expected");return!0}function vn(e,t){if("string"!=typeof t)throw new Error(`${e}: string expected`);return!0}function bn(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function En(e){if(!Array.isArray(e))throw new Error("array expected")}function xn(e,t){if(!yn(!0,t))throw new Error(`${e}: array of strings expected`)}function kn(e,t){if(!yn(!1,t))throw new Error(`${e}: array of numbers expected`)}function zn(...e){const t=e=>e,n=(e,t)=>n=>e(t(n));return{encode:e.map(e=>e.encode).reduceRight(n,t),decode:e.map(e=>e.decode).reduce(n,t)}}function On(e){const t="string"==typeof e?e.split(""):e,n=t.length;xn("alphabet",t);const r=new Map(t.map((e,t)=>[e,t]));return{encode:r=>(En(r),r.map(r=>{if(!Number.isSafeInteger(r)||r<0||r>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${r}". Allowed: ${e}`);return t[r]})),decode:t=>(En(t),t.map(t=>{vn("alphabet.decode",t);const n=r.get(t);if(void 0===n)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return n}))}}function Pn(e=""){return vn("join",e),{encode:t=>(xn("join.decode",t),t.join(e)),decode:t=>(vn("join.decode",t),t.split(e))}}function Sn(e,t,n){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(En(e),!e.length)return[];let r=0;const i=[],o=Array.from(e,e=>{if(bn(e),e<0||e>=t)throw new Error(`invalid integer: ${e}`);return e}),s=o.length;for(;;){let e=0,u=!0;for(let i=r;i<s;i++){const s=o[i],c=t*e,a=c+s;if(!Number.isSafeInteger(a)||c/t!==e||a-s!==c)throw new Error("convertRadix: carry overflow");const f=a/n;e=a%n;const d=Math.floor(f);if(o[i]=d,!Number.isSafeInteger(d)||d*n+e!==a)throw new Error("convertRadix: carry overflow");u&&(d?u=!1:r=i)}if(i.push(e),u)break}for(let t=0;t<e.length-1&&0===e[t];t++)i.push(0);return i.reverse()}const An=(e,t)=>0===t?e:An(t,e%t),In=(e,t)=>e+(t-An(e,t)),$n=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function Tn(e,t,n,r){if(En(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(In(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${In(t,n)}`);let i=0,o=0;const s=$n[t],u=$n[n]-1,c=[];for(const r of e){if(bn(r),r>=s)throw new Error(`convertRadix2: invalid data word=${r} from=${t}`);if(i=i<<t|r,o+t>32)throw new Error(`convertRadix2: carry overflow pos=${o} from=${t}`);for(o+=t;o>=n;o-=n)c.push((i>>o-n&u)>>>0);const e=$n[o];if(void 0===e)throw new Error("invalid carry");i&=e-1}if(i=i<<n-o&u,!r&&o>=t)throw new Error("Excess padding");if(!r&&i>0)throw new Error(`Non-zero padding: ${i}`);return r&&o>0&&c.push(i>>>0),c}function Bn(e,t=!1){if(bn(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(In(8,e)>32||In(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!_n(n))throw new Error("radix2.encode input should be Uint8Array");return Tn(Array.from(n),8,e,!t)},decode:n=>(kn("radix2.decode",n),Uint8Array.from(Tn(n,e,8,t)))}}function Nn(e){return wn(e),function(...t){try{return e.apply(null,t)}catch(e){}}}const Un=(()=>"function"==typeof Uint8Array.from([]).toBase64&&"function"==typeof Uint8Array.fromBase64)()?{encode:e=>(function(e,...t){if(!_n(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}(e),e.toBase64()),decode:e=>(e=>{if(vn("base64",e),e.length>0&&!/^[A-Za-z0-9=+/]+$/.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:"base64",lastChunkHandling:"strict"})})(e)}:zn(Bn(6),On("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),function(e,t="="){return bn(e),vn("padding",t),{encode(n){for(xn("padding.encode",n);n.length*e%8;)n.push(t);return n},decode(n){xn("padding.decode",n);let r=n.length;if(r*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--){if((r-1)*e%8==0)throw new Error("padding: invalid, string has too much padding")}return n.slice(0,r)}}}(6),Pn("")),Zn=zn(Bn(6),On("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Pn("")),Rn=(Cn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",zn(function(e){return bn(e),{encode:t=>{if(!_n(t))throw new Error("radix.encode input should be Uint8Array");return Sn(Array.from(t),256,e)},decode:t=>(kn("radix.decode",t),Uint8Array.from(Sn(t,e,256)))}}(58),On(Cn),Pn("")));var Cn;const jn=e=>{return zn((n=t=>e(e(t)),bn(t=4),wn(n),{encode(e){if(!_n(e))throw new Error("checksum.encode: input should be Uint8Array");const r=n(e).slice(0,t),i=new Uint8Array(e.length+t);return i.set(e),i.set(r,e.length),i},decode(e){if(!_n(e))throw new Error("checksum.decode: input should be Uint8Array");const r=e.slice(0,-t),i=e.slice(-t),o=n(r).slice(0,t);for(let e=0;e<t;e++)if(o[e]!==i[e])throw new Error("Invalid checksum");return r}}),Rn);var t,n},Fn=zn(On("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Pn("")),Dn=[996825010,642813549,513874426,1027748829,705979059];function Hn(e){const t=e>>25;let n=(33554431&e)<<5;for(let e=0;e<Dn.length;e++)1==(t>>e&1)&&(n^=Dn[e]);return n}function Ln(e,t,n=1){const r=e.length;let i=1;for(let t=0;t<r;t++){const n=e.charCodeAt(t);if(n<33||n>126)throw new Error(`Invalid prefix (${e})`);i=Hn(i)^n>>5}i=Hn(i);for(let t=0;t<r;t++)i=Hn(i)^31&e.charCodeAt(t);for(let e of t)i=Hn(i)^e;for(let e=0;e<6;e++)i=Hn(i);return i^=n,Fn.encode(Tn([i%$n[30]],30,5,!1))}function Vn(e){const t="bech32"===e?1:734539939,n=Bn(5),r=n.decode,i=n.encode,o=Nn(r);function s(e,n,r=90){vn("bech32.encode prefix",e),_n(n)&&(n=Array.from(n)),kn("bech32.encode",n);const i=e.length;if(0===i)throw new TypeError(`Invalid prefix length ${i}`);const o=i+7+n.length;if(!1!==r&&o>r)throw new TypeError(`Length ${o} exceeds limit ${r}`);const s=e.toLowerCase(),u=Ln(s,n,t);return`${s}1${Fn.encode(n)}${u}`}function u(e,n=90){vn("bech32.decode input",e);const r=e.length;if(r<8||!1!==n&&r>n)throw new TypeError(`invalid string length: ${r} (${e}). Expected (8..${n})`);const i=e.toLowerCase();if(e!==i&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const o=i.lastIndexOf("1");if(0===o||-1===o)throw new Error('Letter "1" must be present between prefix and data only');const s=i.slice(0,o),u=i.slice(o+1);if(u.length<6)throw new Error("Data must be at least 6 characters long");const c=Fn.decode(u).slice(0,-6),a=Ln(s,c,t);if(!u.endsWith(a))throw new Error(`Invalid checksum in ${e}: expected "${a}"`);return{prefix:s,words:c}}return{encode:s,decode:u,encodeFromBytes:function(e,t){return s(e,i(t))},decodeToBytes:function(e){const{prefix:t,words:n}=u(e,!1);return{prefix:t,words:n,bytes:r(n)}},decodeUnsafe:Nn(u),fromWords:r,fromWordsUnsafe:o,toWords:i}}const qn=Vn("bech32"),Kn=Vn("bech32m");var Mn,Wn,Gn,Yn,Xn;function Jn(e){if("string"!=typeof e||0===e.length)throw new Error(`invalid prefix: ${String(e)}`)}function Qn(e){if(!Array.isArray(e)||!e.every(e=>"number"==typeof e))throw new Error(`invalid words: ${String(e)}`)}!function(e){e.encode=e=>(b.is_u8a(e),jn(ne).encode(e)),e.decode=e=>(b.is_base58(e),jn(ne).decode(e))}(Mn||(Mn={})),function(e){e.encode=e=>(b.is_u8a(e),Un.encode(e)),e.decode=e=>(b.is_base64(e),Un.decode(e))}(Wn||(Wn={})),function(e){e.encode=e=>(b.is_u8a(e),Zn.encode(e)),e.decode=e=>(b.is_b64url(e),Zn.decode(e))}(Gn||(Gn={})),function(e){e.to_words=qn.toWords,e.to_bytes=qn.fromWords,e.encode=(e,t,n=!1)=>(Jn(e),Qn(t),qn.encode(e,t,n)),e.decode=(e,t=!1)=>(b.is_bech32(e),qn.decode(e,t))}(Yn||(Yn={})),function(e){e.to_words=Kn.toWords,e.to_bytes=Kn.fromWords,e.encode=(e,t,n=!1)=>(Jn(e),Qn(t),Kn.encode(e,t,n)),e.decode=(e,t=!1)=>(b.is_bech32(e),Kn.decode(e,t))}(Xn||(Xn={}));const er={base58:/^[13mn2][a-km-zA-HJ-NP-Z1-9]{25,34}$/,bech32:/^(bc|tb|bcrt)1q[ac-hj-np-z02-9]{6,87}$/,bech32m:/^(bc|tb|bcrt)1p[ac-hj-np-z02-9]{6,87}$/},tr=0,nr=1;function rr(e){const t=function(e){for(const[t,n]of Object.entries(er))if(n.test(e))return t;return null}(e);if(null===t)throw new Error("unrecognized address format: "+t);if("base58"===t)return function(e){const t=Mn.decode(e),n=t.slice(1),r=t[0];return{data:n,format:"base58",version:r}}(e);if("bech32"===t)return function(e){const{prefix:t,words:n}=Yn.decode(e),[r,...i]=n;b.ok(r===tr,"bech32 version mismatch");return{data:Yn.to_bytes(i),format:"bech32",prefix:t,version:r}}(e);if("bech32m"===t)return function(e){const{prefix:t,words:n}=Xn.decode(e),[r,...i]=n;b.ok(r===nr,"bech32m version mismatch");return{data:Xn.to_bytes(i),format:"bech32m",prefix:t,version:r}}(e);throw new Error("unable to find a matching address configuration")}function ir(e){if("base58"===e.format)return function(e){b.ok("base58"===e.format,"encoding mismatch"),b.exists(e.version,"must specify a version");const t=g.join([e.version,e.data]);return Mn.encode(t)}(e);if("bech32"===e.format)return function(e){b.ok("bech32"===e.format,"encoding mismatch"),b.exists(e.prefix,"prefix is required");const t=g.bytes(e.data),n=Yn.to_words(t);return Yn.encode(e.prefix,[tr,...n])}(e);if("bech32m"===e.format)return function(e){b.ok("bech32m"===e.format,"encoding mismatch"),b.exists(e.prefix,"prefix is required");const t=g.bytes(e.data),n=Xn.to_words(t);return Xn.encode(e.prefix,[nr,...n])}(e);throw new Error("unrecognized encoding format: "+e.format)}const or={TXID:"00".repeat(32),VOUT:4294967295},sr={LOCKTIME:0,SEQUENCE:4294967295,VERSION:2},ur=[192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,102,126,128,132,150,152,186,188,190],cr={P2PKH:"p2pkh",P2SH:"p2sh",P2WPKH:"p2wpkh",P2WSH:"p2wsh",P2TR:"p2tr",OPRETURN:"opreturn"},ar={[cr.P2PKH]:/^76a914[0-9a-f]{40}88ac$/i,[cr.P2SH]:/^a914[0-9a-f]{40}87$/i,[cr.P2WPKH]:/^0014[0-9a-f]{40}$/i,[cr.P2WSH]:/^0020[0-9a-f]{64}$/i,[cr.P2TR]:/^5120[0-9a-f]{64}$/i,[cr.OPRETURN]:/^6a[0-9a-f]{2,}$/i},fr=[1,2,3,129,130,131],dr=[0,...fr];var lr=Object.freeze({__proto__:null,COINBASE:or,DEFAULT:sr,LOCK_SCRIPT_REGEX:ar,LOCK_SCRIPT_TYPE:cr,SCRIPT_INT_KEY:"",SIGHASH_DEFAULT:1,SIGHASH_SEGWIT:fr,SIGHASH_TAPROOT:dr,SPEND_SCRIPT_TYPE:{P2PKH:"p2pkh",P2SH:"p2sh",P2WPKH:"p2wpkh",P2WSH:"p2wsh",P2TR:"p2tr",P2TS:"p2ts"},TAPLEAF_DEFAULT_VERSION:192,TAPLEAF_VERSIONS:ur,TX_SIZE:{GLOBAL_BASE:8,GLOBAL_WIT:10,TXIN_BASE:40,TXOUT_BASE:8}});function hr(e){const t=g.bytes(e).hex;for(const[e,n]of Object.entries(ar))if(n.test(t))return e;return null}function pr(e){switch(g.bytes(e).at(0)){case 0:return 0;case 81:return 1;default:return null}}function mr(e){const t=g.bytes(e).hex;return ar.p2pkh.test(t)}function gr(e){const t=g.bytes(e).hex;return ar.p2sh.test(t)}function _r(e){const t=g.bytes(e).hex;return ar.p2wpkh.test(t)}function yr(e){const t=g.bytes(e).hex;return ar.p2wsh.test(t)}function wr(e){const t=g.bytes(e).hex;return ar.p2tr.test(t)}function vr(e,t){switch(t){case"p2pkh":return function(e){return{hex:"76a914"+e+"88ac",asm:["OP_DUP","OP_HASH160",e,"OP_EQUALVERIFY","OP_CHECKSIG"]}}(e);case"p2sh":return function(e){return{hex:"a914"+e+"87",asm:["OP_HASH160",e,"OP_EQUAL"]}}(e);case"p2wpkh":return function(e){return{hex:"0014"+e,asm:["OP_0",e]}}(e);case"p2wsh":return function(e){return{hex:"0020"+e,asm:["OP_0",e]}}(e);case"p2tr":return function(e){return{hex:"5120"+e,asm:["OP_1",e]}}(e);default:throw new Error("unrecognized script type: "+t)}}const br=[["1","p2pkh","main",20,"base58",0],["3","p2sh","main",20,"base58",5],["m","p2pkh","testnet",20,"base58",111],["n","p2pkh","testnet",20,"base58",111],["2","p2sh","testnet",20,"base58",196],["m","p2pkh","regtest",20,"base58",111],["n","p2pkh","regtest",20,"base58",111],["2","p2sh","regtest",20,"base58",196],["bc","p2wpkh","main",20,"bech32",0],["tb","p2wpkh","testnet",20,"bech32",0],["bcrt","p2wpkh","regtest",20,"bech32",0],["bc","p2wsh","main",32,"bech32",0],["tb","p2wsh","testnet",32,"bech32",0],["bcrt","p2wsh","regtest",32,"bech32",0],["bc","p2tr","main",32,"bech32m",1],["tb","p2tr","testnet",32,"bech32m",1],["bcrt","p2tr","regtest",32,"bech32m",1]];function Er(e,t){for(const[n,r,i,o,s,u]of br)if(r===t&&i===e)return{type:r,prefix:n,network:i,size:o,format:s,version:u};return null}function xr(e){const t=rr(e);for(const[n,r,i,o,s,u]of br){if(s!==t.format)continue;if(o!==t.data.length)continue;if(u!==t.version)continue;if(t.prefix){if(n!==t.prefix)continue}else if(!e.startsWith(n))continue;const c=g.uint(t.data).hex;return{data:c,script:vr(c,r),type:r,prefix:n,network:i,size:o,format:s,version:u}}throw new Error("address configuration is invalid")}const kr=cr.P2PKH;var zr;function Or(e,t="main"){return Ar(Pr(e),t)}function Pr(e){const t=g.bytes(e);b.size(t,33,"invalid pubkey size");return Sr(hn(t))}function Sr(e){return g.join(["76a914",e,"88ac"])}function Ar(e,t="main"){const n=$r(e),r=Er(t,kr);return b.exists(r,`unrecognized address config: ${kr} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),ir({data:n,format:"base58",version:r.version})}function Ir(e){const t=xr(e);return b.ok("p2pkh"===t.type,`address type mismatch: ${t.type} !== ${kr}`),t}function $r(e){const t=g.bytes(e);return b.ok(mr(e),"invalid p2pkh script"),t.slice(3,23)}!function(e){e.create_address=Or,e.create_script=Pr,e.encode_address=Ar,e.encode_script=Sr,e.decode_address=Ir,e.decode_script=$r}(zr||(zr={}));const Tr=cr.P2SH;var Br;function Nr(e,t="main"){return Rr(Zr(hn(g.bytes(e))),t)}function Ur(e){return Zr(hn(g.bytes(e)))}function Zr(e){return g.join(["a914",e,"87"])}function Rr(e,t="main"){const n=jr(e),r=Er(t,Tr);return b.exists(r,`unrecognized address config: ${Tr} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),ir({data:n,format:"base58",version:r.version})}function Cr(e){const t=xr(e);return b.ok("p2sh"===t.type,`address type mismatch: ${t.type} !== ${Tr}`),t}function jr(e){b.ok(gr(e),"invalid p2sh script");return g.bytes(e).slice(2,22)}!function(e){e.create_address=Nr,e.create_script=Ur,e.encode_address=Rr,e.encode_script=Zr,e.decode_address=Cr,e.decode_script=jr}(Br||(Br={}));const Fr=cr.P2WPKH;var Dr;function Hr(e,t="main"){return qr(Lr(e),t)}function Lr(e){const t=g.bytes(e);b.size(t,33,"invalid pubkey size");return Vr(hn(t))}function Vr(e){return g.join(["0014",e])}function qr(e,t="main"){const n=Mr(e),r=Er(t,Fr);return b.exists(r,`unrecognized address config: ${Fr} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),ir({data:n,format:"bech32",prefix:r.prefix})}function Kr(e){const t=xr(e);return b.ok("p2wpkh"===t.type,`address type mismatch: ${t.type} !== ${Fr}`),t}function Mr(e){b.ok(_r(e),"invalid p2wpkh script");return g.bytes(e).slice(2,22)}!function(e){e.create_address=Hr,e.create_script=Lr,e.encode_address=qr,e.encode_script=Vr,e.decode_address=Kr,e.decode_script=Mr}(Dr||(Dr={}));const Wr=cr.P2WSH;var Gr;function Yr(e,t="main"){return Qr(Xr(e),t)}function Xr(e){return Jr(pn(g.bytes(e)))}function Jr(e){return g.join(["0020",e])}function Qr(e,t="main"){const n=ti(e),r=Er(t,Wr);return b.exists(r,`unrecognized address config: ${Wr} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),ir({data:n,format:"bech32",prefix:r.prefix})}function ei(e){const t=xr(e);return b.ok("p2wsh"===t.type,`address type mismatch: ${t.type} !== ${Wr}`),t}function ti(e){b.ok(yr(e),"invalid p2wsh script");return g.bytes(e).slice(2,34)}!function(e){e.create_address=Yr,e.create_script=Xr,e.encode_address=Qr,e.encode_script=Jr,e.decode_address=ei,e.decode_script=ti}(Gr||(Gr={}));const ni=cr.P2TR;var ri;function ii(e,t="main"){return ui(oi(e),t)}function oi(e){const t=g.bytes(e);return b.size(t,32,"invalid pubkey size"),si(t)}function si(e){return g.join(["5120",e])}function ui(e,t="main"){const n=ai(e),r=Er(t,ni);return b.exists(r,`unrecognized address config: ${ni} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),ir({data:n,format:"bech32m",prefix:r.prefix})}function ci(e){const t=xr(e);return b.ok("p2tr"===t.type,`address type mismatch: ${t.type} !== ${ni}`),t}function ai(e){b.ok(wr(e),"invalid p2tr script");return g.bytes(e).slice(2,34)}!function(e){e.create_address=ii,e.create_script=oi,e.encode_address=ui,e.encode_script=si,e.decode_address=ci,e.decode_script=ai}(ri||(ri={}));var fi=Object.freeze({__proto__:null,get P2PKH(){return zr},get P2SH(){return Br},get P2TR(){return ri},get P2WPKH(){return Dr},get P2WSH(){return Gr},get_address:function(e,t="main"){const n=g.bytes(e),r=hr(n);if(null===r)throw new Error("unknown locking script: "+n.hex);switch(r){case cr.P2PKH:return zr.encode_address(e,t);case cr.P2SH:return Br.encode_address(e,t);case cr.P2WPKH:return Dr.encode_address(e,t);case cr.P2WSH:return Gr.encode_address(e,t);case cr.P2TR:return ri.encode_address(e,t);default:throw new Error("unknown script type: "+r)}},parse_address:function(e){return xr(e)}});const di=5e8;var li,hi;function pi(e){switch(e.type){case"timelock":return b.ok(e.stamp>=di,"Invalid timestamp"),e.stamp;case"heightlock":return b.ok(e.height>0,"height must be greater than 0"),b.ok(e.height<di,"invalid block height"),e.height;default:throw new Error("Invalid locktime type")}}function mi(e){return isNaN(e)||e<=0?null:e<di?{type:"heightlock",height:e}:{type:"timelock",stamp:e}}function gi(e,t=0){return`${e}i${t}`}function _i(e){wi(e);const[t,n]=e.split("i");return{txid:t,order:parseInt(n)}}function yi(e){return null!==e.match(/^[a-f0-9]{64}i\d+$/)}function wi(e){if(!yi(e))throw new Error(`invalid inscription id: ${e}`)}function vi(e,t){return`${e}:${t}`}function bi(e){xi(e);const[t,n]=e.split(":");return{block_height:parseInt(t),block_index:parseInt(n)}}function Ei(e){return null!==e.match(/^\d+:\d+$/)}function xi(e){if(!Ei(e))throw new Error(`invalid rune id: ${e}`)}function ki(e,t){return`${e}:${t}`}function zi(e){Pi(e);const[t,n]=e.split(":");return{txid:t,vout:parseInt(n)}}function Oi(e){return null!==e.match(/^[a-f0-9]{64}:[0-9]+$/)}function Pi(e){if(!Oi(e))throw new Error(`invalid outpoint: ${e}`)}!function(e){e.encode=pi,e.decode=mi}(li||(li={})),function(e){e.outpoint={encode:ki,decode:zi,verify:Oi,assert:Pi},e.record_id={encode:gi,decode:_i,verify:yi,assert:wi},e.rune_id={encode:vi,decode:bi,verify:Ei,assert:xi}}(hi||(hi={}));const Si={OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_SUCCESS80:80,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_SUCCESS98:98,OP_IF:99,OP_NOTIF:100,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_SUCCESS126:126,OP_SUCCESS127:127,OP_SUCCESS128:128,OP_SUCCESS129:129,OP_SIZE:130,OP_SUCCESS131:131,OP_SUCCESS132:132,OP_SUCCESS133:133,OP_SUCCESS134:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_SUCCESS137:137,OP_SUCCESS138:138,OP_1ADD:139,OP_1SUB:140,OP_SUCCESS141:141,OP_SUCCESS142:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_SUCCESS149:149,OP_SUCCESS150:150,OP_SUCCESS151:151,OP_SUCCESS152:152,OP_SUCCESS153:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_CHECKLOCKTIMEVERIFY:177,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186};function Ai(e){if(e>186&&e<255)return"OP_SUCCESS"+String(e);for(const[t,n]of Object.entries(Si))if(n===e)return t;throw new Error("OPCODE not found:"+String(e))}function Ii(e){for(const[t,n]of Object.entries(Si))if(t===e)return Number(n);throw new Error("OPCODE not found:"+e)}function $i(e){switch(!0){case 0===e:return"opcode";case e>=1&&e<=75:return"varint";case 76===e:return"pushdata1";case 77===e:return"pushdata2";case 78===e:return"pushdata4";case e<=254:return"opcode";default:throw new Error(`Invalid word range: ${e}`)}}function Ti(e){switch(!0){case"number"!=typeof e:return!1;case 0===e:return!0;case[].includes(e):return!1;case 75<e&&e<254:return!0;default:return!1}}const Bi=520;function Ni(e,t=!1){if(0===e.length)return g.num(0,1);const n=[];for(const t of e)n.push(Ui(t));const r=g.join(n);return t?r.prepend(g.varint(r.length,"le")):r}function Ui(e){let t;if("string"==typeof e){if(e.startsWith("OP_")){const t=Ii(e);return g.num(t,1)}t=g.is_hex(e)?g.hex(e):g.str(e)}else if("number"==typeof e)t=g.num(e);else{if(!(e instanceof Uint8Array))throw new Error("invalid word type:"+typeof e);t=new g(e)}if(1===t.length&&t[0]<=16)0!==t[0]&&(t[0]+=80);else if(t.length>Bi){let e;e=Zi(t),e=e.map(e=>Ri(e)),t=g.join(e)}else t=Ri(t);return t}function Zi(e){const t=[],n=new _(e);for(;n.size>Bi;)t.push(n.read(Bi));return t.push(n.read(n.size)),t}function Ri(e){const t=Ci(e.length);return g.join([t,e])}function Ci(e){const t=g.num(76,1),n=g.num(77,1);switch(!0){case e<=75:return g.num(e);case e>75&&e<256:return g.join([t,g.num(e,1,"le")]);case e>=256&&e<=Bi:return g.join([n,g.num(e,2,"le")]);default:throw new Error("Invalid word size:"+e.toString())}}function ji(e){const t=g.bytes(e);return{asm:Fi(t),hex:t.hex}}function Fi(e){const t=new _(e),n=[],r=t.size;let i,o,s,u=0;for(;u<r;)switch(i=t.read(1).num,o=$i(i),u++,o){case"varint":n.push(t.read(i).hex),u+=i;break;case"pushdata1":s=t.read(1).reverse().num,n.push(t.read(s).hex),u+=s+1;break;case"pushdata2":s=t.read(2).reverse().num,n.push(t.read(s).hex),u+=s+2;break;case"pushdata4":s=t.read(4).reverse().num,n.push(t.read(s).hex),u+=s+4;break;case"opcode":if(!Ti(i))throw new Error(`Invalid OPCODE: ${i}`);n.push(Ai(i));break;default:throw new Error(`Word type undefined: ${i}`)}return n}function Di(e){try{return Fi(e).length>0}catch{return!1}}const Hi=BigInt(0),Li=BigInt(1),Vi=BigInt(26);var qi;function Ki(e){const t=function(e){const t=Fi(e),n=t.findIndex(e=>"OP_0"===e);b.ok(-1!==n,"inscription envelope not found");const r=[];for(let e=n;e<t.length;e++){b.ok("OP_IF"===t[e+1],"OP_IF missing from envelope"),b.ok("6f7264"===t[e+2],"magic bytes missing from envelope");const n=t.findIndex(e=>"OP_ENDIF"===e);b.ok(-1!==n,"inscription envelope missing END_IF statement");const i=t.slice(e+3,n);r.push(i),e+=n}return r}(e);return t.map(Gi)}function Mi(e){return g.join(e.map(Wi))}function Wi(e){let t=["OP_0","OP_IF","6f7264"];if("string"==typeof e.delegate){const n=Xi(e.delegate);t.push("OP_11",n)}if("string"==typeof e.ref&&t.push("OP_WITHIN",e.ref),"string"==typeof e.parent){const n=Xi(e.parent);t.push("OP_3",n)}if("number"==typeof e.opcode){const n=Qi(e.opcode);t.push("OP_NOP",n)}if("number"==typeof e.pointer){const n=Qi(e.pointer);t.push("OP_2",n)}if("string"==typeof e.rune){const n=function(e){const t=e.toUpperCase();let n=Hi;for(const e of t)e>="A"&&e<="Z"&&(n=n*Vi+BigInt(e.charCodeAt(0)-("A".charCodeAt(0)-1)));return n-=Li,g.big(n).reverse().hex}(e.rune);t.push("OP_13",n)}if("string"==typeof e.mimetype){const n=function(e){return g.str(e).hex}(e.mimetype);t.push("OP_1",n)}if("string"==typeof e.content){const n=function(e){const t=g.is_hex(e)?g.hex(e):g.str(e),n=new _(t),r=[];for(;n.size>0;)if(n.size>520){const e=n.read(520);r.push(e.hex)}else{const e=n.read(n.size);r.push(e.hex)}return r}(e.content);t.push("OP_0",...n)}return t.push("OP_ENDIF"),Ni(t)}function Gi(e){const t={};for(let n=0;n<e.length;n++)switch(e[n]){case"OP_1":t.mimetype=to(e[n+1]),n+=1;break;case"OP_2":t.pointer=eo(e[n+1]),n+=1;break;case"OP_3":t.parent=Ji(e[n+1]),n+=1;break;case"OP_11":t.delegate=Ji(e[n+1]),n+=1;break;case"OP_13":t.rune=ro(e[n+1]),n+=1;break;case"OP_WITHIN":t.ref=Yi(e[n+1]),n+=1;break;case"OP_NOP":t.opcode=eo(e[n+1]),n+=1;break;case"OP_0":return t.content=no(e.slice(n+1)),t}return t}function Yi(e){return g.bytes(e).hex}function Xi(e){b.ok(e.includes("i"),"identifier must include an index");const t=e.split("i"),n=g.hex(t[0]),r=Number(t[1]),i=n.reverse().hex;return 0!==r?i+g.num(r).hex:i}function Ji(e){const t=g.bytes(e),n=t.at(-1)??0;return t.slice(0,-1).reverse().hex+"i"+String(n)}function Qi(e){return g.num(e).reverse().hex}function eo(e){return g.bytes(e).reverse().num}function to(e){return g.bytes(e).str}function no(e,t="hex"){const n=g.join(e);return"hex"===t?n.hex:n.str}function ro(e){let t=g.bytes(e).reverse().big;t+=Li;let n="";for(;t>Hi;){const e=t%Vi;if(e===Hi)n="Z"+n,t=t/Vi-Li;else{const r=Number(e)+"A".charCodeAt(0)-1;n=String.fromCharCode(r)+n,t/=Vi}}return n}!function(e){e.encode=Mi,e.decode=Ki}(qi||(qi={}));const io=4194304,oo=65535,so=65535;var uo;function co(e){if("height"===e.mode){return(function(e){if(void 0===e||!Number.isInteger(e)||e<0||e>so)throw new Error("Heightlock value must be an integer between 0 and 65535");return e}(e.height)&oo)>>>0}if("stamp"===e.mode){const t=function(e){if(void 0===e||!Number.isInteger(e))throw new Error("timestamp must be a number");const t=Math.floor(e/512);if(!Number.isInteger(t)||t<0||t>so)throw new Error("timelock value must be an integer between 0 and 65535 (in 512-second increments)");return t}(e.stamp);return(io|t&oo)>>>0}throw new Error("invalid timelock mode: "+e.mode)}function ao(e){const t=function(e){const t="string"==typeof e?parseInt(e,16):e;if(!Number.isInteger(t)||t<0||t>4294967295)throw new Error(`invalid sequence value: ${t}`);return t}(e);if(2147483648&t)return null;const n=t&oo;if(t&io){const e=512*n;if(e>4294967295)throw new Error("Decoded timestamp exceeds 32-bit limit");return{mode:"stamp",stamp:e}}if(n>so)throw new Error("Decoded height exceeds maximum");return{mode:"height",height:n}}!function(e){e.encode=co,e.decode=ao}(uo||(uo={}));var fo,lo=Object.freeze({__proto__:null,get InscriptionUtil(){return qi},get LocktimeField(){return li},get RefPointer(){return hi},get SequenceField(){return uo},decode_inscription:Ki,decode_locktime:mi,decode_sequence:ao,encode_inscription:Mi,encode_locktime:pi,encode_sequence:co});function ho(e){return g.bytes(e).prefix_varint("le").hex}!function(e){e.parse=ji,e.decode=Fi,e.encode=Ni,e.is_valid=Di}(fo||(fo={}));var po=Object.freeze({__proto__:null,OPCODE_MAP:Si,get ScriptUtil(){return fo},decode_script:Fi,encode_script:Ni,encode_script_word:Ui,get_asm_code:Ii,get_lock_script_info:function(e){return{type:hr(e),version:pr(e)}},get_lock_script_type:hr,get_lock_script_version:pr,get_op_code:Ai,get_op_type:$i,get_size_varint:Ci,is_opreturn_script:function(e){const t=g.bytes(e).hex;return ar.opreturn.test(t)},is_p2pkh_script:mr,is_p2sh_script:gr,is_p2tr_script:wr,is_p2wpkh_script:_r,is_p2wsh_script:yr,is_return_script:function(e){return 106===g.bytes(e).at(0)},is_valid_op:Ti,is_valid_script:Di,parse_script:ji,parse_script_pubkeys:function(e){return[...("string"==typeof e?e:g.bytes(e).hex).matchAll(/20([0-9a-f]{64})(ac|ad|ba)/gi)].map(e=>e[1])},prefix_script_size:ho,prefix_word_size:Ri,split_script_word:Zi});function mo(e){return b.exists(e.prevout,"Prevout data missing for input: "+String(e.txid)),e.prevout}function go(e,t){let{txindex:n,txinput:r}=t??{};if(void 0!==n){if(n>=e.vin.length)throw new Error("Input index out of bounds: "+String(n));r=e.vin.at(n)}return b.ok(void 0!==r),r}function _o(e){if(void 0===e)return;if(e.length<2)return;const t=e.at(-1);if("string"==typeof t&&t.startsWith("50")){return pn(g.hex(t).prefix_varint("be"))}}function yo(e,t=!0){b.is_bytes(e,"txdata must be hex or bytes");const n=new _(e),r=function(e){return e.read(4).reverse().to_num()}(n);let i=function(e){const[t,n]=[...e.peek(2)];if(0===t){if(e.read(2),1===n)return!0;throw new Error(`Invalid witness flag: ${n}`)}return!1}(n);i=!!t&&i;const o=function(e){const t=[],n=e.varint();for(let r=0;r<n;r++){const n=wo(e);t.push(n)}return t}(n),s=function(e){const t=[],n=e.varint();for(let r=0;r<n;r++)try{t.push(vo(e))}catch(e){throw new Error(`failed to decode output: ${r}: ${w(e)}`)}return t}(n);if(i)for(const e of o)e.witness=bo(n);const u=function(e){return e.read(4).reverse().to_num()}(n);return{version:r,vin:o,vout:s,locktime:u}}function wo(e){const t=e.read(32).reverse().hex,n=e.read(4).reverse().num,r=Eo(e),i=e.read(4).reverse().num,o=[];return t===or.TXID&&n===or.VOUT?{coinbase:r,prevout:null,script_sig:null,sequence:i,txid:t,vout:n,witness:o}:{coinbase:null,prevout:null,script_sig:r,sequence:i,txid:t,vout:n,witness:o}}function vo(e){const t=e.read(8).reverse().big,n=Eo(e);return b.exists(n,"failed to decode script_pk"),{value:t,script_pk:n}}function bo(e){const t=[],n=e.varint();for(let r=0;r<n;r++){const n=Eo(e);if(null===n)throw new Error("failed to decode witness element: "+r);t.push(n)}return t}function Eo(e){const t=e.varint("le");return t>0?e.read(t).hex:null}function xo(e,t,n){function r(n,r){var i;Object.defineProperty(n,"_zod",{value:n._zod??{},enumerable:!1}),(i=n._zod).traits??(i.traits=new Set),n._zod.traits.add(e),t(n,r);for(const e in s.prototype)e in n||Object.defineProperty(n,e,{value:s.prototype[e].bind(n)});n._zod.constr=s,n._zod.def=r}const i=n?.Parent??Object;class o extends i{}function s(e){var t;const i=n?.Parent?new o:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(const e of i._zod.deferred)e();return i}return Object.defineProperty(o,"name",{value:e}),Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}class ko extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class zo extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}const Oo={};function Po(e){return Oo}function So(e,t){return"bigint"==typeof t?t.toString():t}function Ao(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Io(e){return null==e}function $o(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}const To=Symbol("evaluating");function Bo(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==To)return void 0===r&&(r=To,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function No(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Uo(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Zo(e){return JSON.stringify(e)}const Ro="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Co(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const jo=Ao(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Fo(e){if(!1===Co(e))return!1;const t=e.constructor;if(void 0===t)return!0;const n=t.prototype;return!1!==Co(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function Do(e){return Fo(e)?{...e}:e}const Ho=new Set(["string","number","symbol"]);function Lo(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Vo(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function qo(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}const Ko={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Mo(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function Wo(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Go(e){return"string"==typeof e?e:e?.message}function Yo(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const i=Go(e.inst?._zod.def?.error?.(e))??Go(t?.error?.(e))??Go(n.customError?.(e))??Go(n.localeError?.(e))??"Invalid input";r.message=i}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function Xo(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function Jo(...e){const[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}const Qo=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,So,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},es=xo("$ZodError",Qo),ts=xo("$ZodError",Qo,{Parent:Error});const ns=e=>(t,n,r,i)=>{const o=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new ko;if(s.issues.length){const t=new(i?.Err??e)(s.issues.map(e=>Yo(e,o,Po())));throw Ro(t,i?.callee),t}return s.value},rs=e=>async(t,n,r,i)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){const t=new(i?.Err??e)(s.issues.map(e=>Yo(e,o,Po())));throw Ro(t,i?.callee),t}return s.value},is=e=>(t,n,r)=>{const i=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},i);if(o instanceof Promise)throw new ko;return o.issues.length?{success:!1,error:new(e??es)(o.issues.map(e=>Yo(e,i,Po())))}:{success:!0,data:o.value}},os=is(ts),ss=e=>async(t,n,r)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let o=t._zod.run({value:n,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(e=>Yo(e,i,Po())))}:{success:!0,data:o.value}},us=ss(ts),cs=e=>(t,n,r)=>{const i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ns(e)(t,n,i)},as=e=>(t,n,r)=>ns(e)(t,n,r),fs=e=>async(t,n,r)=>{const i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return rs(e)(t,n,i)},ds=e=>async(t,n,r)=>rs(e)(t,n,r),ls=e=>(t,n,r)=>{const i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return is(e)(t,n,i)},hs=e=>(t,n,r)=>is(e)(t,n,r),ps=e=>async(t,n,r)=>{const i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ss(e)(t,n,i)},ms=e=>async(t,n,r)=>ss(e)(t,n,r),gs=/^[cC][^\s-]{8,}$/,_s=/^[0-9a-z]+$/,ys=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ws=/^[0-9a-vA-V]{20}$/,vs=/^[A-Za-z0-9]{27}$/,bs=/^[a-zA-Z0-9_-]{21}$/,Es=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xs=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ks=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,zs=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;const Os=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ps=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,Ss=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,As=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Is=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,$s=/^[A-Za-z0-9_-]*$/,Ts=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Bs=/^\+(?:[0-9]){6,14}[0-9]$/,Ns="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Us=new RegExp(`^${Ns}$`);function Zs(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}const Rs=/^\d+n?$/,Cs=/^\d+$/,js=/^-?\d+(?:\.\d+)?/i,Fs=/true|false/i,Ds=/null/i,Hs=/^[^A-Z]*$/,Ls=/^[^a-z]*$/,Vs=xo("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),qs={number:"number",bigint:"bigint",object:"date"},Ks=xo("$ZodCheckLessThan",(e,t)=>{Vs.init(e,t);const n=qs[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ms=xo("$ZodCheckGreaterThan",(e,t)=>{Vs.init(e,t);const n=qs[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ws=xo("$ZodCheckMultipleOf",(e,t)=>{Vs.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value===BigInt(0):0===function(e,t){const n=(e.toString().split(".")[1]||"").length,r=t.toString();let i=(r.split(".")[1]||"").length;if(0===i&&/\d?e-\d?/.test(r)){const e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}const o=n>i?n:i;return Number.parseInt(e.toFixed(o).replace(".",""))%Number.parseInt(t.toFixed(o).replace(".",""))/10**o}(n.value,t.value))||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Gs=xo("$ZodCheckNumberFormat",(e,t)=>{Vs.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[i,o]=Ko[t.format];e._zod.onattach.push(e=>{const r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=o,n&&(r.pattern=Cs)}),e._zod.check=s=>{const u=s.value;if(n){if(!Number.isInteger(u))return void s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:u,inst:e});if(!Number.isSafeInteger(u))return void(u>0?s.issues.push({input:u,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort}):s.issues.push({input:u,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort}))}u<i&&s.issues.push({origin:"number",input:u,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),u>o&&s.issues.push({origin:"number",input:u,code:"too_big",maximum:o,inst:e})}}),Ys=xo("$ZodCheckMaxLength",(e,t)=>{var n;Vs.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!Io(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const r=n.value;if(r.length<=t.maximum)return;const i=Xo(r);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Xs=xo("$ZodCheckMinLength",(e,t)=>{var n;Vs.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!Io(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const r=n.value;if(r.length>=t.minimum)return;const i=Xo(r);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Js=xo("$ZodCheckLengthEquals",(e,t)=>{var n;Vs.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!Io(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const r=n.value,i=r.length;if(i===t.length)return;const o=Xo(r),s=i>t.length;n.issues.push({origin:o,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Qs=xo("$ZodCheckStringFormat",(e,t)=>{var n,r;Vs.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),eu=xo("$ZodCheckRegex",(e,t)=>{Qs.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),tu=xo("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Hs),Qs.init(e,t)}),nu=xo("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ls),Qs.init(e,t)}),ru=xo("$ZodCheckIncludes",(e,t)=>{Vs.init(e,t);const n=Lo(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),iu=xo("$ZodCheckStartsWith",(e,t)=>{Vs.init(e,t);const n=new RegExp(`^${Lo(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),ou=xo("$ZodCheckEndsWith",(e,t)=>{Vs.init(e,t);const n=new RegExp(`.*${Lo(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),su=xo("$ZodCheckOverwrite",(e,t)=>{Vs.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});class uu{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const e of r)this.content.push(e)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}}const cu={major:4,minor:1,patch:5},au=xo("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=cu;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const t of r)for(const n of t._zod.onattach)n(e);if(0===r.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let r,i=Mo(e);for(const o of t){if(o._zod.def.when){if(!o._zod.def.when(e))continue}else if(i)continue;const t=e.issues.length,s=o._zod.check(e);if(s instanceof Promise&&!1===n?.async)throw new ko;if(r||s instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await s;e.issues.length!==t&&(i||(i=Mo(e,t)))});else{if(e.issues.length===t)continue;i||(i=Mo(e,t))}}return r?r.then(()=>e):e},n=(n,i,o)=>{if(Mo(n))return n.aborted=!0,n;const s=t(i,r,o);if(s instanceof Promise){if(!1===o.async)throw new ko;return s.then(t=>e._zod.parse(t,o))}return e._zod.parse(s,o)};e._zod.run=(i,o)=>{if(o.skipChecks)return e._zod.parse(i,o);if("backward"===o.direction){const t=e._zod.parse({value:i.value,issues:[]},{...o,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,o)):n(t,i,o)}const s=e._zod.parse(i,o);if(s instanceof Promise){if(!1===o.async)throw new ko;return s.then(e=>t(e,r,o))}return t(s,r,o)}}e["~standard"]={validate:t=>{try{const n=os(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return us(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}}),fu=xo("$ZodString",(e,t)=>{var n;au.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(r){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),du=xo("$ZodStringFormat",(e,t)=>{Qs.init(e,t),fu.init(e,t)}),lu=xo("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xs),du.init(e,t)}),hu=xo("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ks(e))}else t.pattern??(t.pattern=ks());du.init(e,t)}),pu=xo("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=zs),du.init(e,t)}),mu=xo("$ZodURL",(e,t)=>{du.init(e,t),e._zod.check=n=>{try{const r=n.value.trim(),i=new URL(r);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Ts.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=i.href:n.value=r)}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),gu=xo("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),du.init(e,t)}),_u=xo("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=bs),du.init(e,t)}),yu=xo("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=gs),du.init(e,t)}),wu=xo("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=_s),du.init(e,t)}),vu=xo("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ys),du.init(e,t)}),bu=xo("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ws),du.init(e,t)}),Eu=xo("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=vs),du.init(e,t)}),xu=xo("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=Zs({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Ns}T(?:${r})$`)}(t)),du.init(e,t)}),ku=xo("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Us),du.init(e,t)}),zu=xo("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${Zs(t)}$`)),du.init(e,t)}),Ou=xo("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Es),du.init(e,t)}),Pu=xo("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Os),du.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.format="ipv4"})}),Su=xo("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ps),du.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.format="ipv6"}),e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Au=xo("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Ss),du.init(e,t)}),Iu=xo("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=As),du.init(e,t),e._zod.check=n=>{const[r,i]=n.value.split("/");try{if(!i)throw new Error;const e=Number(i);if(`${e}`!==i)throw new Error;if(e<0||e>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function $u(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Tu=xo("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Is),du.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.contentEncoding="base64"}),e._zod.check=n=>{$u(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});const Bu=xo("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=$s),du.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.contentEncoding="base64url"}),e._zod.check=n=>{(function(e){if(!$s.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return $u(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Nu=xo("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Bs),du.init(e,t)});const Uu=xo("$ZodJWT",(e,t)=>{du.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[r]=n;if(!r)return!1;const i=JSON.parse(atob(r));return!("typ"in i&&"JWT"!==i?.typ||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Zu=xo("$ZodNumber",(e,t)=>{au.init(e,t),e._zod.pattern=e._zod.bag.pattern??js,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}const i=n.value;if("number"==typeof i&&!Number.isNaN(i)&&Number.isFinite(i))return n;const o="number"==typeof i?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...o?{received:o}:{}}),n}}),Ru=xo("$ZodNumber",(e,t)=>{Gs.init(e,t),Zu.init(e,t)}),Cu=xo("$ZodBoolean",(e,t)=>{au.init(e,t),e._zod.pattern=Fs,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(e){}const i=n.value;return"boolean"==typeof i||n.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),n}}),ju=xo("$ZodBigInt",(e,t)=>{au.init(e,t),e._zod.pattern=Rs,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(e){}return"bigint"==typeof n.value||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),Fu=xo("$ZodNull",(e,t)=>{au.init(e,t),e._zod.pattern=Ds,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{const r=t.value;return null===r||t.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),t}}),Du=xo("$ZodAny",(e,t)=>{au.init(e,t),e._zod.parse=e=>e}),Hu=xo("$ZodUnknown",(e,t)=>{au.init(e,t),e._zod.parse=e=>e}),Lu=xo("$ZodNever",(e,t)=>{au.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)}),Vu=xo("$ZodDate",(e,t)=>{au.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(e){}const i=n.value,o=i instanceof Date;return o&&!Number.isNaN(i.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:i,...o?{received:"Invalid Date"}:{},inst:e}),n}});function qu(e,t,n){e.issues.length&&t.issues.push(...Wo(n,e.issues)),t.value[n]=e.value}const Ku=xo("$ZodArray",(e,t)=>{au.init(e,t),e._zod.parse=(n,r)=>{const i=n.value;if(!Array.isArray(i))return n.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),n;n.value=Array(i.length);const o=[];for(let e=0;e<i.length;e++){const s=i[e],u=t.element._zod.run({value:s,issues:[]},r);u instanceof Promise?o.push(u.then(t=>qu(t,n,e))):qu(u,n,e)}return o.length?Promise.all(o).then(()=>n):n}});function Mu(e,t,n,r){e.issues.length&&t.issues.push(...Wo(n,e.issues)),void 0===e.value?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Wu(e){const t=Object.keys(e.shape);for(const n of t)if(!e.shape[n]._zod.traits.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);const n=(r=e.shape,Object.keys(r).filter(e=>"optional"===r[e]._zod.optin&&"optional"===r[e]._zod.optout));var r;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Gu(e,t,n,r,i,o){const s=[],u=i.keySet,c=i.catchall._zod,a=c.def.type;for(const i of Object.keys(t)){if(u.has(i))continue;if("never"===a){s.push(i);continue}const o=c.run({value:t[i],issues:[]},r);o instanceof Promise?e.push(o.then(e=>Mu(e,n,i,t))):Mu(o,n,i,t)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o}),e.length?Promise.all(e).then(()=>n):n}const Yu=xo("$ZodObject",(e,t)=>{au.init(e,t);const n=Ao(()=>Wu(t));Bo(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(const e of r.values)n[t].add(e)}}return n});const r=Co,i=t.catchall;let o;e._zod.parse=(t,s)=>{o??(o=n.value);const u=t.value;if(!r(u))return t.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),t;t.value={};const c=[],a=o.shape;for(const e of o.keys){const n=a[e]._zod.run({value:u[e],issues:[]},s);n instanceof Promise?c.push(n.then(n=>Mu(n,t,e,u))):Mu(n,t,e,u)}return i?Gu(c,u,t,s,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Xu=xo("$ZodObjectJIT",(e,t)=>{Yu.init(e,t);const n=e._zod.parse,r=Ao(()=>Wu(t));let i;const o=Co,s=!Oo.jitless,u=s&&jo.value,c=t.catchall;let a;e._zod.parse=(f,d)=>{a??(a=r.value);const l=f.value;return o(l)?s&&u&&!1===d?.async&&!0!==d.jitless?(i||(i=(e=>{const t=new uu(["shape","payload","ctx"]),n=r.value,i=e=>{const t=Zo(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const o=Object.create(null);let s=0;for(const e of n.keys)o[e]="key_"+s++;t.write("const newResult = {}");for(const e of n.keys){const n=o[e],r=Zo(e);t.write(`const ${n} = ${i(e)};`),t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${r}, ...iss.path] : [${r}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${r} in input) {\n newResult[${r}] = undefined;\n }\n } else {\n newResult[${r}] = ${n}.value;\n }\n `)}t.write("payload.value = newResult;"),t.write("return payload;");const u=t.compile();return(t,n)=>u(e,t,n)})(t.shape)),f=i(f,d),c?Gu([],l,f,d,a,e):f):n(f,d):(f.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),f)}});function Ju(e,t,n,r){for(const n of e)if(0===n.issues.length)return t.value=n.value,t;const i=e.filter(e=>!Mo(e));return 1===i.length?(t.value=i[0].value,i[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Yo(e,r,Po())))}),t)}const Qu=xo("$ZodUnion",(e,t)=>{au.init(e,t),Bo(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),Bo(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),Bo(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),Bo(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>$o(e.source)).join("|")})$`)}});const n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(i,o)=>{if(n)return r(i,o);let s=!1;const u=[];for(const e of t.options){const t=e._zod.run({value:i.value,issues:[]},o);if(t instanceof Promise)u.push(t),s=!0;else{if(0===t.issues.length)return t;u.push(t)}}return s?Promise.all(u).then(t=>Ju(t,i,e,o)):Ju(u,i,e,o)}}),ec=xo("$ZodIntersection",(e,t)=>{au.init(e,t),e._zod.parse=(e,n)=>{const r=e.value,i=t.left._zod.run({value:r,issues:[]},n),o=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||o instanceof Promise?Promise.all([i,o]).then(([t,n])=>nc(e,t,n)):nc(e,i,o)}});function tc(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Fo(e)&&Fo(t)){const n=Object.keys(t),r=Object.keys(e).filter(e=>-1!==n.indexOf(e)),i={...e,...t};for(const n of r){const r=tc(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const i=tc(e[r],t[r]);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function nc(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),Mo(e))return e;const r=tc(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const rc=xo("$ZodRecord",(e,t)=>{au.init(e,t),e._zod.parse=(n,r)=>{const i=n.value;if(!Fo(i))return n.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),n;const o=[];if(t.keyType._zod.values){const s=t.keyType._zod.values;n.value={};for(const e of s)if("string"==typeof e||"number"==typeof e||"symbol"==typeof e){const s=t.valueType._zod.run({value:i[e],issues:[]},r);s instanceof Promise?o.push(s.then(t=>{t.issues.length&&n.issues.push(...Wo(e,t.issues)),n.value[e]=t.value})):(s.issues.length&&n.issues.push(...Wo(e,s.issues)),n.value[e]=s.value)}let u;for(const e in i)s.has(e)||(u=u??[],u.push(e));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:u})}else{n.value={};for(const s of Reflect.ownKeys(i)){if("__proto__"===s)continue;const u=t.keyType._zod.run({value:s,issues:[]},r);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(u.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(e=>Yo(e,r,Po())),input:s,path:[s],inst:e}),n.value[u.value]=u.value;continue}const c=t.valueType._zod.run({value:i[s],issues:[]},r);c instanceof Promise?o.push(c.then(e=>{e.issues.length&&n.issues.push(...Wo(s,e.issues)),n.value[u.value]=e.value})):(c.issues.length&&n.issues.push(...Wo(s,c.issues)),n.value[u.value]=c.value)}}return o.length?Promise.all(o).then(()=>n):n}}),ic=xo("$ZodEnum",(e,t)=>{au.init(e,t);const n=function(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(e=>Ho.has(typeof e)).map(e=>"string"==typeof e?Lo(e):e.toString()).join("|")})$`),e._zod.parse=(t,i)=>{const o=t.value;return r.has(o)||t.issues.push({code:"invalid_value",values:n,input:o,inst:e}),t}}),oc=xo("$ZodTransform",(e,t)=>{au.init(e,t),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new zo(e.constructor.name);const i=t.transform(n.value,n);if(r.async){return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n))}if(i instanceof Promise)throw new ko;return n.value=i,n}});function sc(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const uc=xo("$ZodOptional",(e,t)=>{au.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Bo(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Bo(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${$o(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>sc(t,e.value)):sc(r,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),cc=xo("$ZodNullable",(e,t)=>{au.init(e,t),Bo(e._zod,"optin",()=>t.innerType._zod.optin),Bo(e._zod,"optout",()=>t.innerType._zod.optout),Bo(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${$o(e.source)}|null)$`):void 0}),Bo(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),ac=xo("$ZodDefault",(e,t)=>{au.init(e,t),e._zod.optin="optional",Bo(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>fc(e,t)):fc(r,t)}});function fc(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}const dc=xo("$ZodPrefault",(e,t)=>{au.init(e,t),e._zod.optin="optional",Bo(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),lc=xo("$ZodNonOptional",(e,t)=>{au.init(e,t),Bo(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,r)=>{const i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>hc(t,e)):hc(i,e)}});function hc(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const pc=xo("$ZodCatch",(e,t)=>{au.init(e,t),Bo(e._zod,"optin",()=>t.innerType._zod.optin),Bo(e._zod,"optout",()=>t.innerType._zod.optout),Bo(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Yo(e,n,Po()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Yo(e,n,Po()))},input:e.value}),e.issues=[]),e)}}),mc=xo("$ZodPipe",(e,t)=>{au.init(e,t),Bo(e._zod,"values",()=>t.in._zod.values),Bo(e._zod,"optin",()=>t.in._zod.optin),Bo(e._zod,"optout",()=>t.out._zod.optout),Bo(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>gc(e,t.in,n)):gc(r,t.in,n)}const r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>gc(e,t.out,n)):gc(r,t.out,n)}});function gc(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const _c=xo("$ZodReadonly",(e,t)=>{au.init(e,t),Bo(e._zod,"propValues",()=>t.innerType._zod.propValues),Bo(e._zod,"values",()=>t.innerType._zod.values),Bo(e._zod,"optin",()=>t.innerType._zod.optin),Bo(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(yc):yc(r)}});function yc(e){return e.value=Object.freeze(e.value),e}const wc=xo("$ZodLazy",(e,t)=>{au.init(e,t),Bo(e._zod,"innerType",()=>t.getter()),Bo(e._zod,"pattern",()=>e._zod.innerType._zod.pattern),Bo(e._zod,"propValues",()=>e._zod.innerType._zod.propValues),Bo(e._zod,"optin",()=>e._zod.innerType._zod.optin??void 0),Bo(e._zod,"optout",()=>e._zod.innerType._zod.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),vc=xo("$ZodCustom",(e,t)=>{Vs.init(e,t),au.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>bc(t,n,r,e));bc(i,n,r,e)}});function bc(e,t,n,r){if(!e){const e={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Jo(e))}}class Ec{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){const n=t[0];if(this._map.set(e,n),n&&"object"==typeof n&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function xc(){return new Ec}const kc=xc();function zc(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...qo(t)})}function Oc(e,t){return new Ks({check:"less_than",...qo(t),value:e,inclusive:!1})}function Pc(e,t){return new Ks({check:"less_than",...qo(t),value:e,inclusive:!0})}function Sc(e,t){return new Ms({check:"greater_than",...qo(t),value:e,inclusive:!1})}function Ac(e,t){return new Ms({check:"greater_than",...qo(t),value:e,inclusive:!0})}function Ic(e,t){return new Ws({check:"multiple_of",...qo(t),value:e})}function $c(e,t){return new Ys({check:"max_length",...qo(t),maximum:e})}function Tc(e,t){return new Xs({check:"min_length",...qo(t),minimum:e})}function Bc(e,t){return new Js({check:"length_equals",...qo(t),length:e})}function Nc(e){return new su({check:"overwrite",tx:e})}function Uc(e){const t=function(e,t){const n=new Vs({check:"custom",...qo(t)});return n._zod.check=e,n}(n=>(n.addIssue=e=>{if("string"==typeof e)n.issues.push(Jo(e,n.value,t._zod.def));else{const r=e;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=n.value),r.inst??(r.inst=t),r.continue??(r.continue=!t._zod.def.abort),n.issues.push(Jo(r))}},e(n.value,n)));return t}const Zc=xo("ZodISODateTime",(e,t)=>{xu.init(e,t),ua.init(e,t)});function Rc(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...qo(t)})}(Zc,e)}const Cc=xo("ZodISODate",(e,t)=>{ku.init(e,t),ua.init(e,t)});function jc(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...qo(t)})}(Cc,e)}const Fc=xo("ZodISOTime",(e,t)=>{zu.init(e,t),ua.init(e,t)});function Dc(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...qo(t)})}(Fc,e)}const Hc=xo("ZodISODuration",(e,t)=>{Ou.init(e,t),ua.init(e,t)});function Lc(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...qo(t)})}(Hc,e)}const Vc=xo("ZodError",(e,t)=>{es.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t){const n=t||function(e){return e.message},r={_errors:[]},i=e=>{for(const t of e.issues)if("invalid_union"===t.code&&t.errors.length)t.errors.map(e=>i({issues:e}));else if("invalid_key"===t.code)i({issues:t.issues});else if("invalid_element"===t.code)i({issues:t.issues});else if(0===t.path.length)r._errors.push(n(t));else{let e=r,i=0;for(;i<t.path.length;){const r=t.path[i];i===t.path.length-1?(e[r]=e[r]||{_errors:[]},e[r]._errors.push(n(t))):e[r]=e[r]||{_errors:[]},e=e[r],i++}}};return i(e),r}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},r=[];for(const i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,So,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,So,2)}},isEmpty:{get:()=>0===e.issues.length}})},{Parent:Error}),qc=ns(Vc),Kc=rs(Vc),Mc=is(Vc),Wc=ss(Vc),Gc=cs(Vc),Yc=as(Vc),Xc=fs(Vc),Jc=ds(Vc),Qc=ls(Vc),ea=hs(Vc),ta=ps(Vc),na=ms(Vc),ra=xo("ZodType",(e,t)=>(au.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),e.clone=(t,n)=>Vo(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e),e.parse=(t,n)=>qc(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Mc(e,t,n),e.parseAsync=async(t,n)=>Kc(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Wc(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Gc(e,t,n),e.decode=(t,n)=>Yc(e,t,n),e.encodeAsync=async(t,n)=>Xc(e,t,n),e.decodeAsync=async(t,n)=>Jc(e,t,n),e.safeEncode=(t,n)=>Qc(e,t,n),e.safeDecode=(t,n)=>ea(e,t,n),e.safeEncodeAsync=async(t,n)=>ta(e,t,n),e.safeDecodeAsync=async(t,n)=>na(e,t,n),e.refine=(t,n)=>e.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...qo(n)})}(lf,e,t)}(t,n)),e.superRefine=t=>e.check(Uc(t)),e.overwrite=t=>e.check(Nc(t)),e.optional=()=>ef(e),e.nullable=()=>nf(e),e.nullish=()=>ef(nf(e)),e.nonoptional=t=>function(e,t){return new sf({type:"nonoptional",innerType:e,...qo(t)})}(e,t),e.array=()=>La(e),e.or=t=>Ma([e,t]),e.and=t=>new Wa({type:"intersection",left:e,right:t}),e.transform=t=>af(e,new Ja({type:"transform",transform:t})),e.default=t=>{return n=t,new rf({type:"default",innerType:e,get defaultValue(){return"function"==typeof n?n():Do(n)}});var n},e.prefault=t=>{return n=t,new of({type:"prefault",innerType:e,get defaultValue(){return"function"==typeof n?n():Do(n)}});var n},e.catch=t=>{return new uf({type:"catch",innerType:e,catchValue:"function"==typeof(n=t)?n:()=>n});var n},e.pipe=t=>af(e,t),e.readonly=()=>new ff({type:"readonly",innerType:e}),e.describe=t=>{const n=e.clone();return kc.add(n,{description:t}),n},Object.defineProperty(e,"description",{get:()=>kc.get(e)?.description,configurable:!0}),e.meta=(...t)=>{if(0===t.length)return kc.get(e);const n=e.clone();return kc.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),ia=xo("_ZodString",(e,t)=>{fu.init(e,t),ra.init(e,t);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(function(e,t){return new eu({check:"string_format",format:"regex",...qo(t),pattern:e})}(...t)),e.includes=(...t)=>e.check(function(e,t){return new ru({check:"string_format",format:"includes",...qo(t),includes:e})}(...t)),e.startsWith=(...t)=>e.check(function(e,t){return new iu({check:"string_format",format:"starts_with",...qo(t),prefix:e})}(...t)),e.endsWith=(...t)=>e.check(function(e,t){return new ou({check:"string_format",format:"ends_with",...qo(t),suffix:e})}(...t)),e.min=(...t)=>e.check(Tc(...t)),e.max=(...t)=>e.check($c(...t)),e.length=(...t)=>e.check(Bc(...t)),e.nonempty=(...t)=>e.check(Tc(1,...t)),e.lowercase=t=>e.check(function(e){return new tu({check:"string_format",format:"lowercase",...qo(e)})}(t)),e.uppercase=t=>e.check(function(e){return new nu({check:"string_format",format:"uppercase",...qo(e)})}(t)),e.trim=()=>e.check(Nc(e=>e.trim())),e.normalize=(...t)=>e.check(function(e){return Nc(t=>t.normalize(e))}(...t)),e.toLowerCase=()=>e.check(Nc(e=>e.toLowerCase())),e.toUpperCase=()=>e.check(Nc(e=>e.toUpperCase()))}),oa=xo("ZodString",(e,t)=>{fu.init(e,t),ia.init(e,t),e.email=t=>e.check(function(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...qo(t)})}(ca,t)),e.url=t=>e.check(function(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...qo(t)})}(da,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...qo(t)})}(Oa,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...qo(t)})}(la,t)),e.guid=t=>e.check(zc(aa,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...qo(t)})}(fa,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...qo(t)})}(fa,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...qo(t)})}(fa,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...qo(t)})}(fa,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...qo(t)})}(ha,t)),e.guid=t=>e.check(zc(aa,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...qo(t)})}(pa,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...qo(t)})}(ma,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...qo(t)})}(ga,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...qo(t)})}(xa,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...qo(t)})}(ka,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...qo(t)})}(_a,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...qo(t)})}(ya,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...qo(t)})}(wa,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...qo(t)})}(va,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...qo(t)})}(ba,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...qo(t)})}(Ea,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...qo(t)})}(za,t)),e.datetime=t=>e.check(Rc(t)),e.date=t=>e.check(jc(t)),e.time=t=>e.check(Dc(t)),e.duration=t=>e.check(Lc(t))});function sa(e){return function(e,t){return new e({type:"string",...qo(t)})}(oa,e)}const ua=xo("ZodStringFormat",(e,t)=>{du.init(e,t),ia.init(e,t)}),ca=xo("ZodEmail",(e,t)=>{pu.init(e,t),ua.init(e,t)}),aa=xo("ZodGUID",(e,t)=>{lu.init(e,t),ua.init(e,t)}),fa=xo("ZodUUID",(e,t)=>{hu.init(e,t),ua.init(e,t)}),da=xo("ZodURL",(e,t)=>{mu.init(e,t),ua.init(e,t)}),la=xo("ZodEmoji",(e,t)=>{gu.init(e,t),ua.init(e,t)}),ha=xo("ZodNanoID",(e,t)=>{_u.init(e,t),ua.init(e,t)}),pa=xo("ZodCUID",(e,t)=>{yu.init(e,t),ua.init(e,t)}),ma=xo("ZodCUID2",(e,t)=>{wu.init(e,t),ua.init(e,t)}),ga=xo("ZodULID",(e,t)=>{vu.init(e,t),ua.init(e,t)}),_a=xo("ZodXID",(e,t)=>{bu.init(e,t),ua.init(e,t)}),ya=xo("ZodKSUID",(e,t)=>{Eu.init(e,t),ua.init(e,t)}),wa=xo("ZodIPv4",(e,t)=>{Pu.init(e,t),ua.init(e,t)}),va=xo("ZodIPv6",(e,t)=>{Su.init(e,t),ua.init(e,t)}),ba=xo("ZodCIDRv4",(e,t)=>{Au.init(e,t),ua.init(e,t)}),Ea=xo("ZodCIDRv6",(e,t)=>{Iu.init(e,t),ua.init(e,t)}),xa=xo("ZodBase64",(e,t)=>{Tu.init(e,t),ua.init(e,t)}),ka=xo("ZodBase64URL",(e,t)=>{Bu.init(e,t),ua.init(e,t)}),za=xo("ZodE164",(e,t)=>{Nu.init(e,t),ua.init(e,t)}),Oa=xo("ZodJWT",(e,t)=>{Uu.init(e,t),ua.init(e,t)}),Pa=xo("ZodNumber",(e,t)=>{Zu.init(e,t),ra.init(e,t),e.gt=(t,n)=>e.check(Sc(t,n)),e.gte=(t,n)=>e.check(Ac(t,n)),e.min=(t,n)=>e.check(Ac(t,n)),e.lt=(t,n)=>e.check(Oc(t,n)),e.lte=(t,n)=>e.check(Pc(t,n)),e.max=(t,n)=>e.check(Pc(t,n)),e.int=t=>e.check(Ia(t)),e.safe=t=>e.check(Ia(t)),e.positive=t=>e.check(Sc(0,t)),e.nonnegative=t=>e.check(Ac(0,t)),e.negative=t=>e.check(Oc(0,t)),e.nonpositive=t=>e.check(Pc(0,t)),e.multipleOf=(t,n)=>e.check(Ic(t,n)),e.step=(t,n)=>e.check(Ic(t,n)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Sa(e){return function(e,t){return new e({type:"number",checks:[],...qo(t)})}(Pa,e)}const Aa=xo("ZodNumberFormat",(e,t)=>{Ru.init(e,t),Pa.init(e,t)});function Ia(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...qo(t)})}(Aa,e)}const $a=xo("ZodBoolean",(e,t)=>{Cu.init(e,t),ra.init(e,t)});function Ta(e){return function(e,t){return new e({type:"boolean",...qo(t)})}($a,e)}const Ba=xo("ZodBigInt",(e,t)=>{ju.init(e,t),ra.init(e,t),e.gte=(t,n)=>e.check(Ac(t,n)),e.min=(t,n)=>e.check(Ac(t,n)),e.gt=(t,n)=>e.check(Sc(t,n)),e.gte=(t,n)=>e.check(Ac(t,n)),e.min=(t,n)=>e.check(Ac(t,n)),e.lt=(t,n)=>e.check(Oc(t,n)),e.lte=(t,n)=>e.check(Pc(t,n)),e.max=(t,n)=>e.check(Pc(t,n)),e.positive=t=>e.check(Sc(BigInt(0),t)),e.negative=t=>e.check(Oc(BigInt(0),t)),e.nonpositive=t=>e.check(Pc(BigInt(0),t)),e.nonnegative=t=>e.check(Ac(BigInt(0),t)),e.multipleOf=(t,n)=>e.check(Ic(t,n));const n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function Na(e){return function(e,t){return new e({type:"bigint",...qo(t)})}(Ba,e)}const Ua=xo("ZodNull",(e,t)=>{Fu.init(e,t),ra.init(e,t)});const Za=xo("ZodAny",(e,t)=>{Du.init(e,t),ra.init(e,t)});const Ra=xo("ZodUnknown",(e,t)=>{Hu.init(e,t),ra.init(e,t)});function Ca(){return new Ra({type:"unknown"})}const ja=xo("ZodNever",(e,t)=>{Lu.init(e,t),ra.init(e,t)});function Fa(e){return function(e,t){return new e({type:"never",...qo(t)})}(ja,e)}const Da=xo("ZodDate",(e,t)=>{Vu.init(e,t),ra.init(e,t),e.min=(t,n)=>e.check(Ac(t,n)),e.max=(t,n)=>e.check(Pc(t,n));const n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});const Ha=xo("ZodArray",(e,t)=>{Ku.init(e,t),ra.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(Tc(t,n)),e.nonempty=t=>e.check(Tc(1,t)),e.max=(t,n)=>e.check($c(t,n)),e.length=(t,n)=>e.check(Bc(t,n)),e.unwrap=()=>e.element});function La(e,t){return function(e,t,n){return new e({type:"array",element:t,...qo(n)})}(Ha,e,t)}const Va=xo("ZodObject",(e,t)=>{Xu.init(e,t),ra.init(e,t),Bo(e,"shape",()=>t.shape),e.keyof=()=>function(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Xa({type:"enum",entries:n,...qo(t)})}(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Ca()}),e.loose=()=>e.clone({...e._zod.def,catchall:Ca()}),e.strict=()=>e.clone({...e._zod.def,catchall:Fa()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>function(e,t){if(!Fo(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const r=Uo(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return No(this,"shape",n),n},checks:[]});return Vo(e,r)}(e,t),e.safeExtend=t=>function(e,t){if(!Fo(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n={...e._zod.def,get shape(){const n={...e._zod.def.shape,...t};return No(this,"shape",n),n},checks:e._zod.def.checks};return Vo(e,n)}(e,t),e.merge=t=>function(e,t){const n=Uo(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return No(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return Vo(e,n)}(e,t),e.pick=t=>function(e,t){const n=e._zod.def;return Vo(e,Uo(e._zod.def,{get shape(){const e={};for(const r in t){if(!(r in n.shape))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return No(this,"shape",e),e},checks:[]}))}(e,t),e.omit=t=>function(e,t){const n=e._zod.def,r=Uo(e._zod.def,{get shape(){const r={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return No(this,"shape",r),r},checks:[]});return Vo(e,r)}(e,t),e.partial=(...t)=>function(e,t,n){const r=Uo(t._zod.def,{get shape(){const r=t._zod.def.shape,i={...r};if(n)for(const t in n){if(!(t in r))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:"optional",innerType:r[t]}):r[t])}else for(const t in r)i[t]=e?new e({type:"optional",innerType:r[t]}):r[t];return No(this,"shape",i),i},checks:[]});return Vo(t,r)}(Qa,e,t[0]),e.required=(...t)=>function(e,t,n){const r=Uo(t._zod.def,{get shape(){const r=t._zod.def.shape,i={...r};if(n)for(const t in n){if(!(t in i))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:"nonoptional",innerType:r[t]}))}else for(const t in r)i[t]=new e({type:"nonoptional",innerType:r[t]});return No(this,"shape",i),i},checks:[]});return Vo(t,r)}(sf,e,t[0])});function qa(e,t){const n={type:"object",get shape(){var t;return No(this,"shape",e?(t=e,Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))):{}),this.shape},...qo(t)};return new Va(n)}const Ka=xo("ZodUnion",(e,t)=>{Qu.init(e,t),ra.init(e,t),e.options=t.options});function Ma(e,t){return new Ka({type:"union",options:e,...qo(t)})}const Wa=xo("ZodIntersection",(e,t)=>{ec.init(e,t),ra.init(e,t)});const Ga=xo("ZodRecord",(e,t)=>{rc.init(e,t),ra.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function Ya(e,t,n){return new Ga({type:"record",keyType:e,valueType:t,...qo(n)})}const Xa=xo("ZodEnum",(e,t)=>{ic.init(e,t),ra.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{const i={};for(const r of e){if(!n.has(r))throw new Error(`Key ${r} not found in enum`);i[r]=t.entries[r]}return new Xa({...t,checks:[],...qo(r),entries:i})},e.exclude=(e,r)=>{const i={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete i[t]}return new Xa({...t,checks:[],...qo(r),entries:i})}});const Ja=xo("ZodTransform",(e,t)=>{oc.init(e,t),ra.init(e,t),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new zo(e.constructor.name);n.addIssue=r=>{if("string"==typeof r)n.issues.push(Jo(r,n.value,t));else{const t=r;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(Jo(t))}};const i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});const Qa=xo("ZodOptional",(e,t)=>{uc.init(e,t),ra.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ef(e){return new Qa({type:"optional",innerType:e})}const tf=xo("ZodNullable",(e,t)=>{cc.init(e,t),ra.init(e,t),e.unwrap=()=>e._zod.def.innerType});function nf(e){return new tf({type:"nullable",innerType:e})}const rf=xo("ZodDefault",(e,t)=>{ac.init(e,t),ra.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});const of=xo("ZodPrefault",(e,t)=>{dc.init(e,t),ra.init(e,t),e.unwrap=()=>e._zod.def.innerType});const sf=xo("ZodNonOptional",(e,t)=>{lc.init(e,t),ra.init(e,t),e.unwrap=()=>e._zod.def.innerType});const uf=xo("ZodCatch",(e,t)=>{pc.init(e,t),ra.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});const cf=xo("ZodPipe",(e,t)=>{mc.init(e,t),ra.init(e,t),e.in=t.in,e.out=t.out});function af(e,t){return new cf({type:"pipe",in:e,out:t})}const ff=xo("ZodReadonly",(e,t)=>{_c.init(e,t),ra.init(e,t),e.unwrap=()=>e._zod.def.innerType});const df=xo("ZodLazy",(e,t)=>{wc.init(e,t),ra.init(e,t),e.unwrap=()=>e._zod.def.getter()});const lf=xo("ZodCustom",(e,t)=>{vc.init(e,t),ra.init(e,t)});var hf;Na(),Ta(),function(e,t){new e({type:"date",...qo(t)})}(Da,hf);const pf=Sa().min(Number.MIN_SAFE_INTEGER).max(Number.MAX_SAFE_INTEGER).int(),mf=function(e,t={error:`Input not instance of ${e.name}`}){const n=new lf({type:"custom",check:"custom",fn:t=>t instanceof e,abort:!0,...qo(t)});return n._zod.bag.Class=e,n}(Uint8Array),gf=sa();pf.min(5e8),new Za({type:"any"}),pf.min(0).max(255),pf.min(0).max(65535);const _f=pf.min(0).max(4294967295);Sa().refine(e=>String(e).includes(".")).refine(e=>{const t=String(e).split(".").at(1);return void 0!==t&&t.length<=2});const yf=sa().regex(/^[0-9a-fA-F]*$/).refine(e=>e.length%2==0),wf=Ma([sa(),Sa(),Ta(),function(e){return function(e,t){return new e({type:"null",...qo(t)})}(Ua,e)}()]),vf=new df({type:"lazy",getter:()=>Ma([wf,La(vf),Ya(gf,vf)])});mf.refine(e=>20===e.length);const bf=mf.refine(e=>32===e.length),Ef=mf.refine(e=>33===e.length),xf=mf.refine(e=>64===e.length);yf.refine(e=>40===e.length);const kf=yf.refine(e=>64===e.length),zf=yf.refine(e=>66===e.length),Of=yf.refine(e=>128===e.length);Ma([yf,mf]);const Pf=Ma([kf,bf]);Ma([zf,Ef]),Ma([Of,xf]),sa().regex(/^[1-9A-HJ-NP-Za-km-z]+$/),sa().regex(/^[a-zA-Z0-9+/]+={0,2}$/),sa().regex(/^[a-zA-Z0-9\-_]+={0,2}$/),sa().regex(/^[a-z]+1[023456789acdefghjklmnpqrstuvwxyz]+$/);const Sf=Ma([La(Pf),Pf]),Af=qa({pubkey:Pf,leaves:Sf.array().optional(),target:Pf.optional(),version:_f.optional()});var If=Object.freeze({__proto__:null,config:Af,taptree:Sf});const $f=Na().min(0n).max(2100000000000000n),Tf=qa({value:$f,script_pk:yf}),Bf=qa({coinbase:yf.nullable(),txid:kf,vout:_f,prevout:Tf.nullable(),script_sig:yf.nullable(),sequence:_f,witness:La(yf)}),Nf=qa({version:_f,vin:La(Bf),vout:La(Tf),locktime:_f}),Uf=Tf.extend({value:Ma([_f,$f])}),Zf=Bf.extend({coinbase:yf.nullable().optional(),prevout:Uf.nullable().optional(),script_sig:yf.nullable().optional(),sequence:Ma([yf,_f]).optional(),witness:La(yf).optional()}),Rf=qa({version:_f.optional(),vin:La(Zf),vout:La(Uf),locktime:_f.optional()});var Cf=Object.freeze({__proto__:null,tx_data:Nf,tx_input:Bf,tx_output:Tf,tx_template:Rf,vin_template:Zf,vout_template:Uf}),jf=Object.freeze({__proto__:null,taproot:If,tx:Cf});function Ff(e){Rf.parse(e)}function Df(e){if(e.some(e=>null===e.prevout))throw new Error("transaction missing prevouts")}function Hf(e){Nf.parse(e)}function Lf(e){Zf.parse(e)}function Vf(e){Uf.parse(e)}function qf(e,t=!0){Hf(e);const{version:n,vin:r,vout:i,locktime:o}=e,s=[Kf(n)];if(t&&s.push(g.hex("0001")),s.push(Yf(r)),s.push(Qf(i)),t)for(const e of r)s.push(td(e.witness));return s.push(nd(o)),g.join(s)}function Kf(e){return g.num(e,4).reverse()}function Mf(e){return g.hex(e,32).reverse()}function Wf(e){return g.num(e,4).reverse()}function Gf(e){return g.num(e,4).reverse()}function Yf(e){const t=[g.varint(e.length,"le")];for(const n of e)t.push(Xf(n));return g.join(t)}function Xf(e){return null!==e.coinbase?g.join([Mf(or.TXID),Wf(or.VOUT),rd(e.coinbase),Gf(e.sequence)]):g.join([Mf(e.txid),Wf(e.vout),rd(e.script_sig),Gf(e.sequence)])}function Jf(e){return g.big(e,8).reverse()}function Qf(e){const t=[g.varint(e.length,"le")];for(const n of e)t.push(ed(n));return g.join(t)}function ed(e){const{value:t,script_pk:n}=e;return g.join([Jf(t),rd(n)])}function td(e){const t=[g.varint(e.length)];for(const n of e)t.push(rd(n));return g.join(t)}function nd(e){return g.num(e,4).reverse()}function rd(e){return null!==e?(b.is_hex(e),g.hex(e).prefix_varint("le")):g.hex("00")}function id(e,t){let n;if("string"==typeof e||e instanceof Uint8Array?n=yo(e):(Ff(e),n=pd(e)),t){b.has_items(t,"prevouts must be a non-empty array");for(const[e,r]of n.vin.entries()){const n=t.at(e);b.exists(n,"prevout not found for input index: "+e),r.prevout=hd(n)}}return n}function od(e,t=!0){console.log("txdata:",e);const n=yo(e);return console.log("decoded:",n),qf(n,t)}function sd(e){if(!v.exists(e))return sr.SEQUENCE;if(v.is_hex(e))return g.hex(e,4).reverse().num;if(v.is_uint(e))return e;throw new Error("invalid sequence value: "+String(e))}function ud(e){if(v.is_uint(e))return BigInt(e);if("bigint"==typeof e)return e;throw new TypeError("invalid output value: "+String(e))}function cd(e){return{script_pk:e.script_pk,value:ud(e.value)}}function ad(e){Lf(e),b.exists(e.coinbase,"coinbase is required");const t=or.TXID,n=or.VOUT,r=e.coinbase,i=e.witness??[];return{coinbase:r,prevout:null,script_sig:null,sequence:sd(e.sequence),witness:i,txid:t,vout:n}}function fd(e){Lf(e),b.is_empty(e.coinbase,"coinbase is not allowed"),b.is_empty(e.prevout,"prevout is not allowed");const{txid:t,vout:n,script_sig:r=null,witness:i=[]}=e;return{txid:t,vout:n,coinbase:null,prevout:null,script_sig:r,sequence:sd(e.sequence),witness:i}}function dd(e){Lf(e),b.exists(e.prevout,"prevout is required");const{txid:t,vout:n,script_sig:r=null,witness:i=[]}=e;return{txid:t,vout:n,coinbase:null,prevout:cd(e.prevout),script_sig:r,sequence:sd(e.sequence),witness:i}}function ld(e){return e.coinbase?ad(e):e.prevout?dd(e):fd(e)}function hd(e){Vf(e);return{script_pk:e.script_pk,value:ud(e.value)}}function pd(e){Ff(e);const{vin:t=[],vout:n=[]}=e??{vin:[],vout:[]},r=e.locktime??sr.LOCKTIME,i=e.version??sr.VERSION;return{locktime:r,vin:t.map(e=>ld(e)),vout:n.map(e=>hd(e)),version:i}}var md=Object.freeze({__proto__:null,assert_has_prevouts:Df,assert_tx_data:Hf,assert_tx_input:function(e){Bf.parse(e)},assert_tx_output:function(e){Tf.parse(e)},assert_tx_spend_data:function(e){Hf(e),Df(e.vin)},assert_tx_template:Ff,assert_vin_template:Lf,assert_vout_template:Vf,create_coinbase_input:ad,create_spend_input:dd,create_tx:pd,create_tx_input:ld,create_tx_output:hd,create_virtual_input:fd,decode_tx:yo,encode_script_data:rd,encode_tx:qf,encode_tx_inputs:Yf,encode_tx_locktime:nd,encode_tx_outputs:Qf,encode_tx_version:Kf,encode_tx_vout:ed,encode_txin_sequence:Gf,encode_txin_txid:Mf,encode_txin_vout:Wf,encode_vin:Xf,encode_vin_witness:td,encode_vout_value:Jf,get_prevouts:function(e){Ff(e);const t=e.vin.map(e=>e.prevout);return b.ok(t.every(e=>null!==e),"prevouts missing from tx"),t},get_segwit_size:function(e){return 2+e.filter(e=>e.witness.length>0).map(e=>e.witness).reduce((e,t)=>e+td(t).length,0)},get_tx_value:function(e){const t=id(e);Ff(t);const n=t.vin.reduce((e,t)=>e+(t.prevout?.value??0n),0n),r=t.vout.reduce((e,t)=>e+t.value,0n);return{fees:n>r?n-r:0n,vin:n,vout:r}},get_txhash:function(e){return"object"==typeof e&&(Ff(e),e=qf(e,!0)),mn(e).reverse().hex},get_txid:function(e){let t;if(e instanceof Uint8Array)t=od(e,!1);else if("object"==typeof e)Ff(e),t=qf(e,!1);else{if("string"!=typeof e)throw new TypeError("invalid txdata type: "+typeof e);b.is_hex(e),t=od(e,!1)}return mn(t).reverse().hex},get_txin_size:function(e){return Xf(e).length},get_txout_size:function(e){return ed(e).length},get_txsize:function(e){const t=id(e),n=qf(t,!1).length,r=qf(t,!0).length,i=3*n+r,o=i%4>0?1:0;return{base:n,total:r,vsize:Math.ceil(i/4)+o,weight:i}},get_vin_size:function(e){return Yf(e).length},get_vout_size:function(e){return Qf(e).length},get_vsize:function(e){const t=g.bytes(e).length,n=t%4>0?1:0;return Math.ceil(t/4)+n},normalize_prevout:cd,normalize_sequence:sd,normalize_value:ud,parse_tx:id,read_payload:Eo,serialize_tx:function(e){const t=id(e),n=t.version,r=t.locktime,i=[],o=[];for(const e of t.vin)null!==e.prevout&&i.push({script_pk:e.prevout.script_pk,value:Number(e.prevout.value)});for(const e of t.vout)o.push({script_pk:e.script_pk,value:Number(e.value)});return{version:n,locktime:r,vin:i,vout:o}},transcode_tx:od});function gd(e,t={}){const{sigflag:n=1,txindex:r}=t,i=id(e),o=!(128&~n),s=n%128;if(!fr.includes(s))throw new Error("Invalid hash type: "+String(n));const{version:u,vin:c,vout:a,locktime:f}=i,d=go(i,t),{txid:l,vout:h,prevout:p,sequence:m}=d,{value:_}=p??{};if(void 0===_)throw new Error("Prevout value is empty!");let{pubkey:y,script:w}=t;if(void 0===w&&void 0!==y){const e=hn(y).hex;w=`76a914${String(e)}88ac`}if(void 0===w)throw new Error("No pubkey / script has been set!");if(Fi(w).includes("OP_CODESEPARATOR"))throw new Error("This library does not currently support the use of OP_CODESEPARATOR in segwit scripts.");const v=[Kf(u),_d(c,o),yd(c,s,o),Mf(l),Wf(h),ho(w),Jf(_),Gf(m),wd(a,s,r),nd(f),g.num(n,4).reverse()];return mn(g.join(v))}function _d(e,t){if(!0===t)return g.num(0,32);const n=[];for(const{txid:t,vout:r}of e)n.push(Mf(t)),n.push(Wf(r));return mn(g.join(n))}function yd(e,t,n){if(n||1!==t)return g.num(0,32);const r=[];for(const{sequence:t}of e)r.push(Gf(t));return mn(g.join(r))}function wd(e,t,n){const r=[];if(1===t){for(const{value:t,script_pk:n}of e)r.push(Jf(t)),r.push(ho(n));return mn(g.join(r))}if(3===t&&(b.ok(void 0!==n),n<e.length)){const{value:t,script_pk:i}=e[n];return r.push(Jf(t)),r.push(ho(i)),mn(g.join(r))}return g.num(0,32)}function vd(e,t=192){return bd(ho(e),t)}function bd(e,t=192){return gn("TapLeaf",xd(t),e)}function Ed(e,t){return t<e&&([e,t]=[t,e]),gn("TapBranch",e,t)}function xd(e=192){return 254&e}function kd(e,t=new Uint8Array){return b.size(e,32),gn("TapTweak",e,t)}function zd(e,t={}){return gn("TapSighash",Od(e,t))}function Od(e,t={}){const{script:n,txindex:r,sigflag:i=0,extflag:o=0,key_version:s=0,separator_pos:u=4294967295}=t,c=id(e),{version:a,vin:f,vout:d,locktime:l}=c,h=go(c,t),{txid:p,vout:m,sequence:_,witness:y=[]}=h;if(!dr.includes(i))throw new Error("Invalid hash type: "+String(i));if(o<0||o>127)throw new Error("Extention flag out of range: "+String(o));let{extension:w}=t;void 0!==n&&(w=vd(n).hex);const v=!(128&~i),E=_o(y),x=2*(o+(void 0!==w?1:0))+(void 0!==E?1:0),k=[g.num(0,1),g.num(i,1),Kf(a),nd(l)];if(!v){const e=f.map(e=>mo(e));k.push(Pd(f),Ad(e),Id(e),Sd(f))}if(((3&i)<2||(3&i)>3)&&k.push($d(d)),k.push(g.num(x,1)),v){const{value:e,script_pk:t}=mo(h);k.push(Mf(p),Wf(m),Jf(e),rd(t),Gf(_))}else b.ok("number"==typeof r),k.push(g.num(r,4).reverse());return void 0!==E&&k.push(E),3&~i||(b.ok("number"==typeof r),k.push(Td(d[r]))),void 0!==w&&k.push(g.bytes(w),g.num(s),g.num(u,4,"le")),g.join(k)}function Pd(e){const t=[];for(const{txid:n,vout:r}of e)t.push(Mf(n)),t.push(Wf(r));return pn(g.join(t))}function Sd(e){return pn(...e.map(e=>Gf(e.sequence)))}function Ad(e){return pn(...e.map(e=>Jf(e.value)))}function Id(e){return pn(...e.map(e=>rd(e.script_pk)))}function $d(e){const t=[];for(const{value:n,script_pk:r}of e)t.push(Jf(n)),t.push(rd(r));return pn(...t)}function Td(e){return pn(Jf(e.value),rd(e.script_pk))}var Bd=Object.freeze({__proto__:null,bip143_hash_outputs:wd,bip143_hash_prevouts:_d,bip143_hash_sequence:yd,bip341_hash_amounts:Ad,bip341_hash_outpoints:Pd,bip341_hash_output:Td,bip341_hash_outputs:$d,bip341_hash_scripts:Id,bip341_hash_sequence:Sd,get_annex_data:_o,get_prevout:mo,get_taproot_tx_preimage:Od,hash_segwit_tx:gd,hash_taproot_tx:zd,parse_txinput:go});function Nd(e){return 0!==e?g.num(e,1).hex:""}var Ud=Object.freeze({__proto__:null,sign_segwit_tx:function(e,t,n){return function(e,t){const n=Yt(t),r=$t.sign(n,e).toDERRawBytes();return g.bytes(r)}(e,gd(id(t),n)).hex+Nd(n.sigflag??1)},sign_taproot_tx:function(e,t,n){return function(e,t){const n=Yt(t);return Yt(Vt.sign(n,e))}(e,zd(id(t),n)).hex+Nd(n.sigflag??0)},verify_tx:function(e,t={}){return console.warn("verify_segwit_tx is not implemented"),!0}});function Zd(e,t,n=[]){const r=[],i=[];if(e.length<1)throw new Error("Tree is empty!");for(let i=0;i<e.length;i++){const o=e[i];if(Array.isArray(o)){let[e,i,s]=Zd(o,t);t=i,r.push(e);for(const e of s)n.push(e)}else{const e=g.bytes(o).hex;r.push(e)}}if(1===r.length)return[r[0],t,n];r.sort(),r.length%2!=0&&r.push(r[r.length-1]);for(let e=0;e<r.length-1;e+=2){const o=Ed(r[e],r[e+1]).hex;i.push(o),"string"==typeof t&&(t===r[e]?(n.push(r[e+1]),t=o):t===r[e+1]&&(n.push(r[e]),t=o))}return Zd(i,t,n)}function Rd(e){const t=e.map(e=>g.bytes(e)),n=e.map(e=>g.bytes(e).hex),r=function(e){let t=e.at(-1);return e.length>1&&t instanceof Uint8Array&&80===t[0]?new g(t).hex:null}(t);null!==r&&t.pop();const i=function(e){let t=e.at(-1);return e.length>1&&t instanceof Uint8Array&&t.length>32&&ur.includes(254&t[0])?new g(t).hex:null}(t);null!==i&&t.pop();const o=function(e,t){let n=e.at(0),r=e.at(1),i=e.at(-1);return null!==t&&void 0!==i?"p2ts":2===e.length&&void 0!==n&&void 0!==r&&n.length>=64&&33===r.length?"p2wpkh":1===e.length&&void 0!==n&&64===n.length?"p2tr":e.length>1&&void 0!==i&&Di(i)?"p2wsh":null}(t,i),s=function(e){return null===e?null:e.startsWith("p2w")?0:e.startsWith("p2t")?1:null}(o),u=function(e,t){let n;switch(t){case"p2ts":n=e.at(-1);case"p2wsh":n=e.at(-1)}return void 0!==n?new g(n).hex:null}(t,o);null!==u&&t.pop();return{annex:r,cblock:i,params:t.map(e=>e.hex),script:u,stack:n,type:o,version:s}}function Cd(e){const t=new _(e),n=t.read(1).num,r=t.read(32).hex,[i,o]=jd(n),s=[];for(;t.size>=32;)s.push(t.read(32).hex);if(0!==t.size)throw new Error("Non-empty buffer on control block: "+String(t));return{int_key:r,path:s,parity:o,version:i}}function jd(e){return e%2==0?[e-0,2]:[e-1,3]}function Fd(e){b.size(e,33,"invalid pubkey size");const[t]=g.bytes(e);if(2===t)return 0;if(3===t)return 1;throw new Error("Invalid parity bit: "+String(t))}const Dd=192;var Hd=Object.freeze({__proto__:null,create_taproot:function(e){Af.parse(e);const{pubkey:t,version:n=Dd}=e,r=e.leaves??[],i=void 0!==e.target?g.bytes(e.target).hex:void 0;let o,s=[];if(r.length>0){const[e,t,n]=Zd(r,i);s=n,o=e}else o=i;const u=kd(t,o),c=Wt(t,u,"ecdsa"),a=Fd(c),f=Gt(c,"bip340"),d=[g.num(n+a),g.bytes(t)];s.length>0&&s.forEach(e=>d.push(e));const l=g.join(d);return{int_key:g.bytes(t).hex,path:s,parity:a,taproot:o??null,cblock:l.hex,tapkey:f.hex,taptweak:u.hex}},encode_leaf_version:xd,encode_tapbranch:Ed,encode_tapleaf:bd,encode_tapscript:vd,encode_taptweak:kd,get_merkle_root:function(e){return Zd(e)[0]},merkleize:Zd,parse_cblock:Cd,parse_cblock_parity:jd,parse_pubkey_parity:Fd,parse_taproot_witness:function(e){const{cblock:t,params:n,script:r}=Rd(e);b.exists(t,"cblock is null"),b.exists(r,"script is null");const i=Cd(t);let o=vd(r,i.version).hex;for(const e of i.path)o=Ed(o,e).hex;const s=kd(i.int_key,o),u=Wt(i.int_key,s,"bip340");return n.map(e=>g.bytes(e).hex),{cblock:i,params:n,script:r,tapkey:u.hex,tweak:s.hex}},verify_taproot:function(e,t,n){b.size(e,32);const{parity:r,path:i,int_key:o}=Cd(n),s=g.join([r,e]);let u=g.bytes(t).hex;for(const e of i)u=Ed(u,e).hex;const c=Wt(o,kd(o,u),"ecdsa");return s.hex===c.hex}});var Ld=Object.freeze({__proto__:null,assert_witness:function(e){b.ok(Array.isArray(e),"witness must be an array"),b.ok(e.every(e=>g.is_bytes(e)),"witness must be an array of strings or bytes")},get_witness_size:function(e){const t=e.map(e=>g.bytes(e)).reduce((e,t)=>e+t.length,0);return{total:t,vsize:Math.ceil(1+t/4)}},parse_witness:Rd});return e.ADDRESS=fi,e.CONST=lr,e.META=lo,e.SCHEMA=jf,e.SCRIPT=po,e.SIGHASH=Bd,e.SIGNER=Ud,e.TAPROOT=Hd,e.TX=md,e.WITNESS=Ld,e}({});
|
|
11
|
+
const Ht={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Dt={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Lt=BigInt(0),Vt=BigInt(1),qt=BigInt(2);const Mt=st(Ht.p,{sqrt:function(e){const t=Ht.p,n=BigInt(3),r=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,d=We(f,n,t)*f%t,l=We(d,n,t)*f%t,p=We(l,qt,t)*u%t,h=We(p,o,t)*p%t,m=We(h,i,t)*h%t,g=We(m,a,t)*m%t,y=We(g,c,t)*g%t,_=We(y,a,t)*m%t,w=We(_,n,t)*f%t,v=We(w,s,t)*h%t,b=We(v,r,t)*u%t,E=We(b,qt,t);if(!Mt.eql(Mt.sqr(E),e))throw new Error("Cannot find square root");return E}}),Kt=function(e,t){const n=t=>Ft({...e,hash:t});return{...n(t),create:n}}({...Ht,Fp:Mt,lowS:!0,endo:Dt},_e),Jt={};function Wt(e,...t){let n=Jt[e];if(void 0===n){const t=_e(ie(e));n=ae(t,t),Jt[e]=n}return _e(ae(n,...t))}const Gt=e=>e.toBytes(!0).slice(1),Yt=(()=>Kt.Point)(),Xt=e=>e%qt===Lt;function Qt(e){const{Fn:t,BASE:n}=Yt,r=Bt(t,e),o=n.multiply(r);return{scalar:Xt(o.y)?r:t.neg(r),bytes:Gt(o)}}function en(e){const t=Mt;if(!t.isValidNot0(e))throw new Error("invalid x: Fail if x ≥ p");const n=t.create(e*e),r=t.create(n*e+BigInt(7));let o=t.sqrt(r);Xt(o)||(o=t.neg(o));const i=Yt.fromAffine({x:e,y:o});return i.assertValidity(),i}const tn=Se;function nn(...e){return Yt.Fn.create(tn(Wt("BIP0340/challenge",...e)))}function rn(e){return Qt(e).bytes}function on(e,t,n=fe(32)){const{Fn:r}=Yt,o=Ie("message",e),{bytes:i,scalar:s}=Qt(t),a=Ie("auxRand",n,32),c=r.toBytes(s^tn(Wt("BIP0340/aux",a))),u=Wt("BIP0340/nonce",c,i,o),{bytes:f,scalar:d}=Qt(u),l=nn(f,i,o),p=new Uint8Array(64);if(p.set(f,0),p.set(r.toBytes(r.create(d+l*s)),32),!sn(p,o,i))throw new Error("sign: Invalid signature produced");return p}function sn(e,t,n){const{Fn:r,BASE:o}=Yt,i=Ie("signature",e,64),s=Ie("message",t),a=Ie("publicKey",n,32);try{const e=en(tn(a)),t=tn(i.subarray(0,32));if(!Ne(t,Vt,Ht.p))return!1;const n=tn(i.subarray(32,64));if(!Ne(n,Vt,Ht.n))return!1;const c=nn(r.toBytes(t),Gt(e),s),u=o.multiplyUnsafe(n).add(e.multiplyUnsafe(r.neg(c))),{x:f,y:d}=u.toAffine();return!(u.is0()||!Xt(d)||f!==t)}catch(e){return!1}}const an=(()=>{const e=(e=fe(48))=>ut(e,Ht.n);return{keygen:function(t){const n=e(t);return{secretKey:n,publicKey:rn(n)}},getPublicKey:rn,sign:on,verify:sn,Point:Yt,utils:{randomSecretKey:e,randomPrivateKey:e,taggedHash:Wt,lift_x:en,pointToBytes:Gt,numberToBytesBE:$e,bytesToNumberBE:Se,mod:Je},lengths:{secretKey:32,publicKey:32,publicKeyHasPrefix:!1,signature:64,seed:48}}})(),cn=BigInt(0),un=BigInt(2);st(Kt.CURVE.n,32,!0);const fn=Kt.Point.BASE;function dn(e,t,n,r=!1){const o=pn(t).big,i=function(e){try{const t=ln(e,"ecdsa");return Kt.Point.fromHex(t)}catch(t){throw new Error("invalid pubkey: "+e)}}(e),s=fn.multiply(o);let a=i.add(s);r&&a.y%un!==cn&&(a=a.negate());return ln(a.toHex(!0),n)}function ln(e,t){try{const n=pn(e);if(33===n.length&&"bip340"===t)return n.slice(1);if(32===n.length&&"ecdsa"===t){const e=k.num(2,1);return k.join([e,n])}return n}catch(t){throw new Error("invalid pubkey: "+String(e))}}function pn(e){try{return k.bytes(e)}catch(t){throw new Error("invalid bytes: "+String(e))}}const hn=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),mn=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),gn=(()=>mn.map(e=>(9*e+5)%16))(),yn=(()=>{const e=[[mn],[gn]];for(let t=0;t<4;t++)for(let n of e)n.push(n[t].map(e=>hn[e]));return e})(),_n=(()=>yn[0])(),wn=(()=>yn[1])(),vn=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>Uint8Array.from(e)),bn=_n.map((e,t)=>e.map(e=>vn[t][e])),En=wn.map((e,t)=>e.map(e=>vn[t][e])),xn=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),zn=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function On(e,t,n,r){return 0===e?t^n^r:1===e?t&n|~t&r:2===e?(t|~n)^r:3===e?t&r|n&~r:t^(n|~r)}const kn=new Uint32Array(16);class Sn extends pe{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:n,h3:r,h4:o}=this;return[e,t,n,r,o]}set(e,t,n,r,o){this.h0=0|e,this.h1=0|t,this.h2=0|n,this.h3=0|r,this.h4=0|o}process(e,t){for(let n=0;n<16;n++,t+=4)kn[n]=e.getUint32(t,!0);let n=0|this.h0,r=n,o=0|this.h1,i=o,s=0|this.h2,a=s,c=0|this.h3,u=c,f=0|this.h4,d=f;for(let e=0;e<5;e++){const t=4-e,l=xn[e],p=zn[e],h=_n[e],m=wn[e],g=bn[e],y=En[e];for(let t=0;t<16;t++){const r=K(n+On(e,o,s,c)+kn[h[t]]+l,g[t])+f|0;n=f,f=c,c=0|K(s,10),s=o,o=r}for(let e=0;e<16;e++){const n=K(r+On(t,i,a,u)+kn[m[e]]+p,y[e])+d|0;r=d,d=u,u=0|K(a,10),a=i,i=n}}this.set(this.h1+s+u|0,this.h2+c+d|0,this.h3+f+r|0,this.h4+n+i|0,this.h0+o+a|0)}roundClean(){V(kn)}destroy(){this.destroyed=!0,V(this.buffer),this.set(0,0,0,0,0)}}const Pn=ue(()=>new Sn);function $n(...e){const t=k.join(e),n=Pn(_e(t));return new k(n)}function An(...e){const t=k.join(e),n=_e(t);return new k(n)}function In(...e){const t=k.join(e),n=_e(_e(t));return new k(n)}function Tn(e,...t){const n=function(e){const t=An(k.str(e));return k.join([t,t])}(e),r=t.map(e=>new k(e));return An(k.join([n,...r]))}
|
|
12
|
+
/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Nn(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function Bn(e,t){return!!Array.isArray(t)&&(0===t.length||(e?t.every(e=>"string"==typeof e):t.every(e=>Number.isSafeInteger(e))))}function Un(e){if("function"!=typeof e)throw new Error("function expected");return!0}function Rn(e,t){if("string"!=typeof t)throw new Error(`${e}: string expected`);return!0}function jn(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function Zn(e){if(!Array.isArray(e))throw new Error("array expected")}function Cn(e,t){if(!Bn(!0,t))throw new Error(`${e}: array of strings expected`)}function Fn(e,t){if(!Bn(!1,t))throw new Error(`${e}: array of numbers expected`)}function Hn(...e){const t=e=>e,n=(e,t)=>n=>e(t(n));return{encode:e.map(e=>e.encode).reduceRight(n,t),decode:e.map(e=>e.decode).reduce(n,t)}}function Dn(e){const t="string"==typeof e?e.split(""):e,n=t.length;Cn("alphabet",t);const r=new Map(t.map((e,t)=>[e,t]));return{encode:r=>(Zn(r),r.map(r=>{if(!Number.isSafeInteger(r)||r<0||r>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${r}". Allowed: ${e}`);return t[r]})),decode:t=>(Zn(t),t.map(t=>{Rn("alphabet.decode",t);const n=r.get(t);if(void 0===n)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return n}))}}function Ln(e=""){return Rn("join",e),{encode:t=>(Cn("join.decode",t),t.join(e)),decode:t=>(Rn("join.decode",t),t.split(e))}}function Vn(e,t,n){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(Zn(e),!e.length)return[];let r=0;const o=[],i=Array.from(e,e=>{if(jn(e),e<0||e>=t)throw new Error(`invalid integer: ${e}`);return e}),s=i.length;for(;;){let e=0,a=!0;for(let o=r;o<s;o++){const s=i[o],c=t*e,u=c+s;if(!Number.isSafeInteger(u)||c/t!==e||u-s!==c)throw new Error("convertRadix: carry overflow");const f=u/n;e=u%n;const d=Math.floor(f);if(i[o]=d,!Number.isSafeInteger(d)||d*n+e!==u)throw new Error("convertRadix: carry overflow");a&&(d?a=!1:r=o)}if(o.push(e),a)break}for(let t=0;t<e.length-1&&0===e[t];t++)o.push(0);return o.reverse()}const qn=(e,t)=>0===t?e:qn(t,e%t),Mn=(e,t)=>e+(t-qn(e,t)),Kn=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function Jn(e,t,n,r){if(Zn(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(Mn(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${Mn(t,n)}`);let o=0,i=0;const s=Kn[t],a=Kn[n]-1,c=[];for(const r of e){if(jn(r),r>=s)throw new Error(`convertRadix2: invalid data word=${r} from=${t}`);if(o=o<<t|r,i+t>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=n;i-=n)c.push((o>>i-n&a)>>>0);const e=Kn[i];if(void 0===e)throw new Error("invalid carry");o&=e-1}if(o=o<<n-i&a,!r&&i>=t)throw new Error("Excess padding");if(!r&&o>0)throw new Error(`Non-zero padding: ${o}`);return r&&i>0&&c.push(o>>>0),c}function Wn(e,t=!1){if(jn(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(Mn(8,e)>32||Mn(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!Nn(n))throw new Error("radix2.encode input should be Uint8Array");return Jn(Array.from(n),8,e,!t)},decode:n=>(Fn("radix2.decode",n),Uint8Array.from(Jn(n,e,8,t)))}}function Gn(e){return Un(e),function(...t){try{return e.apply(null,t)}catch(e){}}}const Yn=(()=>"function"==typeof Uint8Array.from([]).toBase64&&"function"==typeof Uint8Array.fromBase64)()?{encode:e=>(function(e,...t){if(!Nn(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}(e),e.toBase64()),decode:e=>(e=>{if(Rn("base64",e),e.length>0&&!/^[A-Za-z0-9=+/]+$/.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:"base64",lastChunkHandling:"strict"})})(e)}:Hn(Wn(6),Dn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),function(e,t="="){return jn(e),Rn("padding",t),{encode(n){for(Cn("padding.encode",n);n.length*e%8;)n.push(t);return n},decode(n){Cn("padding.decode",n);let r=n.length;if(r*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--){if((r-1)*e%8==0)throw new Error("padding: invalid, string has too much padding")}return n.slice(0,r)}}}(6),Ln("")),Xn=Hn(Wn(6),Dn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Ln("")),Qn=(er="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Hn(function(e){return jn(e),{encode:t=>{if(!Nn(t))throw new Error("radix.encode input should be Uint8Array");return Vn(Array.from(t),256,e)},decode:t=>(Fn("radix.decode",t),Uint8Array.from(Vn(t,e,256)))}}(58),Dn(er),Ln("")));var er;const tr=e=>{return Hn((n=t=>e(e(t)),jn(t=4),Un(n),{encode(e){if(!Nn(e))throw new Error("checksum.encode: input should be Uint8Array");const r=n(e).slice(0,t),o=new Uint8Array(e.length+t);return o.set(e),o.set(r,e.length),o},decode(e){if(!Nn(e))throw new Error("checksum.decode: input should be Uint8Array");const r=e.slice(0,-t),o=e.slice(-t),i=n(r).slice(0,t);for(let e=0;e<t;e++)if(i[e]!==o[e])throw new Error("Invalid checksum");return r}}),Qn);var t,n},nr=Hn(Dn("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Ln("")),rr=[996825010,642813549,513874426,1027748829,705979059];function or(e){const t=e>>25;let n=(33554431&e)<<5;for(let e=0;e<rr.length;e++)1==(t>>e&1)&&(n^=rr[e]);return n}function ir(e,t,n=1){const r=e.length;let o=1;for(let t=0;t<r;t++){const n=e.charCodeAt(t);if(n<33||n>126)throw new Error(`Invalid prefix (${e})`);o=or(o)^n>>5}o=or(o);for(let t=0;t<r;t++)o=or(o)^31&e.charCodeAt(t);for(let e of t)o=or(o)^e;for(let e=0;e<6;e++)o=or(o);return o^=n,nr.encode(Jn([o%Kn[30]],30,5,!1))}function sr(e){const t="bech32"===e?1:734539939,n=Wn(5),r=n.decode,o=n.encode,i=Gn(r);function s(e,n,r=90){Rn("bech32.encode prefix",e),Nn(n)&&(n=Array.from(n)),Fn("bech32.encode",n);const o=e.length;if(0===o)throw new TypeError(`Invalid prefix length ${o}`);const i=o+7+n.length;if(!1!==r&&i>r)throw new TypeError(`Length ${i} exceeds limit ${r}`);const s=e.toLowerCase(),a=ir(s,n,t);return`${s}1${nr.encode(n)}${a}`}function a(e,n=90){Rn("bech32.decode input",e);const r=e.length;if(r<8||!1!==n&&r>n)throw new TypeError(`invalid string length: ${r} (${e}). Expected (8..${n})`);const o=e.toLowerCase();if(e!==o&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const i=o.lastIndexOf("1");if(0===i||-1===i)throw new Error('Letter "1" must be present between prefix and data only');const s=o.slice(0,i),a=o.slice(i+1);if(a.length<6)throw new Error("Data must be at least 6 characters long");const c=nr.decode(a).slice(0,-6),u=ir(s,c,t);if(!a.endsWith(u))throw new Error(`Invalid checksum in ${e}: expected "${u}"`);return{prefix:s,words:c}}return{encode:s,decode:a,encodeFromBytes:function(e,t){return s(e,o(t))},decodeToBytes:function(e){const{prefix:t,words:n}=a(e,!1);return{prefix:t,words:n,bytes:r(n)}},decodeUnsafe:Gn(a),fromWords:r,fromWordsUnsafe:i,toWords:o}}const ar=sr("bech32"),cr=sr("bech32m");var ur,fr,dr,lr,pr;function hr(e){if("string"!=typeof e||0===e.length)throw new Error(`invalid prefix: ${String(e)}`)}function mr(e){if(!Array.isArray(e)||!e.every(e=>"number"==typeof e))throw new Error(`invalid words: ${String(e)}`)}!function(e){e.encode=e=>(j.is_u8a(e),tr(_e).encode(e)),e.decode=e=>(j.is_base58(e),tr(_e).decode(e))}(ur||(ur={})),function(e){e.encode=e=>(j.is_u8a(e),Yn.encode(e)),e.decode=e=>(j.is_base64(e),Yn.decode(e))}(fr||(fr={})),function(e){e.encode=e=>(j.is_u8a(e),Xn.encode(e)),e.decode=e=>(j.is_b64url(e),Xn.decode(e))}(dr||(dr={})),function(e){e.to_words=ar.toWords,e.to_bytes=ar.fromWords,e.encode=(e,t,n=!1)=>(hr(e),mr(t),ar.encode(e,t,n)),e.decode=(e,t=!1)=>(j.is_bech32(e),ar.decode(e,t))}(lr||(lr={})),function(e){e.to_words=cr.toWords,e.to_bytes=cr.fromWords,e.encode=(e,t,n=!1)=>(hr(e),mr(t),cr.encode(e,t,n)),e.decode=(e,t=!1)=>(j.is_bech32(e),cr.decode(e,t))}(pr||(pr={}));const gr={base58:/^[13mn2][a-km-zA-HJ-NP-Z1-9]{25,34}$/,bech32:/^(bc|tb|bcrt)1q[ac-hj-np-z02-9]{6,87}$/,bech32m:/^(bc|tb|bcrt)1p[ac-hj-np-z02-9]{6,87}$/},yr=0,_r=1;function wr(e){const t=function(e){for(const[t,n]of Object.entries(gr))if(n.test(e))return t;return null}(e);if(null===t)throw new Error(`unrecognized address format: ${e}`);if("base58"===t)return function(e){const t=ur.decode(e),n=t.slice(1),r=t[0];return{data:n,format:"base58",version:r}}(e);if("bech32"===t)return function(e){const{prefix:t,words:n}=lr.decode(e),[r,...o]=n;j.ok(r===yr,"bech32 version mismatch");return{data:lr.to_bytes(o),format:"bech32",prefix:t,version:r}}(e);if("bech32m"===t)return function(e){const{prefix:t,words:n}=pr.decode(e),[r,...o]=n;j.ok(r===_r,"bech32m version mismatch");return{data:pr.to_bytes(o),format:"bech32m",prefix:t,version:r}}(e);throw new Error("unable to find a matching address configuration")}function vr(e){if("base58"===e.format)return function(e){j.ok("base58"===e.format,"encoding mismatch"),j.exists(e.version,"must specify a version");const t=k.join([e.version,e.data]);return ur.encode(t)}(e);if("bech32"===e.format)return function(e){j.ok("bech32"===e.format,"encoding mismatch"),j.exists(e.prefix,"prefix is required");const t=k.bytes(e.data),n=lr.to_words(t);return lr.encode(e.prefix,[yr,...n])}(e);if("bech32m"===e.format)return function(e){j.ok("bech32m"===e.format,"encoding mismatch"),j.exists(e.prefix,"prefix is required");const t=k.bytes(e.data),n=pr.to_words(t);return pr.encode(e.prefix,[_r,...n])}(e);throw new Error(`unrecognized encoding format: ${e.format}`)}function br(e,t){switch(t){case"p2pkh":return function(e){return{hex:`76a914${e}88ac`,asm:["OP_DUP","OP_HASH160",e,"OP_EQUALVERIFY","OP_CHECKSIG"]}}(e);case"p2sh":return function(e){return{hex:`a914${e}87`,asm:["OP_HASH160",e,"OP_EQUAL"]}}(e);case"p2wpkh":return function(e){return{hex:`0014${e}`,asm:["OP_0",e]}}(e);case"p2wsh":return function(e){return{hex:`0020${e}`,asm:["OP_0",e]}}(e);case"p2tr":return function(e){return{hex:`5120${e}`,asm:["OP_1",e]}}(e);default:throw new Error(`unrecognized script type: ${t}`)}}const Er=[["1","p2pkh","main",20,"base58",0],["3","p2sh","main",20,"base58",5],["m","p2pkh","testnet",20,"base58",111],["n","p2pkh","testnet",20,"base58",111],["2","p2sh","testnet",20,"base58",196],["m","p2pkh","regtest",20,"base58",111],["n","p2pkh","regtest",20,"base58",111],["2","p2sh","regtest",20,"base58",196],["bc","p2wpkh","main",20,"bech32",0],["tb","p2wpkh","testnet",20,"bech32",0],["bcrt","p2wpkh","regtest",20,"bech32",0],["bc","p2wsh","main",32,"bech32",0],["tb","p2wsh","testnet",32,"bech32",0],["bcrt","p2wsh","regtest",32,"bech32",0],["bc","p2tr","main",32,"bech32m",1],["tb","p2tr","testnet",32,"bech32m",1],["bcrt","p2tr","regtest",32,"bech32m",1]];function xr(e,t){for(const[n,r,o,i,s,a]of Er)if(r===t&&o===e)return{type:r,prefix:n,network:o,size:i,format:s,version:a};return null}function zr(e){const t=wr(e);for(const[n,r,o,i,s,a]of Er){if(s!==t.format)continue;if(i!==t.data.length)continue;if(a!==t.version)continue;if(t.prefix){if(n!==t.prefix)continue}else if(!e.startsWith(n))continue;const c=k.bytes(t.data).hex;return{data:c,script:br(c,r),type:r,prefix:n,network:o,size:i,format:s,version:a}}throw new Error("address configuration is invalid")}const Or=o.P2PKH;var kr;function Sr(e,t="main"){return Ar(Pr(e),t)}function Pr(e){const t=k.bytes(e);j.size(t,33,"invalid pubkey size");return $r($n(t))}function $r(e){return k.join(["76a914",e,"88ac"])}function Ar(e,t="main"){const n=Tr(e),r=xr(t,Or);return j.exists(r,`unrecognized address config: ${Or} on ${t}`),j.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),vr({data:n,format:"base58",version:r.version})}function Ir(e){const t=zr(e);return j.ok("p2pkh"===t.type,`address type mismatch: ${t.type} !== ${Or}`),t}function Tr(e){const t=k.bytes(e);return j.ok(A(e),"invalid p2pkh script"),t.slice(3,23)}!function(e){e.create_address=Sr,e.create_script=Pr,e.encode_address=Ar,e.encode_script=$r,e.decode_address=Ir,e.decode_script=Tr}(kr||(kr={}));const Nr=o.P2SH;var Br;function Ur(e,t="main"){return Zr(jr($n(k.bytes(e))),t)}function Rr(e){return jr($n(k.bytes(e)))}function jr(e){return k.join(["a914",e,"87"])}function Zr(e,t="main"){const n=Fr(e),r=xr(t,Nr);return j.exists(r,`unrecognized address config: ${Nr} on ${t}`),j.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),vr({data:n,format:"base58",version:r.version})}function Cr(e){const t=zr(e);return j.ok("p2sh"===t.type,`address type mismatch: ${t.type} !== ${Nr}`),t}function Fr(e){j.ok(I(e),"invalid p2sh script");return k.bytes(e).slice(2,22)}!function(e){e.create_address=Ur,e.create_script=Rr,e.encode_address=Zr,e.encode_script=jr,e.decode_address=Cr,e.decode_script=Fr}(Br||(Br={}));const Hr=o.P2TR;var Dr;function Lr(e,t="main"){return Mr(Vr(e),t)}function Vr(e){const t=k.bytes(e);return j.size(t,32,"invalid pubkey size"),qr(t)}function qr(e){return k.join(["5120",e])}function Mr(e,t="main"){const n=Jr(e),r=xr(t,Hr);return j.exists(r,`unrecognized address config: ${Hr} on ${t}`),j.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),vr({data:n,format:"bech32m",prefix:r.prefix})}function Kr(e){const t=zr(e);return j.ok("p2tr"===t.type,`address type mismatch: ${t.type} !== ${Hr}`),t}function Jr(e){j.ok(B(e),"invalid p2tr script");return k.bytes(e).slice(2,34)}!function(e){e.create_address=Lr,e.create_script=Vr,e.encode_address=Mr,e.encode_script=qr,e.decode_address=Kr,e.decode_script=Jr}(Dr||(Dr={}));const Wr=o.P2WPKH;var Gr;function Yr(e,t="main"){return eo(Xr(e),t)}function Xr(e){const t=k.bytes(e);j.size(t,33,"invalid pubkey size");return Qr($n(t))}function Qr(e){return k.join(["0014",e])}function eo(e,t="main"){const n=no(e),r=xr(t,Wr);return j.exists(r,`unrecognized address config: ${Wr} on ${t}`),j.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),vr({data:n,format:"bech32",prefix:r.prefix})}function to(e){const t=zr(e);return j.ok("p2wpkh"===t.type,`address type mismatch: ${t.type} !== ${Wr}`),t}function no(e){j.ok(T(e),"invalid p2wpkh script");return k.bytes(e).slice(2,22)}!function(e){e.create_address=Yr,e.create_script=Xr,e.encode_address=eo,e.encode_script=Qr,e.decode_address=to,e.decode_script=no}(Gr||(Gr={}));const ro=o.P2WSH;var oo;function io(e,t="main"){return co(so(e),t)}function so(e){return ao(An(k.bytes(e)))}function ao(e){return k.join(["0020",e])}function co(e,t="main"){const n=fo(e),r=xr(t,ro);return j.exists(r,`unrecognized address config: ${ro} on ${t}`),j.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),vr({data:n,format:"bech32",prefix:r.prefix})}function uo(e){const t=zr(e);return j.ok("p2wsh"===t.type,`address type mismatch: ${t.type} !== ${ro}`),t}function fo(e){j.ok(N(e),"invalid p2wsh script");return k.bytes(e).slice(2,34)}!function(e){e.create_address=io,e.create_script=so,e.encode_address=co,e.encode_script=ao,e.decode_address=uo,e.decode_script=fo}(oo||(oo={}));var lo=Object.freeze({__proto__:null,get P2PKH(){return kr},get P2SH(){return Br},get P2TR(){return Dr},get P2WPKH(){return Gr},get P2WSH(){return oo},get_address:function(e,t="main"){const n=P(k.bytes(e));if(null===n)throw new Error("Unknown or unsupported locking script type");switch(n){case o.P2PKH:return kr.encode_address(e,t);case o.P2SH:return Br.encode_address(e,t);case o.P2WPKH:return Gr.encode_address(e,t);case o.P2WSH:return oo.encode_address(e,t);case o.P2TR:return Dr.encode_address(e,t);default:throw new Error(`unknown script type: ${n}`)}},parse_address:function(e){return zr(e)}});const po=5e8;var ho,mo;function go(e){switch(e.type){case"timelock":return j.ok(e.stamp>=po,"Invalid timestamp"),e.stamp;case"heightlock":return j.ok(e.height>0,"height must be greater than 0"),j.ok(e.height<po,"invalid block height"),e.height;default:throw new Error("Invalid locktime type")}}function yo(e){return Number.isNaN(e)||e<=0?null:e<po?{type:"heightlock",height:e}:{type:"timelock",stamp:e}}function _o(e,t=0){return`${e}i${t}`}function wo(e){bo(e);const[t,n]=e.split("i");return{txid:t,order:parseInt(n,10)}}function vo(e){return null!==e.match(/^[a-f0-9]{64}i\d+$/)}function bo(e){if(!vo(e))throw new Error(`invalid inscription id: ${e}`)}function Eo(e,t){return`${e}:${t}`}function xo(e){Oo(e);const[t,n]=e.split(":");return{block_height:parseInt(t,10),block_index:parseInt(n,10)}}function zo(e){return null!==e.match(/^\d+:\d+$/)}function Oo(e){if(!zo(e))throw new Error(`invalid rune id: ${e}`)}function ko(e,t){return`${e}:${t}`}function So(e){$o(e);const[t,n]=e.split(":");return{txid:t,vout:parseInt(n,10)}}function Po(e){return null!==e.match(/^[a-f0-9]{64}:[0-9]+$/)}function $o(e){if(!Po(e))throw new Error(`invalid outpoint: ${e}`)}!function(e){e.encode=go,e.decode=yo}(ho||(ho={})),function(e){e.outpoint={encode:ko,decode:So,verify:Po,assert:$o},e.record_id={encode:_o,decode:wo,verify:vo,assert:bo},e.rune_id={encode:Eo,decode:xo,verify:zo,assert:Oo}}(mo||(mo={}));const Ao={OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_SUCCESS80:80,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_SUCCESS98:98,OP_IF:99,OP_NOTIF:100,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_SUCCESS126:126,OP_SUCCESS127:127,OP_SUCCESS128:128,OP_SUCCESS129:129,OP_SIZE:130,OP_SUCCESS131:131,OP_SUCCESS132:132,OP_SUCCESS133:133,OP_SUCCESS134:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_SUCCESS137:137,OP_SUCCESS138:138,OP_1ADD:139,OP_1SUB:140,OP_SUCCESS141:141,OP_SUCCESS142:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_SUCCESS149:149,OP_SUCCESS150:150,OP_SUCCESS151:151,OP_SUCCESS152:152,OP_SUCCESS153:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_CHECKLOCKTIMEVERIFY:177,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186};function Io(e){if(e>186&&e<255)return`OP_SUCCESS${String(e)}`;for(const[t,n]of Object.entries(Ao))if(n===e)return t;throw new Error(`OPCODE not found:${String(e)}`)}function To(e){for(const[t,n]of Object.entries(Ao))if(t===e)return Number(n);throw new Error(`OPCODE not found:${e}`)}function No(e){switch(!0){case 0===e:return"opcode";case e>=1&&e<=75:return"varint";case 76===e:return"pushdata1";case 77===e:return"pushdata2";case 78===e:return"pushdata4";case e<=254:return"opcode";default:throw new Error(`Invalid word range: ${e}`)}}function Bo(e){switch(!0){case"number"!=typeof e:return!1;case 0===e:return!0;case[].includes(e):return!1;case 75<e&&e<254:return!0;default:return!1}}function Uo(e){const t=new S(e),n=[],r=t.size;let o,i,s,a=0;for(;a<r;)switch(o=t.read(1).num,i=No(o),a++,i){case"varint":try{n.push(t.read(o).hex)}catch{throw new Error(`Malformed script: varint push at position ${a-1} requires ${o} bytes but stream exhausted`)}a+=o;break;case"pushdata1":try{s=t.read(1).reverse().num}catch{throw new Error(`Malformed script: PUSHDATA1 at position ${a-1} missing size byte`)}try{n.push(t.read(s).hex)}catch{throw new Error(`Malformed script: PUSHDATA1 at position ${a-1} requires ${s} bytes but stream exhausted`)}a+=s+1;break;case"pushdata2":try{s=t.read(2).reverse().num}catch{throw new Error(`Malformed script: PUSHDATA2 at position ${a-1} missing size bytes`)}try{n.push(t.read(s).hex)}catch{throw new Error(`Malformed script: PUSHDATA2 at position ${a-1} requires ${s} bytes but stream exhausted`)}a+=s+2;break;case"pushdata4":try{s=t.read(4).reverse().num}catch{throw new Error(`Malformed script: PUSHDATA4 at position ${a-1} missing size bytes`)}try{n.push(t.read(s).hex)}catch{throw new Error(`Malformed script: PUSHDATA4 at position ${a-1} requires ${s} bytes but stream exhausted`)}a+=s+4;break;case"opcode":if(!Bo(o))throw new Error(`Invalid OPCODE: ${o}`);n.push(Io(o));break;default:throw new Error(`Word type undefined: ${o}`)}return n}function Ro(e){try{return Uo(e).length>0}catch{return!1}}const jo=520;function Zo(e,t=!1){if(0===e.length)return k.num(0,1);const n=[];for(const t of e)n.push(Co(t));const r=k.join(n);if(r.length>c)throw new Error(`script size ${r.length} exceeds consensus limit of 10000 bytes`);return t?r.prepend(k.create_varint(r.length,"le")):r}function Co(e){let t;if("string"==typeof e){if(e.startsWith("OP_")){const t=To(e);return k.num(t,1)}t=k.is_hex(e)?k.hex(e):k.str(e)}else if("number"==typeof e)t=k.num(e);else{if(!(e instanceof Uint8Array))throw new Error("invalid word type:"+typeof e);t=new k(e)}if(1===t.length&&t[0]<=16)0!==t[0]&&(t[0]+=80);else if(t.length>jo){let e;e=Fo(t),e=e.map(e=>Ho(e)),t=k.join(e)}else t=Ho(t);return t}function Fo(e){const t=[],n=new S(e);for(;n.size>jo;)t.push(n.read(jo));return t.push(n.read(n.size)),t}function Ho(e){const t=Do(e.length);return k.join([t,e])}function Do(e){const t=k.num(76,1),n=k.num(77,1);switch(!0){case e<=75:return k.num(e);case e>75&&e<256:return k.join([t,k.num(e,1,"le")]);case e>=256&&e<=jo:return k.join([n,k.num(e,2,"le")]);default:throw new Error(`Invalid word size:${e.toString()}`)}}const Lo=BigInt(0),Vo=BigInt(1),qo=BigInt(26);var Mo;function Ko(e){const t=function(e){const t=Uo(e),n=t.indexOf("OP_0");j.ok(-1!==n,"inscription envelope not found");const r=[];for(let e=n;e<t.length;e++){j.ok("OP_IF"===t[e+1],"OP_IF missing from envelope"),j.ok("6f7264"===t[e+2],"magic bytes missing from envelope");const n=t.indexOf("OP_ENDIF");j.ok(-1!==n,"inscription envelope missing END_IF statement");const o=t.slice(e+3,n);r.push(o),e+=n}return r}(e);return t.map(Go)}function Jo(e){return k.join(e.map(Wo))}function Wo(e){const t=["OP_0","OP_IF","6f7264"];if("string"==typeof e.delegate){const n=Xo(e.delegate);t.push("OP_11",n)}if("string"==typeof e.ref&&t.push("OP_WITHIN",e.ref),"string"==typeof e.parent){const n=Xo(e.parent);t.push("OP_3",n)}if("number"==typeof e.opcode){const n=ei(e.opcode);t.push("OP_NOP",n)}if("number"==typeof e.pointer){const n=ei(e.pointer);t.push("OP_2",n)}if("string"==typeof e.rune){const n=function(e){const t=e.toUpperCase();let n=Lo;for(const e of t)e>="A"&&e<="Z"&&(n=n*qo+BigInt(e.charCodeAt(0)-("A".charCodeAt(0)-1)));return n-=Vo,k.big(n).reverse().hex}(e.rune);t.push("OP_13",n)}if("string"==typeof e.mimetype){const n=function(e){return k.str(e).hex}(e.mimetype);t.push("OP_1",n)}if("string"==typeof e.content){const n=function(e){const t=k.is_hex(e)?k.hex(e):k.str(e),n=new S(t),r=[];for(;n.size>0;)if(n.size>520){const e=n.read(520);r.push(e.hex)}else{const e=n.read(n.size);r.push(e.hex)}return r}(e.content);t.push("OP_0",...n)}return t.push("OP_ENDIF"),Zo(t)}function Go(e){const t={};for(let n=0;n<e.length;n++)switch(e[n]){case"OP_1":t.mimetype=ni(e[n+1]),n+=1;break;case"OP_2":t.pointer=ti(e[n+1]),n+=1;break;case"OP_3":t.parent=Qo(e[n+1]),n+=1;break;case"OP_11":t.delegate=Qo(e[n+1]),n+=1;break;case"OP_13":t.rune=oi(e[n+1]),n+=1;break;case"OP_WITHIN":t.ref=Yo(e[n+1]),n+=1;break;case"OP_NOP":t.opcode=ti(e[n+1]),n+=1;break;case"OP_0":return t.content=ri(e.slice(n+1)),t}return t}function Yo(e){return k.bytes(e).hex}function Xo(e){j.ok(e.includes("i"),"identifier must include an index");const t=e.split("i"),n=k.hex(t[0]),r=Number(t[1]),o=n.reverse().hex;return 0!==r?o+k.num(r).hex:o}function Qo(e){const t=k.bytes(e),n=t.at(-1)??0;return`${t.slice(0,-1).reverse().hex}i${String(n)}`}function ei(e){return k.num(e).reverse().hex}function ti(e){return k.bytes(e).reverse().num}function ni(e){return k.bytes(e).str}function ri(e,t="hex"){const n=k.join(e);return"hex"===t?n.hex:n.str}function oi(e){let t=k.bytes(e).reverse().big;t+=Vo;let n="";for(;t>Lo;){const e=t%qo;if(e===Lo)n=`Z${n}`,t=t/qo-Vo;else{const r=Number(e)+"A".charCodeAt(0)-1;n=String.fromCharCode(r)+n,t/=qo}}return n}!function(e){e.encode=Jo,e.decode=Ko}(Mo||(Mo={}));const ii=4194304,si=65535,ai=65535;var ci;function ui(e){if("height"===e.mode){return(function(e){if(void 0===e||!Number.isInteger(e)||e<0||e>ai)throw new Error("Heightlock value must be an integer between 0 and 65535");return e}(e.height)&si)>>>0}if("stamp"===e.mode){const t=function(e){if(void 0===e||!Number.isInteger(e))throw new Error("timestamp must be a number");const t=Math.floor(e/512);if(!Number.isInteger(t)||t<0||t>ai)throw new Error("timelock value must be an integer between 0 and 65535 (in 512-second increments)");return t}(e.stamp);return(ii|t&si)>>>0}throw new Error(`invalid timelock mode: ${e.mode}`)}function fi(e){const t=function(e){const t="string"==typeof e?parseInt(e,16):e;if(!Number.isInteger(t)||t<0||t>4294967295)throw new Error(`invalid sequence value: ${t}`);return t}(e);if(2147483648&t)return null;const n=t&si;if(t&ii){const e=512*n;if(e>4294967295)throw new Error("Decoded timestamp exceeds 32-bit limit");return{mode:"stamp",stamp:e}}if(n>ai)throw new Error("Decoded height exceeds maximum");return{mode:"height",height:n}}!function(e){e.encode=ui,e.decode=fi}(ci||(ci={}));var di=Object.freeze({__proto__:null,get InscriptionUtil(){return Mo},get LocktimeField(){return ho},get RefPointer(){return mo},get SequenceField(){return ci},decode_inscription:Ko,decode_locktime:yo,decode_sequence:fi,encode_inscription:Jo,encode_locktime:go,encode_sequence:ui});function li(e){return k.bytes(e).prefix_varint("le").hex}var pi=Object.freeze({__proto__:null,OPCODE_MAP:Ao,decode_script:Uo,encode_script:Zo,encode_script_word:Co,get_asm_code:To,get_lock_script_info:function(e){return{type:P(e),version:$(e)}},get_lock_script_type:P,get_lock_script_version:$,get_op_code:Io,get_op_type:No,get_size_varint:Do,is_opreturn_script:function(e){const t=k.bytes(e).hex;return i.opreturn.test(t)},is_p2pkh_script:A,is_p2sh_script:I,is_p2tr_script:B,is_p2wpkh_script:T,is_p2wsh_script:N,is_return_script:function(e){return 106===k.bytes(e).at(0)},is_valid_op:Bo,is_valid_script:Ro,parse_script:function(e){const t=k.bytes(e);return{asm:Uo(t),hex:t.hex}},parse_script_pubkeys:function(e){return[...("string"==typeof e?e:k.bytes(e).hex).matchAll(/20([0-9a-f]{64})(ac|ad|ba)/gi)].map(e=>e[1])},prefix_script_size:li,prefix_word_size:Ho,split_script_word:Fo});const hi=4e6,mi=1e5;function gi(e,t=!0){j.is_bytes(e,"txdata must be hex or bytes");const n="string"==typeof e?e.length/2:e.length;if(n>hi)throw new Error(`Transaction size ${n} exceeds maximum 4000000 bytes`);const r=new S(e),o=function(e){return e.read(4).reverse().to_num()}(r);let i=function(e){const[t,n]=[...e.peek(2)];if(0===t){if(e.read(2),1===n)return!0;throw new Error(`Invalid witness flag: ${n}`)}return!1}(r);i=!!t&&i;const s=function(e){const t=[],n=e.read_varint();if(n>mi)throw new Error(`Input count ${n} exceeds maximum 100000`);for(let r=0;r<n;r++){const n=yi(e);t.push(n)}return t}(r),a=function(e){const t=[],n=e.read_varint();if(n>mi)throw new Error(`Output count ${n} exceeds maximum 100000`);for(let r=0;r<n;r++)try{t.push(_i(e))}catch(e){throw new Error(`failed to decode output at index ${r}`)}return t}(r);if(i)for(const e of s)e.witness=wi(r);const c=function(e){return e.read(4).reverse().to_num()}(r);return{version:o,vin:s,vout:a,locktime:c}}function yi(e){const n=e.read(32).reverse().hex,r=e.read(4).reverse().num,o=vi(e),i=e.read(4).reverse().num,s=[];return n===t.TXID&&r===t.VOUT?{coinbase:o,prevout:null,script_sig:null,sequence:i,txid:n,vout:r,witness:s}:{coinbase:null,prevout:null,script_sig:o,sequence:i,txid:n,vout:r,witness:s}}function _i(e){const t=e.read(8).reverse().big,n=vi(e);return j.exists(n,"failed to decode script_pk"),{value:t,script_pk:n}}function wi(e){const t=[],n=e.read_varint();if(n>mi)throw new Error(`Witness element count ${n} exceeds maximum 100000`);for(let r=0;r<n;r++){const n=vi(e);if(null===n)throw new Error(`failed to decode witness element at index ${r}`);t.push(n)}return t}function vi(e){const t=e.read_varint("le");if(t>u)throw new Error(`Payload size ${t} exceeds maximum 520000`);return t>0?e.read(t).hex:null}function bi(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:s,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);const o=s.prototype,i=Object.keys(o);for(let e=0;e<i.length;e++){const t=i[e];t in n||(n[t]=o[t].bind(n))}}const o=n?.Parent??Object;class i extends o{}function s(e){var t;const o=n?.Parent?new i:this;r(o,e),(t=o._zod).deferred??(t.deferred=[]);for(const e of o._zod.deferred)e();return o}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}class Ei extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class xi extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}const zi={};function Oi(e){return zi}function ki(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function Si(e,t){return"bigint"==typeof t?t.toString():t}function Pi(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function $i(e){return null==e}function Ai(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}const Ii=Symbol("evaluating");function Ti(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ii)return void 0===r&&(r=Ii,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ni(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Bi(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Ui(e){return JSON.stringify(e)}const Ri="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ji(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const Zi=Pi(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Ci(e){if(!1===ji(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const n=t.prototype;return!1!==ji(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function Fi(e){return Ci(e)?{...e}:Array.isArray(e)?[...e]:e}const Hi=new Set(["string","number","symbol"]);function Di(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Li(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function Vi(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}const qi={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Mi(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function Ki(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Ji(e){return"string"==typeof e?e:e?.message}function Wi(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=Ji(e.inst?._zod.def?.error?.(e))??Ji(t?.error?.(e))??Ji(n.customError?.(e))??Ji(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function Gi(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function Yi(...e){const[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}const Xi=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Si,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Qi=bi("$ZodError",Xi),es=bi("$ZodError",Xi,{Parent:Error});const ts=e=>(t,n,r,o)=>{const i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new Ei;if(s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>Wi(e,i,Oi())));throw Ri(t,o?.callee),t}return s.value},ns=e=>async(t,n,r,o)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>Wi(e,i,Oi())));throw Ri(t,o?.callee),t}return s.value},rs=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new Ei;return i.issues.length?{success:!1,error:new(e??Qi)(i.issues.map(e=>Wi(e,o,Oi())))}:{success:!0,data:i.value}},os=rs(es),is=e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>Wi(e,o,Oi())))}:{success:!0,data:i.value}},ss=is(es),as=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ts(e)(t,n,o)},cs=e=>(t,n,r)=>ts(e)(t,n,r),us=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ns(e)(t,n,o)},fs=e=>async(t,n,r)=>ns(e)(t,n,r),ds=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return rs(e)(t,n,o)},ls=e=>(t,n,r)=>rs(e)(t,n,r),ps=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return is(e)(t,n,o)},hs=e=>async(t,n,r)=>is(e)(t,n,r),ms=/^[cC][^\s-]{8,}$/,gs=/^[0-9a-z]+$/,ys=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,_s=/^[0-9a-vA-V]{20}$/,ws=/^[A-Za-z0-9]{27}$/,vs=/^[a-zA-Z0-9_-]{21}$/,bs=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Es=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,xs=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,zs=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;const Os=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ks=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Ss=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ps=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$s=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,As=/^[A-Za-z0-9_-]*$/,Is=/^\+[1-9]\d{6,14}$/,Ts="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Ns=new RegExp(`^${Ts}$`);function Bs(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}const Us=/^-?\d+n?$/,Rs=/^-?\d+$/,js=/^-?\d+(?:\.\d+)?$/,Zs=/^(?:true|false)$/i,Cs=/^null$/i,Fs=/^[^A-Z]*$/,Hs=/^[^a-z]*$/,Ds=bi("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ls={number:"number",bigint:"bigint",object:"date"},Vs=bi("$ZodCheckLessThan",(e,t)=>{Ds.init(e,t);const n=Ls[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),qs=bi("$ZodCheckGreaterThan",(e,t)=>{Ds.init(e,t);const n=Ls[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ms=bi("$ZodCheckMultipleOf",(e,t)=>{Ds.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value===BigInt(0):0===function(e,t){const n=(e.toString().split(".")[1]||"").length,r=t.toString();let o=(r.split(".")[1]||"").length;if(0===o&&/\d?e-\d?/.test(r)){const e=r.match(/\d?e-(\d?)/);e?.[1]&&(o=Number.parseInt(e[1]))}const i=n>o?n:o;return Number.parseInt(e.toFixed(i).replace(".",""))%Number.parseInt(t.toFixed(i).replace(".",""))/10**i}(n.value,t.value))||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ks=bi("$ZodCheckNumberFormat",(e,t)=>{Ds.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,i]=qi[t.format];e._zod.onattach.push(e=>{const r=e._zod.bag;r.format=t.format,r.minimum=o,r.maximum=i,n&&(r.pattern=Rs)}),e._zod.check=s=>{const a=s.value;if(n){if(!Number.isInteger(a))return void s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});if(!Number.isSafeInteger(a))return void(a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}))}a<o&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Js=bi("$ZodCheckMaxLength",(e,t)=>{var n;Ds.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!$i(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const r=n.value;if(r.length<=t.maximum)return;const o=Gi(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ws=bi("$ZodCheckMinLength",(e,t)=>{var n;Ds.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!$i(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const r=n.value;if(r.length>=t.minimum)return;const o=Gi(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Gs=bi("$ZodCheckLengthEquals",(e,t)=>{var n;Ds.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!$i(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const r=n.value,o=r.length;if(o===t.length)return;const i=Gi(r),s=o>t.length;n.issues.push({origin:i,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Ys=bi("$ZodCheckStringFormat",(e,t)=>{var n,r;Ds.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Xs=bi("$ZodCheckRegex",(e,t)=>{Ys.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Qs=bi("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Fs),Ys.init(e,t)}),ea=bi("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Hs),Ys.init(e,t)}),ta=bi("$ZodCheckIncludes",(e,t)=>{Ds.init(e,t);const n=Di(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),na=bi("$ZodCheckStartsWith",(e,t)=>{Ds.init(e,t);const n=new RegExp(`^${Di(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),ra=bi("$ZodCheckEndsWith",(e,t)=>{Ds.init(e,t);const n=new RegExp(`.*${Di(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),oa=bi("$ZodCheckOverwrite",(e,t)=>{Ds.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});class ia{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const e of r)this.content.push(e)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}}const sa={major:4,minor:3,patch:5},aa=bi("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=sa;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const t of r)for(const n of t._zod.onattach)n(e);if(0===r.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let r,o=Mi(e);for(const i of t){if(i._zod.def.when){if(!i._zod.def.when(e))continue}else if(o)continue;const t=e.issues.length,s=i._zod.check(e);if(s instanceof Promise&&!1===n?.async)throw new Ei;if(r||s instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await s;e.issues.length!==t&&(o||(o=Mi(e,t)))});else{if(e.issues.length===t)continue;o||(o=Mi(e,t))}}return r?r.then(()=>e):e},n=(n,o,i)=>{if(Mi(n))return n.aborted=!0,n;const s=t(o,r,i);if(s instanceof Promise){if(!1===i.async)throw new Ei;return s.then(t=>e._zod.parse(t,i))}return e._zod.parse(s,i)};e._zod.run=(o,i)=>{if(i.skipChecks)return e._zod.parse(o,i);if("backward"===i.direction){const t=e._zod.parse({value:o.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,o,i)):n(t,o,i)}const s=e._zod.parse(o,i);if(s instanceof Promise){if(!1===i.async)throw new Ei;return s.then(e=>t(e,r,i))}return t(s,r,i)}}Ti(e,"~standard",()=>({validate:t=>{try{const n=os(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return ss(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),ca=bi("$ZodString",(e,t)=>{var n;aa.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(r){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),ua=bi("$ZodStringFormat",(e,t)=>{Ys.init(e,t),ca.init(e,t)}),fa=bi("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Es),ua.init(e,t)}),da=bi("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=xs(e))}else t.pattern??(t.pattern=xs());ua.init(e,t)}),la=bi("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=zs),ua.init(e,t)}),pa=bi("$ZodURL",(e,t)=>{ua.init(e,t),e._zod.check=n=>{try{const r=n.value.trim(),o=new URL(r);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=o.href:n.value=r)}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),ha=bi("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),ua.init(e,t)}),ma=bi("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=vs),ua.init(e,t)}),ga=bi("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ms),ua.init(e,t)}),ya=bi("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=gs),ua.init(e,t)}),_a=bi("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ys),ua.init(e,t)}),wa=bi("$ZodXID",(e,t)=>{t.pattern??(t.pattern=_s),ua.init(e,t)}),va=bi("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ws),ua.init(e,t)}),ba=bi("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=Bs({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Ts}T(?:${r})$`)}(t)),ua.init(e,t)}),Ea=bi("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ns),ua.init(e,t)}),xa=bi("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${Bs(t)}$`)),ua.init(e,t)}),za=bi("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=bs),ua.init(e,t)}),Oa=bi("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Os),ua.init(e,t),e._zod.bag.format="ipv4"}),ka=bi("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ks),ua.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Sa=bi("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Ss),ua.init(e,t)}),Pa=bi("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ps),ua.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(2!==r.length)throw new Error;const[e,t]=r;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function $a(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Aa=bi("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=$s),ua.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{$a(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});const Ia=bi("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=As),ua.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{(function(e){if(!As.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return $a(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Ta=bi("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Is),ua.init(e,t)});const Na=bi("$ZodJWT",(e,t)=>{ua.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&"JWT"!==o?.typ||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Ba=bi("$ZodNumber",(e,t)=>{aa.init(e,t),e._zod.pattern=e._zod.bag.pattern??js,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}const o=n.value;if("number"==typeof o&&!Number.isNaN(o)&&Number.isFinite(o))return n;const i="number"==typeof o?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),Ua=bi("$ZodNumberFormat",(e,t)=>{Ks.init(e,t),Ba.init(e,t)}),Ra=bi("$ZodBoolean",(e,t)=>{aa.init(e,t),e._zod.pattern=Zs,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(e){}const o=n.value;return"boolean"==typeof o||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),ja=bi("$ZodBigInt",(e,t)=>{aa.init(e,t),e._zod.pattern=Us,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(e){}return"bigint"==typeof n.value||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),Za=bi("$ZodNull",(e,t)=>{aa.init(e,t),e._zod.pattern=Cs,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{const r=t.value;return null===r||t.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),t}}),Ca=bi("$ZodUnknown",(e,t)=>{aa.init(e,t),e._zod.parse=e=>e}),Fa=bi("$ZodNever",(e,t)=>{aa.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Ha(e,t,n){e.issues.length&&t.issues.push(...Ki(n,e.issues)),t.value[n]=e.value}const Da=bi("$ZodArray",(e,t)=>{aa.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let e=0;e<o.length;e++){const s=o[e],a=t.element._zod.run({value:s,issues:[]},r);a instanceof Promise?i.push(a.then(t=>Ha(t,n,e))):Ha(a,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function La(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...Ki(n,e.issues))}void 0===e.value?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Va(e){const t=Object.keys(e.shape);for(const n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);const n=(r=e.shape,Object.keys(r).filter(e=>"optional"===r[e]._zod.optin&&"optional"===r[e]._zod.optout));var r;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function qa(e,t,n,r,o,i){const s=[],a=o.keySet,c=o.catchall._zod,u=c.def.type,f="optional"===c.optout;for(const o in t){if(a.has(o))continue;if("never"===u){s.push(o);continue}const i=c.run({value:t[o],issues:[]},r);i instanceof Promise?e.push(i.then(e=>La(e,n,o,t,f))):La(i,n,o,t,f)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}const Ma=bi("$ZodObject",(e,t)=>{aa.init(e,t);const n=Object.getOwnPropertyDescriptor(t,"shape");if(!n?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const r=Pi(()=>Va(t));Ti(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(const e of r.values)n[t].add(e)}}return n});const o=ji,i=t.catchall;let s;e._zod.parse=(t,n)=>{s??(s=r.value);const a=t.value;if(!o(a))return t.issues.push({expected:"object",code:"invalid_type",input:a,inst:e}),t;t.value={};const c=[],u=s.shape;for(const e of s.keys){const r=u[e],o="optional"===r._zod.optout,i=r._zod.run({value:a[e],issues:[]},n);i instanceof Promise?c.push(i.then(n=>La(n,t,e,a,o))):La(i,t,e,a,o)}return i?qa(c,a,t,n,r.value,e):c.length?Promise.all(c).then(()=>t):t}}),Ka=bi("$ZodObjectJIT",(e,t)=>{Ma.init(e,t);const n=e._zod.parse,r=Pi(()=>Va(t));let o;const i=ji,s=!zi.jitless,a=s&&Zi.value,c=t.catchall;let u;e._zod.parse=(f,d)=>{u??(u=r.value);const l=f.value;return i(l)?s&&a&&!1===d?.async&&!0!==d.jitless?(o||(o=(e=>{const t=new ia(["shape","payload","ctx"]),n=r.value,o=e=>{const t=Ui(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const i=Object.create(null);let s=0;for(const e of n.keys)i[e]="key_"+s++;t.write("const newResult = {};");for(const r of n.keys){const n=i[r],s=Ui(r),a=e[r],c="optional"===a?._zod?.optout;t.write(`const ${n} = ${o(r)};`),c?t.write(`\n if (${n}.issues.length) {\n if (${s} in input) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${s}, ...iss.path] : [${s}]\n })));\n }\n }\n \n if (${n}.value === undefined) {\n if (${s} in input) {\n newResult[${s}] = undefined;\n }\n } else {\n newResult[${s}] = ${n}.value;\n }\n \n `):t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${s}, ...iss.path] : [${s}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${s} in input) {\n newResult[${s}] = undefined;\n }\n } else {\n newResult[${s}] = ${n}.value;\n }\n \n `)}t.write("payload.value = newResult;"),t.write("return payload;");const a=t.compile();return(t,n)=>a(e,t,n)})(t.shape)),f=o(f,d),c?qa([],l,f,d,u,e):f):n(f,d):(f.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),f)}});function Ja(e,t,n,r){for(const n of e)if(0===n.issues.length)return t.value=n.value,t;const o=e.filter(e=>!Mi(e));return 1===o.length?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Wi(e,r,Oi())))}),t)}const Wa=bi("$ZodUnion",(e,t)=>{aa.init(e,t),Ti(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),Ti(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),Ti(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),Ti(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>Ai(e.source)).join("|")})$`)}});const n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:o.value,issues:[]},i);if(t instanceof Promise)a.push(t),s=!0;else{if(0===t.issues.length)return t;a.push(t)}}return s?Promise.all(a).then(t=>Ja(t,o,e,i)):Ja(a,o,e,i)}}),Ga=bi("$ZodIntersection",(e,t)=>{aa.init(e,t),e._zod.parse=(e,n)=>{const r=e.value,o=t.left._zod.run({value:r,issues:[]},n),i=t.right._zod.run({value:r,issues:[]},n);return o instanceof Promise||i instanceof Promise?Promise.all([o,i]).then(([t,n])=>Xa(e,t,n)):Xa(e,o,i)}});function Ya(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Ci(e)&&Ci(t)){const n=Object.keys(t),r=Object.keys(e).filter(e=>-1!==n.indexOf(e)),o={...e,...t};for(const n of r){const r=Ya(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};o[n]=r.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=Ya(e[r],t[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Xa(e,t,n){const r=new Map;let o;for(const n of t.issues)if("unrecognized_keys"===n.code){o??(o=n);for(const e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(const t of n.issues)if("unrecognized_keys"===t.code)for(const e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);const i=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(i.length&&o&&e.issues.push({...o,keys:i}),Mi(e))return e;const s=Ya(t.value,n.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}const Qa=bi("$ZodRecord",(e,t)=>{aa.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Ci(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const i=[],s=t.keyType._zod.values;if(s){n.value={};const a=new Set;for(const e of s)if("string"==typeof e||"number"==typeof e||"symbol"==typeof e){a.add("number"==typeof e?e.toString():e);const s=t.valueType._zod.run({value:o[e],issues:[]},r);s instanceof Promise?i.push(s.then(t=>{t.issues.length&&n.issues.push(...Ki(e,t.issues)),n.value[e]=t.value})):(s.issues.length&&n.issues.push(...Ki(e,s.issues)),n.value[e]=s.value)}let c;for(const e in o)a.has(e)||(c=c??[],c.push(e));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(const s of Reflect.ownKeys(o)){if("__proto__"===s)continue;let a=t.keyType._zod.run({value:s,issues:[]},r);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if("string"==typeof s&&js.test(s)&&a.issues.length&&a.issues.some(e=>"invalid_type"===e.code&&"number"===e.expected)){const e=t.keyType._zod.run({value:Number(s),issues:[]},r);if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently");0===e.issues.length&&(a=e)}if(a.issues.length){"loose"===t.mode?n.value[s]=o[s]:n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(e=>Wi(e,r,Oi())),input:s,path:[s],inst:e});continue}const c=t.valueType._zod.run({value:o[s],issues:[]},r);c instanceof Promise?i.push(c.then(e=>{e.issues.length&&n.issues.push(...Ki(s,e.issues)),n.value[a.value]=e.value})):(c.issues.length&&n.issues.push(...Ki(s,c.issues)),n.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>n):n}}),ec=bi("$ZodEnum",(e,t)=>{aa.init(e,t);const n=ki(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(e=>Hi.has(typeof e)).map(e=>"string"==typeof e?Di(e):e.toString()).join("|")})$`),e._zod.parse=(t,o)=>{const i=t.value;return r.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),tc=bi("$ZodTransform",(e,t)=>{aa.init(e,t),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new xi(e.constructor.name);const o=t.transform(n.value,n);if(r.async){return(o instanceof Promise?o:Promise.resolve(o)).then(e=>(n.value=e,n))}if(o instanceof Promise)throw new Ei;return n.value=o,n}});function nc(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const rc=bi("$ZodOptional",(e,t)=>{aa.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ti(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ti(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${Ai(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>nc(t,e.value)):nc(r,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),oc=bi("$ZodExactOptional",(e,t)=>{rc.init(e,t),Ti(e._zod,"values",()=>t.innerType._zod.values),Ti(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ic=bi("$ZodNullable",(e,t)=>{aa.init(e,t),Ti(e._zod,"optin",()=>t.innerType._zod.optin),Ti(e._zod,"optout",()=>t.innerType._zod.optout),Ti(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${Ai(e.source)}|null)$`):void 0}),Ti(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),sc=bi("$ZodDefault",(e,t)=>{aa.init(e,t),e._zod.optin="optional",Ti(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>ac(e,t)):ac(r,t)}});function ac(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}const cc=bi("$ZodPrefault",(e,t)=>{aa.init(e,t),e._zod.optin="optional",Ti(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),uc=bi("$ZodNonOptional",(e,t)=>{aa.init(e,t),Ti(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(t=>fc(t,e)):fc(o,e)}});function fc(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const dc=bi("$ZodCatch",(e,t)=>{aa.init(e,t),Ti(e._zod,"optin",()=>t.innerType._zod.optin),Ti(e._zod,"optout",()=>t.innerType._zod.optout),Ti(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Wi(e,n,Oi()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Wi(e,n,Oi()))},input:e.value}),e.issues=[]),e)}}),lc=bi("$ZodPipe",(e,t)=>{aa.init(e,t),Ti(e._zod,"values",()=>t.in._zod.values),Ti(e._zod,"optin",()=>t.in._zod.optin),Ti(e._zod,"optout",()=>t.out._zod.optout),Ti(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>pc(e,t.in,n)):pc(r,t.in,n)}const r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>pc(e,t.out,n)):pc(r,t.out,n)}});function pc(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const hc=bi("$ZodReadonly",(e,t)=>{aa.init(e,t),Ti(e._zod,"propValues",()=>t.innerType._zod.propValues),Ti(e._zod,"values",()=>t.innerType._zod.values),Ti(e._zod,"optin",()=>t.innerType?._zod?.optin),Ti(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(mc):mc(r)}});function mc(e){return e.value=Object.freeze(e.value),e}const gc=bi("$ZodLazy",(e,t)=>{aa.init(e,t),Ti(e._zod,"innerType",()=>t.getter()),Ti(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),Ti(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),Ti(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),Ti(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),yc=bi("$ZodCustom",(e,t)=>{Ds.init(e,t),aa.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(t=>_c(t,n,r,e));_c(o,n,r,e)}});function _c(e,t,n,r){if(!e){const e={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Yi(e))}}var wc;class vc{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){const n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}(wc=globalThis).__zod_globalRegistry??(wc.__zod_globalRegistry=new vc);const bc=globalThis.__zod_globalRegistry;function Ec(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Vi(t)})}function xc(e,t){return new Vs({check:"less_than",...Vi(t),value:e,inclusive:!1})}function zc(e,t){return new Vs({check:"less_than",...Vi(t),value:e,inclusive:!0})}function Oc(e,t){return new qs({check:"greater_than",...Vi(t),value:e,inclusive:!1})}function kc(e,t){return new qs({check:"greater_than",...Vi(t),value:e,inclusive:!0})}function Sc(e,t){return new Ms({check:"multiple_of",...Vi(t),value:e})}function Pc(e,t){return new Js({check:"max_length",...Vi(t),maximum:e})}function $c(e,t){return new Ws({check:"min_length",...Vi(t),minimum:e})}function Ac(e,t){return new Gs({check:"length_equals",...Vi(t),length:e})}function Ic(e){return new oa({check:"overwrite",tx:e})}function Tc(e){const t=function(e,t){const n=new Ds({check:"custom",...Vi(t)});return n._zod.check=e,n}(n=>(n.addIssue=e=>{if("string"==typeof e)n.issues.push(Yi(e,n.value,t._zod.def));else{const r=e;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=n.value),r.inst??(r.inst=t),r.continue??(r.continue=!t._zod.def.abort),n.issues.push(Yi(r))}},e(n.value,n)));return t}function Nc(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??bc,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Bc(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,i=t.seen.get(e);if(i){i.count++;return n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema}const s={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,s);const a=e._zod.toJSONSchema?.();if(a)s.schema=a;else{const r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,r);else{const n=s.schema,i=t.processors[o.type];if(!i)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);i(e,t,n,r)}const i=e._zod.parent;i&&(s.ref||(s.ref=i),Bc(i,t,r),t.seen.get(i).isParent=!0)}const c=t.metadataRegistry.get(e);c&&Object.assign(s.schema,c),"input"===t.io&&jc(e)&&(delete s.schema.examples,delete s.schema.default),"input"===t.io&&s.schema._prefault&&((r=s.schema).default??(r.default=s.schema._prefault)),delete s.schema._prefault;return t.seen.get(e).schema}function Uc(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const t of e.seen.entries()){const n=e.metadataRegistry.get(t[0])?.id;if(n){const e=r.get(n);if(e&&e!==t[0])throw new Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}const o=t=>{if(t[1].schema.$ref)return;const r=t[1],{ref:o,defId:i}=(t=>{const r="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const n=e.external.registry.get(t[0])?.id,o=e.external.uri??(e=>e);if(n)return{ref:o(n)};const i=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=i,{defId:i,ref:`${o("__shared")}#/${r}/${i}`}}if(t[1]===n)return{ref:"#"};const o=`#/${r}/`,i=t[1].schema.id??"__schema"+e.counter++;return{defId:i,ref:o+i}})(t);r.def={...r.schema},i&&(r.defId=i);const s=r.schema;for(const e in s)delete s[e];s.$ref=o};if("throw"===e.cycles)for(const t of e.seen.entries()){const e=t[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const n of e.seen.entries()){const r=n[1];if(t===n[0]){o(n);continue}if(e.external){const r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){o(n);continue}}const i=e.metadataRegistry.get(n[0])?.id;i?o(n):(r.cycle||r.count>1&&"ref"===e.reused)&&o(n)}}function Rc(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=t=>{const n=e.seen.get(t);if(null===n.ref)return;const o=n.def??n.schema,i={...o},s=n.ref;if(n.ref=null,s){r(s);const n=e.seen.get(s),a=n.schema;!a.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(o,a):(o.allOf=o.allOf??[],o.allOf.push(a)),Object.assign(o,i);if(t._zod.parent===s)for(const e in o)"$ref"!==e&&"allOf"!==e&&(e in i||delete o[e]);if(a.$ref)for(const e in o)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(o[e])===JSON.stringify(n.def[e])&&delete o[e]}const a=t._zod.parent;if(a&&a!==s){r(a);const t=e.seen.get(a);if(t?.schema.$ref&&(o.$ref=t.schema.$ref,t.def))for(const e in o)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(o[e])===JSON.stringify(t.def[e])&&delete o[e]}e.override({zodSchema:t,jsonSchema:o,path:n.path??[]})};for(const t of[...e.seen.entries()].reverse())r(t[0]);const o={};if("draft-2020-12"===e.target?o.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?o.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target&&(o.$schema="http://json-schema.org/draft-04/schema#"),e.external?.uri){const n=e.external.registry.get(t)?.id;if(!n)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(n)}Object.assign(o,n.def??n.schema);const i=e.external?.defs??{};for(const t of e.seen.entries()){const e=t[1];e.def&&e.defId&&(i[e.defId]=e.def)}e.external||Object.keys(i).length>0&&("draft-2020-12"===e.target?o.$defs=i:o.definitions=i);try{const n=JSON.parse(JSON.stringify(o));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:Zc(t,"input",e.processors),output:Zc(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(e){throw new Error("Error converting schema to JSON.")}}function jc(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if("transform"===r.type)return!0;if("array"===r.type)return jc(r.element,n);if("set"===r.type)return jc(r.valueType,n);if("lazy"===r.type)return jc(r.getter(),n);if("promise"===r.type||"optional"===r.type||"nonoptional"===r.type||"nullable"===r.type||"readonly"===r.type||"default"===r.type||"prefault"===r.type)return jc(r.innerType,n);if("intersection"===r.type)return jc(r.left,n)||jc(r.right,n);if("record"===r.type||"map"===r.type)return jc(r.keyType,n)||jc(r.valueType,n);if("pipe"===r.type)return jc(r.in,n)||jc(r.out,n);if("object"===r.type){for(const e in r.shape)if(jc(r.shape[e],n))return!0;return!1}if("union"===r.type){for(const e of r.options)if(jc(e,n))return!0;return!1}if("tuple"===r.type){for(const e of r.items)if(jc(e,n))return!0;return!(!r.rest||!jc(r.rest,n))}return!1}const Zc=(e,t,n={})=>r=>{const{libraryOptions:o,target:i}=r??{},s=Nc({...o??{},target:i,io:t,processors:n});return Bc(e,s),Uc(s,e),Rc(s,e)},Cc={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Fc=(e,t,n,r)=>{const o=e._zod.def;Bc(o.innerType,t,r);t.seen.get(e).ref=o.innerType},Hc=bi("ZodISODateTime",(e,t)=>{ba.init(e,t),lu.init(e,t)});function Dc(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Vi(t)})}(Hc,e)}const Lc=bi("ZodISODate",(e,t)=>{Ea.init(e,t),lu.init(e,t)});function Vc(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...Vi(t)})}(Lc,e)}const qc=bi("ZodISOTime",(e,t)=>{xa.init(e,t),lu.init(e,t)});function Mc(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Vi(t)})}(qc,e)}const Kc=bi("ZodISODuration",(e,t)=>{za.init(e,t),lu.init(e,t)});function Jc(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...Vi(t)})}(Kc,e)}const Wc=bi("ZodError",(e,t)=>{Qi.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},r=e=>{for(const o of e.issues)if("invalid_union"===o.code&&o.errors.length)o.errors.map(e=>r({issues:e}));else if("invalid_key"===o.code)r({issues:o.issues});else if("invalid_element"===o.code)r({issues:o.issues});else if(0===o.path.length)n._errors.push(t(o));else{let e=n,r=0;for(;r<o.path.length;){const n=o.path[r];r===o.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(o))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Si,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Si,2)}},isEmpty:{get:()=>0===e.issues.length}})},{Parent:Error}),Gc=ts(Wc),Yc=ns(Wc),Xc=rs(Wc),Qc=is(Wc),eu=as(Wc),tu=cs(Wc),nu=us(Wc),ru=fs(Wc),ou=ds(Wc),iu=ls(Wc),su=ps(Wc),au=hs(Wc),cu=bi("ZodType",(e,t)=>(aa.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Zc(e,"input"),output:Zc(e,"output")}}),e.toJSONSchema=((e,t={})=>n=>{const r=Nc({...n,processors:t});return Bc(e,r),Uc(r,e),Rc(r,e)})(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(Bi(t,{checks:[...t.checks??[],...n.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>Li(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e),e.parse=(t,n)=>Gc(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Xc(e,t,n),e.parseAsync=async(t,n)=>Yc(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Qc(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>eu(e,t,n),e.decode=(t,n)=>tu(e,t,n),e.encodeAsync=async(t,n)=>nu(e,t,n),e.decodeAsync=async(t,n)=>ru(e,t,n),e.safeEncode=(t,n)=>ou(e,t,n),e.safeDecode=(t,n)=>iu(e,t,n),e.safeEncodeAsync=async(t,n)=>su(e,t,n),e.safeDecodeAsync=async(t,n)=>au(e,t,n),e.refine=(t,n)=>e.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...Vi(n)})}(hf,e,t)}(t,n)),e.superRefine=t=>e.check(Tc(t)),e.overwrite=t=>e.check(Ic(t)),e.optional=()=>tf(e),e.exactOptional=()=>new nf({type:"optional",innerType:e}),e.nullable=()=>of(e),e.nullish=()=>tf(of(e)),e.nonoptional=t=>function(e,t){return new cf({type:"nonoptional",innerType:e,...Vi(t)})}(e,t),e.array=()=>Vu(e),e.or=t=>Ju([e,t]),e.and=t=>new Wu({type:"intersection",left:e,right:t}),e.transform=t=>df(e,new Qu({type:"transform",transform:t})),e.default=t=>{return n=t,new sf({type:"default",innerType:e,get defaultValue(){return"function"==typeof n?n():Fi(n)}});var n},e.prefault=t=>{return n=t,new af({type:"prefault",innerType:e,get defaultValue(){return"function"==typeof n?n():Fi(n)}});var n},e.catch=t=>{return new uf({type:"catch",innerType:e,catchValue:"function"==typeof(n=t)?n:()=>n});var n},e.pipe=t=>df(e,t),e.readonly=()=>new lf({type:"readonly",innerType:e}),e.describe=t=>{const n=e.clone();return bc.add(n,{description:t}),n},Object.defineProperty(e,"description",{get:()=>bc.get(e)?.description,configurable:!0}),e.meta=(...t)=>{if(0===t.length)return bc.get(e);const n=e.clone();return bc.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),uu=bi("_ZodString",(e,t)=>{ca.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=n;r.type="string";const{minimum:o,maximum:i,format:s,patterns:a,contentEncoding:c}=e._zod.bag;if("number"==typeof o&&(r.minLength=o),"number"==typeof i&&(r.maxLength=i),s&&(r.format=Cc[s]??s,""===r.format&&delete r.format,"time"===s&&delete r.format),c&&(r.contentEncoding=c),a&&a.size>0){const e=[...a];1===e.length?r.pattern=e[0].source:e.length>1&&(r.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(function(e,t){return new Xs({check:"string_format",format:"regex",...Vi(t),pattern:e})}(...t)),e.includes=(...t)=>e.check(function(e,t){return new ta({check:"string_format",format:"includes",...Vi(t),includes:e})}(...t)),e.startsWith=(...t)=>e.check(function(e,t){return new na({check:"string_format",format:"starts_with",...Vi(t),prefix:e})}(...t)),e.endsWith=(...t)=>e.check(function(e,t){return new ra({check:"string_format",format:"ends_with",...Vi(t),suffix:e})}(...t)),e.min=(...t)=>e.check($c(...t)),e.max=(...t)=>e.check(Pc(...t)),e.length=(...t)=>e.check(Ac(...t)),e.nonempty=(...t)=>e.check($c(1,...t)),e.lowercase=t=>e.check(function(e){return new Qs({check:"string_format",format:"lowercase",...Vi(e)})}(t)),e.uppercase=t=>e.check(function(e){return new ea({check:"string_format",format:"uppercase",...Vi(e)})}(t)),e.trim=()=>e.check(Ic(e=>e.trim())),e.normalize=(...t)=>e.check(function(e){return Ic(t=>t.normalize(e))}(...t)),e.toLowerCase=()=>e.check(Ic(e=>e.toLowerCase())),e.toUpperCase=()=>e.check(Ic(e=>e.toUpperCase())),e.slugify=()=>e.check(Ic(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}),fu=bi("ZodString",(e,t)=>{ca.init(e,t),uu.init(e,t),e.email=t=>e.check(function(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Vi(t)})}(pu,t)),e.url=t=>e.check(function(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Vi(t)})}(gu,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Vi(t)})}(Iu,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Vi(t)})}(yu,t)),e.guid=t=>e.check(Ec(hu,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Vi(t)})}(mu,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Vi(t)})}(mu,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Vi(t)})}(mu,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Vi(t)})}(mu,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Vi(t)})}(_u,t)),e.guid=t=>e.check(Ec(hu,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Vi(t)})}(wu,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Vi(t)})}(vu,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Vi(t)})}(bu,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Vi(t)})}(Pu,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Vi(t)})}($u,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Vi(t)})}(Eu,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Vi(t)})}(xu,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Vi(t)})}(zu,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Vi(t)})}(Ou,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Vi(t)})}(ku,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Vi(t)})}(Su,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Vi(t)})}(Au,t)),e.datetime=t=>e.check(Dc(t)),e.date=t=>e.check(Vc(t)),e.time=t=>e.check(Mc(t)),e.duration=t=>e.check(Jc(t))});function du(e){return function(e,t){return new e({type:"string",...Vi(t)})}(fu,e)}const lu=bi("ZodStringFormat",(e,t)=>{ua.init(e,t),uu.init(e,t)}),pu=bi("ZodEmail",(e,t)=>{la.init(e,t),lu.init(e,t)}),hu=bi("ZodGUID",(e,t)=>{fa.init(e,t),lu.init(e,t)}),mu=bi("ZodUUID",(e,t)=>{da.init(e,t),lu.init(e,t)}),gu=bi("ZodURL",(e,t)=>{pa.init(e,t),lu.init(e,t)}),yu=bi("ZodEmoji",(e,t)=>{ha.init(e,t),lu.init(e,t)}),_u=bi("ZodNanoID",(e,t)=>{ma.init(e,t),lu.init(e,t)}),wu=bi("ZodCUID",(e,t)=>{ga.init(e,t),lu.init(e,t)}),vu=bi("ZodCUID2",(e,t)=>{ya.init(e,t),lu.init(e,t)}),bu=bi("ZodULID",(e,t)=>{_a.init(e,t),lu.init(e,t)}),Eu=bi("ZodXID",(e,t)=>{wa.init(e,t),lu.init(e,t)}),xu=bi("ZodKSUID",(e,t)=>{va.init(e,t),lu.init(e,t)}),zu=bi("ZodIPv4",(e,t)=>{Oa.init(e,t),lu.init(e,t)}),Ou=bi("ZodIPv6",(e,t)=>{ka.init(e,t),lu.init(e,t)}),ku=bi("ZodCIDRv4",(e,t)=>{Sa.init(e,t),lu.init(e,t)}),Su=bi("ZodCIDRv6",(e,t)=>{Pa.init(e,t),lu.init(e,t)}),Pu=bi("ZodBase64",(e,t)=>{Aa.init(e,t),lu.init(e,t)}),$u=bi("ZodBase64URL",(e,t)=>{Ia.init(e,t),lu.init(e,t)}),Au=bi("ZodE164",(e,t)=>{Ta.init(e,t),lu.init(e,t)}),Iu=bi("ZodJWT",(e,t)=>{Na.init(e,t),lu.init(e,t)}),Tu=bi("ZodNumber",(e,t)=>{Ba.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=n,{minimum:o,maximum:i,format:s,multipleOf:a,exclusiveMaximum:c,exclusiveMinimum:u}=e._zod.bag;"string"==typeof s&&s.includes("int")?r.type="integer":r.type="number","number"==typeof u&&("draft-04"===t.target||"openapi-3.0"===t.target?(r.minimum=u,r.exclusiveMinimum=!0):r.exclusiveMinimum=u),"number"==typeof o&&(r.minimum=o,"number"==typeof u&&"draft-04"!==t.target&&(u>=o?delete r.minimum:delete r.exclusiveMinimum)),"number"==typeof c&&("draft-04"===t.target||"openapi-3.0"===t.target?(r.maximum=c,r.exclusiveMaximum=!0):r.exclusiveMaximum=c),"number"==typeof i&&(r.maximum=i,"number"==typeof c&&"draft-04"!==t.target&&(c<=i?delete r.maximum:delete r.exclusiveMaximum)),"number"==typeof a&&(r.multipleOf=a)})(e,t,n),e.gt=(t,n)=>e.check(Oc(t,n)),e.gte=(t,n)=>e.check(kc(t,n)),e.min=(t,n)=>e.check(kc(t,n)),e.lt=(t,n)=>e.check(xc(t,n)),e.lte=(t,n)=>e.check(zc(t,n)),e.max=(t,n)=>e.check(zc(t,n)),e.int=t=>e.check(Uu(t)),e.safe=t=>e.check(Uu(t)),e.positive=t=>e.check(Oc(0,t)),e.nonnegative=t=>e.check(kc(0,t)),e.negative=t=>e.check(xc(0,t)),e.nonpositive=t=>e.check(zc(0,t)),e.multipleOf=(t,n)=>e.check(Sc(t,n)),e.step=(t,n)=>e.check(Sc(t,n)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Nu(e){return function(e,t){return new e({type:"number",checks:[],...Vi(t)})}(Tu,e)}const Bu=bi("ZodNumberFormat",(e,t)=>{Ua.init(e,t),Tu.init(e,t)});function Uu(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Vi(t)})}(Bu,e)}const Ru=bi("ZodBoolean",(e,t)=>{Ra.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.type="boolean"})(0,0,t)});const ju=bi("ZodBigInt",(e,t)=>{ja.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("BigInt cannot be represented in JSON Schema")})(0,e),e.gte=(t,n)=>e.check(kc(t,n)),e.min=(t,n)=>e.check(kc(t,n)),e.gt=(t,n)=>e.check(Oc(t,n)),e.gte=(t,n)=>e.check(kc(t,n)),e.min=(t,n)=>e.check(kc(t,n)),e.lt=(t,n)=>e.check(xc(t,n)),e.lte=(t,n)=>e.check(zc(t,n)),e.max=(t,n)=>e.check(zc(t,n)),e.positive=t=>e.check(Oc(BigInt(0),t)),e.negative=t=>e.check(xc(BigInt(0),t)),e.nonpositive=t=>e.check(zc(BigInt(0),t)),e.nonnegative=t=>e.check(kc(BigInt(0),t)),e.multipleOf=(t,n)=>e.check(Sc(t,n));const n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});const Zu=bi("ZodNull",(e,t)=>{Za.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{"openapi-3.0"===t.target?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"})(0,e,t)});const Cu=bi("ZodUnknown",(e,t)=>{Ca.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function Fu(){return new Cu({type:"unknown"})}const Hu=bi("ZodNever",(e,t)=>{Fa.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Du(e){return function(e,t){return new e({type:"never",...Vi(t)})}(Hu,e)}const Lu=bi("ZodArray",(e,t)=>{Da.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;"number"==typeof s&&(o.minItems=s),"number"==typeof a&&(o.maxItems=a),o.type="array",o.items=Bc(i.element,t,{...r,path:[...r.path,"items"]})})(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check($c(t,n)),e.nonempty=t=>e.check($c(1,t)),e.max=(t,n)=>e.check(Pc(t,n)),e.length=(t,n)=>e.check(Ac(t,n)),e.unwrap=()=>e.element});function Vu(e,t){return function(e,t,n){return new e({type:"array",element:t,...Vi(n)})}(Lu,e,t)}const qu=bi("ZodObject",(e,t)=>{Ka.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object",o.properties={};const s=i.shape;for(const e in s)o.properties[e]=Bc(s[e],t,{...r,path:[...r.path,"properties",e]});const a=new Set(Object.keys(s)),c=new Set([...a].filter(e=>{const n=i.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout}));c.size>0&&(o.required=Array.from(c)),"never"===i.catchall?._zod.def.type?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=Bc(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):"output"===t.io&&(o.additionalProperties=!1)})(e,t,n,r),Ti(e,"shape",()=>t.shape),e.keyof=()=>function(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Xu({type:"enum",entries:n,...Vi(t)})}(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Fu()}),e.loose=()=>e.clone({...e._zod.def,catchall:Fu()}),e.strict=()=>e.clone({...e._zod.def,catchall:Du()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>function(e,t){if(!Ci(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const n=e._zod.def.shape;for(const e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const r=Bi(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Ni(this,"shape",n),n}});return Li(e,r)}(e,t),e.safeExtend=t=>function(e,t){if(!Ci(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=Bi(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Ni(this,"shape",n),n}});return Li(e,n)}(e,t),e.merge=t=>function(e,t){const n=Bi(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Ni(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return Li(e,n)}(e,t),e.pick=t=>function(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return Li(e,Bi(e._zod.def,{get shape(){const e={};for(const r in t){if(!(r in n.shape))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Ni(this,"shape",e),e},checks:[]}))}(e,t),e.omit=t=>function(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const o=Bi(e._zod.def,{get shape(){const r={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Ni(this,"shape",r),r},checks:[]});return Li(e,o)}(e,t),e.partial=(...t)=>function(e,t,n){const r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const o=Bi(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const t in n){if(!(t in r))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(o[t]=e?new e({type:"optional",innerType:r[t]}):r[t])}else for(const t in r)o[t]=e?new e({type:"optional",innerType:r[t]}):r[t];return Ni(this,"shape",o),o},checks:[]});return Li(t,o)}(ef,e,t[0]),e.required=(...t)=>function(e,t,n){const r=Bi(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const t in n){if(!(t in o))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(o[t]=new e({type:"nonoptional",innerType:r[t]}))}else for(const t in r)o[t]=new e({type:"nonoptional",innerType:r[t]});return Ni(this,"shape",o),o}});return Li(t,r)}(cf,e,t[0])});function Mu(e,t){const n={type:"object",shape:e??{},...Vi(t)};return new qu(n)}const Ku=bi("ZodUnion",(e,t)=>{Wa.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=!1===o.inclusive,s=o.options.map((e,n)=>Bc(e,t,{...r,path:[...r.path,i?"oneOf":"anyOf",n]}));i?n.oneOf=s:n.anyOf=s})(e,t,n,r),e.options=t.options});function Ju(e,t){return new Ku({type:"union",options:e,...Vi(t)})}const Wu=bi("ZodIntersection",(e,t)=>{Ga.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=Bc(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=Bc(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=e=>"allOf"in e&&1===Object.keys(e).length,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];n.allOf=c})(e,t,n,r)});const Gu=bi("ZodRecord",(e,t)=>{Qa.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object";const s=i.keyType,a=s._zod.bag,c=a?.patterns;if("loose"===i.mode&&c&&c.size>0){const e=Bc(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const t of c)o.patternProperties[t.source]=e}else"draft-07"!==t.target&&"draft-2020-12"!==t.target||(o.propertyNames=Bc(i.keyType,t,{...r,path:[...r.path,"propertyNames"]})),o.additionalProperties=Bc(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const u=s._zod.values;if(u){const e=[...u].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(o.required=e)}})(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Yu(e,t,n){return new Gu({type:"record",keyType:e,valueType:t,...Vi(n)})}const Xu=bi("ZodEnum",(e,t)=>{ec.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=ki(e._zod.def.entries);r.every(e=>"number"==typeof e)&&(n.type="number"),r.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=r})(e,0,n),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{const o={};for(const r of e){if(!n.has(r))throw new Error(`Key ${r} not found in enum`);o[r]=t.entries[r]}return new Xu({...t,checks:[],...Vi(r),entries:o})},e.exclude=(e,r)=>{const o={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete o[t]}return new Xu({...t,checks:[],...Vi(r),entries:o})}});const Qu=bi("ZodTransform",(e,t)=>{tc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,e),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new xi(e.constructor.name);n.addIssue=r=>{if("string"==typeof r)n.issues.push(Yi(r,n.value,t));else{const t=r;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(Yi(t))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(e=>(n.value=e,n)):(n.value=o,n)}});const ef=bi("ZodOptional",(e,t)=>{rc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fc(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});function tf(e){return new ef({type:"optional",innerType:e})}const nf=bi("ZodExactOptional",(e,t)=>{oc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fc(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});const rf=bi("ZodNullable",(e,t)=>{ic.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=Bc(o.innerType,t,r),s=t.seen.get(e);"openapi-3.0"===t.target?(s.ref=o.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function of(e){return new rf({type:"nullable",innerType:e})}const sf=bi("ZodDefault",(e,t)=>{sc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;Bc(o.innerType,t,r),t.seen.get(e).ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});const af=bi("ZodPrefault",(e,t)=>{cc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;Bc(o.innerType,t,r),t.seen.get(e).ref=o.innerType,"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});const cf=bi("ZodNonOptional",(e,t)=>{uc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;Bc(o.innerType,t,r),t.seen.get(e).ref=o.innerType})(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});const uf=bi("ZodCatch",(e,t)=>{dc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;let i;Bc(o.innerType,t,r),t.seen.get(e).ref=o.innerType;try{i=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});const ff=bi("ZodPipe",(e,t)=>{lc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i="input"===t.io?"transform"===o.in._zod.def.type?o.out:o.in:o.out;Bc(i,t,r),t.seen.get(e).ref=i})(e,t,0,r),e.in=t.in,e.out=t.out});function df(e,t){return new ff({type:"pipe",in:e,out:t})}const lf=bi("ZodReadonly",(e,t)=>{hc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;Bc(o.innerType,t,r),t.seen.get(e).ref=o.innerType,n.readOnly=!0})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});const pf=bi("ZodLazy",(e,t)=>{gc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.innerType;Bc(o,t,r),t.seen.get(e).ref=o})(e,t,0,r),e.unwrap=()=>e._zod.def.getter()});const hf=bi("ZodCustom",(e,t)=>{yc.init(e,t),cu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,e)});const mf=Nu().min(Number.MIN_SAFE_INTEGER).max(Number.MAX_SAFE_INTEGER).int(),gf=function(e,t={}){const n=new hf({type:"custom",check:"custom",fn:t=>t instanceof e,abort:!0,...Vi(t)});return n._zod.bag.Class=e,n._zod.check=t=>{t.value instanceof e||t.issues.push({code:"invalid_type",expected:e.name,input:t.value,inst:n,path:[...n._zod.def.path??[]]})},n}(Uint8Array),yf=du();mf.min(5e8),mf.min(0).max(255),mf.min(0).max(65535);const _f=mf.min(0).max(4294967295);Nu().refine(e=>String(e).includes(".")).refine(e=>{const t=String(e).split(".").at(1);return void 0!==t&&t.length<=2});const wf=du().regex(/^[0-9a-fA-F]*$/).refine(e=>e.length%2==0),vf=Ju([du(),Nu(),function(e,t){return new e({type:"boolean",...Vi(t)})}(Ru,bf),function(e){return function(e,t){return new e({type:"null",...Vi(t)})}(Zu,e)}()]);var bf;const Ef=new pf({type:"lazy",getter:()=>Ju([vf,Vu(Ef),Yu(yf,Ef)])});gf.refine(e=>20===e.length);const xf=gf.refine(e=>32===e.length),zf=gf.refine(e=>33===e.length),Of=gf.refine(e=>64===e.length);wf.refine(e=>40===e.length);const kf=wf.refine(e=>64===e.length),Sf=wf.refine(e=>66===e.length),Pf=wf.refine(e=>128===e.length);Ju([wf,gf]);const $f=Ju([kf,xf]);Ju([Sf,zf]),Ju([Pf,Of]),du().regex(/^[1-9A-HJ-NP-Za-km-z]+$/),du().regex(/^[a-zA-Z0-9+/]+={0,2}$/),du().regex(/^[a-zA-Z0-9\-_]+={0,2}$/),du().regex(/^[a-z]+1[023456789acdefghjklmnpqrstuvwxyz]+$/);const Af=Ju([Vu($f),$f]),If=Mu({pubkey:$f,leaves:Af.array().optional(),target:$f.optional(),version:_f.optional()});var Tf=Object.freeze({__proto__:null,config:If,taptree:Af});const Nf=function(e){return function(e,t){return new e({type:"bigint",...Vi(t)})}(ju,e)}().min(0n).max(2100000000000000n),Bf=Mu({value:Nf,script_pk:wf}),Uf=Mu({coinbase:wf.nullable(),txid:kf,vout:_f,prevout:Bf.nullable(),script_sig:wf.nullable(),sequence:_f,witness:Vu(wf)}),Rf=Mu({version:_f,vin:Vu(Uf),vout:Vu(Bf),locktime:_f}),jf=Bf.extend({value:Ju([_f,Nf])}),Zf=Uf.extend({coinbase:wf.nullable().optional(),prevout:jf.nullable().optional(),script_sig:wf.nullable().optional(),sequence:Ju([wf,_f]).optional(),witness:Vu(wf).optional()}),Cf=Mu({version:_f.optional(),vin:Vu(Zf),vout:Vu(jf),locktime:_f.optional()});var Ff=Object.freeze({__proto__:null,tx_data:Rf,tx_input:Uf,tx_output:Bf,tx_template:Cf,vin_template:Zf,vout_template:jf}),Hf=Object.freeze({__proto__:null,taproot:Tf,tx:Ff});function Df(e){Cf.parse(e)}function Lf(e){if(e.some(e=>null===e.prevout))throw new Error("transaction missing prevouts")}function Vf(e){Rf.parse(e)}function qf(e){Zf.parse(e)}function Mf(e){jf.parse(e)}function Kf(e,t=!0){Vf(e);const{version:n,vin:r,vout:o,locktime:i}=e,s=[Jf(n)];if(t&&s.push(k.hex("0001")),s.push(Xf(r)),s.push(td(o)),t)for(const e of r)s.push(rd(e.witness));return s.push(od(i)),k.join(s)}function Jf(e){return k.num(e,4).reverse()}function Wf(e){return k.hex(e,32).reverse()}function Gf(e){return k.num(e,4).reverse()}function Yf(e){return k.num(e,4).reverse()}function Xf(e){const t=[k.create_varint(e.length,"le")];for(const n of e)t.push(Qf(n));return k.join(t)}function Qf(e){return null!==e.coinbase?k.join([Wf(t.TXID),Gf(t.VOUT),id(e.coinbase),Yf(e.sequence)]):k.join([Wf(e.txid),Gf(e.vout),id(e.script_sig),Yf(e.sequence)])}function ed(e){return k.big(e,8).reverse()}function td(e){const t=[k.create_varint(e.length,"le")];for(const n of e)t.push(nd(n));return k.join(t)}function nd(e){const{value:t,script_pk:n}=e;return k.join([ed(t),id(n)])}function rd(e){const t=[k.create_varint(e.length)];for(const n of e)t.push(id(n));return k.join(t)}function od(e){return k.num(e,4).reverse()}function id(e){return null!==e?(j.is_hex(e),k.hex(e).prefix_varint("le")):k.hex("00")}function sd(e,t){let n;if("string"==typeof e||e instanceof Uint8Array?n=gi(e):(Df(e),n=gd(e)),t){j.has_items(t,"prevouts must be a non-empty array");for(const[e,r]of n.vin.entries()){const n=t.at(e);j.exists(n,`prevout not found for input index: ${e}`),r.prevout=md(n)}}return n}function ad(e,t=!0){return Kf(gi(e),t)}function cd(e){if(!R.exists(e))return n.SEQUENCE;if(R.is_hex(e))return k.hex(e,4).reverse().num;if(R.is_uint(e))return e;throw new Error(`invalid sequence value: ${String(e)}`)}function ud(e){if(R.is_uint(e))return BigInt(e);if("bigint"==typeof e)return e;throw new TypeError(`invalid output value: ${String(e)}`)}function fd(e){return{script_pk:e.script_pk,value:ud(e.value)}}function dd(e){qf(e),j.exists(e.coinbase,"coinbase is required");const n=t.TXID,r=t.VOUT,o=e.coinbase,i=e.witness??[];return{coinbase:o,prevout:null,script_sig:null,sequence:cd(e.sequence),witness:i,txid:n,vout:r}}function ld(e){qf(e),j.is_empty(e.coinbase,"coinbase is not allowed"),j.is_empty(e.prevout,"prevout is not allowed");const{txid:t,vout:n,script_sig:r=null,witness:o=[]}=e;return{txid:t,vout:n,coinbase:null,prevout:null,script_sig:r,sequence:cd(e.sequence),witness:o}}function pd(e){qf(e),j.exists(e.prevout,"prevout is required");const{txid:t,vout:n,script_sig:r=null,witness:o=[]}=e;return{txid:t,vout:n,coinbase:null,prevout:fd(e.prevout),script_sig:r,sequence:cd(e.sequence),witness:o}}function hd(e){return e.coinbase?dd(e):e.prevout?pd(e):ld(e)}function md(e){Mf(e);return{script_pk:e.script_pk,value:ud(e.value)}}function gd(e){Df(e);const{vin:t=[],vout:r=[]}=e??{vin:[],vout:[]},o=e.locktime??n.LOCKTIME,i=e.version??n.VERSION;return{locktime:o,vin:t.map(e=>hd(e)),vout:r.map(e=>md(e)),version:i}}var yd=Object.freeze({__proto__:null,assert_has_prevouts:Lf,assert_tx_data:Vf,assert_tx_input:function(e){Uf.parse(e)},assert_tx_output:function(e){Bf.parse(e)},assert_tx_spend_data:function(e){Vf(e),Lf(e.vin)},assert_tx_template:Df,assert_vin_template:qf,assert_vout_template:Mf,create_coinbase_input:dd,create_spend_input:pd,create_tx:gd,create_tx_input:hd,create_tx_output:md,create_virtual_input:ld,decode_tx:gi,encode_script_data:id,encode_tx:Kf,encode_tx_inputs:Xf,encode_tx_locktime:od,encode_tx_outputs:td,encode_tx_version:Jf,encode_tx_vout:nd,encode_txin_sequence:Yf,encode_txin_txid:Wf,encode_txin_vout:Gf,encode_vin:Qf,encode_vin_witness:rd,encode_vout_value:ed,get_prevouts:function(e){Df(e);const t=e.vin.map(e=>e.prevout);return j.ok(t.every(e=>null!==e),"prevouts missing from tx"),t},get_segwit_size:function(e){return 2+e.filter(e=>e.witness.length>0).map(e=>e.witness).reduce((e,t)=>e+rd(t).length,0)},get_tx_value:function(e){const t=sd(e);Df(t);const n=t.vin.reduce((e,t)=>e+(t.prevout?.value??0n),0n),r=t.vout.reduce((e,t)=>e+t.value,0n);return{fees:n>r?n-r:0n,vin:n,vout:r}},get_txhash:function(e){return"object"==typeof e&&(Df(e),e=Kf(e,!0)),In(e).reverse().hex},get_txid:function(e){let t;if(e instanceof Uint8Array)t=ad(e,!1);else if("object"==typeof e)Df(e),t=Kf(e,!1);else{if("string"!=typeof e)throw new TypeError("invalid txdata type: "+typeof e);j.is_hex(e),t=ad(e,!1)}return In(t).reverse().hex},get_txin_size:function(e){return Qf(e).length},get_txout_size:function(e){return nd(e).length},get_txsize:function(e){const t=sd(e),n=Kf(t,!1).length,r=Kf(t,!0).length,o=3*n+r,i=o%4>0?1:0;return{base:n,total:r,vsize:Math.ceil(o/4)+i,weight:o}},get_vin_size:function(e){return Xf(e).length},get_vout_size:function(e){return td(e).length},get_vsize:function(e){const t=k.bytes(e).length,n=t%4>0?1:0;return Math.ceil(t/4)+n},normalize_prevout:fd,normalize_sequence:cd,normalize_value:ud,parse_tx:sd,read_payload:vi,serialize_tx:function(e){const t=sd(e),n=t.version,r=t.locktime,o=[],i=[];for(const e of t.vin)null!==e.prevout&&o.push({script_pk:e.prevout.script_pk,value:Number(e.prevout.value)});for(const e of t.vout)i.push({script_pk:e.script_pk,value:Number(e.value)});return{version:n,locktime:r,vin:o,vout:i}},transcode_tx:ad});function _d(e){return j.exists(e.prevout,`Prevout data missing for input: ${String(e.txid)}`),e.prevout}function wd(e,t){let{txindex:n,txinput:r}=t??{};if(void 0!==n){if(n>=e.vin.length)throw new Error(`Input index out of bounds: ${String(n)}`);r=e.vin.at(n)}return j.ok(void 0!==r),r}function vd(e){if(void 0===e)return;if(e.length<2)return;const t=e.at(-1);if("string"==typeof t&&t.startsWith("50")){return An(k.hex(t).prefix_varint("be"))}}function bd(e,t={}){const{sigflag:n=1,txindex:r}=t,o=sd(e),i=!(128&~n),a=n%128;if(!s.includes(a))throw new Error(`Invalid hash type: ${String(n)}`);const{version:c,vin:u,vout:f,locktime:d}=o,l=wd(o,t),{txid:p,vout:h,prevout:m,sequence:g}=l,{value:y}=m??{};if(void 0===y)throw new Error("Prevout value is empty!");let{pubkey:_,script:w}=t;if(void 0===w&&void 0!==_){const e=$n(_).hex;w=`76a914${String(e)}88ac`}if(void 0===w)throw new Error("No pubkey / script has been set!");if(Uo(w).includes("OP_CODESEPARATOR"))throw new Error("This library does not currently support the use of OP_CODESEPARATOR in segwit scripts.");const v=[Jf(c),Ed(u,i),xd(u,a,i),Wf(p),Gf(h),li(w),ed(y),Yf(g),zd(f,a,r),od(d),k.num(n,4).reverse()];return In(k.join(v))}function Ed(e,t){if(!0===t)return k.num(0,32);const n=[];for(const{txid:t,vout:r}of e)n.push(Wf(t)),n.push(Gf(r));return In(k.join(n))}function xd(e,t,n){if(n||1!==t)return k.num(0,32);const r=[];for(const{sequence:t}of e)r.push(Yf(t));return In(k.join(r))}function zd(e,t,n){const r=[];if(1===t){for(const{value:t,script_pk:n}of e)r.push(ed(t)),r.push(li(n));return In(k.join(r))}if(3===t&&(j.ok(void 0!==n,"txindex required for SIGHASH_SINGLE"),j.ok(n>=0,"txindex must be non-negative"),n<e.length)){const{value:t,script_pk:o}=e[n];return r.push(ed(t)),r.push(li(o)),In(k.join(r))}return k.num(0,32)}function Od(e,t=192){return kd(li(e),t)}function kd(e,t=192){return Tn("TapLeaf",Pd(t),e)}function Sd(e,t){return t<e&&([e,t]=[t,e]),Tn("TapBranch",e,t)}function Pd(e=192){return 254&e}function $d(e,t=new Uint8Array){return j.size(e,32),Tn("TapTweak",e,t)}function Ad(e,t={}){return Tn("TapSighash",Id(e,t))}function Id(e,t={}){const{script:n,txindex:r,sigflag:o=0,extflag:i=0,key_version:s=0,separator_pos:c=4294967295}=t,u=sd(e),{version:f,vin:d,vout:l,locktime:p}=u,h=wd(u,t),{txid:m,vout:g,sequence:y,witness:_=[]}=h;if(!a.includes(o))throw new Error(`Invalid hash type: ${String(o)}`);if(i<0||i>127)throw new Error(`Extention flag out of range: ${String(i)}`);let{extension:w}=t;void 0!==n&&(w=Od(n).hex);const v=!(128&~o),b=vd(_),E=2*(i+(void 0!==w?1:0))+(void 0!==b?1:0),x=[k.num(0,1),k.num(o,1),Jf(f),od(p)];if(!v){const e=d.map(e=>_d(e));x.push(Td(d),Bd(e),Ud(e),Nd(d))}if(((3&o)<2||(3&o)>3)&&x.push(Rd(l)),x.push(k.num(E,1)),v){const{value:e,script_pk:t}=_d(h);x.push(Wf(m),Gf(g),ed(e),id(t),Yf(y))}else j.ok("number"==typeof r),x.push(k.num(r,4).reverse());return void 0!==b&&x.push(b),3&~o||(j.ok("number"==typeof r,"txindex required for SIGHASH_SINGLE"),j.ok(r>=0&&r<l.length,`txindex ${r} out of bounds for ${l.length} outputs`),x.push(jd(l[r]))),void 0!==w&&x.push(k.bytes(w),k.num(s),k.num(c,4,"le")),k.join(x)}function Td(e){const t=[];for(const{txid:n,vout:r}of e)t.push(Wf(n)),t.push(Gf(r));return An(k.join(t))}function Nd(e){return An(...e.map(e=>Yf(e.sequence)))}function Bd(e){return An(...e.map(e=>ed(e.value)))}function Ud(e){return An(...e.map(e=>id(e.script_pk)))}function Rd(e){const t=[];for(const{value:n,script_pk:r}of e)t.push(ed(n)),t.push(id(r));return An(...t)}function jd(e){return An(ed(e.value),id(e.script_pk))}var Zd=Object.freeze({__proto__:null,bip143_hash_outputs:zd,bip143_hash_prevouts:Ed,bip143_hash_sequence:xd,bip341_hash_amounts:Bd,bip341_hash_outpoints:Td,bip341_hash_output:jd,bip341_hash_outputs:Rd,bip341_hash_scripts:Ud,bip341_hash_sequence:Nd,get_annex_data:vd,get_prevout:_d,get_taproot_tx_preimage:Id,hash_segwit_tx:bd,hash_taproot_tx:Ad,parse_txinput:wd});const Cd=/^[0-9a-fA-F]{64}$/;function Fd(e){if("string"!=typeof e)throw new Error("Secret key must be a string");if(!Cd.test(e))throw new Error("Invalid secret key format: expected 32-byte hex string (64 characters)")}function Hd(e,t){const{sigflag:n,txindex:r}=e;if(void 0!==n){if("number"!=typeof n||!Number.isInteger(n))throw new Error("sigflag must be an integer");const e=127&n,r=!(128&~n)?128|e:e;if(!t.includes(r)&&!t.includes(e))throw new Error(`Invalid sigflag: ${n}`)}if(void 0!==r&&("number"!=typeof r||!Number.isInteger(r)||r<0))throw new Error("txindex must be a non-negative integer")}function Dd(e){return 0!==e?k.num(e,1).hex:""}function Ld(e){const t=e.map(e=>k.bytes(e)),n=e.map(e=>k.bytes(e).hex),o=function(e){const t=e.at(-1);return e.length>1&&t instanceof Uint8Array&&80===t[0]?new k(t).hex:null}(t);null!==o&&t.pop();const i=function(e){const t=e.at(-1);return e.length>1&&t instanceof Uint8Array&&t.length>32&&r.includes(254&t[0])?new k(t).hex:null}(t);null!==i&&t.pop();const s=function(e,t){const n=e.at(0),r=e.at(1),o=e.at(-1);return null!==t&&void 0!==o?"p2ts":2===e.length&&void 0!==n&&void 0!==r&&n.length>=71&&n.length<=73&&33===r.length?"p2wpkh":1!==e.length||void 0===n||64!==n.length&&65!==n.length?e.length>1&&void 0!==o&&Ro(o)?"p2wsh":null:"p2tr"}(t,i),a=function(e){return null===e?null:e.startsWith("p2w")?0:e.startsWith("p2t")?1:null}(s),c=function(e,t){let n;switch(t){case"p2ts":case"p2wsh":n=e.at(-1)}return void 0!==n?new k(n).hex:null}(t,s);null!==c&&t.pop();return{annex:o,cblock:i,params:t.map(e=>e.hex),script:c,stack:n,type:s,version:a}}function Vd(e){const t=new S(e),n=t.read(1).num,r=t.read(32).hex,[o,i]=qd(n),s=[];for(;t.size>=32;)s.push(t.read(32).hex);if(0!==t.size)throw new Error(`Non-empty buffer on control block: ${String(t)}`);return{int_key:r,path:s,parity:i,version:o}}function qd(e){return e%2==0?[e-0,2]:[e-1,3]}function Md(e){j.size(e,33,"invalid pubkey size");const[t]=k.bytes(e);if(2===t)return 0;if(3===t)return 1;throw new Error(`Invalid parity bit: ${String(t)}`)}function Kd(e,t,n=[],r=0){if(r>128)throw new Error(`Taproot tree depth ${r} exceeds maximum 128`);const o=[],i=[];if(e.length<1)throw new Error("Tree is empty!");for(let i=0;i<e.length;i++){const s=e[i];if(Array.isArray(s)){const[e,i,a]=Kd(s,t,[],r+1);t=i,o.push(e);for(const e of a)n.push(e)}else{const e=k.bytes(s).hex;o.push(e)}}if(1===o.length)return[o[0],t,n];o.sort(),o.length%2!=0&&o.push(o[o.length-1]);for(let e=0;e<o.length-1;e+=2){const r=Sd(o[e],o[e+1]).hex;i.push(r),"string"==typeof t&&(t===o[e]?(n.push(o[e+1]),t=r):t===o[e+1]&&(n.push(o[e]),t=r))}return Kd(i,t,n,r+1)}const Jd=192;function Wd(e,t,n){j.size(e,32);const{parity:r,path:o,int_key:i}=Vd(n),s=k.join([r,e]);let a=k.bytes(t).hex;for(const e of o)a=Sd(a,e).hex;const c=dn(i,$d(i,a),"ecdsa");return s.hex===c.hex}function Gd(e,t,n,r){try{const{witness:o=[]}=t;if(0===o.length)return{index:n,valid:!0,type:null};const i=Ld(o.map(e=>k.hex(e))),{type:s,version:a}=i;if(null===s||null===a)return{index:n,valid:!1,type:s,error:"Unknown witness type"};const c=t.prevout;if(null==c)return{index:n,valid:!1,type:s,error:"Missing prevout data"};P(c.script_pk);return 0===a?function(e,t,n,r){const{type:o,params:i,script:s}=r;if(i.length<1)return{index:n,valid:!1,type:o,error:"Missing signature in witness"};const a=i[0],{signature:c,sigflag:u}=function(e){const t=k.hex(e),n=t.at(-1)??1,r=t.slice(0,-1).hex;return{signature:r,sigflag:n}}(a);let f,d;if("p2wpkh"===o){if(i.length<2)return{index:n,valid:!1,type:o,error:"Missing pubkey in P2WPKH witness"};f=i[1];d=`76a914${$n(f).hex}88ac`}else{if("p2wsh"!==o)return{index:n,valid:!1,type:o,error:`Unexpected segwit type: ${o}`};if(null===s)return{index:n,valid:!1,type:o,error:"Missing script in P2WSH witness"};if(d=s,!(i.length>=2))return{index:n,valid:!1,type:o,error:"Missing pubkey in P2WSH witness"};f=i[1]}const l={txindex:n,txinput:t,pubkey:"p2wpkh"===o?f:void 0,script:"p2wsh"===o?d:void 0,sigflag:u},p=bd(e,l),h=function(e,t,n){const r=pn(e),o=pn(t),i=ln(n,"ecdsa");return Kt.verify(r,o,i)}(c,p,f);return{index:n,valid:h,type:o,error:h?void 0:"Invalid ECDSA signature"}}(e,t,n,i):1===a?function(e,t,n,r,o,i){const{type:s,params:a,script:c,cblock:u}=r;if(null==t.prevout)return{index:n,valid:!1,type:s,error:"Missing prevout for taproot verification"};const f=t.prevout;if(a.length<1)return{index:n,valid:!1,type:s,error:"Missing signature in witness"};const d=a[0],{signature:l,sigflag:p}=function(e){const t=k.hex(e);if(64===t.length)return{signature:e,sigflag:0};if(65===t.length){const e=t.at(-1)??0;if(0===e)throw new Error("0x00 is not a valid appended sigflag");return{signature:t.slice(0,64).hex,sigflag:e}}throw new Error(`Invalid Schnorr signature length: ${t.length}`)}(d),h=f.script_pk.slice(4);let m,g;if("p2tr"===s)m=h;else{if("p2ts"!==s)return{index:n,valid:!1,type:s,error:`Unexpected taproot type: ${s}`};{if(null===u||null===c)return{index:n,valid:!1,type:s,error:"Missing cblock or script in script-path spend"};const e=Od(c).hex;if(!Wd(h,e,u))return{index:n,valid:!1,type:s,error:"Control block verification failed"};m=a.length>=2&&64===a[1].length?a[1]:h,g=e}}const y={...i,txindex:n,txinput:t,sigflag:p,extension:g,script:"p2ts"===s?c??void 0:void 0},_=Ad(e,y),w=function(e,t,n){const r=pn(e),o=pn(t),i=ln(n,"bip340");return an.verify(r,o,i)}(l,_,m);return{index:n,valid:w,type:s,error:w?void 0:"Invalid Schnorr signature"}}(e,t,n,i,0,r):{index:n,valid:!1,type:s,error:`Unsupported witness version: ${a}`}}catch(e){return{index:n,valid:!1,error:e instanceof Error?e.message:String(e)}}}var Yd=Object.freeze({__proto__:null,sign_segwit_tx:function(e,t,n){Fd(e),Hd(n,s);return function(e,t){const n=pn(t),r=Kt.sign(n,e).toDERRawBytes();return k.bytes(r)}(e,bd(sd(t),n)).hex+Dd(n.sigflag??1)},sign_taproot_tx:function(e,t,n){Fd(e),Hd(n,a);return function(e,t){const n=pn(t);return pn(an.sign(n,e))}(e,Ad(sd(t),n)).hex+Dd(n.sigflag??0)},verify_tx:function(e,t={}){const{throws:n=!1}=t,r=sd(e),o=[];let i=!0;for(let e=0;e<r.vin.length;e++){const s=r.vin[e];if(null!==s.coinbase){o.push({index:e,valid:!0,type:"coinbase"});continue}const a=Gd(r,s,e,t);if(o.push(a),!a.valid&&(i=!1,n))throw new Error(`Input ${e} verification failed: ${a.error}`)}return{valid:i,inputs:o,error:i?void 0:"One or more inputs failed verification"}}}),Xd=Object.freeze({__proto__:null,create_taproot:function(e){If.parse(e);const{pubkey:t,version:n=Jd}=e,r=e.leaves??[],o=void 0!==e.target?k.bytes(e.target).hex:void 0;let i,s=[];if(r.length>0){const[e,t,n]=Kd(r,o);s=n,i=e}else i=o;const a=$d(t,i),c=dn(t,a,"ecdsa"),u=Md(c),f=ln(c,"bip340"),d=[k.num(n+u),k.bytes(t)];s.length>0&&d.push(...s);const l=k.join(d);return{int_key:k.bytes(t).hex,path:s,parity:u,taproot:i??null,cblock:l.hex,tapkey:f.hex,taptweak:a.hex}},encode_leaf_version:Pd,encode_tapbranch:Sd,encode_tapleaf:kd,encode_tapscript:Od,encode_taptweak:$d,get_merkle_root:function(e){return Kd(e)[0]},merkleize:Kd,parse_cblock:Vd,parse_cblock_parity:qd,parse_pubkey_parity:Md,parse_taproot_witness:function(e){const{cblock:t,params:n,script:r}=Ld(e);j.exists(t,"cblock is null"),j.exists(r,"script is null");const o=Vd(t);let i=Od(r,o.version).hex;for(const e of o.path)i=Sd(i,e).hex;const s=$d(o.int_key,i),a=dn(o.int_key,s,"bip340");return n.map(e=>k.bytes(e).hex),{cblock:o,params:n,script:r,tapkey:a.hex,tweak:s.hex}},verify_taproot:Wd});var Qd=Object.freeze({__proto__:null,assert_witness:function(e){j.ok(Array.isArray(e),"witness must be an array"),j.ok(e.every(e=>k.is_bytes(e)),"witness must be an array of strings or bytes")},get_witness_size:function(e){const t=e.map(e=>k.bytes(e)).reduce((e,t)=>e+t.length,0);return{total:t,vsize:Math.ceil(1+t/4)}},parse_witness:Ld});return e.ADDRESS=lo,e.CONST=l,e.META=di,e.SCHEMA=Hf,e.SCRIPT=pi,e.SIGHASH=Zd,e.SIGNER=Yd,e.TAPROOT=Xd,e.TX=yd,e.WITNESS=Qd,e}({});
|
|
13
13
|
//# sourceMappingURL=script.js.map
|