{"version":3,"file":"6975.js","mappings":"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ACA,IACA,IACA,GACA,IACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,IACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACA,IACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,IACA,IACD,EACD,cAAe,GAAEA,IAAI,CAAC,CACpB,IACA,IACA,GACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,GACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,IACA,IACA,IACA,IACD,EACD,gBAAiB,GAAEA,IAAI,CAAC,CACtB,EACA,GACA,IACA,GACA,IACA,IACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,IACA,GACA,IACA,GACA,IACA,EACA,GACA,IACA,GACA,IACA,IACA,GACA,EACA,GACA,IACA,GACA,IACA,IACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,IACA,GACA,IACA,GACA,IACA,EACA,GACA,IACA,GACA,IACA,IACA,GACD,EACD0uD,QAAS,GAAE1uD,IAAI,CAAC,CACd,IACA,IACA,IACA,IACA,GACA,EACA,IACA,GACA,EACA,IACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,GACA,EACA,IACA,IACA,GACA,IACA,EACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACA,EACA,IACA,GACA,EACA,IACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,GACA,EACA,IACA,IACA,GACA,IACA,EACA,IACA,IACA,IACA,IACD,EACD2uD,UAAW,GAAE3uD,IAAI,CAAC,CAChB,GACA,GACA,IACA,IACA,IACA,IACA,IACA,GACA,IACA,IACA,IACA,IACA,IACA,GACA,EACA,IACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,GACA,IACA,IACA,IACA,IACA,IACA,GACA,EACA,IACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,GACD,EACD4uD,WAAY,GAAE5uD,IAAI,CAAC,CACjB,IACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,IACA,IACA,GACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,GACA,IACA,IACA,GACA,IACA,IACA,IACA,GACA,IACA,IACA,GACA,IACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,IACA,IACA,GACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,GACA,IACA,IACA,GACA,IACA,IACA,IACA,GACA,IACA,IACA,GACD,EACD6uD,SAAU,GAAE7uD,IAAI,CAAC,CACf,IACA,GACA,IACA,GACA,IACA,IACA,IACA,GACA,IACA,IACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,GACA,IACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,IACA,GACA,IACA,IACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,GACA,IACA,IACD,EACD,cAAe,GAAEA,IAAI,CAAC,CACpB,GACA,GACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,EACA,IACA,IACD,EACD,qBAAsB,GAAEA,IAAI,CAAC,CAC3B,IACA,IACA,EACA,EACA,GACA,GACA,IACA,IACA,IACA,GACA,GACA,IACA,GACA,GACA,GACA,IACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,EACA,IACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,EACA,EACA,GACA,GACA,IACA,IACA,IACA,GACA,GACA,IACA,GACA,GACA,GACA,IACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,IACA,IACA,EACA,IACA,GACA,IACA,GACA,IACA,IACD,CACH,EAIAxN,EAAEmpB,UAAU,CAHZ,SAAW3f,CAAC,CAAElH,CAAC,EACb,OAAOugC,EAAE,GAAEiG,MAAM,CAAC,CAAC9oC,EAAEmqB,oBAAoB,CAAC3gB,EAAE,CAAElH,EAAE,EAClD,CAEF,EAAG,IAsEH,IAAI4gI,GAAKC,SArEGnjI,CAAC,EACX,GAAIA,EAAEmB,MAAM,EAAI,IACd,MAAM,UAAc,qBACtB,IAAK,IAAIoB,EAAI,IAAI3B,WAAW,KAAMkc,EAAI,EAAGA,EAAIva,EAAEpB,MAAM,CAAE2b,IACrDva,CAAC,CAACua,EAAE,CAAG,IACT,IAAK,IAAI7d,EAAI,EAAGA,EAAIe,EAAEmB,MAAM,CAAElC,IAAK,CACjC,IAAI+B,EAAIhB,EAAE6gC,MAAM,CAAC5hC,GAAI6M,EAAI9K,EAAEgW,UAAU,CAAC,GACtC,GAAIzU,MAAAA,CAAC,CAACuJ,EAAE,CACN,MAAM,UAAc9K,EAAI,gBAC1BuB,CAAAA,CAAC,CAACuJ,EAAE,CAAG7M,CACT,CACA,IAAI4jC,EAAI7iC,EAAEm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Z,EACAtgG,EACA3b,EACAoxG,EACA98C,EAAO88C,OAAO,CACd98C,EAAOz+E,IAAI,CACXy+E,EAAOj9E,OAAO,CACd8kI,EACAimB,EACAC,EACAC,EACAC,EACA09B,EACA1xL,EACA8I,EACAzqB,EACD,EAwDC69M,WAvDiB,SAAe,CAAC,KACjC,GAAIn2G,aAAAA,EAAOz+E,IAAI,CAAiB,CAC9B,GAAI,CAACwB,EACH,OACF,MAAO,IAAMuvL,EAAY,CACvB/wL,KAAM,WACNwB,QAASi9E,EAAOj9E,OAAO,EAE3B,CACA,OAAO,GAAoBuvL,EAAY,CACrCjrJ,QAAAA,EACA3b,KAAAA,EACAi8G,IAAAA,EACA7K,QAAAA,EACA+K,aAAAA,EACAgmB,WAAAA,EACAt/B,QAAAA,EACAu/B,IAAAA,EACAC,SAAAA,EACAC,aAAAA,EACAC,qBAAAA,EACAh0J,MAAAA,EACA3hB,MAAAA,EACA,GAAG49M,CAAc,EAErB,EAAG,CACDroC,EACAt/B,EACAoZ,EACAtgG,EACA3b,EACAoxG,EACA98C,EAAOz+E,IAAI,CACXy+E,EAAOj9E,OAAO,CACd8kI,EACAimB,EACAC,EACAC,EACAC,EACAqkC,EACAr4L,EACA8I,EACAzqB,EACD,CAaD,CACF,C","sources":["webpack://new_ui/./node_modules/@bitcoinerlab/secp256k1/dist/index.js","webpack://new_ui/./node_modules/@noble/hashes/_assert.js","webpack://new_ui/./node_modules/@noble/hashes/_sha2.js","webpack://new_ui/./node_modules/@noble/hashes/_u64.js","webpack://new_ui/./node_modules/@noble/hashes/crypto.js","webpack://new_ui/./node_modules/@noble/hashes/hmac.js","webpack://new_ui/./node_modules/@noble/hashes/ripemd160.js","webpack://new_ui/./node_modules/@noble/hashes/sha1.js","webpack://new_ui/./node_modules/@noble/hashes/sha256.js","webpack://new_ui/./node_modules/@noble/hashes/sha512.js","webpack://new_ui/./node_modules/@noble/hashes/utils.js","webpack://new_ui/./node_modules/@noble/secp256k1/lib/index.js","webpack://new_ui/./node_modules/@ordzaar/ordit-sdk/node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://new_ui/./node_modules/@stablelib/binary/lib/binary.js","webpack://new_ui/./node_modules/@stablelib/chacha/lib/chacha.js","webpack://new_ui/./node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js","webpack://new_ui/./node_modules/@stablelib/constant-time/lib/constant-time.js","webpack://new_ui/./node_modules/@stablelib/hash/lib/hash.js","webpack://new_ui/./node_modules/@stablelib/hkdf/lib/hkdf.js","webpack://new_ui/./node_modules/@stablelib/hmac/lib/hmac.js","webpack://new_ui/./node_modules/@stablelib/int/lib/int.js","webpack://new_ui/./node_modules/@stablelib/poly1305/lib/poly1305.js","webpack://new_ui/./node_modules/@stablelib/random/lib/random.js","webpack://new_ui/./node_modules/@stablelib/random/lib/source/browser.js","webpack://new_ui/./node_modules/@stablelib/random/lib/source/node.js","webpack://new_ui/./node_modules/@stablelib/random/lib/source/system.js","webpack://new_ui/./node_modules/@stablelib/sha256/lib/sha256.js","webpack://new_ui/./node_modules/@stablelib/wipe/lib/wipe.js","webpack://new_ui/./node_modules/@stablelib/x25519/lib/x25519.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/constants/index.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/constants/misc.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/constants/time.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/index.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/types/index.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/types/watch.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/utils/convert.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/utils/delay.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/utils/index.js","webpack://new_ui/./node_modules/@walletconnect/time/dist/cjs/watch.js","webpack://new_ui/./node_modules/detect-browser/es/index.js","webpack://new_ui/./node_modules/@walletconnect/relay-api/dist/esm/jsonrpc.js","webpack://new_ui/./node_modules/@walletconnect/utils/dist/index.es.js","webpack://new_ui/./node_modules/@walletconnect/utils/node_modules/query-string/index.js","webpack://new_ui/./node_modules/@walletconnect/window-getters/dist/cjs/index.js","webpack://new_ui/./node_modules/@walletconnect/window-metadata/dist/cjs/index.js","webpack://new_ui/./node_modules/bip174/src/lib/combiner/index.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/global/globalXpub.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/global/unsignedTx.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/index.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/finalScriptSig.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/finalScriptWitness.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/nonWitnessUtxo.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/partialSig.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/porCommitment.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/sighashType.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/tapKeySig.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/tapLeafScript.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/tapMerkleRoot.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/tapScriptSig.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/input/witnessUtxo.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/output/tapTree.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/shared/bip32Derivation.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/shared/checkPubkey.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/shared/redeemScript.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/shared/tapBip32Derivation.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/shared/tapInternalKey.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/shared/witnessScript.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/tools.js","webpack://new_ui/./node_modules/bip174/src/lib/converter/varint.js","webpack://new_ui/./node_modules/bip174/src/lib/parser/fromBuffer.js","webpack://new_ui/./node_modules/bip174/src/lib/parser/index.js","webpack://new_ui/./node_modules/bip174/src/lib/parser/toBuffer.js","webpack://new_ui/./node_modules/bip174/src/lib/psbt.js","webpack://new_ui/./node_modules/bip174/src/lib/typeFields.js","webpack://new_ui/./node_modules/bip174/src/lib/utils.js","webpack://new_ui/./node_modules/bip32/node_modules/@scure/base/lib/index.js","webpack://new_ui/./node_modules/bip32/src/bip32.js","webpack://new_ui/./node_modules/bip32/src/crypto.js","webpack://new_ui/./node_modules/bip32/src/index.js","webpack://new_ui/./node_modules/bip32/src/testecc.js","webpack://new_ui/./node_modules/bitcoinjs-lib/node_modules/bech32/dist/index.js","webpack://new_ui/./node_modules/bitcoinjs-lib/node_modules/bs58check/base.js","webpack://new_ui/./node_modules/bitcoinjs-lib/node_modules/bs58check/index.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/address.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/bip66.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/block.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/bufferutils.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/crypto.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/ecc_lib.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/index.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/merkle.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/networks.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/ops.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/bip341.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/embed.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/index.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/lazy.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/p2ms.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/p2pk.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/p2pkh.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/p2sh.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/p2tr.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/p2wpkh.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/payments/p2wsh.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/psbt.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/psbt/bip371.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/psbt/psbtutils.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/push_data.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/script.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/script_number.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/script_signature.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/transaction.js","webpack://new_ui/./node_modules/bitcoinjs-lib/src/types.js","webpack://new_ui/./node_modules/bs58/index.js","webpack://new_ui/./node_modules/bs58/node_modules/base-x/src/index.js","webpack://new_ui/./node_modules/bs58check/base.js","webpack://new_ui/./node_modules/bs58check/index.js","webpack://new_ui/./node_modules/bs58check/node_modules/bs58/index.js","webpack://new_ui/./node_modules/buffer-reverse/index.js","webpack://new_ui/./node_modules/cipher-base/index.js","webpack://new_ui/./node_modules/create-hash/browser.js","webpack://new_ui/./node_modules/decode-uri-component/index.js","webpack://new_ui/./node_modules/ecpair/src/ecpair.js","webpack://new_ui/./node_modules/ecpair/src/index.js","webpack://new_ui/./node_modules/ecpair/src/networks.js","webpack://new_ui/./node_modules/ecpair/src/testecc.js","webpack://new_ui/./node_modules/ecpair/src/types.js","webpack://new_ui/./node_modules/events/events.js","webpack://new_ui/./node_modules/filter-obj/index.js","webpack://new_ui/./node_modules/hash-base/index.js","webpack://new_ui/./node_modules/inherits/inherits_browser.js","webpack://new_ui/./node_modules/jsontokens/lib/base64Url.js","webpack://new_ui/./node_modules/jsontokens/lib/cryptoClients/index.js","webpack://new_ui/./node_modules/jsontokens/lib/cryptoClients/secp256k1.js","webpack://new_ui/./node_modules/jsontokens/lib/cryptoClients/sha256.js","webpack://new_ui/./node_modules/jsontokens/lib/decode.js","webpack://new_ui/./node_modules/jsontokens/lib/ecdsaSigFormatter.js","webpack://new_ui/./node_modules/jsontokens/lib/errors.js","webpack://new_ui/./node_modules/jsontokens/lib/index.js","webpack://new_ui/./node_modules/jsontokens/lib/signer.js","webpack://new_ui/./node_modules/jsontokens/lib/verifier.js","webpack://new_ui/./node_modules/jsontokens/node_modules/@noble/hashes/_assert.js","webpack://new_ui/./node_modules/jsontokens/node_modules/@noble/hashes/_sha2.js","webpack://new_ui/./node_modules/jsontokens/node_modules/@noble/hashes/cryptoBrowser.js","webpack://new_ui/./node_modules/jsontokens/node_modules/@noble/hashes/hmac.js","webpack://new_ui/./node_modules/jsontokens/node_modules/@noble/hashes/sha256.js","webpack://new_ui/./node_modules/jsontokens/node_modules/@noble/hashes/utils.js","webpack://new_ui/./node_modules/md5.js/index.js","webpack://new_ui/./node_modules/process/browser.js","webpack://new_ui/./node_modules/randombytes/browser.js","webpack://new_ui/./node_modules/readable-stream/errors-browser.js","webpack://new_ui/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://new_ui/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://new_ui/./node_modules/readable-stream/lib/_stream_readable.js","webpack://new_ui/./node_modules/readable-stream/lib/_stream_transform.js","webpack://new_ui/./node_modules/readable-stream/lib/_stream_writable.js","webpack://new_ui/./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://new_ui/./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://new_ui/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://new_ui/./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://new_ui/./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://new_ui/./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://new_ui/./node_modules/readable-stream/lib/internal/streams/state.js","webpack://new_ui/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://new_ui/./node_modules/readable-stream/readable-browser.js","webpack://new_ui/./node_modules/ripemd160/index.js","webpack://new_ui/./node_modules/sats-connect/dist/addresses/index.js","webpack://new_ui/./node_modules/sats-connect/dist/addresses/types.js","webpack://new_ui/./node_modules/sats-connect/dist/call/index.js","webpack://new_ui/./node_modules/sats-connect/dist/call/types.js","webpack://new_ui/./node_modules/sats-connect/dist/capabilities/index.js","webpack://new_ui/./node_modules/sats-connect/dist/capabilities/types.js","webpack://new_ui/./node_modules/sats-connect/dist/index.js","webpack://new_ui/./node_modules/sats-connect/dist/inscriptions/createInscription.js","webpack://new_ui/./node_modules/sats-connect/dist/inscriptions/index.js","webpack://new_ui/./node_modules/sats-connect/dist/inscriptions/types.js","webpack://new_ui/./node_modules/sats-connect/dist/messages/index.js","webpack://new_ui/./node_modules/sats-connect/dist/messages/types.js","webpack://new_ui/./node_modules/sats-connect/dist/provider/index.js","webpack://new_ui/./node_modules/sats-connect/dist/provider/types.js","webpack://new_ui/./node_modules/sats-connect/dist/transactions/index.js","webpack://new_ui/./node_modules/sats-connect/dist/transactions/sendBtcTransaction.js","webpack://new_ui/./node_modules/sats-connect/dist/transactions/signTransaction.js","webpack://new_ui/./node_modules/sats-connect/dist/transactions/types.js","webpack://new_ui/./node_modules/sats-connect/dist/types.js","webpack://new_ui/./node_modules/sha.js/hash.js","webpack://new_ui/./node_modules/sha.js/index.js","webpack://new_ui/./node_modules/sha.js/sha.js","webpack://new_ui/./node_modules/sha.js/sha1.js","webpack://new_ui/./node_modules/sha.js/sha224.js","webpack://new_ui/./node_modules/sha.js/sha256.js","webpack://new_ui/./node_modules/sha.js/sha384.js","webpack://new_ui/./node_modules/sha.js/sha512.js","webpack://new_ui/./node_modules/split-on-first/index.js","webpack://new_ui/./node_modules/strict-uri-encode/index.js","webpack://new_ui/./node_modules/string_decoder/lib/string_decoder.js","webpack://new_ui/./node_modules/tslib/tslib.es6.js","webpack://new_ui/./node_modules/typeforce/errors.js","webpack://new_ui/./node_modules/typeforce/extra.js","webpack://new_ui/./node_modules/typeforce/index.js","webpack://new_ui/./node_modules/typeforce/native.js","webpack://new_ui/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack://new_ui/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","webpack://new_ui/./node_modules/use-sync-external-store/shim/index.js","webpack://new_ui/./node_modules/use-sync-external-store/shim/with-selector.js","webpack://new_ui/./node_modules/util-deprecate/browser.js","webpack://new_ui/./node_modules/varuint-bitcoin/index.js","webpack://new_ui/./node_modules/wif/index.js","webpack://new_ui/./node_modules/@ordzaar/ordit-sdk/dist/index.js","webpack://new_ui/./node_modules/@ordzaar/ord-connect/dist/index.js","webpack://new_ui/./node_modules/bitcoin-address-validation/lib/index.esm.js","webpack://new_ui/./node_modules/@ordzaar/ordit-sdk/dist/index-7cd24a6f.js","webpack://new_ui/./node_modules/@ordzaar/ordit-sdk/dist/unisat.js","webpack://new_ui/./node_modules/@ordzaar/ordit-sdk/dist/xverse.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-base/lib/esm/adapter.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-base/lib/esm/errors.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-base/lib/esm/signer.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-base/lib/esm/transaction.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-base/lib/esm/types.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-phantom/lib/esm/adapter.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react-ui/lib/esm/useWalletModal.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react-ui/lib/esm/Collapse.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react-ui/lib/esm/Button.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react-ui/lib/esm/WalletIcon.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react-ui/lib/esm/WalletListItem.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react-ui/lib/esm/WalletSVG.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react-ui/lib/esm/WalletModal.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react-ui/lib/esm/WalletModalProvider.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/ConnectionProvider.js","webpack://new_ui/./node_modules/@solana-mobile/mobile-wallet-adapter-protocol/lib/esm/index.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/WalletProvider.js","webpack://new_ui/./node_modules/@wallet-standard/app/lib/esm/wallets.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/getEnvironment.js","webpack://new_ui/./node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/adapter.js","webpack://new_ui/./node_modules/@solana-mobile/mobile-wallet-adapter-protocol-web3js/lib/esm/index.js","webpack://new_ui/./node_modules/@solana-mobile/wallet-adapter-mobile/lib/esm/index.js","webpack://new_ui/./node_modules/@wallet-standard/features/lib/esm/connect.js","webpack://new_ui/./node_modules/@wallet-standard/features/lib/esm/events.js","webpack://new_ui/./node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/types.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-base/lib/esm/standard.js","webpack://new_ui/./node_modules/@solana/wallet-standard-wallet-adapter-base/node_modules/@solana/wallet-standard-features/lib/esm/signAndSendTransaction.js","webpack://new_ui/./node_modules/@solana/wallet-standard-wallet-adapter-base/node_modules/@solana/wallet-standard-features/lib/esm/signTransaction.js","webpack://new_ui/./node_modules/@solana/wallet-standard-wallet-adapter-base/node_modules/@solana/wallet-standard-features/lib/esm/signMessage.js","webpack://new_ui/./node_modules/@solana/wallet-standard-chains/lib/esm/index.js","webpack://new_ui/./node_modules/@solana/wallet-standard-util/lib/esm/commitment.js","webpack://new_ui/./node_modules/@wallet-standard/features/lib/esm/disconnect.js","webpack://new_ui/./node_modules/@wallet-standard/wallet/lib/esm/util.js","webpack://new_ui/./node_modules/@solana/wallet-standard-util/lib/esm/endpoint.js","webpack://new_ui/./node_modules/@solana/wallet-standard-wallet-adapter-react/lib/esm/useStandardWalletAdapters.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/errors.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/WalletProviderBase.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/getInferredClusterFromEndpoint.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/useLocalStorage.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/useConnection.js","webpack://new_ui/./node_modules/@solana/wallet-adapter-react/lib/esm/useWallet.js","webpack://new_ui/./node_modules/@wagmi/chains/dist/index.mjs","webpack://new_ui/./node_modules/@wagmi/connectors/dist/chunk-QRUHVNWK.js","webpack://new_ui/./node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js","webpack://new_ui/./node_modules/viem/_esm/chains/definitions/goerli.js","webpack://new_ui/./node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js","webpack://new_ui/./node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js","webpack://new_ui/./node_modules/@wagmi/connectors/dist/metaMask.js","webpack://new_ui/./node_modules/@wagmi/connectors/dist/walletConnect.js","webpack://new_ui/./node_modules/@wagmi/core/dist/chunk-LAFZBYO7.js","webpack://new_ui/./node_modules/@wagmi/core/dist/chunk-MQXBDTVK.js","webpack://new_ui/./node_modules/viem/_esm/utils/ens/errors.js","webpack://new_ui/./node_modules/viem/_esm/utils/ens/encodedLabelToLabelhash.js","webpack://new_ui/./node_modules/viem/_esm/utils/ens/namehash.js","webpack://new_ui/./node_modules/viem/_esm/utils/ens/packetToBytes.js","webpack://new_ui/./node_modules/viem/_esm/utils/ens/encodeLabelhash.js","webpack://new_ui/./node_modules/viem/_esm/utils/ens/labelhash.js","webpack://new_ui/./node_modules/viem/_esm/utils/errors/getContractError.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/readContract.js","webpack://new_ui/./node_modules/viem/_esm/actions/ens/getEnsAddress.js","webpack://new_ui/./node_modules/viem/_esm/errors/ens.js","webpack://new_ui/./node_modules/viem/_esm/utils/ens/avatar/utils.js","webpack://new_ui/./node_modules/viem/_esm/utils/ens/avatar/parseAvatarRecord.js","webpack://new_ui/./node_modules/viem/_esm/actions/ens/getEnsText.js","webpack://new_ui/./node_modules/viem/_esm/actions/ens/getEnsAvatar.js","webpack://new_ui/./node_modules/viem/_esm/actions/ens/getEnsName.js","webpack://new_ui/./node_modules/viem/_esm/actions/ens/getEnsResolver.js","webpack://new_ui/./node_modules/viem/_esm/utils/filters/createFilterRequestScope.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/createBlockFilter.js","webpack://new_ui/./node_modules/viem/_esm/errors/log.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/encodeEventTopics.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/createContractEventFilter.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/createEventFilter.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/estimateContractGas.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getBalance.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getBlobBaseFee.js","webpack://new_ui/./node_modules/viem/_esm/utils/promise/withCache.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getBlockNumber.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getBlockTransactionCount.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getCode.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/decodeEventLog.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/parseEventLogs.js","webpack://new_ui/./node_modules/viem/_esm/utils/formatters/log.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getLogs.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getContractEvents.js","webpack://new_ui/./node_modules/viem/_esm/errors/eip712.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getEip712Domain.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getFeeHistory.js","webpack://new_ui/./node_modules/viem/_esm/utils/formatters/feeHistory.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getFilterChanges.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getFilterLogs.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getProof.js","webpack://new_ui/./node_modules/viem/_esm/utils/formatters/proof.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getStorageAt.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getTransaction.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getTransactionConfirmations.js","webpack://new_ui/./node_modules/viem/_esm/utils/formatters/transactionReceipt.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getTransactionReceipt.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/multicall.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/simulateContract.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/uninstallFilter.js","webpack://new_ui/./node_modules/viem/_esm/utils/signature/hashMessage.js","webpack://new_ui/./node_modules/@noble/curves/esm/abstract/utils.js","webpack://new_ui/./node_modules/@noble/curves/node_modules/@noble/hashes/esm/_assert.js","webpack://new_ui/./node_modules/@noble/curves/node_modules/@noble/hashes/esm/crypto.js","webpack://new_ui/./node_modules/@noble/curves/node_modules/@noble/hashes/esm/utils.js","webpack://new_ui/./node_modules/@noble/curves/node_modules/@noble/hashes/esm/_sha2.js","webpack://new_ui/./node_modules/@noble/curves/node_modules/@noble/hashes/esm/sha256.js","webpack://new_ui/./node_modules/@noble/curves/esm/abstract/modular.js","webpack://new_ui/./node_modules/@noble/curves/node_modules/@noble/hashes/esm/hmac.js","webpack://new_ui/./node_modules/@noble/curves/esm/abstract/curve.js","webpack://new_ui/./node_modules/@noble/curves/esm/abstract/weierstrass.js","webpack://new_ui/./node_modules/@noble/curves/esm/secp256k1.js","webpack://new_ui/./node_modules/@noble/curves/esm/_shortw_utils.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/verifyHash.js","webpack://new_ui/./node_modules/viem/_esm/utils/signature/serializeSignature.js","webpack://new_ui/./node_modules/viem/_esm/utils/data/isBytesEqual.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/verifyMessage.js","webpack://new_ui/./node_modules/viem/_esm/utils/signature/hashTypedData.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/verifyTypedData.js","webpack://new_ui/./node_modules/viem/_esm/utils/observe.js","webpack://new_ui/./node_modules/viem/_esm/utils/poll.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/watchBlockNumber.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/waitForTransactionReceipt.js","webpack://new_ui/./node_modules/viem/_esm/utils/siwe/parseSiweMessage.js","webpack://new_ui/./node_modules/viem/_esm/actions/siwe/verifySiweMessage.js","webpack://new_ui/./node_modules/viem/_esm/utils/siwe/validateSiweMessage.js","webpack://new_ui/./node_modules/viem/_esm/clients/decorators/public.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/watchBlocks.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/watchContractEvent.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/watchEvent.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/watchPendingTransactions.js","webpack://new_ui/./node_modules/viem/_esm/clients/createPublicClient.js","webpack://new_ui/./node_modules/viem/_esm/clients/transports/fallback.js","webpack://new_ui/./node_modules/viem/_esm/errors/transport.js","webpack://new_ui/./node_modules/viem/_esm/utils/promise/withTimeout.js","webpack://new_ui/./node_modules/viem/_esm/utils/rpc/id.js","webpack://new_ui/./node_modules/viem/_esm/utils/rpc/socket.js","webpack://new_ui/./node_modules/viem/_esm/utils/rpc/webSocket.js","webpack://new_ui/./node_modules/viem/_esm/utils/rpc/compat.js","webpack://new_ui/./node_modules/zustand/esm/middleware.mjs","webpack://new_ui/./node_modules/zustand/esm/vanilla.mjs","webpack://new_ui/./node_modules/zustand/esm/shallow.mjs","webpack://new_ui/./node_modules/viem/_esm/clients/transports/http.js","webpack://new_ui/./node_modules/viem/_esm/utils/rpc/http.js","webpack://new_ui/./node_modules/viem/_esm/clients/transports/webSocket.js","webpack://new_ui/./node_modules/@wagmi/core/dist/providers/public.js","webpack://new_ui/./node_modules/uint8arrays/esm/src/alloc.js","webpack://new_ui/./node_modules/uint8arrays/esm/src/concat.js","webpack://new_ui/./node_modules/uint8arrays/esm/src/from-string.js","webpack://new_ui/./node_modules/uint8arrays/esm/src/to-string.js","webpack://new_ui/./node_modules/uint8arrays/esm/src/util/as-uint8array.js","webpack://new_ui/./node_modules/multiformats/esm/vendor/base-x.js","webpack://new_ui/./node_modules/multiformats/esm/src/bytes.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/identity.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base2.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base8.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base10.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base16.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base32.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base36.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base58.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base64.js","webpack://new_ui/./node_modules/multiformats/esm/src/bases/base256emoji.js","webpack://new_ui/./node_modules/multiformats/esm/vendor/varint.js","webpack://new_ui/./node_modules/multiformats/esm/src/varint.js","webpack://new_ui/./node_modules/multiformats/esm/src/hashes/digest.js","webpack://new_ui/./node_modules/multiformats/esm/src/hashes/hasher.js","webpack://new_ui/./node_modules/multiformats/esm/src/hashes/sha2-browser.js","webpack://new_ui/./node_modules/multiformats/esm/src/hashes/identity.js","webpack://new_ui/./node_modules/multiformats/esm/src/codecs/raw.js","webpack://new_ui/./node_modules/multiformats/esm/src/codecs/json.js","webpack://new_ui/./node_modules/multiformats/esm/src/cid.js","webpack://new_ui/./node_modules/multiformats/esm/src/basics.js","webpack://new_ui/./node_modules/uint8arrays/esm/src/util/bases.js","webpack://new_ui/./node_modules/viem/_esm/accounts/utils/parseAccount.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/runtime/signatures.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/errors.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/errors/abiItem.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/errors/abiParameter.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/errors/signature.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/errors/struct.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/errors/splitParameters.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/runtime/cache.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/runtime/utils.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/runtime/structs.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/parseAbi.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/call.js","webpack://new_ui/./node_modules/viem/_esm/constants/contract.js","webpack://new_ui/./node_modules/viem/_esm/utils/errors/getCallError.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/estimateFeesPerGas.js","webpack://new_ui/./node_modules/viem/_esm/errors/estimateGas.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/estimateGas.js","webpack://new_ui/./node_modules/viem/_esm/utils/errors/getEstimateGasError.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getBlock.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getChainId.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getGasPrice.js","webpack://new_ui/./node_modules/viem/_esm/actions/public/getTransactionCount.js","webpack://new_ui/./node_modules/viem/_esm/utils/blob/blobsToCommitments.js","webpack://new_ui/./node_modules/viem/_esm/utils/blob/blobsToProofs.js","webpack://new_ui/./node_modules/viem/node_modules/@noble/hashes/esm/_sha2.js","webpack://new_ui/./node_modules/viem/node_modules/@noble/hashes/esm/sha256.js","webpack://new_ui/./node_modules/viem/_esm/errors/blob.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/prepareTransactionRequest.js","webpack://new_ui/./node_modules/viem/_esm/utils/blob/commitmentsToVersionedHashes.js","webpack://new_ui/./node_modules/viem/_esm/utils/blob/commitmentToVersionedHash.js","webpack://new_ui/./node_modules/viem/_esm/utils/hash/sha256.js","webpack://new_ui/./node_modules/viem/_esm/utils/blob/toBlobSidecars.js","webpack://new_ui/./node_modules/viem/_esm/utils/blob/toBlobs.js","webpack://new_ui/./node_modules/viem/_esm/constants/blob.js","webpack://new_ui/./node_modules/viem/_esm/utils/transaction/getTransactionType.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/sendRawTransaction.js","webpack://new_ui/./node_modules/viem/_esm/chains/definitions/mainnet.js","webpack://new_ui/./node_modules/viem/_esm/clients/createClient.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/addChain.js","webpack://new_ui/./node_modules/viem/_esm/errors/account.js","webpack://new_ui/./node_modules/viem/_esm/utils/chain/assertCurrentChain.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/sendTransaction.js","webpack://new_ui/./node_modules/viem/_esm/utils/errors/getTransactionError.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/getAddresses.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/getPermissions.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/requestAddresses.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/requestPermissions.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/signMessage.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/signTransaction.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/signTypedData.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/switchChain.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/watchAsset.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/writeContract.js","webpack://new_ui/./node_modules/viem/_esm/clients/decorators/wallet.js","webpack://new_ui/./node_modules/viem/_esm/actions/wallet/deployContract.js","webpack://new_ui/./node_modules/viem/_esm/clients/createWalletClient.js","webpack://new_ui/./node_modules/viem/_esm/utils/promise/withDedupe.js","webpack://new_ui/./node_modules/viem/_esm/clients/transports/createTransport.js","webpack://new_ui/./node_modules/viem/_esm/utils/buildRequest.js","webpack://new_ui/./node_modules/viem/_esm/clients/transports/custom.js","webpack://new_ui/./node_modules/viem/_esm/constants/abis.js","webpack://new_ui/./node_modules/viem/_esm/constants/contracts.js","webpack://new_ui/./node_modules/viem/_esm/constants/solidity.js","webpack://new_ui/./node_modules/viem/_esm/constants/unit.js","webpack://new_ui/./node_modules/viem/_esm/errors/abi.js","webpack://new_ui/./node_modules/viem/_esm/errors/address.js","webpack://new_ui/./node_modules/viem/_esm/errors/base.js","webpack://new_ui/./node_modules/viem/_esm/errors/block.js","webpack://new_ui/./node_modules/viem/_esm/errors/chain.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/formatAbiItemWithArgs.js","webpack://new_ui/./node_modules/viem/_esm/errors/contract.js","webpack://new_ui/./node_modules/viem/_esm/errors/cursor.js","webpack://new_ui/./node_modules/viem/_esm/errors/data.js","webpack://new_ui/./node_modules/viem/_esm/errors/encoding.js","webpack://new_ui/./node_modules/viem/_esm/errors/fee.js","webpack://new_ui/./node_modules/viem/_esm/errors/node.js","webpack://new_ui/./node_modules/viem/_esm/errors/request.js","webpack://new_ui/./node_modules/viem/_esm/errors/rpc.js","webpack://new_ui/./node_modules/viem/_esm/errors/stateOverride.js","webpack://new_ui/./node_modules/viem/_esm/errors/transaction.js","webpack://new_ui/./node_modules/viem/_esm/errors/utils.js","webpack://new_ui/./node_modules/viem/_esm/utils/encoding/fromBytes.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/decodeAbiParameters.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/decodeErrorResult.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/decodeFunctionResult.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/encodeAbiParameters.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/encodeDeployData.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/prepareEncodeFunctionData.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/encodeFunctionData.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/formatAbiItem.js","webpack://new_ui/./node_modules/viem/_esm/utils/abi/getAbiItem.js","webpack://new_ui/./node_modules/viem/_esm/utils/address/getAddress.js","webpack://new_ui/./node_modules/viem/_esm/utils/address/isAddress.js","webpack://new_ui/./node_modules/viem/_esm/utils/address/isAddressEqual.js","webpack://new_ui/./node_modules/viem/_esm/utils/chain/defineChain.js","webpack://new_ui/./node_modules/viem/_esm/utils/chain/getChainContractAddress.js","webpack://new_ui/./node_modules/viem/_esm/utils/cursor.js","webpack://new_ui/./node_modules/viem/_esm/utils/data/concat.js","webpack://new_ui/./node_modules/viem/_esm/utils/data/isHex.js","webpack://new_ui/./node_modules/viem/_esm/utils/data/pad.js","webpack://new_ui/./node_modules/viem/_esm/utils/data/size.js","webpack://new_ui/./node_modules/viem/_esm/utils/data/slice.js","webpack://new_ui/./node_modules/viem/_esm/utils/data/trim.js","webpack://new_ui/./node_modules/viem/_esm/utils/encoding/fromHex.js","webpack://new_ui/./node_modules/viem/_esm/utils/encoding/toBytes.js","webpack://new_ui/./node_modules/viem/_esm/utils/encoding/toHex.js","webpack://new_ui/./node_modules/viem/_esm/utils/errors/getNodeError.js","webpack://new_ui/./node_modules/viem/_esm/utils/formatters/block.js","webpack://new_ui/./node_modules/viem/_esm/utils/formatters/extract.js","webpack://new_ui/./node_modules/viem/_esm/utils/formatters/transaction.js","webpack://new_ui/./node_modules/viem/_esm/utils/formatters/transactionRequest.js","webpack://new_ui/./node_modules/viem/_esm/utils/getAction.js","webpack://new_ui/./node_modules/viem/node_modules/@noble/hashes/esm/_u64.js","webpack://new_ui/./node_modules/viem/node_modules/@noble/hashes/esm/sha3.js","webpack://new_ui/./node_modules/viem/_esm/utils/hash/keccak256.js","webpack://new_ui/./node_modules/viem/_esm/utils/hash/toEventSelector.js","webpack://new_ui/./node_modules/viem/_esm/utils/hash/toFunctionSelector.js","webpack://new_ui/./node_modules/viem/_esm/utils/hash/hashSignature.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/formatAbiParameter.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/formatAbiParameters.js","webpack://new_ui/./node_modules/viem/_esm/utils/hash/toSignature.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/human-readable/formatAbiItem.js","webpack://new_ui/./node_modules/viem/_esm/utils/hash/normalizeSignature.js","webpack://new_ui/./node_modules/viem/_esm/utils/hash/toSignatureHash.js","webpack://new_ui/./node_modules/viem/_esm/utils/lru.js","webpack://new_ui/./node_modules/viem/_esm/utils/promise/createBatchScheduler.js","webpack://new_ui/./node_modules/viem/_esm/utils/promise/withRetry.js","webpack://new_ui/./node_modules/viem/_esm/utils/stateOverride.js","webpack://new_ui/./node_modules/viem/_esm/utils/stringify.js","webpack://new_ui/./node_modules/viem/_esm/utils/transaction/assertRequest.js","webpack://new_ui/./node_modules/viem/_esm/utils/regex.js","webpack://new_ui/./node_modules/viem/_esm/utils/typedData.js","webpack://new_ui/./node_modules/viem/_esm/utils/uid.js","webpack://new_ui/./node_modules/viem/_esm/utils/unit/formatEther.js","webpack://new_ui/./node_modules/viem/_esm/utils/unit/formatGwei.js","webpack://new_ui/./node_modules/viem/_esm/utils/unit/formatUnits.js","webpack://new_ui/./node_modules/viem/_esm/utils/wait.js","webpack://new_ui/./node_modules/viem/node_modules/@noble/hashes/esm/_assert.js","webpack://new_ui/./node_modules/viem/node_modules/@noble/hashes/esm/utils.js","webpack://new_ui/./node_modules/viem/node_modules/abitype/dist/esm/regex.js","webpack://new_ui/./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs","webpack://new_ui/./node_modules/@tanstack/query-sync-storage-persister/build/lib/index.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/utils.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/logger.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/subscribable.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/focusManager.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/retryer.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/removable.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/query.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/queryCache.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/mutation.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/mutationCache.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/queryClient.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/hydration.mjs","webpack://new_ui/./node_modules/@tanstack/query-persist-client-core/build/lib/persist.mjs","webpack://new_ui/./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs","webpack://new_ui/./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs","webpack://new_ui/./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/mutationObserver.mjs","webpack://new_ui/./node_modules/@tanstack/react-query/build/lib/useMutation.mjs","webpack://new_ui/./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs","webpack://new_ui/./node_modules/wagmi/dist/index.js","webpack://new_ui/./node_modules/@tanstack/react-query/build/lib/utils.mjs"],"sourcesContent":["'use strict';\n\nvar necc = require('@noble/secp256k1');\nvar hmac = require('@noble/hashes/hmac');\nvar sha256 = require('@noble/hashes/sha256');\n\nfunction _interopNamespaceDefault(e) {\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n }\n n.default = e;\n return Object.freeze(n);\n}\n\nvar necc__namespace = /*#__PURE__*/_interopNamespaceDefault(necc);\n\n/*\n * Copyright (c) 2023 Jose-Luis Landabaso\n * Distributed under the MIT software license.\n *\n * This file includes code from the following sources:\n * * Paul Miller's @noble/secp256k1 (specifically, the privateAdd,\n * privateNegate, pointAddScalar, and pointMultiply functions).\n * * Some pieces from tiny-secp256k1\n * (https://github.com/bitcoinjs/tiny-secp256k1)\n * * It also uses code from BitGo's BitGoJS library\n * (https://github.com/BitGo/BitGoJS)\n *\n * This package's tests are based on modified versions of tests from\n * tiny-secp256k1 (https://github.com/bitcoinjs/tiny-secp256k1/tests).\n */\n\nnecc__namespace.utils.hmacSha256Sync = (key, ...msgs) =>\n hmac.hmac(sha256.sha256, key, necc__namespace.utils.concatBytes(...msgs));\nnecc__namespace.utils.sha256Sync = (...msgs) => sha256.sha256(necc__namespace.utils.concatBytes(...msgs));\n\nconst normalizePrivateKey = necc__namespace.utils._normalizePrivateKey;\n\nconst HASH_SIZE = 32;\nconst TWEAK_SIZE = 32;\nconst BN32_N = new Uint8Array([\n 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,\n 254, 186, 174, 220, 230, 175, 72, 160, 59, 191, 210, 94, 140, 208, 54, 65, 65\n]);\nconst EXTRA_DATA_SIZE = 32;\n\nfunction cmpBN32(data1, data2) {\n for (let i = 0; i < 32; ++i) {\n if (data1[i] !== data2[i]) {\n return data1[i] < data2[i] ? -1 : 1;\n }\n }\n return 0;\n}\n\nfunction isTweak(tweak) {\n // Check that the tweak is a Uint8Array of the correct length\n if (\n !(tweak instanceof Uint8Array) ||\n tweak.length !== TWEAK_SIZE ||\n cmpBN32(tweak, BN32_N) >= 0\n ) {\n return false;\n }\n return true;\n}\n\nfunction isSignature(signature) {\n return (\n signature instanceof Uint8Array &&\n signature.length === 64 &&\n cmpBN32(signature.subarray(0, 32), BN32_N) < 0 &&\n cmpBN32(signature.subarray(32, 64), BN32_N) < 0\n );\n}\n\nfunction isHash(h) {\n return h instanceof Uint8Array && h.length === HASH_SIZE;\n}\n\nfunction isExtraData(e) {\n return (\n e === undefined || (e instanceof Uint8Array && e.length === EXTRA_DATA_SIZE)\n );\n}\n\nfunction hexToNumber(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToNumber: expected string, got ' + typeof hex);\n }\n return BigInt(`0x${hex}`);\n}\n\nfunction bytesToNumber(bytes) {\n return hexToNumber(necc__namespace.utils.bytesToHex(bytes));\n}\n\nfunction normalizeScalar(scalar) {\n let num;\n if (typeof scalar === 'bigint') {\n num = scalar;\n } else if (\n typeof scalar === 'number' &&\n Number.isSafeInteger(scalar) &&\n scalar >= 0\n ) {\n num = BigInt(scalar);\n } else if (typeof scalar === 'string') {\n if (scalar.length !== 64)\n throw new Error('Expected 32 bytes of private scalar');\n num = hexToNumber(scalar);\n } else if (scalar instanceof Uint8Array) {\n if (scalar.length !== 32)\n throw new Error('Expected 32 bytes of private scalar');\n num = bytesToNumber(scalar);\n } else {\n throw new TypeError('Expected valid private scalar');\n }\n if (num < 0) throw new Error('Expected private scalar >= 0');\n return num;\n}\n\nconst _privateAdd = (privateKey, tweak) => {\n const p = normalizePrivateKey(privateKey);\n const t = normalizeScalar(tweak);\n const add = necc__namespace.utils._bigintTo32Bytes(necc__namespace.utils.mod(p + t, necc__namespace.CURVE.n));\n if (necc__namespace.utils.isValidPrivateKey(add)) return add;\n else return null;\n};\n\nconst _privateSub = (privateKey, tweak) => {\n const p = normalizePrivateKey(privateKey);\n const t = normalizeScalar(tweak);\n const sub = necc__namespace.utils._bigintTo32Bytes(necc__namespace.utils.mod(p - t, necc__namespace.CURVE.n));\n if (necc__namespace.utils.isValidPrivateKey(sub)) return sub;\n else return null;\n};\n\nconst _privateNegate = privateKey => {\n const p = normalizePrivateKey(privateKey);\n const not = necc__namespace.utils._bigintTo32Bytes(necc__namespace.CURVE.n - p);\n if (necc__namespace.utils.isValidPrivateKey(not)) return not;\n else return null;\n};\n\nconst _pointAddScalar = (p, tweak, isCompressed) => {\n const P = necc__namespace.Point.fromHex(p);\n const t = normalizeScalar(tweak);\n const Q = necc__namespace.Point.BASE.multiplyAndAddUnsafe(P, t, 1n);\n if (!Q) throw new Error('Tweaked point at infinity');\n return Q.toRawBytes(isCompressed);\n};\n\nconst _pointMultiply = (p, tweak, isCompressed) => {\n const P = necc__namespace.Point.fromHex(p);\n const h = typeof tweak === 'string' ? tweak : necc__namespace.utils.bytesToHex(tweak);\n const t = BigInt(`0x${h}`);\n return P.multiply(t).toRawBytes(isCompressed);\n};\n\nfunction assumeCompression(compressed, p) {\n if (compressed === undefined) {\n return p !== undefined ? isPointCompressed(p) : true;\n }\n return compressed ? true : false;\n}\n\nfunction throwToNull(fn) {\n try {\n return fn();\n } catch (e) {\n return null;\n }\n}\n\nfunction _isPoint(p, xOnly) {\n if ((p.length === 32) !== xOnly) return false;\n try {\n return !!necc__namespace.Point.fromHex(p);\n } catch (e) {\n return false;\n }\n}\n\nfunction isPoint(p) {\n return _isPoint(p, false);\n}\n\nfunction isPointCompressed(p) {\n const PUBLIC_KEY_COMPRESSED_SIZE = 33;\n return _isPoint(p, false) && p.length === PUBLIC_KEY_COMPRESSED_SIZE;\n}\n\nfunction isPrivate(d) {\n return necc__namespace.utils.isValidPrivateKey(d);\n}\n\nfunction isXOnlyPoint(p) {\n return _isPoint(p, true);\n}\n\nfunction xOnlyPointAddTweak(p, tweak) {\n if (!isXOnlyPoint(p)) {\n throw new Error('Expected Point');\n }\n if (!isTweak(tweak)) {\n throw new Error('Expected Tweak');\n }\n return throwToNull(() => {\n const P = _pointAddScalar(p, tweak, true);\n const parity = P[0] % 2 === 1 ? 1 : 0;\n return { parity, xOnlyPubkey: P.slice(1) };\n });\n}\n\nfunction xOnlyPointFromPoint(p) {\n if (!isPoint(p)) {\n throw new Error('Expected Point');\n }\n return p.slice(1, 33);\n}\n\nfunction pointFromScalar(sk, compressed) {\n if (!isPrivate(sk)) {\n throw new Error('Expected Private');\n }\n return throwToNull(() =>\n necc__namespace.getPublicKey(sk, assumeCompression(compressed))\n );\n}\n\nfunction xOnlyPointFromScalar(d) {\n if (!isPrivate(d)) {\n throw new Error('Expected Private');\n }\n return xOnlyPointFromPoint(pointFromScalar(d));\n}\n\nfunction pointCompress(p, compressed) {\n if (!isPoint(p)) {\n throw new Error('Expected Point');\n }\n return necc__namespace.Point.fromHex(p).toRawBytes(assumeCompression(compressed, p));\n}\n\nfunction pointMultiply(a, tweak, compressed) {\n if (!isPoint(a)) {\n throw new Error('Expected Point');\n }\n if (!isTweak(tweak)) {\n throw new Error('Expected Tweak');\n }\n return throwToNull(() =>\n _pointMultiply(a, tweak, assumeCompression(compressed, a))\n );\n}\n\nfunction pointAdd(a, b, compressed) {\n if (!isPoint(a) || !isPoint(b)) {\n throw new Error('Expected Point');\n }\n return throwToNull(() => {\n const A = necc__namespace.Point.fromHex(a);\n const B = necc__namespace.Point.fromHex(b);\n if (A.equals(B.negate())) {\n //https://github.com/paulmillr/noble-secp256k1/issues/91\n return null;\n } else {\n return A.add(B).toRawBytes(assumeCompression(compressed, a));\n }\n });\n}\nfunction pointAddScalar(p, tweak, compressed) {\n if (!isPoint(p)) {\n throw new Error('Expected Point');\n }\n if (!isTweak(tweak)) {\n throw new Error('Expected Tweak');\n }\n return throwToNull(() =>\n _pointAddScalar(p, tweak, assumeCompression(compressed, p))\n );\n}\n\nfunction privateAdd(d, tweak) {\n if (isPrivate(d) === false) {\n throw new Error('Expected Private');\n }\n if (isTweak(tweak) === false) {\n throw new Error('Expected Tweak');\n }\n return throwToNull(() => _privateAdd(d, tweak));\n}\n\nfunction privateSub(d, tweak) {\n if (isPrivate(d) === false) {\n throw new Error('Expected Private');\n }\n if (isTweak(tweak) === false) {\n throw new Error('Expected Tweak');\n }\n return throwToNull(() => _privateSub(d, tweak));\n}\n\nfunction privateNegate(d) {\n if (isPrivate(d) === false) {\n throw new Error('Expected Private');\n }\n return _privateNegate(d);\n}\n\nfunction sign(h, d, e) {\n if (!isPrivate(d)) {\n throw new Error('Expected Private');\n }\n if (!isHash(h)) {\n throw new Error('Expected Scalar');\n }\n if (!isExtraData(e)) {\n throw new Error('Expected Extra Data (32 bytes)');\n }\n return necc__namespace.signSync(h, d, { der: false, extraEntropy: e });\n}\n\nfunction signSchnorr(h, d, e = Buffer.alloc(32, 0x00)) {\n if (!isPrivate(d)) {\n throw new Error('Expected Private');\n }\n if (!isHash(h)) {\n throw new Error('Expected Scalar');\n }\n if (!isExtraData(e)) {\n throw new Error('Expected Extra Data (32 bytes)');\n }\n return necc__namespace.schnorr.signSync(h, d, e);\n}\n\nfunction verify(h, Q, signature, strict) {\n if (!isPoint(Q)) {\n throw new Error('Expected Point');\n }\n if (!isSignature(signature)) {\n throw new Error('Expected Signature');\n }\n if (!isHash(h)) {\n throw new Error('Expected Scalar');\n }\n return necc__namespace.verify(signature, h, Q, { strict });\n}\n\nfunction verifySchnorr(h, Q, signature) {\n if (!isXOnlyPoint(Q)) {\n throw new Error('Expected Point');\n }\n if (!isSignature(signature)) {\n throw new Error('Expected Signature');\n }\n if (!isHash(h)) {\n throw new Error('Expected Scalar');\n }\n return necc__namespace.schnorr.verifySync(signature, h, Q);\n}\n\nexports.isPoint = isPoint;\nexports.isPointCompressed = isPointCompressed;\nexports.isPrivate = isPrivate;\nexports.isXOnlyPoint = isXOnlyPoint;\nexports.pointAdd = pointAdd;\nexports.pointAddScalar = pointAddScalar;\nexports.pointCompress = pointCompress;\nexports.pointFromScalar = pointFromScalar;\nexports.pointMultiply = pointMultiply;\nexports.privateAdd = privateAdd;\nexports.privateNegate = privateNegate;\nexports.privateSub = privateSub;\nexports.sign = sign;\nexports.signSchnorr = signSchnorr;\nexports.verify = verify;\nexports.verifySchnorr = verifySchnorr;\nexports.xOnlyPointAddTweak = xOnlyPointAddTweak;\nexports.xOnlyPointFromPoint = xOnlyPointFromPoint;\nexports.xOnlyPointFromScalar = xOnlyPointFromScalar;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0;\nfunction number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nexports.number = number;\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nexports.bool = bool;\n// copied from utils\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\nfunction bytes(b, ...lengths) {\n if (!isBytes(b))\n throw new Error('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nexports.bytes = bytes;\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nexports.hash = hash;\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nexports.exists = exists;\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexports.output = output;\nconst assert = { number, bool, bytes, hash, exists, output };\nexports.default = assert;\n//# sourceMappingURL=_assert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SHA2 = void 0;\nconst _assert_js_1 = require(\"./_assert.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// Polyfill for Safari 14\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n// Base SHA2 class (RFC 6234)\nclass SHA2 extends utils_js_1.Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.buffer = new Uint8Array(blockLen);\n this.view = (0, utils_js_1.createView)(this.buffer);\n }\n update(data) {\n (0, _assert_js_1.exists)(this);\n const { view, buffer, blockLen } = this;\n data = (0, utils_js_1.toBytes)(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = (0, utils_js_1.createView)(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n (0, _assert_js_1.exists)(this);\n (0, _assert_js_1.output)(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = (0, utils_js_1.createView)(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n}\nexports.SHA2 = SHA2;\n//# sourceMappingURL=_sha2.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.add5L = exports.add5H = exports.add4H = exports.add4L = exports.add3H = exports.add3L = exports.add = exports.rotlBL = exports.rotlBH = exports.rotlSL = exports.rotlSH = exports.rotr32L = exports.rotr32H = exports.rotrBL = exports.rotrBH = exports.rotrSL = exports.rotrSH = exports.shrSL = exports.shrSH = exports.toBig = exports.split = exports.fromBig = void 0;\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nexports.fromBig = fromBig;\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nexports.split = split;\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\nexports.toBig = toBig;\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nexports.shrSH = shrSH;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\nexports.shrSL = shrSL;\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nexports.rotrSH = rotrSH;\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\nexports.rotrSL = rotrSL;\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nexports.rotrBH = rotrBH;\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\nexports.rotrBL = rotrBL;\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nexports.rotr32H = rotr32H;\nconst rotr32L = (h, _l) => h;\nexports.rotr32L = rotr32L;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nexports.rotlSH = rotlSH;\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\nexports.rotlSL = rotlSL;\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nexports.rotlBH = rotlBH;\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\nexports.rotlBL = rotlBL;\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\nexports.add = add;\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nexports.add3L = add3L;\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nexports.add3H = add3H;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nexports.add4L = add4L;\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nexports.add4H = add4H;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nexports.add5L = add5L;\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\nexports.add5H = add5H;\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexports.default = u64;\n//# sourceMappingURL=_u64.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.crypto = void 0;\nexports.crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hmac = exports.HMAC = void 0;\nconst _assert_js_1 = require(\"./_assert.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// HMAC (RFC 2104)\nclass HMAC extends utils_js_1.Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n (0, _assert_js_1.hash)(hash);\n const key = (0, utils_js_1.toBytes)(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new Error('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf) {\n (0, _assert_js_1.exists)(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n (0, _assert_js_1.exists)(this);\n (0, _assert_js_1.bytes)(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\nexports.HMAC = HMAC;\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nconst hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nexports.hmac = hmac;\nexports.hmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ripemd160 = exports.RIPEMD160 = void 0;\nconst _sha2_js_1 = require(\"./_sha2.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// https://homes.esat.kuleuven.be/~bosselae/ripemd160.html\n// https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf\nconst Rho = /* @__PURE__ */ new Uint8Array([7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8]);\nconst Id = /* @__PURE__ */ Uint8Array.from({ length: 16 }, (_, i) => i);\nconst Pi = /* @__PURE__ */ Id.map((i) => (9 * i + 5) % 16);\nlet idxL = [Id];\nlet idxR = [Pi];\nfor (let i = 0; i < 4; i++)\n for (let j of [idxL, idxR])\n j.push(j[i].map((k) => Rho[k]));\nconst shifts = /* @__PURE__ */ [\n [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8],\n [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7],\n [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9],\n [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6],\n [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5],\n].map((i) => new Uint8Array(i));\nconst shiftsL = /* @__PURE__ */ idxL.map((idx, i) => idx.map((j) => shifts[i][j]));\nconst shiftsR = /* @__PURE__ */ idxR.map((idx, i) => idx.map((j) => shifts[i][j]));\nconst Kl = /* @__PURE__ */ new Uint32Array([\n 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e,\n]);\nconst Kr = /* @__PURE__ */ new Uint32Array([\n 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000,\n]);\n// The rotate left (circular left shift) operation for uint32\nconst rotl = (word, shift) => (word << shift) | (word >>> (32 - shift));\n// It's called f() in spec.\nfunction f(group, x, y, z) {\n if (group === 0)\n return x ^ y ^ z;\n else if (group === 1)\n return (x & y) | (~x & z);\n else if (group === 2)\n return (x | ~y) ^ z;\n else if (group === 3)\n return (x & z) | (y & ~z);\n else\n return x ^ (y | ~z);\n}\n// Temporary buffer, not used to store anything between runs\nconst BUF = /* @__PURE__ */ new Uint32Array(16);\nclass RIPEMD160 extends _sha2_js_1.SHA2 {\n constructor() {\n super(64, 20, 8, true);\n this.h0 = 0x67452301 | 0;\n this.h1 = 0xefcdab89 | 0;\n this.h2 = 0x98badcfe | 0;\n this.h3 = 0x10325476 | 0;\n this.h4 = 0xc3d2e1f0 | 0;\n }\n get() {\n const { h0, h1, h2, h3, h4 } = this;\n return [h0, h1, h2, h3, h4];\n }\n set(h0, h1, h2, h3, h4) {\n this.h0 = h0 | 0;\n this.h1 = h1 | 0;\n this.h2 = h2 | 0;\n this.h3 = h3 | 0;\n this.h4 = h4 | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n BUF[i] = view.getUint32(offset, true);\n // prettier-ignore\n let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el;\n // Instead of iterating 0 to 80, we split it into 5 groups\n // And use the groups in constants, functions, etc. Much simpler\n for (let group = 0; group < 5; group++) {\n const rGroup = 4 - group;\n const hbl = Kl[group], hbr = Kr[group]; // prettier-ignore\n const rl = idxL[group], rr = idxR[group]; // prettier-ignore\n const sl = shiftsL[group], sr = shiftsR[group]; // prettier-ignore\n for (let i = 0; i < 16; i++) {\n const tl = (rotl(al + f(group, bl, cl, dl) + BUF[rl[i]] + hbl, sl[i]) + el) | 0;\n al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore\n }\n // 2 loops are 10% faster\n for (let i = 0; i < 16; i++) {\n const tr = (rotl(ar + f(rGroup, br, cr, dr) + BUF[rr[i]] + hbr, sr[i]) + er) | 0;\n ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; // prettier-ignore\n }\n }\n // Add the compressed chunk to the current hash value\n this.set((this.h1 + cl + dr) | 0, (this.h2 + dl + er) | 0, (this.h3 + el + ar) | 0, (this.h4 + al + br) | 0, (this.h0 + bl + cr) | 0);\n }\n roundClean() {\n BUF.fill(0);\n }\n destroy() {\n this.destroyed = true;\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0);\n }\n}\nexports.RIPEMD160 = RIPEMD160;\n/**\n * RIPEMD-160 - a hash function from 1990s.\n * @param message - msg that would be hashed\n */\nexports.ripemd160 = (0, utils_js_1.wrapConstructor)(() => new RIPEMD160());\n//# sourceMappingURL=ripemd160.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sha1 = void 0;\nconst _sha2_js_1 = require(\"./_sha2.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// SHA1 was cryptographically broken.\n// It is still widely used in legacy apps. Don't use it for a new protocol.\n// RFC 3174\nconst rotl = (word, shift) => (word << shift) | ((word >>> (32 - shift)) >>> 0);\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Initial state\nconst IV = /* @__PURE__ */ new Uint32Array([\n 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0,\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA1_W = /* @__PURE__ */ new Uint32Array(80);\nclass SHA1 extends _sha2_js_1.SHA2 {\n constructor() {\n super(64, 20, 8, false);\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n }\n get() {\n const { A, B, C, D, E } = this;\n return [A, B, C, D, E];\n }\n set(A, B, C, D, E) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n SHA1_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 80; i++)\n SHA1_W[i] = rotl(SHA1_W[i - 3] ^ SHA1_W[i - 8] ^ SHA1_W[i - 14] ^ SHA1_W[i - 16], 1);\n // Compression function main loop, 80 rounds\n let { A, B, C, D, E } = this;\n for (let i = 0; i < 80; i++) {\n let F, K;\n if (i < 20) {\n F = Chi(B, C, D);\n K = 0x5a827999;\n }\n else if (i < 40) {\n F = B ^ C ^ D;\n K = 0x6ed9eba1;\n }\n else if (i < 60) {\n F = Maj(B, C, D);\n K = 0x8f1bbcdc;\n }\n else {\n F = B ^ C ^ D;\n K = 0xca62c1d6;\n }\n const T = (rotl(A, 5) + F + E + K + SHA1_W[i]) | 0;\n E = D;\n D = C;\n C = rotl(B, 30);\n B = A;\n A = T;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n this.set(A, B, C, D, E);\n }\n roundClean() {\n SHA1_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\nexports.sha1 = (0, utils_js_1.wrapConstructor)(() => new SHA1());\n//# sourceMappingURL=sha1.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sha224 = exports.sha256 = void 0;\nconst _sha2_js_1 = require(\"./_sha2.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// SHA2-256 need to try 2^128 hashes to execute birthday attack.\n// BTC network is doing 2^67 hashes/sec as per early 2023.\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = /* @__PURE__ */ new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = /* @__PURE__ */ new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = /* @__PURE__ */ new Uint32Array(64);\nclass SHA256 extends _sha2_js_1.SHA2 {\n constructor() {\n super(64, 32, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n this.F = IV[5] | 0;\n this.G = IV[6] | 0;\n this.H = IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = (0, utils_js_1.rotr)(W15, 7) ^ (0, utils_js_1.rotr)(W15, 18) ^ (W15 >>> 3);\n const s1 = (0, utils_js_1.rotr)(W2, 17) ^ (0, utils_js_1.rotr)(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = (0, utils_js_1.rotr)(E, 6) ^ (0, utils_js_1.rotr)(E, 11) ^ (0, utils_js_1.rotr)(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = (0, utils_js_1.rotr)(A, 2) ^ (0, utils_js_1.rotr)(A, 13) ^ (0, utils_js_1.rotr)(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n constructor() {\n super();\n this.A = 0xc1059ed8 | 0;\n this.B = 0x367cd507 | 0;\n this.C = 0x3070dd17 | 0;\n this.D = 0xf70e5939 | 0;\n this.E = 0xffc00b31 | 0;\n this.F = 0x68581511 | 0;\n this.G = 0x64f98fa7 | 0;\n this.H = 0xbefa4fa4 | 0;\n this.outputLen = 28;\n }\n}\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexports.sha256 = (0, utils_js_1.wrapConstructor)(() => new SHA256());\nexports.sha224 = (0, utils_js_1.wrapConstructor)(() => new SHA224());\n//# sourceMappingURL=sha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sha384 = exports.sha512_256 = exports.sha512_224 = exports.sha512 = exports.SHA512 = void 0;\nconst _sha2_js_1 = require(\"./_sha2.js\");\nconst _u64_js_1 = require(\"./_u64.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):\n// prettier-ignore\nconst [SHA512_Kh, SHA512_Kl] = /* @__PURE__ */ (() => _u64_js_1.default.split([\n '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',\n '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',\n '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',\n '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',\n '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',\n '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',\n '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',\n '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',\n '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',\n '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',\n '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',\n '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',\n '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',\n '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',\n '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',\n '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',\n '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',\n '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',\n '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',\n '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'\n].map(n => BigInt(n))))();\n// Temporary buffer, not used to store anything between runs\nconst SHA512_W_H = /* @__PURE__ */ new Uint32Array(80);\nconst SHA512_W_L = /* @__PURE__ */ new Uint32Array(80);\nclass SHA512 extends _sha2_js_1.SHA2 {\n constructor() {\n super(128, 64, 16, false);\n // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.\n // Also looks cleaner and easier to verify with spec.\n // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x6a09e667 | 0;\n this.Al = 0xf3bcc908 | 0;\n this.Bh = 0xbb67ae85 | 0;\n this.Bl = 0x84caa73b | 0;\n this.Ch = 0x3c6ef372 | 0;\n this.Cl = 0xfe94f82b | 0;\n this.Dh = 0xa54ff53a | 0;\n this.Dl = 0x5f1d36f1 | 0;\n this.Eh = 0x510e527f | 0;\n this.El = 0xade682d1 | 0;\n this.Fh = 0x9b05688c | 0;\n this.Fl = 0x2b3e6c1f | 0;\n this.Gh = 0x1f83d9ab | 0;\n this.Gl = 0xfb41bd6b | 0;\n this.Hh = 0x5be0cd19 | 0;\n this.Hl = 0x137e2179 | 0;\n }\n // prettier-ignore\n get() {\n const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];\n }\n // prettier-ignore\n set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {\n this.Ah = Ah | 0;\n this.Al = Al | 0;\n this.Bh = Bh | 0;\n this.Bl = Bl | 0;\n this.Ch = Ch | 0;\n this.Cl = Cl | 0;\n this.Dh = Dh | 0;\n this.Dl = Dl | 0;\n this.Eh = Eh | 0;\n this.El = El | 0;\n this.Fh = Fh | 0;\n this.Fl = Fl | 0;\n this.Gh = Gh | 0;\n this.Gl = Gl | 0;\n this.Hh = Hh | 0;\n this.Hl = Hl | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) {\n SHA512_W_H[i] = view.getUint32(offset);\n SHA512_W_L[i] = view.getUint32((offset += 4));\n }\n for (let i = 16; i < 80; i++) {\n // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)\n const W15h = SHA512_W_H[i - 15] | 0;\n const W15l = SHA512_W_L[i - 15] | 0;\n const s0h = _u64_js_1.default.rotrSH(W15h, W15l, 1) ^ _u64_js_1.default.rotrSH(W15h, W15l, 8) ^ _u64_js_1.default.shrSH(W15h, W15l, 7);\n const s0l = _u64_js_1.default.rotrSL(W15h, W15l, 1) ^ _u64_js_1.default.rotrSL(W15h, W15l, 8) ^ _u64_js_1.default.shrSL(W15h, W15l, 7);\n // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)\n const W2h = SHA512_W_H[i - 2] | 0;\n const W2l = SHA512_W_L[i - 2] | 0;\n const s1h = _u64_js_1.default.rotrSH(W2h, W2l, 19) ^ _u64_js_1.default.rotrBH(W2h, W2l, 61) ^ _u64_js_1.default.shrSH(W2h, W2l, 6);\n const s1l = _u64_js_1.default.rotrSL(W2h, W2l, 19) ^ _u64_js_1.default.rotrBL(W2h, W2l, 61) ^ _u64_js_1.default.shrSL(W2h, W2l, 6);\n // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];\n const SUMl = _u64_js_1.default.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);\n const SUMh = _u64_js_1.default.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);\n SHA512_W_H[i] = SUMh | 0;\n SHA512_W_L[i] = SUMl | 0;\n }\n let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n // Compression function main loop, 80 rounds\n for (let i = 0; i < 80; i++) {\n // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)\n const sigma1h = _u64_js_1.default.rotrSH(Eh, El, 14) ^ _u64_js_1.default.rotrSH(Eh, El, 18) ^ _u64_js_1.default.rotrBH(Eh, El, 41);\n const sigma1l = _u64_js_1.default.rotrSL(Eh, El, 14) ^ _u64_js_1.default.rotrSL(Eh, El, 18) ^ _u64_js_1.default.rotrBL(Eh, El, 41);\n //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const CHIh = (Eh & Fh) ^ (~Eh & Gh);\n const CHIl = (El & Fl) ^ (~El & Gl);\n // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]\n // prettier-ignore\n const T1ll = _u64_js_1.default.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);\n const T1h = _u64_js_1.default.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);\n const T1l = T1ll | 0;\n // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)\n const sigma0h = _u64_js_1.default.rotrSH(Ah, Al, 28) ^ _u64_js_1.default.rotrBH(Ah, Al, 34) ^ _u64_js_1.default.rotrBH(Ah, Al, 39);\n const sigma0l = _u64_js_1.default.rotrSL(Ah, Al, 28) ^ _u64_js_1.default.rotrBL(Ah, Al, 34) ^ _u64_js_1.default.rotrBL(Ah, Al, 39);\n const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);\n const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);\n Hh = Gh | 0;\n Hl = Gl | 0;\n Gh = Fh | 0;\n Gl = Fl | 0;\n Fh = Eh | 0;\n Fl = El | 0;\n ({ h: Eh, l: El } = _u64_js_1.default.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));\n Dh = Ch | 0;\n Dl = Cl | 0;\n Ch = Bh | 0;\n Cl = Bl | 0;\n Bh = Ah | 0;\n Bl = Al | 0;\n const All = _u64_js_1.default.add3L(T1l, sigma0l, MAJl);\n Ah = _u64_js_1.default.add3H(All, T1h, sigma0h, MAJh);\n Al = All | 0;\n }\n // Add the compressed chunk to the current hash value\n ({ h: Ah, l: Al } = _u64_js_1.default.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));\n ({ h: Bh, l: Bl } = _u64_js_1.default.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));\n ({ h: Ch, l: Cl } = _u64_js_1.default.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));\n ({ h: Dh, l: Dl } = _u64_js_1.default.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));\n ({ h: Eh, l: El } = _u64_js_1.default.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));\n ({ h: Fh, l: Fl } = _u64_js_1.default.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));\n ({ h: Gh, l: Gl } = _u64_js_1.default.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));\n ({ h: Hh, l: Hl } = _u64_js_1.default.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));\n this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);\n }\n roundClean() {\n SHA512_W_H.fill(0);\n SHA512_W_L.fill(0);\n }\n destroy() {\n this.buffer.fill(0);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\nexports.SHA512 = SHA512;\nclass SHA512_224 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x8c3d37c8 | 0;\n this.Al = 0x19544da2 | 0;\n this.Bh = 0x73e19966 | 0;\n this.Bl = 0x89dcd4d6 | 0;\n this.Ch = 0x1dfab7ae | 0;\n this.Cl = 0x32ff9c82 | 0;\n this.Dh = 0x679dd514 | 0;\n this.Dl = 0x582f9fcf | 0;\n this.Eh = 0x0f6d2b69 | 0;\n this.El = 0x7bd44da8 | 0;\n this.Fh = 0x77e36f73 | 0;\n this.Fl = 0x04c48942 | 0;\n this.Gh = 0x3f9d85a8 | 0;\n this.Gl = 0x6a1d36c8 | 0;\n this.Hh = 0x1112e6ad | 0;\n this.Hl = 0x91d692a1 | 0;\n this.outputLen = 28;\n }\n}\nclass SHA512_256 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0x22312194 | 0;\n this.Al = 0xfc2bf72c | 0;\n this.Bh = 0x9f555fa3 | 0;\n this.Bl = 0xc84c64c2 | 0;\n this.Ch = 0x2393b86b | 0;\n this.Cl = 0x6f53b151 | 0;\n this.Dh = 0x96387719 | 0;\n this.Dl = 0x5940eabd | 0;\n this.Eh = 0x96283ee2 | 0;\n this.El = 0xa88effe3 | 0;\n this.Fh = 0xbe5e1e25 | 0;\n this.Fl = 0x53863992 | 0;\n this.Gh = 0x2b0199fc | 0;\n this.Gl = 0x2c85b8aa | 0;\n this.Hh = 0x0eb72ddc | 0;\n this.Hl = 0x81c52ca2 | 0;\n this.outputLen = 32;\n }\n}\nclass SHA384 extends SHA512 {\n constructor() {\n super();\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = 0xcbbb9d5d | 0;\n this.Al = 0xc1059ed8 | 0;\n this.Bh = 0x629a292a | 0;\n this.Bl = 0x367cd507 | 0;\n this.Ch = 0x9159015a | 0;\n this.Cl = 0x3070dd17 | 0;\n this.Dh = 0x152fecd8 | 0;\n this.Dl = 0xf70e5939 | 0;\n this.Eh = 0x67332667 | 0;\n this.El = 0xffc00b31 | 0;\n this.Fh = 0x8eb44a87 | 0;\n this.Fl = 0x68581511 | 0;\n this.Gh = 0xdb0c2e0d | 0;\n this.Gl = 0x64f98fa7 | 0;\n this.Hh = 0x47b5481d | 0;\n this.Hl = 0xbefa4fa4 | 0;\n this.outputLen = 48;\n }\n}\nexports.sha512 = (0, utils_js_1.wrapConstructor)(() => new SHA512());\nexports.sha512_224 = (0, utils_js_1.wrapConstructor)(() => new SHA512_224());\nexports.sha512_256 = (0, utils_js_1.wrapConstructor)(() => new SHA512_256());\nexports.sha384 = (0, utils_js_1.wrapConstructor)(() => new SHA384());\n//# sourceMappingURL=sha512.js.map","\"use strict\";\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomBytes = exports.wrapXOFConstructorWithOpts = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0;\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nconst crypto_1 = require(\"@noble/hashes/crypto\");\n// Cast array to different type\nconst u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexports.u8 = u8;\nconst u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\nexports.u32 = u32;\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\n// Cast array to view\nconst createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\nexports.createView = createView;\n// The rotate right (circular right shift) operation for uint32\nconst rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\nexports.rotr = rotr;\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\n// Other libraries would silently corrupt the data instead of throwing an error,\n// when they don't support it.\nexports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!exports.isLE)\n throw new Error('Non little-endian hardware is not supported');\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nfunction bytesToHex(bytes) {\n if (!isBytes(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\nexports.bytesToHex = bytesToHex;\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, _A: 65, _F: 70, _a: 97, _f: 102 };\nfunction asciiToBase16(char) {\n if (char >= asciis._0 && char <= asciis._9)\n return char - asciis._0;\n if (char >= asciis._A && char <= asciis._F)\n return char - (asciis._A - 10);\n if (char >= asciis._a && char <= asciis._f)\n return char - (asciis._a - 10);\n return;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2;\n }\n return array;\n}\nexports.hexToBytes = hexToBytes;\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nconst nextTick = async () => { };\nexports.nextTick = nextTick;\n// Returns control to thread each 'tick' ms to avoid blocking\nasync function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await (0, exports.nextTick)();\n ts += diff;\n }\n}\nexports.asyncLoop = asyncLoop;\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nfunction utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\nexports.utf8ToBytes = utf8ToBytes;\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nfunction toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!isBytes(data))\n throw new Error(`expected Uint8Array, got ${typeof data}`);\n return data;\n}\nexports.toBytes = toBytes;\n/**\n * Copies several Uint8Arrays into one.\n */\nfunction concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n if (!isBytes(a))\n throw new Error('Uint8Array expected');\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\nexports.concatBytes = concatBytes;\n// For runtime check if class implements interface\nclass Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nexports.Hash = Hash;\nconst toStr = {}.toString;\nfunction checkOpts(defaults, opts) {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexports.checkOpts = checkOpts;\nfunction wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexports.wrapConstructor = wrapConstructor;\nfunction wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexports.wrapConstructorWithOpts = wrapConstructorWithOpts;\nfunction wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexports.wrapXOFConstructorWithOpts = wrapXOFConstructorWithOpts;\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nfunction randomBytes(bytesLength = 32) {\n if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === 'function') {\n return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\nexports.randomBytes = randomBytes;\n//# sourceMappingURL=utils.js.map","\"use strict\";\n/*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.utils = exports.schnorr = exports.verify = exports.signSync = exports.sign = exports.getSharedSecret = exports.recoverPublicKey = exports.getPublicKey = exports.Signature = exports.Point = exports.CURVE = void 0;\nconst nodeCrypto = require(\"crypto\");\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst _3n = BigInt(3);\nconst _8n = BigInt(8);\nconst CURVE = Object.freeze({\n a: _0n,\n b: BigInt(7),\n P: BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f'),\n n: BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141'),\n h: _1n,\n Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),\n Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),\n beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n});\nexports.CURVE = CURVE;\nconst divNearest = (a, b) => (a + b / _2n) / b;\nconst endo = {\n beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n splitScalar(k) {\n const { n } = CURVE;\n const a1 = BigInt('0x3086d221a7d46bcde86c90e49284eb15');\n const b1 = -_1n * BigInt('0xe4437ed6010e88286f547fa90abfe4c3');\n const a2 = BigInt('0x114ca50f7a8e2f3f657c1108d9d44cfd8');\n const b2 = a1;\n const POW_2_128 = BigInt('0x100000000000000000000000000000000');\n const c1 = divNearest(b2 * k, n);\n const c2 = divNearest(-b1 * k, n);\n let k1 = mod(k - c1 * a1 - c2 * a2, n);\n let k2 = mod(-c1 * b1 - c2 * b2, n);\n const k1neg = k1 > POW_2_128;\n const k2neg = k2 > POW_2_128;\n if (k1neg)\n k1 = n - k1;\n if (k2neg)\n k2 = n - k2;\n if (k1 > POW_2_128 || k2 > POW_2_128) {\n throw new Error('splitScalarEndo: Endomorphism failed, k=' + k);\n }\n return { k1neg, k1, k2neg, k2 };\n },\n};\nconst fieldLen = 32;\nconst groupLen = 32;\nconst hashLen = 32;\nconst compressedLen = fieldLen + 1;\nconst uncompressedLen = 2 * fieldLen + 1;\nfunction weierstrass(x) {\n const { a, b } = CURVE;\n const x2 = mod(x * x);\n const x3 = mod(x2 * x);\n return mod(x3 + a * x + b);\n}\nconst USE_ENDOMORPHISM = CURVE.a === _0n;\nclass ShaError extends Error {\n constructor(message) {\n super(message);\n }\n}\nfunction assertJacPoint(other) {\n if (!(other instanceof JacobianPoint))\n throw new TypeError('JacobianPoint expected');\n}\nclass JacobianPoint {\n constructor(x, y, z) {\n this.x = x;\n this.y = y;\n this.z = z;\n }\n static fromAffine(p) {\n if (!(p instanceof Point)) {\n throw new TypeError('JacobianPoint#fromAffine: expected Point');\n }\n if (p.equals(Point.ZERO))\n return JacobianPoint.ZERO;\n return new JacobianPoint(p.x, p.y, _1n);\n }\n static toAffineBatch(points) {\n const toInv = invertBatch(points.map((p) => p.z));\n return points.map((p, i) => p.toAffine(toInv[i]));\n }\n static normalizeZ(points) {\n return JacobianPoint.toAffineBatch(points).map(JacobianPoint.fromAffine);\n }\n equals(other) {\n assertJacPoint(other);\n const { x: X1, y: Y1, z: Z1 } = this;\n const { x: X2, y: Y2, z: Z2 } = other;\n const Z1Z1 = mod(Z1 * Z1);\n const Z2Z2 = mod(Z2 * Z2);\n const U1 = mod(X1 * Z2Z2);\n const U2 = mod(X2 * Z1Z1);\n const S1 = mod(mod(Y1 * Z2) * Z2Z2);\n const S2 = mod(mod(Y2 * Z1) * Z1Z1);\n return U1 === U2 && S1 === S2;\n }\n negate() {\n return new JacobianPoint(this.x, mod(-this.y), this.z);\n }\n double() {\n const { x: X1, y: Y1, z: Z1 } = this;\n const A = mod(X1 * X1);\n const B = mod(Y1 * Y1);\n const C = mod(B * B);\n const x1b = X1 + B;\n const D = mod(_2n * (mod(x1b * x1b) - A - C));\n const E = mod(_3n * A);\n const F = mod(E * E);\n const X3 = mod(F - _2n * D);\n const Y3 = mod(E * (D - X3) - _8n * C);\n const Z3 = mod(_2n * Y1 * Z1);\n return new JacobianPoint(X3, Y3, Z3);\n }\n add(other) {\n assertJacPoint(other);\n const { x: X1, y: Y1, z: Z1 } = this;\n const { x: X2, y: Y2, z: Z2 } = other;\n if (X2 === _0n || Y2 === _0n)\n return this;\n if (X1 === _0n || Y1 === _0n)\n return other;\n const Z1Z1 = mod(Z1 * Z1);\n const Z2Z2 = mod(Z2 * Z2);\n const U1 = mod(X1 * Z2Z2);\n const U2 = mod(X2 * Z1Z1);\n const S1 = mod(mod(Y1 * Z2) * Z2Z2);\n const S2 = mod(mod(Y2 * Z1) * Z1Z1);\n const H = mod(U2 - U1);\n const r = mod(S2 - S1);\n if (H === _0n) {\n if (r === _0n) {\n return this.double();\n }\n else {\n return JacobianPoint.ZERO;\n }\n }\n const HH = mod(H * H);\n const HHH = mod(H * HH);\n const V = mod(U1 * HH);\n const X3 = mod(r * r - HHH - _2n * V);\n const Y3 = mod(r * (V - X3) - S1 * HHH);\n const Z3 = mod(Z1 * Z2 * H);\n return new JacobianPoint(X3, Y3, Z3);\n }\n subtract(other) {\n return this.add(other.negate());\n }\n multiplyUnsafe(scalar) {\n const P0 = JacobianPoint.ZERO;\n if (typeof scalar === 'bigint' && scalar === _0n)\n return P0;\n let n = normalizeScalar(scalar);\n if (n === _1n)\n return this;\n if (!USE_ENDOMORPHISM) {\n let p = P0;\n let d = this;\n while (n > _0n) {\n if (n & _1n)\n p = p.add(d);\n d = d.double();\n n >>= _1n;\n }\n return p;\n }\n let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let k1p = P0;\n let k2p = P0;\n let d = this;\n while (k1 > _0n || k2 > _0n) {\n if (k1 & _1n)\n k1p = k1p.add(d);\n if (k2 & _1n)\n k2p = k2p.add(d);\n d = d.double();\n k1 >>= _1n;\n k2 >>= _1n;\n }\n if (k1neg)\n k1p = k1p.negate();\n if (k2neg)\n k2p = k2p.negate();\n k2p = new JacobianPoint(mod(k2p.x * endo.beta), k2p.y, k2p.z);\n return k1p.add(k2p);\n }\n precomputeWindow(W) {\n const windows = USE_ENDOMORPHISM ? 128 / W + 1 : 256 / W + 1;\n const points = [];\n let p = this;\n let base = p;\n for (let window = 0; window < windows; window++) {\n base = p;\n points.push(base);\n for (let i = 1; i < 2 ** (W - 1); i++) {\n base = base.add(p);\n points.push(base);\n }\n p = base.double();\n }\n return points;\n }\n wNAF(n, affinePoint) {\n if (!affinePoint && this.equals(JacobianPoint.BASE))\n affinePoint = Point.BASE;\n const W = (affinePoint && affinePoint._WINDOW_SIZE) || 1;\n if (256 % W) {\n throw new Error('Point#wNAF: Invalid precomputation window, must be power of 2');\n }\n let precomputes = affinePoint && pointPrecomputes.get(affinePoint);\n if (!precomputes) {\n precomputes = this.precomputeWindow(W);\n if (affinePoint && W !== 1) {\n precomputes = JacobianPoint.normalizeZ(precomputes);\n pointPrecomputes.set(affinePoint, precomputes);\n }\n }\n let p = JacobianPoint.ZERO;\n let f = JacobianPoint.BASE;\n const windows = 1 + (USE_ENDOMORPHISM ? 128 / W : 256 / W);\n const windowSize = 2 ** (W - 1);\n const mask = BigInt(2 ** W - 1);\n const maxNumber = 2 ** W;\n const shiftBy = BigInt(W);\n for (let window = 0; window < windows; window++) {\n const offset = window * windowSize;\n let wbits = Number(n & mask);\n n >>= shiftBy;\n if (wbits > windowSize) {\n wbits -= maxNumber;\n n += _1n;\n }\n const offset1 = offset;\n const offset2 = offset + Math.abs(wbits) - 1;\n const cond1 = window % 2 !== 0;\n const cond2 = wbits < 0;\n if (wbits === 0) {\n f = f.add(constTimeNegate(cond1, precomputes[offset1]));\n }\n else {\n p = p.add(constTimeNegate(cond2, precomputes[offset2]));\n }\n }\n return { p, f };\n }\n multiply(scalar, affinePoint) {\n let n = normalizeScalar(scalar);\n let point;\n let fake;\n if (USE_ENDOMORPHISM) {\n const { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let { p: k1p, f: f1p } = this.wNAF(k1, affinePoint);\n let { p: k2p, f: f2p } = this.wNAF(k2, affinePoint);\n k1p = constTimeNegate(k1neg, k1p);\n k2p = constTimeNegate(k2neg, k2p);\n k2p = new JacobianPoint(mod(k2p.x * endo.beta), k2p.y, k2p.z);\n point = k1p.add(k2p);\n fake = f1p.add(f2p);\n }\n else {\n const { p, f } = this.wNAF(n, affinePoint);\n point = p;\n fake = f;\n }\n return JacobianPoint.normalizeZ([point, fake])[0];\n }\n toAffine(invZ) {\n const { x, y, z } = this;\n const is0 = this.equals(JacobianPoint.ZERO);\n if (invZ == null)\n invZ = is0 ? _8n : invert(z);\n const iz1 = invZ;\n const iz2 = mod(iz1 * iz1);\n const iz3 = mod(iz2 * iz1);\n const ax = mod(x * iz2);\n const ay = mod(y * iz3);\n const zz = mod(z * iz1);\n if (is0)\n return Point.ZERO;\n if (zz !== _1n)\n throw new Error('invZ was invalid');\n return new Point(ax, ay);\n }\n}\nJacobianPoint.BASE = new JacobianPoint(CURVE.Gx, CURVE.Gy, _1n);\nJacobianPoint.ZERO = new JacobianPoint(_0n, _1n, _0n);\nfunction constTimeNegate(condition, item) {\n const neg = item.negate();\n return condition ? neg : item;\n}\nconst pointPrecomputes = new WeakMap();\nclass Point {\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n _setWindowSize(windowSize) {\n this._WINDOW_SIZE = windowSize;\n pointPrecomputes.delete(this);\n }\n hasEvenY() {\n return this.y % _2n === _0n;\n }\n static fromCompressedHex(bytes) {\n const isShort = bytes.length === 32;\n const x = bytesToNumber(isShort ? bytes : bytes.subarray(1));\n if (!isValidFieldElement(x))\n throw new Error('Point is not on curve');\n const y2 = weierstrass(x);\n let y = sqrtMod(y2);\n const isYOdd = (y & _1n) === _1n;\n if (isShort) {\n if (isYOdd)\n y = mod(-y);\n }\n else {\n const isFirstByteOdd = (bytes[0] & 1) === 1;\n if (isFirstByteOdd !== isYOdd)\n y = mod(-y);\n }\n const point = new Point(x, y);\n point.assertValidity();\n return point;\n }\n static fromUncompressedHex(bytes) {\n const x = bytesToNumber(bytes.subarray(1, fieldLen + 1));\n const y = bytesToNumber(bytes.subarray(fieldLen + 1, fieldLen * 2 + 1));\n const point = new Point(x, y);\n point.assertValidity();\n return point;\n }\n static fromHex(hex) {\n const bytes = ensureBytes(hex);\n const len = bytes.length;\n const header = bytes[0];\n if (len === fieldLen)\n return this.fromCompressedHex(bytes);\n if (len === compressedLen && (header === 0x02 || header === 0x03)) {\n return this.fromCompressedHex(bytes);\n }\n if (len === uncompressedLen && header === 0x04)\n return this.fromUncompressedHex(bytes);\n throw new Error(`Point.fromHex: received invalid point. Expected 32-${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes, not ${len}`);\n }\n static fromPrivateKey(privateKey) {\n return Point.BASE.multiply(normalizePrivateKey(privateKey));\n }\n static fromSignature(msgHash, signature, recovery) {\n const { r, s } = normalizeSignature(signature);\n if (![0, 1, 2, 3].includes(recovery))\n throw new Error('Cannot recover: invalid recovery bit');\n const h = truncateHash(ensureBytes(msgHash));\n const { n } = CURVE;\n const radj = recovery === 2 || recovery === 3 ? r + n : r;\n const rinv = invert(radj, n);\n const u1 = mod(-h * rinv, n);\n const u2 = mod(s * rinv, n);\n const prefix = recovery & 1 ? '03' : '02';\n const R = Point.fromHex(prefix + numTo32bStr(radj));\n const Q = Point.BASE.multiplyAndAddUnsafe(R, u1, u2);\n if (!Q)\n throw new Error('Cannot recover signature: point at infinify');\n Q.assertValidity();\n return Q;\n }\n toRawBytes(isCompressed = false) {\n return hexToBytes(this.toHex(isCompressed));\n }\n toHex(isCompressed = false) {\n const x = numTo32bStr(this.x);\n if (isCompressed) {\n const prefix = this.hasEvenY() ? '02' : '03';\n return `${prefix}${x}`;\n }\n else {\n return `04${x}${numTo32bStr(this.y)}`;\n }\n }\n toHexX() {\n return this.toHex(true).slice(2);\n }\n toRawX() {\n return this.toRawBytes(true).slice(1);\n }\n assertValidity() {\n const msg = 'Point is not on elliptic curve';\n const { x, y } = this;\n if (!isValidFieldElement(x) || !isValidFieldElement(y))\n throw new Error(msg);\n const left = mod(y * y);\n const right = weierstrass(x);\n if (mod(left - right) !== _0n)\n throw new Error(msg);\n }\n equals(other) {\n return this.x === other.x && this.y === other.y;\n }\n negate() {\n return new Point(this.x, mod(-this.y));\n }\n double() {\n return JacobianPoint.fromAffine(this).double().toAffine();\n }\n add(other) {\n return JacobianPoint.fromAffine(this).add(JacobianPoint.fromAffine(other)).toAffine();\n }\n subtract(other) {\n return this.add(other.negate());\n }\n multiply(scalar) {\n return JacobianPoint.fromAffine(this).multiply(scalar, this).toAffine();\n }\n multiplyAndAddUnsafe(Q, a, b) {\n const P = JacobianPoint.fromAffine(this);\n const aP = a === _0n || a === _1n || this !== Point.BASE ? P.multiplyUnsafe(a) : P.multiply(a);\n const bQ = JacobianPoint.fromAffine(Q).multiplyUnsafe(b);\n const sum = aP.add(bQ);\n return sum.equals(JacobianPoint.ZERO) ? undefined : sum.toAffine();\n }\n}\nexports.Point = Point;\nPoint.BASE = new Point(CURVE.Gx, CURVE.Gy);\nPoint.ZERO = new Point(_0n, _0n);\nfunction sliceDER(s) {\n return Number.parseInt(s[0], 16) >= 8 ? '00' + s : s;\n}\nfunction parseDERInt(data) {\n if (data.length < 2 || data[0] !== 0x02) {\n throw new Error(`Invalid signature integer tag: ${bytesToHex(data)}`);\n }\n const len = data[1];\n const res = data.subarray(2, len + 2);\n if (!len || res.length !== len) {\n throw new Error(`Invalid signature integer: wrong length`);\n }\n if (res[0] === 0x00 && res[1] <= 0x7f) {\n throw new Error('Invalid signature integer: trailing length');\n }\n return { data: bytesToNumber(res), left: data.subarray(len + 2) };\n}\nfunction parseDERSignature(data) {\n if (data.length < 2 || data[0] != 0x30) {\n throw new Error(`Invalid signature tag: ${bytesToHex(data)}`);\n }\n if (data[1] !== data.length - 2) {\n throw new Error('Invalid signature: incorrect length');\n }\n const { data: r, left: sBytes } = parseDERInt(data.subarray(2));\n const { data: s, left: rBytesLeft } = parseDERInt(sBytes);\n if (rBytesLeft.length) {\n throw new Error(`Invalid signature: left bytes after parsing: ${bytesToHex(rBytesLeft)}`);\n }\n return { r, s };\n}\nclass Signature {\n constructor(r, s) {\n this.r = r;\n this.s = s;\n this.assertValidity();\n }\n static fromCompact(hex) {\n const arr = hex instanceof Uint8Array;\n const name = 'Signature.fromCompact';\n if (typeof hex !== 'string' && !arr)\n throw new TypeError(`${name}: Expected string or Uint8Array`);\n const str = arr ? bytesToHex(hex) : hex;\n if (str.length !== 128)\n throw new Error(`${name}: Expected 64-byte hex`);\n return new Signature(hexToNumber(str.slice(0, 64)), hexToNumber(str.slice(64, 128)));\n }\n static fromDER(hex) {\n const arr = hex instanceof Uint8Array;\n if (typeof hex !== 'string' && !arr)\n throw new TypeError(`Signature.fromDER: Expected string or Uint8Array`);\n const { r, s } = parseDERSignature(arr ? hex : hexToBytes(hex));\n return new Signature(r, s);\n }\n static fromHex(hex) {\n return this.fromDER(hex);\n }\n assertValidity() {\n const { r, s } = this;\n if (!isWithinCurveOrder(r))\n throw new Error('Invalid Signature: r must be 0 < r < n');\n if (!isWithinCurveOrder(s))\n throw new Error('Invalid Signature: s must be 0 < s < n');\n }\n hasHighS() {\n const HALF = CURVE.n >> _1n;\n return this.s > HALF;\n }\n normalizeS() {\n return this.hasHighS() ? new Signature(this.r, mod(-this.s, CURVE.n)) : this;\n }\n toDERRawBytes() {\n return hexToBytes(this.toDERHex());\n }\n toDERHex() {\n const sHex = sliceDER(numberToHexUnpadded(this.s));\n const rHex = sliceDER(numberToHexUnpadded(this.r));\n const sHexL = sHex.length / 2;\n const rHexL = rHex.length / 2;\n const sLen = numberToHexUnpadded(sHexL);\n const rLen = numberToHexUnpadded(rHexL);\n const length = numberToHexUnpadded(rHexL + sHexL + 4);\n return `30${length}02${rLen}${rHex}02${sLen}${sHex}`;\n }\n toRawBytes() {\n return this.toDERRawBytes();\n }\n toHex() {\n return this.toDERHex();\n }\n toCompactRawBytes() {\n return hexToBytes(this.toCompactHex());\n }\n toCompactHex() {\n return numTo32bStr(this.r) + numTo32bStr(this.s);\n }\n}\nexports.Signature = Signature;\nfunction concatBytes(...arrays) {\n if (!arrays.every((b) => b instanceof Uint8Array))\n throw new Error('Uint8Array list expected');\n if (arrays.length === 1)\n return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\nfunction bytesToHex(uint8a) {\n if (!(uint8a instanceof Uint8Array))\n throw new Error('Expected Uint8Array');\n let hex = '';\n for (let i = 0; i < uint8a.length; i++) {\n hex += hexes[uint8a[i]];\n }\n return hex;\n}\nconst POW_2_256 = BigInt('0x10000000000000000000000000000000000000000000000000000000000000000');\nfunction numTo32bStr(num) {\n if (typeof num !== 'bigint')\n throw new Error('Expected bigint');\n if (!(_0n <= num && num < POW_2_256))\n throw new Error('Expected number 0 <= n < 2^256');\n return num.toString(16).padStart(64, '0');\n}\nfunction numTo32b(num) {\n const b = hexToBytes(numTo32bStr(num));\n if (b.length !== 32)\n throw new Error('Error: expected 32 bytes');\n return b;\n}\nfunction numberToHexUnpadded(num) {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n}\nfunction hexToNumber(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToNumber: expected string, got ' + typeof hex);\n }\n return BigInt(`0x${hex}`);\n}\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n }\n if (hex.length % 2)\n throw new Error('hexToBytes: received invalid unpadded hex' + hex.length);\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\nfunction bytesToNumber(bytes) {\n return hexToNumber(bytesToHex(bytes));\n}\nfunction ensureBytes(hex) {\n return hex instanceof Uint8Array ? Uint8Array.from(hex) : hexToBytes(hex);\n}\nfunction normalizeScalar(num) {\n if (typeof num === 'number' && Number.isSafeInteger(num) && num > 0)\n return BigInt(num);\n if (typeof num === 'bigint' && isWithinCurveOrder(num))\n return num;\n throw new TypeError('Expected valid private scalar: 0 < scalar < curve.n');\n}\nfunction mod(a, b = CURVE.P) {\n const result = a % b;\n return result >= _0n ? result : b + result;\n}\nfunction pow2(x, power) {\n const { P } = CURVE;\n let res = x;\n while (power-- > _0n) {\n res *= res;\n res %= P;\n }\n return res;\n}\nfunction sqrtMod(x) {\n const { P } = CURVE;\n const _6n = BigInt(6);\n const _11n = BigInt(11);\n const _22n = BigInt(22);\n const _23n = BigInt(23);\n const _44n = BigInt(44);\n const _88n = BigInt(88);\n const b2 = (x * x * x) % P;\n const b3 = (b2 * b2 * x) % P;\n const b6 = (pow2(b3, _3n) * b3) % P;\n const b9 = (pow2(b6, _3n) * b3) % P;\n const b11 = (pow2(b9, _2n) * b2) % P;\n const b22 = (pow2(b11, _11n) * b11) % P;\n const b44 = (pow2(b22, _22n) * b22) % P;\n const b88 = (pow2(b44, _44n) * b44) % P;\n const b176 = (pow2(b88, _88n) * b88) % P;\n const b220 = (pow2(b176, _44n) * b44) % P;\n const b223 = (pow2(b220, _3n) * b3) % P;\n const t1 = (pow2(b223, _23n) * b22) % P;\n const t2 = (pow2(t1, _6n) * b2) % P;\n const rt = pow2(t2, _2n);\n const xc = (rt * rt) % P;\n if (xc !== x)\n throw new Error('Cannot find square root');\n return rt;\n}\nfunction invert(number, modulo = CURVE.P) {\n if (number === _0n || modulo <= _0n) {\n throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`);\n }\n let a = mod(number, modulo);\n let b = modulo;\n let x = _0n, y = _1n, u = _1n, v = _0n;\n while (a !== _0n) {\n const q = b / a;\n const r = b % a;\n const m = x - u * q;\n const n = y - v * q;\n b = a, a = r, x = u, y = v, u = m, v = n;\n }\n const gcd = b;\n if (gcd !== _1n)\n throw new Error('invert: does not exist');\n return mod(x, modulo);\n}\nfunction invertBatch(nums, p = CURVE.P) {\n const scratch = new Array(nums.length);\n const lastMultiplied = nums.reduce((acc, num, i) => {\n if (num === _0n)\n return acc;\n scratch[i] = acc;\n return mod(acc * num, p);\n }, _1n);\n const inverted = invert(lastMultiplied, p);\n nums.reduceRight((acc, num, i) => {\n if (num === _0n)\n return acc;\n scratch[i] = mod(acc * scratch[i], p);\n return mod(acc * num, p);\n }, inverted);\n return scratch;\n}\nfunction bits2int_2(bytes) {\n const delta = bytes.length * 8 - groupLen * 8;\n const num = bytesToNumber(bytes);\n return delta > 0 ? num >> BigInt(delta) : num;\n}\nfunction truncateHash(hash, truncateOnly = false) {\n const h = bits2int_2(hash);\n if (truncateOnly)\n return h;\n const { n } = CURVE;\n return h >= n ? h - n : h;\n}\nlet _sha256Sync;\nlet _hmacSha256Sync;\nclass HmacDrbg {\n constructor(hashLen, qByteLen) {\n this.hashLen = hashLen;\n this.qByteLen = qByteLen;\n if (typeof hashLen !== 'number' || hashLen < 2)\n throw new Error('hashLen must be a number');\n if (typeof qByteLen !== 'number' || qByteLen < 2)\n throw new Error('qByteLen must be a number');\n this.v = new Uint8Array(hashLen).fill(1);\n this.k = new Uint8Array(hashLen).fill(0);\n this.counter = 0;\n }\n hmac(...values) {\n return exports.utils.hmacSha256(this.k, ...values);\n }\n hmacSync(...values) {\n return _hmacSha256Sync(this.k, ...values);\n }\n checkSync() {\n if (typeof _hmacSha256Sync !== 'function')\n throw new ShaError('hmacSha256Sync needs to be set');\n }\n incr() {\n if (this.counter >= 1000)\n throw new Error('Tried 1,000 k values for sign(), all were invalid');\n this.counter += 1;\n }\n async reseed(seed = new Uint8Array()) {\n this.k = await this.hmac(this.v, Uint8Array.from([0x00]), seed);\n this.v = await this.hmac(this.v);\n if (seed.length === 0)\n return;\n this.k = await this.hmac(this.v, Uint8Array.from([0x01]), seed);\n this.v = await this.hmac(this.v);\n }\n reseedSync(seed = new Uint8Array()) {\n this.checkSync();\n this.k = this.hmacSync(this.v, Uint8Array.from([0x00]), seed);\n this.v = this.hmacSync(this.v);\n if (seed.length === 0)\n return;\n this.k = this.hmacSync(this.v, Uint8Array.from([0x01]), seed);\n this.v = this.hmacSync(this.v);\n }\n async generate() {\n this.incr();\n let len = 0;\n const out = [];\n while (len < this.qByteLen) {\n this.v = await this.hmac(this.v);\n const sl = this.v.slice();\n out.push(sl);\n len += this.v.length;\n }\n return concatBytes(...out);\n }\n generateSync() {\n this.checkSync();\n this.incr();\n let len = 0;\n const out = [];\n while (len < this.qByteLen) {\n this.v = this.hmacSync(this.v);\n const sl = this.v.slice();\n out.push(sl);\n len += this.v.length;\n }\n return concatBytes(...out);\n }\n}\nfunction isWithinCurveOrder(num) {\n return _0n < num && num < CURVE.n;\n}\nfunction isValidFieldElement(num) {\n return _0n < num && num < CURVE.P;\n}\nfunction kmdToSig(kBytes, m, d, lowS = true) {\n const { n } = CURVE;\n const k = truncateHash(kBytes, true);\n if (!isWithinCurveOrder(k))\n return;\n const kinv = invert(k, n);\n const q = Point.BASE.multiply(k);\n const r = mod(q.x, n);\n if (r === _0n)\n return;\n const s = mod(kinv * mod(m + d * r, n), n);\n if (s === _0n)\n return;\n let sig = new Signature(r, s);\n let recovery = (q.x === sig.r ? 0 : 2) | Number(q.y & _1n);\n if (lowS && sig.hasHighS()) {\n sig = sig.normalizeS();\n recovery ^= 1;\n }\n return { sig, recovery };\n}\nfunction normalizePrivateKey(key) {\n let num;\n if (typeof key === 'bigint') {\n num = key;\n }\n else if (typeof key === 'number' && Number.isSafeInteger(key) && key > 0) {\n num = BigInt(key);\n }\n else if (typeof key === 'string') {\n if (key.length !== 2 * groupLen)\n throw new Error('Expected 32 bytes of private key');\n num = hexToNumber(key);\n }\n else if (key instanceof Uint8Array) {\n if (key.length !== groupLen)\n throw new Error('Expected 32 bytes of private key');\n num = bytesToNumber(key);\n }\n else {\n throw new TypeError('Expected valid private key');\n }\n if (!isWithinCurveOrder(num))\n throw new Error('Expected private key: 0 < key < n');\n return num;\n}\nfunction normalizePublicKey(publicKey) {\n if (publicKey instanceof Point) {\n publicKey.assertValidity();\n return publicKey;\n }\n else {\n return Point.fromHex(publicKey);\n }\n}\nfunction normalizeSignature(signature) {\n if (signature instanceof Signature) {\n signature.assertValidity();\n return signature;\n }\n try {\n return Signature.fromDER(signature);\n }\n catch (error) {\n return Signature.fromCompact(signature);\n }\n}\nfunction getPublicKey(privateKey, isCompressed = false) {\n return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed);\n}\nexports.getPublicKey = getPublicKey;\nfunction recoverPublicKey(msgHash, signature, recovery, isCompressed = false) {\n return Point.fromSignature(msgHash, signature, recovery).toRawBytes(isCompressed);\n}\nexports.recoverPublicKey = recoverPublicKey;\nfunction isProbPub(item) {\n const arr = item instanceof Uint8Array;\n const str = typeof item === 'string';\n const len = (arr || str) && item.length;\n if (arr)\n return len === compressedLen || len === uncompressedLen;\n if (str)\n return len === compressedLen * 2 || len === uncompressedLen * 2;\n if (item instanceof Point)\n return true;\n return false;\n}\nfunction getSharedSecret(privateA, publicB, isCompressed = false) {\n if (isProbPub(privateA))\n throw new TypeError('getSharedSecret: first arg must be private key');\n if (!isProbPub(publicB))\n throw new TypeError('getSharedSecret: second arg must be public key');\n const b = normalizePublicKey(publicB);\n b.assertValidity();\n return b.multiply(normalizePrivateKey(privateA)).toRawBytes(isCompressed);\n}\nexports.getSharedSecret = getSharedSecret;\nfunction bits2int(bytes) {\n const slice = bytes.length > fieldLen ? bytes.slice(0, fieldLen) : bytes;\n return bytesToNumber(slice);\n}\nfunction bits2octets(bytes) {\n const z1 = bits2int(bytes);\n const z2 = mod(z1, CURVE.n);\n return int2octets(z2 < _0n ? z1 : z2);\n}\nfunction int2octets(num) {\n return numTo32b(num);\n}\nfunction initSigArgs(msgHash, privateKey, extraEntropy) {\n if (msgHash == null)\n throw new Error(`sign: expected valid message hash, not \"${msgHash}\"`);\n const h1 = ensureBytes(msgHash);\n const d = normalizePrivateKey(privateKey);\n const seedArgs = [int2octets(d), bits2octets(h1)];\n if (extraEntropy != null) {\n if (extraEntropy === true)\n extraEntropy = exports.utils.randomBytes(fieldLen);\n const e = ensureBytes(extraEntropy);\n if (e.length !== fieldLen)\n throw new Error(`sign: Expected ${fieldLen} bytes of extra data`);\n seedArgs.push(e);\n }\n const seed = concatBytes(...seedArgs);\n const m = bits2int(h1);\n return { seed, m, d };\n}\nfunction finalizeSig(recSig, opts) {\n const { sig, recovery } = recSig;\n const { der, recovered } = Object.assign({ canonical: true, der: true }, opts);\n const hashed = der ? sig.toDERRawBytes() : sig.toCompactRawBytes();\n return recovered ? [hashed, recovery] : hashed;\n}\nasync function sign(msgHash, privKey, opts = {}) {\n const { seed, m, d } = initSigArgs(msgHash, privKey, opts.extraEntropy);\n const drbg = new HmacDrbg(hashLen, groupLen);\n await drbg.reseed(seed);\n let sig;\n while (!(sig = kmdToSig(await drbg.generate(), m, d, opts.canonical)))\n await drbg.reseed();\n return finalizeSig(sig, opts);\n}\nexports.sign = sign;\nfunction signSync(msgHash, privKey, opts = {}) {\n const { seed, m, d } = initSigArgs(msgHash, privKey, opts.extraEntropy);\n const drbg = new HmacDrbg(hashLen, groupLen);\n drbg.reseedSync(seed);\n let sig;\n while (!(sig = kmdToSig(drbg.generateSync(), m, d, opts.canonical)))\n drbg.reseedSync();\n return finalizeSig(sig, opts);\n}\nexports.signSync = signSync;\nconst vopts = { strict: true };\nfunction verify(signature, msgHash, publicKey, opts = vopts) {\n let sig;\n try {\n sig = normalizeSignature(signature);\n msgHash = ensureBytes(msgHash);\n }\n catch (error) {\n return false;\n }\n const { r, s } = sig;\n if (opts.strict && sig.hasHighS())\n return false;\n const h = truncateHash(msgHash);\n let P;\n try {\n P = normalizePublicKey(publicKey);\n }\n catch (error) {\n return false;\n }\n const { n } = CURVE;\n const sinv = invert(s, n);\n const u1 = mod(h * sinv, n);\n const u2 = mod(r * sinv, n);\n const R = Point.BASE.multiplyAndAddUnsafe(P, u1, u2);\n if (!R)\n return false;\n const v = mod(R.x, n);\n return v === r;\n}\nexports.verify = verify;\nfunction schnorrChallengeFinalize(ch) {\n return mod(bytesToNumber(ch), CURVE.n);\n}\nclass SchnorrSignature {\n constructor(r, s) {\n this.r = r;\n this.s = s;\n this.assertValidity();\n }\n static fromHex(hex) {\n const bytes = ensureBytes(hex);\n if (bytes.length !== 64)\n throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${bytes.length}`);\n const r = bytesToNumber(bytes.subarray(0, 32));\n const s = bytesToNumber(bytes.subarray(32, 64));\n return new SchnorrSignature(r, s);\n }\n assertValidity() {\n const { r, s } = this;\n if (!isValidFieldElement(r) || !isWithinCurveOrder(s))\n throw new Error('Invalid signature');\n }\n toHex() {\n return numTo32bStr(this.r) + numTo32bStr(this.s);\n }\n toRawBytes() {\n return hexToBytes(this.toHex());\n }\n}\nfunction schnorrGetPublicKey(privateKey) {\n return Point.fromPrivateKey(privateKey).toRawX();\n}\nclass InternalSchnorrSignature {\n constructor(message, privateKey, auxRand = exports.utils.randomBytes()) {\n if (message == null)\n throw new TypeError(`sign: Expected valid message, not \"${message}\"`);\n this.m = ensureBytes(message);\n const { x, scalar } = this.getScalar(normalizePrivateKey(privateKey));\n this.px = x;\n this.d = scalar;\n this.rand = ensureBytes(auxRand);\n if (this.rand.length !== 32)\n throw new TypeError('sign: Expected 32 bytes of aux randomness');\n }\n getScalar(priv) {\n const point = Point.fromPrivateKey(priv);\n const scalar = point.hasEvenY() ? priv : CURVE.n - priv;\n return { point, scalar, x: point.toRawX() };\n }\n initNonce(d, t0h) {\n return numTo32b(d ^ bytesToNumber(t0h));\n }\n finalizeNonce(k0h) {\n const k0 = mod(bytesToNumber(k0h), CURVE.n);\n if (k0 === _0n)\n throw new Error('sign: Creation of signature failed. k is zero');\n const { point: R, x: rx, scalar: k } = this.getScalar(k0);\n return { R, rx, k };\n }\n finalizeSig(R, k, e, d) {\n return new SchnorrSignature(R.x, mod(k + e * d, CURVE.n)).toRawBytes();\n }\n error() {\n throw new Error('sign: Invalid signature produced');\n }\n async calc() {\n const { m, d, px, rand } = this;\n const tag = exports.utils.taggedHash;\n const t = this.initNonce(d, await tag(TAGS.aux, rand));\n const { R, rx, k } = this.finalizeNonce(await tag(TAGS.nonce, t, px, m));\n const e = schnorrChallengeFinalize(await tag(TAGS.challenge, rx, px, m));\n const sig = this.finalizeSig(R, k, e, d);\n if (!(await schnorrVerify(sig, m, px)))\n this.error();\n return sig;\n }\n calcSync() {\n const { m, d, px, rand } = this;\n const tag = exports.utils.taggedHashSync;\n const t = this.initNonce(d, tag(TAGS.aux, rand));\n const { R, rx, k } = this.finalizeNonce(tag(TAGS.nonce, t, px, m));\n const e = schnorrChallengeFinalize(tag(TAGS.challenge, rx, px, m));\n const sig = this.finalizeSig(R, k, e, d);\n if (!schnorrVerifySync(sig, m, px))\n this.error();\n return sig;\n }\n}\nasync function schnorrSign(msg, privKey, auxRand) {\n return new InternalSchnorrSignature(msg, privKey, auxRand).calc();\n}\nfunction schnorrSignSync(msg, privKey, auxRand) {\n return new InternalSchnorrSignature(msg, privKey, auxRand).calcSync();\n}\nfunction initSchnorrVerify(signature, message, publicKey) {\n const raw = signature instanceof SchnorrSignature;\n const sig = raw ? signature : SchnorrSignature.fromHex(signature);\n if (raw)\n sig.assertValidity();\n return {\n ...sig,\n m: ensureBytes(message),\n P: normalizePublicKey(publicKey),\n };\n}\nfunction finalizeSchnorrVerify(r, P, s, e) {\n const R = Point.BASE.multiplyAndAddUnsafe(P, normalizePrivateKey(s), mod(-e, CURVE.n));\n if (!R || !R.hasEvenY() || R.x !== r)\n return false;\n return true;\n}\nasync function schnorrVerify(signature, message, publicKey) {\n try {\n const { r, s, m, P } = initSchnorrVerify(signature, message, publicKey);\n const e = schnorrChallengeFinalize(await exports.utils.taggedHash(TAGS.challenge, numTo32b(r), P.toRawX(), m));\n return finalizeSchnorrVerify(r, P, s, e);\n }\n catch (error) {\n return false;\n }\n}\nfunction schnorrVerifySync(signature, message, publicKey) {\n try {\n const { r, s, m, P } = initSchnorrVerify(signature, message, publicKey);\n const e = schnorrChallengeFinalize(exports.utils.taggedHashSync(TAGS.challenge, numTo32b(r), P.toRawX(), m));\n return finalizeSchnorrVerify(r, P, s, e);\n }\n catch (error) {\n if (error instanceof ShaError)\n throw error;\n return false;\n }\n}\nexports.schnorr = {\n Signature: SchnorrSignature,\n getPublicKey: schnorrGetPublicKey,\n sign: schnorrSign,\n verify: schnorrVerify,\n signSync: schnorrSignSync,\n verifySync: schnorrVerifySync,\n};\nPoint.BASE._setWindowSize(8);\nconst crypto = {\n node: nodeCrypto,\n web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,\n};\nconst TAGS = {\n challenge: 'BIP0340/challenge',\n aux: 'BIP0340/aux',\n nonce: 'BIP0340/nonce',\n};\nconst TAGGED_HASH_PREFIXES = {};\nexports.utils = {\n bytesToHex,\n hexToBytes,\n concatBytes,\n mod,\n invert,\n isValidPrivateKey(privateKey) {\n try {\n normalizePrivateKey(privateKey);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n _bigintTo32Bytes: numTo32b,\n _normalizePrivateKey: normalizePrivateKey,\n hashToPrivateKey: (hash) => {\n hash = ensureBytes(hash);\n const minLen = groupLen + 8;\n if (hash.length < minLen || hash.length > 1024) {\n throw new Error(`Expected valid bytes of private key as per FIPS 186`);\n }\n const num = mod(bytesToNumber(hash), CURVE.n - _1n) + _1n;\n return numTo32b(num);\n },\n randomBytes: (bytesLength = 32) => {\n if (crypto.web) {\n return crypto.web.getRandomValues(new Uint8Array(bytesLength));\n }\n else if (crypto.node) {\n const { randomBytes } = crypto.node;\n return Uint8Array.from(randomBytes(bytesLength));\n }\n else {\n throw new Error(\"The environment doesn't have randomBytes function\");\n }\n },\n randomPrivateKey: () => exports.utils.hashToPrivateKey(exports.utils.randomBytes(groupLen + 8)),\n precompute(windowSize = 8, point = Point.BASE) {\n const cached = point === Point.BASE ? point : new Point(point.x, point.y);\n cached._setWindowSize(windowSize);\n cached.multiply(_3n);\n return cached;\n },\n sha256: async (...messages) => {\n if (crypto.web) {\n const buffer = await crypto.web.subtle.digest('SHA-256', concatBytes(...messages));\n return new Uint8Array(buffer);\n }\n else if (crypto.node) {\n const { createHash } = crypto.node;\n const hash = createHash('sha256');\n messages.forEach((m) => hash.update(m));\n return Uint8Array.from(hash.digest());\n }\n else {\n throw new Error(\"The environment doesn't have sha256 function\");\n }\n },\n hmacSha256: async (key, ...messages) => {\n if (crypto.web) {\n const ckey = await crypto.web.subtle.importKey('raw', key, { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);\n const message = concatBytes(...messages);\n const buffer = await crypto.web.subtle.sign('HMAC', ckey, message);\n return new Uint8Array(buffer);\n }\n else if (crypto.node) {\n const { createHmac } = crypto.node;\n const hash = createHmac('sha256', key);\n messages.forEach((m) => hash.update(m));\n return Uint8Array.from(hash.digest());\n }\n else {\n throw new Error(\"The environment doesn't have hmac-sha256 function\");\n }\n },\n sha256Sync: undefined,\n hmacSha256Sync: undefined,\n taggedHash: async (tag, ...messages) => {\n let tagP = TAGGED_HASH_PREFIXES[tag];\n if (tagP === undefined) {\n const tagH = await exports.utils.sha256(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n tagP = concatBytes(tagH, tagH);\n TAGGED_HASH_PREFIXES[tag] = tagP;\n }\n return exports.utils.sha256(tagP, ...messages);\n },\n taggedHashSync: (tag, ...messages) => {\n if (typeof _sha256Sync !== 'function')\n throw new ShaError('sha256Sync is undefined, you need to set it');\n let tagP = TAGGED_HASH_PREFIXES[tag];\n if (tagP === undefined) {\n const tagH = _sha256Sync(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n tagP = concatBytes(tagH, tagH);\n TAGGED_HASH_PREFIXES[tag] = tagP;\n }\n return _sha256Sync(tagP, ...messages);\n },\n _JacobianPoint: JacobianPoint,\n};\nObject.defineProperties(exports.utils, {\n sha256Sync: {\n configurable: false,\n get() {\n return _sha256Sync;\n },\n set(val) {\n if (!_sha256Sync)\n _sha256Sync = val;\n },\n },\n hmacSha256Sync: {\n configurable: false,\n get() {\n return _hmacSha256Sync;\n },\n set(val) {\n if (!_hmacSha256Sync)\n _hmacSha256Sync = val;\n },\n },\n});\n","// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global);\n\n var support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = global.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!global.fetch) {\n global.fetch = fetch;\n global.Headers = Headers;\n global.Request = Request;\n global.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n})({});\n})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\nvar int_1 = require(\"@stablelib/int\");\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\nexports.readInt16BE = readInt16BE;\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\nexports.readUint16BE = readUint16BE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\nexports.readInt16LE = readInt16LE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\nexports.readUint16LE = readUint16LE;\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\nexports.writeUint16BE = writeUint16BE;\nexports.writeInt16BE = writeUint16BE;\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\nexports.writeUint16LE = writeUint16LE;\nexports.writeInt16LE = writeUint16LE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\nexports.readInt32BE = readInt32BE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\nexports.readUint32BE = readUint32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\nexports.readInt32LE = readInt32LE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\nexports.readUint32LE = readUint32LE;\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\nexports.writeUint32BE = writeUint32BE;\nexports.writeInt32BE = writeUint32BE;\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\nexports.writeUint32LE = writeUint32LE;\nexports.writeInt32LE = writeUint32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readInt32BE(array, offset);\n var lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64BE = readInt64BE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readUint32BE(array, offset);\n var lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64BE = readUint64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readInt32LE(array, offset);\n var hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64LE = readInt64LE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readUint32LE(array, offset);\n var hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64LE = readUint64LE;\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64BE = writeUint64BE;\nexports.writeInt64BE = writeUint64BE;\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64LE = writeUint64LE;\nexports.writeInt64LE = writeUint64LE;\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintBE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintBE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintBE: array is too short for the given bitLength\");\n }\n var result = 0;\n var mul = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintBE = readUintBE;\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintLE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintLE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintLE: array is too short for the given bitLength\");\n }\n var result = 0;\n var mul = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintLE = readUintLE;\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintBE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n var div = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintBE = writeUintBE;\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintLE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n var div = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintLE = writeUintLE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\nexports.readFloat32BE = readFloat32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\nexports.readFloat32LE = readFloat32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\nexports.readFloat64BE = readFloat64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\nexports.readFloat64LE = readFloat64LE;\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\nexports.writeFloat32BE = writeFloat32BE;\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\nexports.writeFloat32LE = writeFloat32LE;\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\nexports.writeFloat64BE = writeFloat64BE;\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\nexports.writeFloat64LE = writeFloat64LE;\n//# sourceMappingURL=binary.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package chacha implements ChaCha stream cipher.\n */\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n// Number of ChaCha rounds (ChaCha20).\nvar ROUNDS = 20;\n// Applies the ChaCha core function to 16-byte input,\n// 32-byte key key, and puts the result into 64-byte array out.\nfunction core(out, input, key) {\n var j0 = 0x61707865; // \"expa\" -- ChaCha's \"sigma\" constant\n var j1 = 0x3320646E; // \"nd 3\" for 32-byte keys\n var j2 = 0x79622D32; // \"2-by\"\n var j3 = 0x6B206574; // \"te k\"\n var j4 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n var j5 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n var j6 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n var j7 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n var j8 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n var j9 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n var j10 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n var j11 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n var j12 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n var j13 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n var j14 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n var j15 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n var x0 = j0;\n var x1 = j1;\n var x2 = j2;\n var x3 = j3;\n var x4 = j4;\n var x5 = j5;\n var x6 = j6;\n var x7 = j7;\n var x8 = j8;\n var x9 = j9;\n var x10 = j10;\n var x11 = j11;\n var x12 = j12;\n var x13 = j13;\n var x14 = j14;\n var x15 = j15;\n for (var i = 0; i < ROUNDS; i += 2) {\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n }\n binary_1.writeUint32LE(x0 + j0 | 0, out, 0);\n binary_1.writeUint32LE(x1 + j1 | 0, out, 4);\n binary_1.writeUint32LE(x2 + j2 | 0, out, 8);\n binary_1.writeUint32LE(x3 + j3 | 0, out, 12);\n binary_1.writeUint32LE(x4 + j4 | 0, out, 16);\n binary_1.writeUint32LE(x5 + j5 | 0, out, 20);\n binary_1.writeUint32LE(x6 + j6 | 0, out, 24);\n binary_1.writeUint32LE(x7 + j7 | 0, out, 28);\n binary_1.writeUint32LE(x8 + j8 | 0, out, 32);\n binary_1.writeUint32LE(x9 + j9 | 0, out, 36);\n binary_1.writeUint32LE(x10 + j10 | 0, out, 40);\n binary_1.writeUint32LE(x11 + j11 | 0, out, 44);\n binary_1.writeUint32LE(x12 + j12 | 0, out, 48);\n binary_1.writeUint32LE(x13 + j13 | 0, out, 52);\n binary_1.writeUint32LE(x14 + j14 | 0, out, 56);\n binary_1.writeUint32LE(x15 + j15 | 0, out, 60);\n}\n/**\n * Encrypt src with ChaCha20 stream generated for the given 32-byte key and\n * 8-byte (as in original implementation) or 12-byte (as in RFC7539) nonce and\n * write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * If nonce is 12 bytes, users should not encrypt more than 256 GiB with the\n * same key and nonce, otherwise the stream will repeat. The function will\n * throw error if counter overflows to prevent this.\n *\n * If nonce is 8 bytes, the output is practically unlimited (2^70 bytes, which\n * is more than a million petabytes). However, it is not recommended to\n * generate 8-byte nonces randomly, as the chance of collision is high.\n *\n * Never use the same key and nonce to encrypt more than one message.\n *\n * If nonceInplaceCounterLength is not 0, the nonce is assumed to be a 16-byte\n * array with stream counter in first nonceInplaceCounterLength bytes and nonce\n * in the last remaining bytes. The counter will be incremented inplace for\n * each ChaCha block. This is useful if you need to encrypt one stream of data\n * in chunks.\n */\nfunction streamXOR(key, nonce, src, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n // We only support 256-bit keys.\n if (key.length !== 32) {\n throw new Error(\"ChaCha: key size must be 32 bytes\");\n }\n if (dst.length < src.length) {\n throw new Error(\"ChaCha: destination is shorter than source\");\n }\n var nc;\n var counterLength;\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 8 && nonce.length !== 12) {\n throw new Error(\"ChaCha nonce must be 8 or 12 bytes\");\n }\n nc = new Uint8Array(16);\n // First counterLength bytes of nc are counter, starting with zero.\n counterLength = nc.length - nonce.length;\n // Last bytes of nc after counterLength are nonce, set them.\n nc.set(nonce, counterLength);\n }\n else {\n if (nonce.length !== 16) {\n throw new Error(\"ChaCha nonce with counter must be 16 bytes\");\n }\n // This will update passed nonce with counter inplace.\n nc = nonce;\n counterLength = nonceInplaceCounterLength;\n }\n // Allocate temporary space for ChaCha block.\n var block = new Uint8Array(64);\n for (var i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n // XOR block bytes with src into dst.\n for (var j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n // Increment counter.\n incrementCounter(nc, 0, counterLength);\n }\n // Cleanup temporary space.\n wipe_1.wipe(block);\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe_1.wipe(nc);\n }\n return dst;\n}\nexports.streamXOR = streamXOR;\n/**\n * Generate ChaCha20 stream for the given 32-byte key and 8-byte or 12-byte\n * nonce and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * If nonceInplaceCounterLength is not 0, it behaves the same with respect to\n * the nonce as described in the streamXOR documentation.\n *\n * stream is like streamXOR with all-zero src.\n */\nfunction stream(key, nonce, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n wipe_1.wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\nexports.stream = stream;\nfunction incrementCounter(counter, pos, len) {\n var carry = 1;\n while (len--) {\n carry = carry + (counter[pos] & 0xff) | 0;\n counter[pos] = carry & 0xff;\n carry >>>= 8;\n pos++;\n }\n if (carry > 0) {\n throw new Error(\"ChaCha: counter overflow\");\n }\n}\n//# sourceMappingURL=chacha.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar chacha_1 = require(\"@stablelib/chacha\");\nvar poly1305_1 = require(\"@stablelib/poly1305\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nvar binary_1 = require(\"@stablelib/binary\");\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nexports.KEY_LENGTH = 32;\nexports.NONCE_LENGTH = 12;\nexports.TAG_LENGTH = 16;\nvar ZEROS = new Uint8Array(16);\n/**\n * ChaCha20-Poly1305 Authenticated Encryption with Associated Data.\n *\n * Defined in RFC7539.\n */\nvar ChaCha20Poly1305 = /** @class */ (function () {\n /**\n * Creates a new instance with the given 32-byte key.\n */\n function ChaCha20Poly1305(key) {\n this.nonceLength = exports.NONCE_LENGTH;\n this.tagLength = exports.TAG_LENGTH;\n if (key.length !== exports.KEY_LENGTH) {\n throw new Error(\"ChaCha20Poly1305 needs 32-byte key\");\n }\n // Copy key.\n this._key = new Uint8Array(key);\n }\n /**\n * Encrypts and authenticates plaintext, authenticates associated data,\n * and returns sealed ciphertext, which includes authentication tag.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If dst is given (it must be the size of plaintext + the size of tag\n * length) the result will be put into it. Dst and plaintext must not\n * overlap.\n */\n ChaCha20Poly1305.prototype.seal = function (nonce, plaintext, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n // We pass full counter, which has 12-byte nonce and 4-byte block counter,\n // and it will get incremented after generating the block, which is\n // exactly what we need: we only use the first 32 bytes of 64-byte\n // ChaCha block and discard the next 32 bytes.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Allocate space for sealed ciphertext.\n var resultLength = plaintext.length + this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Encrypt plaintext.\n chacha_1.streamXOR(this._key, counter, plaintext, result, 4);\n // Authenticate.\n // XXX: can \"simplify\" here: pass full result (which is already padded\n // due to zeroes prepared for tag), and ciphertext length instead of\n // subarray of result.\n this._authenticate(result.subarray(result.length - this.tagLength, result.length), authKey, result.subarray(0, result.length - this.tagLength), associatedData);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n /**\n * Authenticates sealed ciphertext (which includes authentication tag) and\n * associated data, decrypts ciphertext and returns decrypted plaintext.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If authentication fails, it returns null.\n *\n * If dst is given (it must be of ciphertext length minus tag length),\n * the result will be put into it. Dst and plaintext must not overlap.\n */\n ChaCha20Poly1305.prototype.open = function (nonce, sealed, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n // Sealed ciphertext should at least contain tag.\n if (sealed.length < this.tagLength) {\n // TODO(dchest): should we throw here instead?\n return null;\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Authenticate.\n // XXX: can simplify and avoid allocation: since authenticate()\n // already allocates tag (from Poly1305.digest(), it can return)\n // it instead of copying to calculatedTag. But then in seal()\n // we'll need to copy it.\n var calculatedTag = new Uint8Array(this.tagLength);\n this._authenticate(calculatedTag, authKey, sealed.subarray(0, sealed.length - this.tagLength), associatedData);\n // Constant-time compare tags and return null if they differ.\n if (!constant_time_1.equal(calculatedTag, sealed.subarray(sealed.length - this.tagLength, sealed.length))) {\n return null;\n }\n // Allocate space for decrypted plaintext.\n var resultLength = sealed.length - this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Decrypt.\n chacha_1.streamXOR(this._key, counter, sealed.subarray(0, sealed.length - this.tagLength), result, 4);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n ChaCha20Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._key);\n return this;\n };\n ChaCha20Poly1305.prototype._authenticate = function (tagOut, authKey, ciphertext, associatedData) {\n // Initialize Poly1305 with authKey.\n var h = new poly1305_1.Poly1305(authKey);\n // Authenticate padded associated data.\n if (associatedData) {\n h.update(associatedData);\n if (associatedData.length % 16 > 0) {\n h.update(ZEROS.subarray(associatedData.length % 16));\n }\n }\n // Authenticate padded ciphertext.\n h.update(ciphertext);\n if (ciphertext.length % 16 > 0) {\n h.update(ZEROS.subarray(ciphertext.length % 16));\n }\n // Authenticate length of associated data.\n // XXX: can avoid allocation here?\n var length = new Uint8Array(8);\n if (associatedData) {\n binary_1.writeUint64LE(associatedData.length, length);\n }\n h.update(length);\n // Authenticate length of ciphertext.\n binary_1.writeUint64LE(ciphertext.length, length);\n h.update(length);\n // Get tag and copy it into tagOut.\n var tag = h.digest();\n for (var i = 0; i < tag.length; i++) {\n tagOut[i] = tag[i];\n }\n // Cleanup.\n h.clean();\n wipe_1.wipe(tag);\n wipe_1.wipe(length);\n };\n return ChaCha20Poly1305;\n}());\nexports.ChaCha20Poly1305 = ChaCha20Poly1305;\n//# sourceMappingURL=chacha20poly1305.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package constant-time provides functions for performing algorithmically constant-time operations.\n */\n/**\n * NOTE! Due to the inability to guarantee real constant time evaluation of\n * anything in JavaScript VM, this is module is the best effort.\n */\n/**\n * Returns resultIfOne if subject is 1, or resultIfZero if subject is 0.\n *\n * Supports only 32-bit integers, so resultIfOne or resultIfZero are not\n * integers, they'll be converted to them with bitwise operations.\n */\nfunction select(subject, resultIfOne, resultIfZero) {\n return (~(subject - 1) & resultIfOne) | ((subject - 1) & resultIfZero);\n}\nexports.select = select;\n/**\n * Returns 1 if a <= b, or 0 if not.\n * Arguments must be positive 32-bit integers less than or equal to 2^31 - 1.\n */\nfunction lessOrEqual(a, b) {\n return (((a | 0) - (b | 0) - 1) >>> 31) & 1;\n}\nexports.lessOrEqual = lessOrEqual;\n/**\n * Returns 1 if a and b are of equal length and their contents\n * are equal, or 0 otherwise.\n *\n * Note that unlike in equal(), zero-length inputs are considered\n * the same, so this function will return 1.\n */\nfunction compare(a, b) {\n if (a.length !== b.length) {\n return 0;\n }\n var result = 0;\n for (var i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return (1 & ((result - 1) >>> 8));\n}\nexports.compare = compare;\n/**\n * Returns true if a and b are of equal non-zero length,\n * and their contents are equal, or false otherwise.\n *\n * Note that unlike in compare() zero-length inputs are considered\n * _not_ equal, so this function will return false.\n */\nfunction equal(a, b) {\n if (a.length === 0 || b.length === 0) {\n return false;\n }\n return compare(a, b) !== 0;\n}\nexports.equal = equal;\n//# sourceMappingURL=constant-time.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isSerializableHash(h) {\n return (typeof h.saveState !== \"undefined\" &&\n typeof h.restoreState !== \"undefined\" &&\n typeof h.cleanSavedState !== \"undefined\");\n}\nexports.isSerializableHash = isSerializableHash;\n// TODO(dchest): figure out the standardized interface for XOF such as\n// SHAKE and BLAKE2X.\n//# sourceMappingURL=hash.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar hmac_1 = require(\"@stablelib/hmac\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n/**\n * HMAC-based Extract-and-Expand Key Derivation Function.\n *\n * Implements HKDF from RFC5869.\n *\n * Expands the given master key with salt and info into\n * a limited stream of key material.\n */\nvar HKDF = /** @class */ (function () {\n /**\n * Create a new HKDF instance for the given hash function\n * with the master key, optional salt, and info.\n *\n * - Master key is a high-entropy secret key (not a password).\n * - Salt is a non-secret random value.\n * - Info is application- and/or context-specific information.\n */\n function HKDF(hash, key, salt, info) {\n if (salt === void 0) { salt = new Uint8Array(0); }\n this._counter = new Uint8Array(1); // starts with zero\n this._hash = hash;\n this._info = info;\n // HKDF-Extract uses salt as HMAC key, and key as data.\n var okm = hmac_1.hmac(this._hash, salt, key);\n // Initialize HMAC for expanding with extracted key.\n this._hmac = new hmac_1.HMAC(hash, okm);\n // Allocate buffer.\n this._buffer = new Uint8Array(this._hmac.digestLength);\n this._bufpos = this._buffer.length;\n }\n // Fill buffer with new block of HKDF-Extract output.\n HKDF.prototype._fillBuffer = function () {\n // Increment counter.\n this._counter[0]++;\n var ctr = this._counter[0];\n // Check if counter overflowed.\n if (ctr === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n // Prepare HMAC instance for new data with old key.\n this._hmac.reset();\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (ctr > 1) {\n this._hmac.update(this._buffer);\n }\n // Hash in info if it exists.\n if (this._info) {\n this._hmac.update(this._info);\n }\n // Hash in the counter.\n this._hmac.update(this._counter);\n // Output result to buffer and clean HMAC instance.\n this._hmac.finish(this._buffer);\n // Reset buffer position.\n this._bufpos = 0;\n };\n /**\n * Expand returns next key material of the given length.\n *\n * It throws if expansion limit is reached (which is\n * 254 digests of the underlying HMAC function).\n */\n HKDF.prototype.expand = function (length) {\n var out = new Uint8Array(length);\n for (var i = 0; i < out.length; i++) {\n if (this._bufpos === this._buffer.length) {\n this._fillBuffer();\n }\n out[i] = this._buffer[this._bufpos++];\n }\n return out;\n };\n HKDF.prototype.clean = function () {\n this._hmac.clean();\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._counter);\n this._bufpos = 0;\n };\n return HKDF;\n}());\nexports.HKDF = HKDF;\n// TODO(dchest): maybe implement deriveKey?\n//# sourceMappingURL=hkdf.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package hmac implements HMAC algorithm.\n */\nvar hash_1 = require(\"@stablelib/hash\");\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nvar wipe_1 = require(\"@stablelib/wipe\");\n/**\n * HMAC implements hash-based message authentication algorithm.\n */\nvar HMAC = /** @class */ (function () {\n /**\n * Constructs a new HMAC with the given Hash and secret key.\n */\n function HMAC(hash, key) {\n this._finished = false; // true if HMAC was finalized\n // Initialize inner and outer hashes.\n this._inner = new hash();\n this._outer = new hash();\n // Set block and digest sizes for this HMAC\n // instance to values from the hash.\n this.blockSize = this._outer.blockSize;\n this.digestLength = this._outer.digestLength;\n // Pad temporary stores a key (or its hash) padded with zeroes.\n var pad = new Uint8Array(this.blockSize);\n if (key.length > this.blockSize) {\n // If key is bigger than hash block size, it must be\n // hashed and this hash is used as a key instead.\n this._inner.update(key).finish(pad).clean();\n }\n else {\n // Otherwise, copy the key into pad.\n pad.set(key);\n }\n // Now two different keys are derived from padded key\n // by xoring a different byte value to each.\n // To make inner hash key, xor byte 0x36 into pad.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n // Update inner hash with the result.\n this._inner.update(pad);\n // To make outer hash key, xor byte 0x5c into pad.\n // But since we already xored 0x36 there, we must\n // first undo this by xoring it again.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n // Update outer hash with the result.\n this._outer.update(pad);\n // Save states of both hashes, so that we can quickly restore\n // them later in reset() without the need to remember the actual\n // key and perform this initialization again.\n if (hash_1.isSerializableHash(this._inner) && hash_1.isSerializableHash(this._outer)) {\n this._innerKeyedState = this._inner.saveState();\n this._outerKeyedState = this._outer.saveState();\n }\n // Clean pad.\n wipe_1.wipe(pad);\n }\n /**\n * Returns HMAC state to the state initialized with key\n * to make it possible to run HMAC over the other data with the same\n * key without creating a new instance.\n */\n HMAC.prototype.reset = function () {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't reset() because hash doesn't implement restoreState()\");\n }\n // Restore keyed states of inner and outer hashes.\n this._inner.restoreState(this._innerKeyedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n };\n /**\n * Cleans HMAC state.\n */\n HMAC.prototype.clean = function () {\n if (hash_1.isSerializableHash(this._inner)) {\n this._inner.cleanSavedState(this._innerKeyedState);\n }\n if (hash_1.isSerializableHash(this._outer)) {\n this._outer.cleanSavedState(this._outerKeyedState);\n }\n this._inner.clean();\n this._outer.clean();\n };\n /**\n * Updates state with provided data.\n */\n HMAC.prototype.update = function (data) {\n this._inner.update(data);\n return this;\n };\n /**\n * Finalizes HMAC and puts the result in out.\n */\n HMAC.prototype.finish = function (out) {\n if (this._finished) {\n // If HMAC was finalized, outer hash is also finalized,\n // so it produces the same digest it produced when it\n // was finalized.\n this._outer.finish(out);\n return this;\n }\n // Finalize inner hash and store the result temporarily.\n this._inner.finish(out);\n // Update outer hash with digest of inner hash and and finalize it.\n this._outer.update(out.subarray(0, this.digestLength)).finish(out);\n this._finished = true;\n return this;\n };\n /**\n * Returns the computed message authentication code.\n */\n HMAC.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Saves HMAC state.\n * This function is needed for PBKDF2 optimization.\n */\n HMAC.prototype.saveState = function () {\n if (!hash_1.isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't saveState() because hash doesn't implement it\");\n }\n return this._inner.saveState();\n };\n HMAC.prototype.restoreState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't restoreState() because hash doesn't implement it\");\n }\n this._inner.restoreState(savedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n };\n HMAC.prototype.cleanSavedState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't cleanSavedState() because hash doesn't implement it\");\n }\n this._inner.cleanSavedState(savedState);\n };\n return HMAC;\n}());\nexports.HMAC = HMAC;\n/**\n * Returns HMAC using the given hash constructor for the key over data.\n */\nfunction hmac(hash, key, data) {\n var h = new HMAC(hash, key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hmac = hmac;\n/**\n * Returns true if two HMAC digests are equal.\n * Uses constant-time comparison to avoid leaking timing information.\n *\n * Example:\n *\n * const receivedDigest = ...\n * const realDigest = hmac(SHA256, key, data);\n * if (!equal(receivedDigest, realDigest)) {\n * throw new Error(\"Authentication error\");\n * }\n */\nexports.equal = constant_time_1.equal;\n//# sourceMappingURL=hmac.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package int provides helper functions for integerss.\n */\n// Shim using 16-bit pieces.\nfunction imulShim(a, b) {\n var ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexports.mul = Math.imul || imulShim;\n/** 32-bit integer addition. */\nfunction add(a, b) {\n return (a + b) | 0;\n}\nexports.add = add;\n/** 32-bit integer subtraction. */\nfunction sub(a, b) {\n return (a - b) | 0;\n}\nexports.sub = sub;\n/** 32-bit integer left rotation */\nfunction rotl(x, n) {\n return x << n | x >>> (32 - n);\n}\nexports.rotl = rotl;\n/** 32-bit integer left rotation */\nfunction rotr(x, n) {\n return x << (32 - n) | x >>> n;\n}\nexports.rotr = rotr;\nfunction isIntegerShim(n) {\n return typeof n === \"number\" && isFinite(n) && Math.floor(n) === n;\n}\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexports.isInteger = Number.isInteger || isIntegerShim;\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexports.MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n *\n * In ES2015, Number.isSafeInteger.\n */\nexports.isSafeInteger = function (n) {\n return exports.isInteger(n) && (n >= -exports.MAX_SAFE_INTEGER && n <= exports.MAX_SAFE_INTEGER);\n};\n//# sourceMappingURL=int.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package poly1305 implements Poly1305 one-time message authentication algorithm.\n */\nvar constant_time_1 = require(\"@stablelib/constant-time\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 16;\n// Port of Andrew Moon's Poly1305-donna-16. Public domain.\n// https://github.com/floodyberry/poly1305-donna\n/**\n * Poly1305 computes 16-byte authenticator of message using\n * a one-time 32-byte key.\n *\n * Important: key should be used for only one message,\n * it should never repeat.\n */\nvar Poly1305 = /** @class */ (function () {\n function Poly1305(key) {\n this.digestLength = exports.DIGEST_LENGTH;\n this._buffer = new Uint8Array(16);\n this._r = new Uint16Array(10);\n this._h = new Uint16Array(10);\n this._pad = new Uint16Array(8);\n this._leftover = 0;\n this._fin = 0;\n this._finished = false;\n var t0 = key[0] | key[1] << 8;\n this._r[0] = (t0) & 0x1fff;\n var t1 = key[2] | key[3] << 8;\n this._r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = key[4] | key[5] << 8;\n this._r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n var t3 = key[6] | key[7] << 8;\n this._r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = key[8] | key[9] << 8;\n this._r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this._r[5] = ((t4 >>> 1)) & 0x1ffe;\n var t5 = key[10] | key[11] << 8;\n this._r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = key[12] | key[13] << 8;\n this._r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n var t7 = key[14] | key[15] << 8;\n this._r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this._r[9] = ((t7 >>> 5)) & 0x007f;\n this._pad[0] = key[16] | key[17] << 8;\n this._pad[1] = key[18] | key[19] << 8;\n this._pad[2] = key[20] | key[21] << 8;\n this._pad[3] = key[22] | key[23] << 8;\n this._pad[4] = key[24] | key[25] << 8;\n this._pad[5] = key[26] | key[27] << 8;\n this._pad[6] = key[28] | key[29] << 8;\n this._pad[7] = key[30] | key[31] << 8;\n }\n Poly1305.prototype._blocks = function (m, mpos, bytes) {\n var hibit = this._fin ? 0 : 1 << 11;\n var h0 = this._h[0], h1 = this._h[1], h2 = this._h[2], h3 = this._h[3], h4 = this._h[4], h5 = this._h[5], h6 = this._h[6], h7 = this._h[7], h8 = this._h[8], h9 = this._h[9];\n var r0 = this._r[0], r1 = this._r[1], r2 = this._r[2], r3 = this._r[3], r4 = this._r[4], r5 = this._r[5], r6 = this._r[6], r7 = this._r[7], r8 = this._r[8], r9 = this._r[9];\n while (bytes >= 16) {\n var t0 = m[mpos + 0] | m[mpos + 1] << 8;\n h0 += (t0) & 0x1fff;\n var t1 = m[mpos + 2] | m[mpos + 3] << 8;\n h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = m[mpos + 4] | m[mpos + 5] << 8;\n h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n var t3 = m[mpos + 6] | m[mpos + 7] << 8;\n h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = m[mpos + 8] | m[mpos + 9] << 8;\n h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n var t5 = m[mpos + 10] | m[mpos + 11] << 8;\n h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = m[mpos + 12] | m[mpos + 13] << 8;\n h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n var t7 = m[mpos + 14] | m[mpos + 15] << 8;\n h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n var c = 0;\n var d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13);\n d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13);\n d0 &= 0x1fff;\n var d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13);\n d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13);\n d1 &= 0x1fff;\n var d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13);\n d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13);\n d2 &= 0x1fff;\n var d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13);\n d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13);\n d3 &= 0x1fff;\n var d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13);\n d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13);\n d4 &= 0x1fff;\n var d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13);\n d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13);\n d5 &= 0x1fff;\n var d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13);\n d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13);\n d6 &= 0x1fff;\n var d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13);\n d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13);\n d7 &= 0x1fff;\n var d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13);\n d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13);\n d8 &= 0x1fff;\n var d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13);\n d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13);\n d9 &= 0x1fff;\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n mpos += 16;\n bytes -= 16;\n }\n this._h[0] = h0;\n this._h[1] = h1;\n this._h[2] = h2;\n this._h[3] = h3;\n this._h[4] = h4;\n this._h[5] = h5;\n this._h[6] = h6;\n this._h[7] = h7;\n this._h[8] = h8;\n this._h[9] = h9;\n };\n Poly1305.prototype.finish = function (mac, macpos) {\n if (macpos === void 0) { macpos = 0; }\n var g = new Uint16Array(10);\n var c;\n var mask;\n var f;\n var i;\n if (this._leftover) {\n i = this._leftover;\n this._buffer[i++] = 1;\n for (; i < 16; i++) {\n this._buffer[i] = 0;\n }\n this._fin = 1;\n this._blocks(this._buffer, 0, 16);\n }\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this._h[i] += c;\n c = this._h[i] >>> 13;\n this._h[i] &= 0x1fff;\n }\n this._h[0] += (c * 5);\n c = this._h[0] >>> 13;\n this._h[0] &= 0x1fff;\n this._h[1] += c;\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n this._h[2] += c;\n g[0] = this._h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this._h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) {\n g[i] &= mask;\n }\n mask = ~mask;\n for (i = 0; i < 10; i++) {\n this._h[i] = (this._h[i] & mask) | g[i];\n }\n this._h[0] = ((this._h[0]) | (this._h[1] << 13)) & 0xffff;\n this._h[1] = ((this._h[1] >>> 3) | (this._h[2] << 10)) & 0xffff;\n this._h[2] = ((this._h[2] >>> 6) | (this._h[3] << 7)) & 0xffff;\n this._h[3] = ((this._h[3] >>> 9) | (this._h[4] << 4)) & 0xffff;\n this._h[4] = ((this._h[4] >>> 12) | (this._h[5] << 1) | (this._h[6] << 14)) & 0xffff;\n this._h[5] = ((this._h[6] >>> 2) | (this._h[7] << 11)) & 0xffff;\n this._h[6] = ((this._h[7] >>> 5) | (this._h[8] << 8)) & 0xffff;\n this._h[7] = ((this._h[8] >>> 8) | (this._h[9] << 5)) & 0xffff;\n f = this._h[0] + this._pad[0];\n this._h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this._h[i] + this._pad[i]) | 0) + (f >>> 16)) | 0;\n this._h[i] = f & 0xffff;\n }\n mac[macpos + 0] = this._h[0] >>> 0;\n mac[macpos + 1] = this._h[0] >>> 8;\n mac[macpos + 2] = this._h[1] >>> 0;\n mac[macpos + 3] = this._h[1] >>> 8;\n mac[macpos + 4] = this._h[2] >>> 0;\n mac[macpos + 5] = this._h[2] >>> 8;\n mac[macpos + 6] = this._h[3] >>> 0;\n mac[macpos + 7] = this._h[3] >>> 8;\n mac[macpos + 8] = this._h[4] >>> 0;\n mac[macpos + 9] = this._h[4] >>> 8;\n mac[macpos + 10] = this._h[5] >>> 0;\n mac[macpos + 11] = this._h[5] >>> 8;\n mac[macpos + 12] = this._h[6] >>> 0;\n mac[macpos + 13] = this._h[6] >>> 8;\n mac[macpos + 14] = this._h[7] >>> 0;\n mac[macpos + 15] = this._h[7] >>> 8;\n this._finished = true;\n return this;\n };\n Poly1305.prototype.update = function (m) {\n var mpos = 0;\n var bytes = m.length;\n var want;\n if (this._leftover) {\n want = (16 - this._leftover);\n if (want > bytes) {\n want = bytes;\n }\n for (var i = 0; i < want; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n bytes -= want;\n mpos += want;\n this._leftover += want;\n if (this._leftover < 16) {\n return this;\n }\n this._blocks(this._buffer, 0, 16);\n this._leftover = 0;\n }\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this._blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n if (bytes) {\n for (var i = 0; i < bytes; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n this._leftover += bytes;\n }\n return this;\n };\n Poly1305.prototype.digest = function () {\n // TODO(dchest): it behaves differently than other hashes/HMAC,\n // because it throws when finished — others just return saved result.\n if (this._finished) {\n throw new Error(\"Poly1305 was finished\");\n }\n var mac = new Uint8Array(16);\n this.finish(mac);\n return mac;\n };\n Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._r);\n wipe_1.wipe(this._h);\n wipe_1.wipe(this._pad);\n this._leftover = 0;\n this._fin = 0;\n this._finished = true; // mark as finished even if not\n return this;\n };\n return Poly1305;\n}());\nexports.Poly1305 = Poly1305;\n/**\n * Returns 16-byte authenticator of data using a one-time 32-byte key.\n *\n * Important: key should be used for only one message, it should never repeat.\n */\nfunction oneTimeAuth(key, data) {\n var h = new Poly1305(key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.oneTimeAuth = oneTimeAuth;\n/**\n * Returns true if two authenticators are 16-byte long and equal.\n * Uses contant-time comparison to avoid leaking timing information.\n */\nfunction equal(a, b) {\n if (a.length !== exports.DIGEST_LENGTH || b.length !== exports.DIGEST_LENGTH) {\n return false;\n }\n return constant_time_1.equal(a, b);\n}\nexports.equal = equal;\n//# sourceMappingURL=poly1305.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomStringForEntropy = exports.randomString = exports.randomUint32 = exports.randomBytes = exports.defaultRandomSource = void 0;\nconst system_1 = require(\"./source/system\");\nconst binary_1 = require(\"@stablelib/binary\");\nconst wipe_1 = require(\"@stablelib/wipe\");\nexports.defaultRandomSource = new system_1.SystemRandomSource();\nfunction randomBytes(length, prng = exports.defaultRandomSource) {\n return prng.randomBytes(length);\n}\nexports.randomBytes = randomBytes;\n/**\n * Returns a uniformly random unsigned 32-bit integer.\n */\nfunction randomUint32(prng = exports.defaultRandomSource) {\n // Generate 4-byte random buffer.\n const buf = randomBytes(4, prng);\n // Convert bytes from buffer into a 32-bit integer.\n // It's not important which byte order to use, since\n // the result is random.\n const result = (0, binary_1.readUint32LE)(buf);\n // Clean the buffer.\n (0, wipe_1.wipe)(buf);\n return result;\n}\nexports.randomUint32 = randomUint32;\n/** 62 alphanumeric characters for default charset of randomString() */\nconst ALPHANUMERIC = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n/**\n * Returns a uniform random string of the given length\n * with characters from the given charset.\n *\n * Charset must not have more than 256 characters.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nfunction randomString(length, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n if (charset.length < 2) {\n throw new Error(\"randomString charset is too short\");\n }\n if (charset.length > 256) {\n throw new Error(\"randomString charset is too long\");\n }\n let out = '';\n const charsLen = charset.length;\n const maxByte = 256 - (256 % charsLen);\n while (length > 0) {\n const buf = randomBytes(Math.ceil(length * 256 / maxByte), prng);\n for (let i = 0; i < buf.length && length > 0; i++) {\n const randomByte = buf[i];\n if (randomByte < maxByte) {\n out += charset.charAt(randomByte % charsLen);\n length--;\n }\n }\n (0, wipe_1.wipe)(buf);\n }\n return out;\n}\nexports.randomString = randomString;\n/**\n * Returns uniform random string containing at least the given\n * number of bits of entropy.\n *\n * For example, randomStringForEntropy(128) will return a 22-character\n * alphanumeric string, while randomStringForEntropy(128, \"0123456789\")\n * will return a 39-character numeric string, both will contain at\n * least 128 bits of entropy.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nfunction randomStringForEntropy(bits, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n const length = Math.ceil(bits / (Math.log(charset.length) / Math.LN2));\n return randomString(length, charset, prng);\n}\nexports.randomStringForEntropy = randomStringForEntropy;\n//# sourceMappingURL=random.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserRandomSource = void 0;\nconst QUOTA = 65536;\nclass BrowserRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n const browserCrypto = typeof self !== 'undefined'\n ? (self.crypto || self.msCrypto) // IE11 has msCrypto\n : null;\n if (browserCrypto && browserCrypto.getRandomValues !== undefined) {\n this._crypto = browserCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Browser random byte generator is not available.\");\n }\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i += QUOTA) {\n this._crypto.getRandomValues(out.subarray(i, i + Math.min(out.length - i, QUOTA)));\n }\n return out;\n }\n}\nexports.BrowserRandomSource = BrowserRandomSource;\n//# sourceMappingURL=browser.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NodeRandomSource = void 0;\nconst wipe_1 = require(\"@stablelib/wipe\");\nclass NodeRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n if (typeof require !== \"undefined\") {\n const nodeCrypto = require(\"crypto\");\n if (nodeCrypto && nodeCrypto.randomBytes) {\n this._crypto = nodeCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Node.js random byte generator is not available.\");\n }\n // Get random bytes (result is Buffer).\n let buffer = this._crypto.randomBytes(length);\n // Make sure we got the length that we requested.\n if (buffer.length !== length) {\n throw new Error(\"NodeRandomSource: got fewer bytes than requested\");\n }\n // Allocate output array.\n const out = new Uint8Array(length);\n // Copy bytes from buffer to output.\n for (let i = 0; i < out.length; i++) {\n out[i] = buffer[i];\n }\n // Cleanup.\n (0, wipe_1.wipe)(buffer);\n return out;\n }\n}\nexports.NodeRandomSource = NodeRandomSource;\n//# sourceMappingURL=node.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SystemRandomSource = void 0;\nconst browser_1 = require(\"./browser\");\nconst node_1 = require(\"./node\");\nclass SystemRandomSource {\n constructor() {\n this.isAvailable = false;\n this.name = \"\";\n // Try browser.\n this._source = new browser_1.BrowserRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Browser\";\n return;\n }\n // If no browser source, try Node.\n this._source = new node_1.NodeRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Node\";\n return;\n }\n // No sources, we're out of options.\n }\n randomBytes(length) {\n if (!this.isAvailable) {\n throw new Error(\"System random byte generator is not available.\");\n }\n return this._source.randomBytes(length);\n }\n}\nexports.SystemRandomSource = SystemRandomSource;\n//# sourceMappingURL=system.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binary_1 = require(\"@stablelib/binary\");\nvar wipe_1 = require(\"@stablelib/wipe\");\nexports.DIGEST_LENGTH = 32;\nexports.BLOCK_SIZE = 64;\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nvar SHA256 = /** @class */ (function () {\n function SHA256() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._state = new Int32Array(8); // hash state\n this._temp = new Int32Array(64); // temporary state\n this._buffer = new Uint8Array(128); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA256.prototype._initState = function () {\n this._state[0] = 0x6a09e667;\n this._state[1] = 0xbb67ae85;\n this._state[2] = 0x3c6ef372;\n this._state[3] = 0xa54ff53a;\n this._state[4] = 0x510e527f;\n this._state[5] = 0x9b05688c;\n this._state[6] = 0x1f83d9ab;\n this._state[7] = 0x5be0cd19;\n };\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA256.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA256.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._temp);\n this.reset();\n };\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n SHA256.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < this.blockSize && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._temp, this._state, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._temp, this._state, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA256.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 4; i++) {\n binary_1.writeUint32BE(this._state[i], out, i * 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA256.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Returns hash state to be used with restoreState().\n * Only chain value is saved, not buffers or other\n * state variables.\n */\n SHA256.prototype.saveState = function () {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n state: new Int32Array(this._state),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n SHA256.prototype.restoreState = function (savedState) {\n this._state.set(savedState.state);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n };\n /**\n * Cleans state returned by saveState().\n */\n SHA256.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.state);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA256;\n}());\nexports.SHA256 = SHA256;\n// Constants\nvar K = new Int32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n while (len >= 64) {\n var a = v[0];\n var b = v[1];\n var c = v[2];\n var d = v[3];\n var e = v[4];\n var f = v[5];\n var g = v[6];\n var h = v[7];\n for (var i = 0; i < 16; i++) {\n var j = pos + i * 4;\n w[i] = binary_1.readUint32BE(p, j);\n }\n for (var i = 16; i < 64; i++) {\n var u = w[i - 2];\n var t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n var t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (var i = 0; i < 64; i++) {\n var t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n var t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA256();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha256.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nfunction wipe(array) {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (var i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\nexports.wipe = wipe;\n//# sourceMappingURL=wipe.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sharedKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.scalarMultBase = exports.scalarMult = exports.SHARED_KEY_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = void 0;\n/**\n * Package x25519 implements X25519 key agreement.\n */\nconst random_1 = require(\"@stablelib/random\");\nconst wipe_1 = require(\"@stablelib/wipe\");\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 32;\nexports.SHARED_KEY_LENGTH = 32;\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init) {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst _121665 = gf([0xdb41, 1]);\nfunction car25519(o) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\nfunction sel25519(p, q, b) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\nfunction pack25519(o, n) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\nfunction unpack25519(o, n) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, inp) {\n const c = gf();\n for (let i = 0; i < 16; i++) {\n c[i] = inp[i];\n }\n for (let i = 253; i >= 0; i--) {\n square(c, c);\n if (i !== 2 && i !== 4) {\n mul(c, c, inp);\n }\n }\n for (let i = 0; i < 16; i++) {\n o[i] = c[i];\n }\n}\nfunction scalarMult(n, p) {\n const z = new Uint8Array(32);\n const x = new Float64Array(80);\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf();\n for (let i = 0; i < 31; i++) {\n z[i] = n[i];\n }\n z[31] = (n[31] & 127) | 64;\n z[0] &= 248;\n unpack25519(x, p);\n for (let i = 0; i < 16; i++) {\n b[i] = x[i];\n }\n a[0] = d[0] = 1;\n for (let i = 254; i >= 0; --i) {\n const r = (z[i >>> 3] >>> (i & 7)) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n add(e, a, c);\n sub(a, a, c);\n add(c, b, d);\n sub(b, b, d);\n square(d, e);\n square(f, a);\n mul(a, c, a);\n mul(c, b, e);\n add(e, a, c);\n sub(a, a, c);\n square(b, a);\n sub(c, d, f);\n mul(a, c, _121665);\n add(a, a, d);\n mul(c, c, a);\n mul(a, d, f);\n mul(d, b, x);\n square(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for (let i = 0; i < 16; i++) {\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n const x32 = x.subarray(32);\n const x16 = x.subarray(16);\n inv25519(x32, x32);\n mul(x16, x16, x32);\n const q = new Uint8Array(32);\n pack25519(q, x16);\n return q;\n}\nexports.scalarMult = scalarMult;\nfunction scalarMultBase(n) {\n return scalarMult(n, _9);\n}\nexports.scalarMultBase = scalarMultBase;\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`x25519: seed must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n const secretKey = new Uint8Array(seed);\n const publicKey = scalarMultBase(secretKey);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\n/**\n * Returns a shared key between our secret key and a peer's public key.\n *\n * Throws an error if the given keys are of wrong length.\n *\n * If rejectZero is true throws if the calculated shared key is all-zero.\n * From RFC 7748:\n *\n * > Protocol designers using Diffie-Hellman over the curves defined in\n * > this document must not assume \"contributory behavior\". Specially,\n * > contributory behavior means that both parties' private keys\n * > contribute to the resulting shared key. Since curve25519 and\n * > curve448 have cofactors of 8 and 4 (respectively), an input point of\n * > small order will eliminate any contribution from the other party's\n * > private key. This situation can be detected by checking for the all-\n * > zero output, which implementations MAY do, as specified in Section 6.\n * > However, a large number of existing implementations do not do this.\n *\n * IMPORTANT: the returned key is a raw result of scalar multiplication.\n * To use it as a key material, hash it with a cryptographic hash function.\n */\nfunction sharedKey(mySecretKey, theirPublicKey, rejectZero = false) {\n if (mySecretKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect secret key length\");\n }\n if (theirPublicKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect public key length\");\n }\n const result = scalarMult(mySecretKey, theirPublicKey);\n if (rejectZero) {\n let zeros = 0;\n for (let i = 0; i < result.length; i++) {\n zeros |= result[i];\n }\n if (zeros === 0) {\n throw new Error(\"X25519: invalid shared key\");\n }\n }\n return result;\n}\nexports.sharedKey = sharedKey;\n//# sourceMappingURL=x25519.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./misc\"), exports);\ntslib_1.__exportStar(require(\"./time\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_THOUSAND = exports.ONE_HUNDRED = void 0;\nexports.ONE_HUNDRED = 100;\nexports.ONE_THOUSAND = 1000;\n//# sourceMappingURL=misc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_YEAR = exports.FOUR_WEEKS = exports.THREE_WEEKS = exports.TWO_WEEKS = exports.ONE_WEEK = exports.THIRTY_DAYS = exports.SEVEN_DAYS = exports.FIVE_DAYS = exports.THREE_DAYS = exports.ONE_DAY = exports.TWENTY_FOUR_HOURS = exports.TWELVE_HOURS = exports.SIX_HOURS = exports.THREE_HOURS = exports.ONE_HOUR = exports.SIXTY_MINUTES = exports.THIRTY_MINUTES = exports.TEN_MINUTES = exports.FIVE_MINUTES = exports.ONE_MINUTE = exports.SIXTY_SECONDS = exports.THIRTY_SECONDS = exports.TEN_SECONDS = exports.FIVE_SECONDS = exports.ONE_SECOND = void 0;\nexports.ONE_SECOND = 1;\nexports.FIVE_SECONDS = 5;\nexports.TEN_SECONDS = 10;\nexports.THIRTY_SECONDS = 30;\nexports.SIXTY_SECONDS = 60;\nexports.ONE_MINUTE = exports.SIXTY_SECONDS;\nexports.FIVE_MINUTES = exports.ONE_MINUTE * 5;\nexports.TEN_MINUTES = exports.ONE_MINUTE * 10;\nexports.THIRTY_MINUTES = exports.ONE_MINUTE * 30;\nexports.SIXTY_MINUTES = exports.ONE_MINUTE * 60;\nexports.ONE_HOUR = exports.SIXTY_MINUTES;\nexports.THREE_HOURS = exports.ONE_HOUR * 3;\nexports.SIX_HOURS = exports.ONE_HOUR * 6;\nexports.TWELVE_HOURS = exports.ONE_HOUR * 12;\nexports.TWENTY_FOUR_HOURS = exports.ONE_HOUR * 24;\nexports.ONE_DAY = exports.TWENTY_FOUR_HOURS;\nexports.THREE_DAYS = exports.ONE_DAY * 3;\nexports.FIVE_DAYS = exports.ONE_DAY * 5;\nexports.SEVEN_DAYS = exports.ONE_DAY * 7;\nexports.THIRTY_DAYS = exports.ONE_DAY * 30;\nexports.ONE_WEEK = exports.SEVEN_DAYS;\nexports.TWO_WEEKS = exports.ONE_WEEK * 2;\nexports.THREE_WEEKS = exports.ONE_WEEK * 3;\nexports.FOUR_WEEKS = exports.ONE_WEEK * 4;\nexports.ONE_YEAR = exports.ONE_DAY * 365;\n//# sourceMappingURL=time.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./utils\"), exports);\ntslib_1.__exportStar(require(\"./watch\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./watch\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IWatch = void 0;\nclass IWatch {\n}\nexports.IWatch = IWatch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromMiliseconds = exports.toMiliseconds = void 0;\nconst constants_1 = require(\"../constants\");\nfunction toMiliseconds(seconds) {\n return seconds * constants_1.ONE_THOUSAND;\n}\nexports.toMiliseconds = toMiliseconds;\nfunction fromMiliseconds(miliseconds) {\n return Math.floor(miliseconds / constants_1.ONE_THOUSAND);\n}\nexports.fromMiliseconds = fromMiliseconds;\n//# sourceMappingURL=convert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.delay = void 0;\nfunction delay(timeout) {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(true);\n }, timeout);\n });\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./delay\"), exports);\ntslib_1.__exportStar(require(\"./convert\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Watch = void 0;\nclass Watch {\n constructor() {\n this.timestamps = new Map();\n }\n start(label) {\n if (this.timestamps.has(label)) {\n throw new Error(`Watch already started for label: ${label}`);\n }\n this.timestamps.set(label, { started: Date.now() });\n }\n stop(label) {\n const timestamp = this.get(label);\n if (typeof timestamp.elapsed !== \"undefined\") {\n throw new Error(`Watch already stopped for label: ${label}`);\n }\n const elapsed = Date.now() - timestamp.started;\n this.timestamps.set(label, { started: timestamp.started, elapsed });\n }\n get(label) {\n const timestamp = this.timestamps.get(label);\n if (typeof timestamp === \"undefined\") {\n throw new Error(`No timestamp found for label: ${label}`);\n }\n return timestamp;\n }\n elapsed(label) {\n const timestamp = this.get(label);\n const elapsed = timestamp.elapsed || Date.now() - timestamp.started;\n return elapsed;\n }\n}\nexports.Watch = Watch;\nexports.default = Watch;\n//# sourceMappingURL=watch.js.map","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n return BrowserInfo;\n}());\nexport { BrowserInfo };\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\nexport { NodeInfo };\nvar SearchBotDeviceInfo = /** @class */ (function () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n return SearchBotDeviceInfo;\n}());\nexport { SearchBotDeviceInfo };\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\nexport { BotInfo };\nvar ReactNativeInfo = /** @class */ (function () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n return ReactNativeInfo;\n}());\nexport { ReactNativeInfo };\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['edge-ios', /EdgiOS\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['miui', /MiuiBrowser\\/([0-9\\.]+)$/],\n ['beaker', /BeakerBrowser\\/([0-9\\.]+)/],\n ['edge-chromium', /EdgA?\\/([0-9\\.]+)/],\n [\n 'chromium-webview',\n /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/,\n ],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/],\n ['pie', /^Microsoft Pocket Internet Explorer\\/(\\d+\\.\\d+)$/],\n ['pie', /^Mozilla\\/\\d\\.\\d+\\s\\(compatible;\\s(?:MSP?IE|MSInternet Explorer) (\\d+\\.\\d+);.*Windows CE.*\\)$/],\n ['netfront', /^Mozilla\\/\\d\\.\\d+.*NetFront\\/(\\d.\\d)/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FB[AS]V\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['curl', /^curl\\/([0-9\\.]+)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n];\nexport function detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n if (typeof document === 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return (ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false));\n}\nexport function browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nexport function parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\n }\n }\n else {\n versionParts = [];\n }\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n return new BrowserInfo(name, version, os);\n}\nexport function detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.exec(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nexport function getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n","export const RELAY_JSONRPC = {\n waku: {\n publish: \"waku_publish\",\n batchPublish: \"waku_batchPublish\",\n subscribe: \"waku_subscribe\",\n batchSubscribe: \"waku_batchSubscribe\",\n subscription: \"waku_subscription\",\n unsubscribe: \"waku_unsubscribe\",\n batchUnsubscribe: \"waku_batchUnsubscribe\",\n },\n irn: {\n publish: \"irn_publish\",\n batchPublish: \"irn_batchPublish\",\n subscribe: \"irn_subscribe\",\n batchSubscribe: \"irn_batchSubscribe\",\n subscription: \"irn_subscription\",\n unsubscribe: \"irn_unsubscribe\",\n batchUnsubscribe: \"irn_batchUnsubscribe\",\n },\n iridium: {\n publish: \"iridium_publish\",\n batchPublish: \"iridium_batchPublish\",\n subscribe: \"iridium_subscribe\",\n batchSubscribe: \"iridium_batchSubscribe\",\n subscription: \"iridium_subscription\",\n unsubscribe: \"iridium_unsubscribe\",\n batchUnsubscribe: \"iridium_batchUnsubscribe\",\n },\n};\n//# sourceMappingURL=jsonrpc.js.map","import{ChaCha20Poly1305 as ie}from\"@stablelib/chacha20poly1305\";import{HKDF as pn}from\"@stablelib/hkdf\";import{randomBytes as ce}from\"@stablelib/random\";import{SHA256 as mn,hash as ae}from\"@stablelib/sha256\";import*as ue from\"@stablelib/x25519\";import{toString as h,fromString as E,concat as le}from\"uint8arrays\";import{detect as yn}from\"detect-browser\";import{toMiliseconds as z,FIVE_MINUTES as de,fromMiliseconds as hn}from\"@walletconnect/time\";import{getDocument as En,getNavigator as fe,getLocation as pe}from\"@walletconnect/window-getters\";import{getWindowMetadata as vn}from\"@walletconnect/window-metadata\";import*as V from\"query-string\";import{RELAY_JSONRPC as gn}from\"@walletconnect/relay-api\";const M=\":\";function me(e){const[n,t]=e.split(M);return{namespace:n,reference:t}}function ye(e){const{namespace:n,reference:t}=e;return[n,t].join(M)}function G(e){const[n,t,r]=e.split(M);return{namespace:n,reference:t,address:r}}function he(e){const{namespace:n,reference:t,address:r}=e;return[n,t,r].join(M)}function W(e,n){const t=[];return e.forEach(r=>{const o=n(r);t.includes(o)||t.push(o)}),t}function Ee(e){const{address:n}=G(e);return n}function ve(e){const{namespace:n,reference:t}=G(e);return ye({namespace:n,reference:t})}function Nn(e,n){const{namespace:t,reference:r}=me(n);return he({namespace:t,reference:r,address:e})}function bn(e){return W(e,Ee)}function ge(e){return W(e,ve)}function On(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...o.accounts)}),t}function Sn(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...ge(o.accounts))}),t}function In(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...k(r,o))}),t}function k(e,n){return e.includes(\":\")?[e]:n.chains||[]}const K=e=>e?.split(\":\"),Ne=e=>{const n=e&&K(e);if(n)return n[3]},Pn=e=>{const n=e&&K(e);if(n)return n[2]+\":\"+n[3]},be=e=>{const n=e&&K(e);if(n)return n.pop()},Tn=(e,n)=>{const t=`${e.domain} wants you to sign in with your Ethereum account:`,r=be(n),o=e.statement,s=`URI: ${e.aud}`,i=`Version: ${e.version}`,l=`Chain ID: ${Ne(n)}`,d=`Nonce: ${e.nonce}`,c=`Issued At: ${e.iat}`,u=e.resources&&e.resources.length>0?`Resources:\n${e.resources.map(a=>`- ${a}`).join(`\n`)}`:void 0;return[t,r,\"\",o,\"\",s,i,l,d,c,u].filter(a=>a!=null).join(`\n`)},B=\"base10\",f=\"base16\",L=\"base64pad\",x=\"utf8\",Y=0,U=1,Rn=0,Oe=1,J=12,Q=32;function wn(){const e=ue.generateKeyPair();return{privateKey:h(e.secretKey,f),publicKey:h(e.publicKey,f)}}function An(){const e=ce(Q);return h(e,f)}function Un(e,n){const t=ue.sharedKey(E(e,f),E(n,f)),r=new pn(mn,t).expand(Q);return h(r,f)}function _n(e){const n=ae(E(e,f));return h(n,f)}function $n(e){const n=ae(E(e,x));return h(n,f)}function Se(e){return E(`${e}`,B)}function $(e){return Number(h(e,B))}function jn(e){const n=Se(typeof e.type<\"u\"?e.type:Y);if($(n)===U&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const t=typeof e.senderPublicKey<\"u\"?E(e.senderPublicKey,f):void 0,r=typeof e.iv<\"u\"?E(e.iv,f):ce(J),o=new ie(E(e.symKey,f)).seal(r,E(e.message,x));return Ie({type:n,sealed:o,iv:r,senderPublicKey:t})}function Cn(e){const n=new ie(E(e.symKey,f)),{sealed:t,iv:r}=Z(e.encoded),o=n.open(r,t);if(o===null)throw new Error(\"Failed to decrypt\");return h(o,x)}function Ie(e){if($(e.type)===U){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return h(le([e.type,e.senderPublicKey,e.iv,e.sealed]),L)}return h(le([e.type,e.iv,e.sealed]),L)}function Z(e){const n=E(e,L),t=n.slice(Rn,Oe),r=Oe;if($(t)===U){const l=r+Q,d=l+J,c=n.slice(r,l),u=n.slice(l,d),a=n.slice(d);return{type:t,sealed:a,iv:u,senderPublicKey:c}}const o=r+J,s=n.slice(r,o),i=n.slice(o);return{type:t,sealed:i,iv:s}}function Dn(e,n){const t=Z(e);return Pe({type:$(t.type),senderPublicKey:typeof t.senderPublicKey<\"u\"?h(t.senderPublicKey,f):void 0,receiverPublicKey:n?.receiverPublicKey})}function Pe(e){const n=e?.type||Y;if(n===U){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:n,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function Vn(e){return e.type===U&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}var Mn=Object.defineProperty,Te=Object.getOwnPropertySymbols,kn=Object.prototype.hasOwnProperty,Kn=Object.prototype.propertyIsEnumerable,Re=(e,n,t)=>n in e?Mn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,we=(e,n)=>{for(var t in n||(n={}))kn.call(n,t)&&Re(e,t,n[t]);if(Te)for(var t of Te(n))Kn.call(n,t)&&Re(e,t,n[t]);return e};const Ae=\"ReactNative\",N={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},F=\" \",Ln=\":\",Ue=\"/\",X=2,xn=1e3,_e=\"js\";function ee(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function $e(){return!En()&&!!fe()&&navigator.product===Ae}function je(){return!ee()&&!!fe()}function j(){return $e()?N.reactNative:ee()?N.node:je()?N.browser:N.unknown}function Ce(e,n){let t=V.parse(e);return t=we(we({},t),n),e=V.stringify(t),e}function Fn(){return vn()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Hn(e,n){var t;const r=j(),o={protocol:e,version:n,env:r};return r===\"browser\"&&(o.host=((t=pe())==null?void 0:t.host)||\"unknown\"),o}function De(){if(j()===N.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:t,Version:r}=global.Platform;return[t,r].join(\"-\")}const e=yn();if(e===null)return\"unknown\";const n=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[n,e.name,e.version].join(\"-\"):[n,e.version].join(\"-\")}function Ve(){var e;const n=j();return n===N.browser?[n,((e=pe())==null?void 0:e.host)||\"unknown\"].join(\":\"):n}function Me(e,n,t){const r=De(),o=Ve();return[[e,n].join(\"-\"),[_e,t].join(\"-\"),r,o].join(\"/\")}function qn({protocol:e,version:n,relayUrl:t,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:i}){const l=t.split(\"?\"),d=Me(e,n,r),c={auth:o,ua:d,projectId:s,useOnCloseEvent:i||void 0},u=Ce(l[1]||\"\",c);return l[0]+\"?\"+u}function zn(e){let n=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const t=typeof n<\"u\"?e.split(\"://\")[1]:e;return n=n===\"wss\"?\"https\":\"http\",[n,t].join(\"://\")}function Gn(e,n,t){if(!e[n]||typeof e[n]!==t)throw new Error(`Missing or invalid \"${n}\" param`)}function ke(e,n=X){return Ke(e.split(Ue),n)}function Wn(e){return ke(e).join(F)}function O(e,n){return e.filter(t=>n.includes(t)).length===e.length}function Ke(e,n=X){return e.slice(Math.max(e.length-n,0))}function Bn(e){return Object.fromEntries(e.entries())}function Yn(e){return new Map(Object.entries(e))}function Jn(e,n){const t={};return Object.keys(e).forEach(r=>{t[r]=n(e[r])}),t}const Qn=e=>e;function Le(e){return e.trim().replace(/^\\w/,n=>n.toUpperCase())}function Zn(e){return e.split(F).map(n=>Le(n)).join(F)}function Xn(e=de,n){const t=z(e||de);let r,o,s;return{resolve:i=>{s&&r&&(clearTimeout(s),r(i))},reject:i=>{s&&o&&(clearTimeout(s),o(i))},done:()=>new Promise((i,l)=>{s=setTimeout(()=>{l(new Error(n))},t),r=i,o=l})}}function et(e,n,t){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(t)),n);try{const i=await e;r(i)}catch(i){o(i)}clearTimeout(s)})}function ne(e,n){if(typeof n==\"string\"&&n.startsWith(`${e}:`))return n;if(e.toLowerCase()===\"topic\"){if(typeof n!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${n}`}else if(e.toLowerCase()===\"id\"){if(typeof n!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${n}`}throw new Error(`Unknown expirer target type: ${e}`)}function nt(e){return ne(\"topic\",e)}function tt(e){return ne(\"id\",e)}function rt(e){const[n,t]=e.split(\":\"),r={id:void 0,topic:void 0};if(n===\"topic\"&&typeof t==\"string\")r.topic=t;else if(n===\"id\"&&Number.isInteger(Number(t)))r.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${n}:${t}`);return r}function ot(e,n){return hn((n||Date.now())+z(e))}function st(e){return Date.now()>=z(e)}function it(e,n){return`${e}${n?`:${n}`:\"\"}`}function S(e=[],n=[]){return[...new Set([...e,...n])]}async function ct({id:e,topic:n,wcDeepLink:t}){try{if(!t)return;const r=typeof t==\"string\"?JSON.parse(t):t;let o=r?.href;if(typeof o!=\"string\")return;o.endsWith(\"/\")&&(o=o.slice(0,-1));const s=`${o}/wc?requestId=${e}&sessionTopic=${n}`,i=j();i===N.browser?s.startsWith(\"https://\")?window.open(s,\"_blank\",\"noreferrer noopener\"):window.open(s,\"_self\",\"noreferrer noopener\"):i===N.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(s)}catch(r){console.error(r)}}const xe=\"irn\";function at(e){return e?.relay||{protocol:xe}}function ut(e){const n=gn[e];if(typeof n>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return n}var lt=Object.defineProperty,Fe=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,He=(e,n,t)=>n in e?lt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,pt=(e,n)=>{for(var t in n||(n={}))dt.call(n,t)&&He(e,t,n[t]);if(Fe)for(var t of Fe(n))ft.call(n,t)&&He(e,t,n[t]);return e};function qe(e,n=\"-\"){const t={},r=\"relay\"+n;return Object.keys(e).forEach(o=>{if(o.startsWith(r)){const s=o.replace(r,\"\"),i=e[o];t[s]=i}}),t}function mt(e){const n=e.indexOf(\":\"),t=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,r=e.substring(0,n),o=e.substring(n+1,t).split(\"@\"),s=typeof t<\"u\"?e.substring(t):\"\",i=V.parse(s);return{protocol:r,topic:ze(o[0]),version:parseInt(o[1],10),symKey:i.symKey,relay:qe(i)}}function ze(e){return e.startsWith(\"//\")?e.substring(2):e}function Ge(e,n=\"-\"){const t=\"relay\",r={};return Object.keys(e).forEach(o=>{const s=t+n+o;e[o]&&(r[s]=e[o])}),r}function yt(e){return`${e.protocol}:${e.topic}@${e.version}?`+V.stringify(pt({symKey:e.symKey},Ge(e.relay)))}var ht=Object.defineProperty,Et=Object.defineProperties,vt=Object.getOwnPropertyDescriptors,We=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable,Be=(e,n,t)=>n in e?ht(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,bt=(e,n)=>{for(var t in n||(n={}))gt.call(n,t)&&Be(e,t,n[t]);if(We)for(var t of We(n))Nt.call(n,t)&&Be(e,t,n[t]);return e},Ot=(e,n)=>Et(e,vt(n));function R(e){const n=[];return e.forEach(t=>{const[r,o]=t.split(\":\");n.push(`${r}:${o}`)}),n}function Ye(e){const n=[];return Object.values(e).forEach(t=>{n.push(...R(t.accounts))}),n}function Je(e,n){const t=[];return Object.values(e).forEach(r=>{R(r.accounts).includes(n)&&t.push(...r.methods)}),t}function Qe(e,n){const t=[];return Object.values(e).forEach(r=>{R(r.accounts).includes(n)&&t.push(...r.events)}),t}function St(e,n){const t=sn(e,n);if(t)throw new Error(t.message);const r={};for(const[o,s]of Object.entries(e))r[o]={methods:s.methods,events:s.events,chains:s.accounts.map(i=>`${i.split(\":\")[0]}:${i.split(\":\")[1]}`)};return r}function It(e){const{proposal:{requiredNamespaces:n,optionalNamespaces:t={}},supportedNamespaces:r}=e,o=re(n),s=re(t),i={};Object.keys(r).forEach(c=>{const u=r[c].chains,a=r[c].methods,g=r[c].events,A=r[c].accounts;i[c]={chains:u,methods:a,events:g,accounts:A}});const l=an(n,i,\"approve()\");if(l)throw new Error(l.message);const d={};return Object.keys(o).forEach(c=>{const u=r[c].chains.filter(v=>{var p,y;return(y=(p=o[c])==null?void 0:p.chains)==null?void 0:y.includes(v)}),a=r[c].methods.filter(v=>{var p,y;return(y=(p=o[c])==null?void 0:p.methods)==null?void 0:y.includes(v)}),g=r[c].events.filter(v=>{var p,y;return(y=(p=o[c])==null?void 0:p.events)==null?void 0:y.includes(v)}),A=u.map(v=>r[c].accounts.filter(p=>p.includes(`${v}:`))).flat();d[c]={chains:u,methods:a,events:g,accounts:A}}),Object.keys(s).forEach(c=>{var u,a,g,A,v,p;if(!r[c])return;const y=(a=(u=s[c])==null?void 0:u.chains)==null?void 0:a.filter(P=>r[c].chains.includes(P)),ln=r[c].methods.filter(P=>{var T,_;return(_=(T=s[c])==null?void 0:T.methods)==null?void 0:_.includes(P)}),dn=r[c].events.filter(P=>{var T,_;return(_=(T=s[c])==null?void 0:T.events)==null?void 0:_.includes(P)}),fn=y?.map(P=>r[c].accounts.filter(T=>T.includes(P))).flat();d[c]={chains:S((g=d[c])==null?void 0:g.chains,y),methods:S((A=d[c])==null?void 0:A.methods,ln),events:S((v=d[c])==null?void 0:v.events,dn),accounts:S((p=d[c])==null?void 0:p.accounts,fn)}}),d}function te(e){return e.includes(\":\")}function Ze(e){return te(e)?e.split(\":\")[0]:e}function re(e){var n,t,r;const o={};if(!H(e))return o;for(const[s,i]of Object.entries(e)){const l=te(s)?[s]:i.chains,d=i.methods||[],c=i.events||[],u=Ze(s);o[u]=Ot(bt({},o[u]),{chains:S(l,(n=o[u])==null?void 0:n.chains),methods:S(d,(t=o[u])==null?void 0:t.methods),events:S(c,(r=o[u])==null?void 0:r.events)})}return o}const Pt={INVALID_METHOD:{message:\"Invalid method.\",code:1001},INVALID_EVENT:{message:\"Invalid event.\",code:1002},INVALID_UPDATE_REQUEST:{message:\"Invalid update request.\",code:1003},INVALID_EXTEND_REQUEST:{message:\"Invalid extend request.\",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:\"Invalid session settle request.\",code:1005},UNAUTHORIZED_METHOD:{message:\"Unauthorized method.\",code:3001},UNAUTHORIZED_EVENT:{message:\"Unauthorized event.\",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:\"Unauthorized update request.\",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:\"Unauthorized extend request.\",code:3004},USER_REJECTED:{message:\"User rejected.\",code:5e3},USER_REJECTED_CHAINS:{message:\"User rejected chains.\",code:5001},USER_REJECTED_METHODS:{message:\"User rejected methods.\",code:5002},USER_REJECTED_EVENTS:{message:\"User rejected events.\",code:5003},UNSUPPORTED_CHAINS:{message:\"Unsupported chains.\",code:5100},UNSUPPORTED_METHODS:{message:\"Unsupported methods.\",code:5101},UNSUPPORTED_EVENTS:{message:\"Unsupported events.\",code:5102},UNSUPPORTED_ACCOUNTS:{message:\"Unsupported accounts.\",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:\"Unsupported namespace key.\",code:5104},USER_DISCONNECTED:{message:\"User disconnected.\",code:6e3},SESSION_SETTLEMENT_FAILED:{message:\"Session settlement failed.\",code:7e3},WC_METHOD_UNSUPPORTED:{message:\"Unsupported wc_ method.\",code:10001}},Tt={NOT_INITIALIZED:{message:\"Not initialized.\",code:1},NO_MATCHING_KEY:{message:\"No matching key.\",code:2},RESTORE_WILL_OVERRIDE:{message:\"Restore will override.\",code:3},RESUBSCRIBED:{message:\"Resubscribed.\",code:4},MISSING_OR_INVALID:{message:\"Missing or invalid.\",code:5},EXPIRED:{message:\"Expired.\",code:6},UNKNOWN_TYPE:{message:\"Unknown type.\",code:7},MISMATCHED_TOPIC:{message:\"Mismatched topic.\",code:8},NON_CONFORMING_NAMESPACES:{message:\"Non conforming namespaces.\",code:9}};function b(e,n){const{message:t,code:r}=Tt[e];return{message:n?`${t} ${n}`:t,code:r}}function w(e,n){const{message:t,code:r}=Pt[e];return{message:n?`${t} ${n}`:t,code:r}}function C(e,n){return Array.isArray(e)?typeof n<\"u\"&&e.length?e.every(n):!0:!1}function H(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function I(e){return typeof e>\"u\"}function m(e,n){return n&&I(e)?!0:typeof e==\"string\"&&!!e.trim().length}function q(e,n){return n&&I(e)?!0:typeof e==\"number\"&&!isNaN(e)}function Rt(e,n){const{requiredNamespaces:t}=n,r=Object.keys(e.namespaces),o=Object.keys(t);let s=!0;return O(o,r)?(r.forEach(i=>{const{accounts:l,methods:d,events:c}=e.namespaces[i],u=R(l),a=t[i];(!O(k(i,a),u)||!O(a.methods,d)||!O(a.events,c))&&(s=!1)}),s):!1}function D(e){return m(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function Xe(e){if(m(e,!1)&&e.includes(\":\")){const n=e.split(\":\");if(n.length===3){const t=n[0]+\":\"+n[1];return!!n[2]&&D(t)}}return!1}function wt(e){if(m(e,!1))try{return typeof new URL(e)<\"u\"}catch{return!1}return!1}function At(e){var n;return(n=e?.proposer)==null?void 0:n.publicKey}function Ut(e){return e?.topic}function _t(e,n){let t=null;return m(e?.publicKey,!1)||(t=b(\"MISSING_OR_INVALID\",`${n} controller public key should be a string`)),t}function oe(e){let n=!0;return C(e)?e.length&&(n=e.every(t=>m(t,!1))):n=!1,n}function en(e,n,t){let r=null;return C(n)&&n.length?n.forEach(o=>{r||D(o)||(r=w(\"UNSUPPORTED_CHAINS\",`${t}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):D(e)||(r=w(\"UNSUPPORTED_CHAINS\",`${t}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),r}function nn(e,n,t){let r=null;return Object.entries(e).forEach(([o,s])=>{if(r)return;const i=en(o,k(o,s),`${n} ${t}`);i&&(r=i)}),r}function tn(e,n){let t=null;return C(e)?e.forEach(r=>{t||Xe(r)||(t=w(\"UNSUPPORTED_ACCOUNTS\",`${n}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):t=w(\"UNSUPPORTED_ACCOUNTS\",`${n}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),t}function rn(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=tn(r?.accounts,`${n} namespace`);o&&(t=o)}),t}function on(e,n){let t=null;return oe(e?.methods)?oe(e?.events)||(t=w(\"UNSUPPORTED_EVENTS\",`${n}, events should be an array of strings or empty array for no events`)):t=w(\"UNSUPPORTED_METHODS\",`${n}, methods should be an array of strings or empty array for no methods`),t}function se(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=on(r,`${n}, namespace`);o&&(t=o)}),t}function $t(e,n,t){let r=null;if(e&&H(e)){const o=se(e,n);o&&(r=o);const s=nn(e,n,t);s&&(r=s)}else r=b(\"MISSING_OR_INVALID\",`${n}, ${t} should be an object with data`);return r}function sn(e,n){let t=null;if(e&&H(e)){const r=se(e,n);r&&(t=r);const o=rn(e,n);o&&(t=o)}else t=b(\"MISSING_OR_INVALID\",`${n}, namespaces should be an object with data`);return t}function cn(e){return m(e.protocol,!0)}function jt(e,n){let t=!1;return n&&!e?t=!0:e&&C(e)&&e.length&&e.forEach(r=>{t=cn(r)}),t}function Ct(e){return typeof e==\"number\"}function Dt(e){return typeof e<\"u\"&&typeof e!==null}function Vt(e){return!(!e||typeof e!=\"object\"||!e.code||!q(e.code,!1)||!e.message||!m(e.message,!1))}function Mt(e){return!(I(e)||!m(e.method,!1))}function kt(e){return!(I(e)||I(e.result)&&I(e.error)||!q(e.id,!1)||!m(e.jsonrpc,!1))}function Kt(e){return!(I(e)||!m(e.name,!1))}function Lt(e,n){return!(!D(n)||!Ye(e).includes(n))}function xt(e,n,t){return m(t,!1)?Je(e,n).includes(t):!1}function Ft(e,n,t){return m(t,!1)?Qe(e,n).includes(t):!1}function an(e,n,t){let r=null;const o=Ht(e),s=qt(n),i=Object.keys(o),l=Object.keys(s),d=un(Object.keys(e)),c=un(Object.keys(n)),u=d.filter(a=>!c.includes(a));return u.length&&(r=b(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces keys don't satisfy requiredNamespaces.\n Required: ${u.toString()}\n Received: ${Object.keys(n).toString()}`)),O(i,l)||(r=b(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces chains don't satisfy required namespaces.\n Required: ${i.toString()}\n Approved: ${l.toString()}`)),Object.keys(n).forEach(a=>{if(!a.includes(\":\")||r)return;const g=R(n[a].accounts);g.includes(a)||(r=b(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces accounts don't satisfy namespace accounts for ${a}\n Required: ${a}\n Approved: ${g.toString()}`))}),i.forEach(a=>{r||(O(o[a].methods,s[a].methods)?O(o[a].events,s[a].events)||(r=b(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces events don't satisfy namespace events for ${a}`)):r=b(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces methods don't satisfy namespace methods for ${a}`))}),r}function Ht(e){const n={};return Object.keys(e).forEach(t=>{var r;t.includes(\":\")?n[t]=e[t]:(r=e[t].chains)==null||r.forEach(o=>{n[o]={methods:e[t].methods,events:e[t].events}})}),n}function un(e){return[...new Set(e.map(n=>n.includes(\":\")?n.split(\":\")[0]:n))]}function qt(e){const n={};return Object.keys(e).forEach(t=>{if(t.includes(\":\"))n[t]=e[t];else{const r=R(e[t].accounts);r?.forEach(o=>{n[o]={accounts:e[t].accounts.filter(s=>s.includes(`${o}:`)),methods:e[t].methods,events:e[t].events}})}}),n}function zt(e,n){return q(e,!1)&&e<=n.max&&e>=n.min}export{B as BASE10,f as BASE16,L as BASE64,Ln as COLON,X as DEFAULT_DEPTH,F as EMPTY_SPACE,N as ENV_MAP,xn as ONE_THOUSAND,Ae as REACT_NATIVE_PRODUCT,xe as RELAYER_DEFAULT_PROTOCOL,_e as SDK_TYPE,Ue as SLASH,Y as TYPE_0,U as TYPE_1,x as UTF8,Ce as appendToQueryString,Gn as assertType,It as buildApprovedNamespaces,ot as calcExpiry,Zn as capitalize,Le as capitalizeWord,Xn as createDelayedPromise,et as createExpiringPromise,$ as decodeTypeByte,Cn as decrypt,Un as deriveSymKey,Z as deserialize,Se as encodeTypeByte,jn as encrypt,it as engineEvent,Qn as enumify,he as formatAccountId,Nn as formatAccountWithChain,ye as formatChainId,ne as formatExpirerTarget,tt as formatIdTarget,Tn as formatMessage,Wn as formatMessageContext,Ge as formatRelayParams,qn as formatRelayRpcUrl,nt as formatTopicTarget,Me as formatUA,yt as formatUri,wn as generateKeyPair,An as generateRandomBytes32,R as getAccountsChains,On as getAccountsFromNamespaces,Ee as getAddressFromAccount,bn as getAddressesFromAccounts,Fn as getAppMetadata,ve as getChainFromAccount,ge as getChainsFromAccounts,k as getChainsFromNamespace,Sn as getChainsFromNamespaces,In as getChainsFromRequiredNamespaces,be as getDidAddress,K as getDidAddressSegments,Ne as getDidChainId,j as getEnvironment,zn as getHttpUrl,b as getInternalError,Ve as getJavascriptID,De as getJavascriptOS,Ke as getLastItems,Pn as getNamespacedDidChainId,Ye as getNamespacesChains,Qe as getNamespacesEventsForChainId,Je as getNamespacesMethodsForChainId,Hn as getRelayClientMetadata,ut as getRelayProtocolApi,at as getRelayProtocolName,St as getRequiredNamespacesFromNamespaces,w as getSdkError,W as getUniqueValues,ct as handleDeeplinkRedirect,O as hasOverlap,_n as hashKey,$n as hashMessage,je as isBrowser,te as isCaipNamespace,an as isConformingNamespaces,st as isExpired,ee as isNode,At as isProposalStruct,$e as isReactNative,Rt as isSessionCompatible,Ut as isSessionStruct,Vn as isTypeOneEnvelope,I as isUndefined,Xe as isValidAccountId,tn as isValidAccounts,on as isValidActions,C as isValidArray,D as isValidChainId,en as isValidChains,_t as isValidController,Vt as isValidErrorReason,Kt as isValidEvent,Ct as isValidId,rn as isValidNamespaceAccounts,se as isValidNamespaceActions,nn as isValidNamespaceChains,oe as isValidNamespaceMethodsOrEvents,sn as isValidNamespaces,Lt as isValidNamespacesChainId,Ft as isValidNamespacesEvent,xt as isValidNamespacesRequest,q as isValidNumber,H as isValidObject,Dt as isValidParams,cn as isValidRelay,jt as isValidRelays,Mt as isValidRequest,zt as isValidRequestExpiry,$t as isValidRequiredNamespaces,kt as isValidResponse,m as isValidString,wt as isValidUrl,Jn as mapEntries,Bn as mapToObj,S as mergeArrays,re as normalizeNamespaces,Yn as objToMap,G as parseAccountId,me as parseChainId,ke as parseContextNames,rt as parseExpirerTarget,Ze as parseNamespaceKey,qe as parseRelayParams,ze as parseTopic,mt as parseUri,Ie as serialize,Dn as validateDecoding,Pe as validateEncoding};\n//# sourceMappingURL=index.es.js.map\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocalStorage = exports.getLocalStorageOrThrow = exports.getCrypto = exports.getCryptoOrThrow = exports.getLocation = exports.getLocationOrThrow = exports.getNavigator = exports.getNavigatorOrThrow = exports.getDocument = exports.getDocumentOrThrow = exports.getFromWindowOrThrow = exports.getFromWindow = void 0;\nfunction getFromWindow(name) {\n let res = undefined;\n if (typeof window !== \"undefined\" && typeof window[name] !== \"undefined\") {\n res = window[name];\n }\n return res;\n}\nexports.getFromWindow = getFromWindow;\nfunction getFromWindowOrThrow(name) {\n const res = getFromWindow(name);\n if (!res) {\n throw new Error(`${name} is not defined in Window`);\n }\n return res;\n}\nexports.getFromWindowOrThrow = getFromWindowOrThrow;\nfunction getDocumentOrThrow() {\n return getFromWindowOrThrow(\"document\");\n}\nexports.getDocumentOrThrow = getDocumentOrThrow;\nfunction getDocument() {\n return getFromWindow(\"document\");\n}\nexports.getDocument = getDocument;\nfunction getNavigatorOrThrow() {\n return getFromWindowOrThrow(\"navigator\");\n}\nexports.getNavigatorOrThrow = getNavigatorOrThrow;\nfunction getNavigator() {\n return getFromWindow(\"navigator\");\n}\nexports.getNavigator = getNavigator;\nfunction getLocationOrThrow() {\n return getFromWindowOrThrow(\"location\");\n}\nexports.getLocationOrThrow = getLocationOrThrow;\nfunction getLocation() {\n return getFromWindow(\"location\");\n}\nexports.getLocation = getLocation;\nfunction getCryptoOrThrow() {\n return getFromWindowOrThrow(\"crypto\");\n}\nexports.getCryptoOrThrow = getCryptoOrThrow;\nfunction getCrypto() {\n return getFromWindow(\"crypto\");\n}\nexports.getCrypto = getCrypto;\nfunction getLocalStorageOrThrow() {\n return getFromWindowOrThrow(\"localStorage\");\n}\nexports.getLocalStorageOrThrow = getLocalStorageOrThrow;\nfunction getLocalStorage() {\n return getFromWindow(\"localStorage\");\n}\nexports.getLocalStorage = getLocalStorage;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWindowMetadata = void 0;\nconst window_getters_1 = require(\"@walletconnect/window-getters\");\nfunction getWindowMetadata() {\n let doc;\n let loc;\n try {\n doc = window_getters_1.getDocumentOrThrow();\n loc = window_getters_1.getLocationOrThrow();\n }\n catch (e) {\n return null;\n }\n function getIcons() {\n const links = doc.getElementsByTagName(\"link\");\n const icons = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const rel = link.getAttribute(\"rel\");\n if (rel) {\n if (rel.toLowerCase().indexOf(\"icon\") > -1) {\n const href = link.getAttribute(\"href\");\n if (href) {\n if (href.toLowerCase().indexOf(\"https:\") === -1 &&\n href.toLowerCase().indexOf(\"http:\") === -1 &&\n href.indexOf(\"//\") !== 0) {\n let absoluteHref = loc.protocol + \"//\" + loc.host;\n if (href.indexOf(\"/\") === 0) {\n absoluteHref += href;\n }\n else {\n const path = loc.pathname.split(\"/\");\n path.pop();\n const finalPath = path.join(\"/\");\n absoluteHref += finalPath + \"/\" + href;\n }\n icons.push(absoluteHref);\n }\n else if (href.indexOf(\"//\") === 0) {\n const absoluteUrl = loc.protocol + href;\n icons.push(absoluteUrl);\n }\n else {\n icons.push(href);\n }\n }\n }\n }\n }\n return icons;\n }\n function getWindowMetadataOfAny(...args) {\n const metaTags = doc.getElementsByTagName(\"meta\");\n for (let i = 0; i < metaTags.length; i++) {\n const tag = metaTags[i];\n const attributes = [\"itemprop\", \"property\", \"name\"]\n .map((target) => tag.getAttribute(target))\n .filter((attr) => {\n if (attr) {\n return args.includes(attr);\n }\n return false;\n });\n if (attributes.length && attributes) {\n const content = tag.getAttribute(\"content\");\n if (content) {\n return content;\n }\n }\n }\n return \"\";\n }\n function getName() {\n let name = getWindowMetadataOfAny(\"name\", \"og:site_name\", \"og:title\", \"twitter:title\");\n if (!name) {\n name = doc.title;\n }\n return name;\n }\n function getDescription() {\n const description = getWindowMetadataOfAny(\"description\", \"og:description\", \"twitter:description\", \"keywords\");\n return description;\n }\n const name = getName();\n const description = getDescription();\n const url = loc.origin;\n const icons = getIcons();\n const meta = {\n description,\n url,\n icons,\n name,\n };\n return meta;\n}\nexports.getWindowMetadata = getWindowMetadata;\n//# sourceMappingURL=index.js.map","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst parser_1 = require('../parser');\nfunction combine(psbts) {\n const self = psbts[0];\n const selfKeyVals = parser_1.psbtToKeyVals(self);\n const others = psbts.slice(1);\n if (others.length === 0) throw new Error('Combine: Nothing to combine');\n const selfTx = getTx(self);\n if (selfTx === undefined) {\n throw new Error('Combine: Self missing transaction');\n }\n const selfGlobalSet = getKeySet(selfKeyVals.globalKeyVals);\n const selfInputSets = selfKeyVals.inputKeyVals.map(getKeySet);\n const selfOutputSets = selfKeyVals.outputKeyVals.map(getKeySet);\n for (const other of others) {\n const otherTx = getTx(other);\n if (\n otherTx === undefined ||\n !otherTx.toBuffer().equals(selfTx.toBuffer())\n ) {\n throw new Error(\n 'Combine: One of the Psbts does not have the same transaction.',\n );\n }\n const otherKeyVals = parser_1.psbtToKeyVals(other);\n const otherGlobalSet = getKeySet(otherKeyVals.globalKeyVals);\n otherGlobalSet.forEach(\n keyPusher(\n selfGlobalSet,\n selfKeyVals.globalKeyVals,\n otherKeyVals.globalKeyVals,\n ),\n );\n const otherInputSets = otherKeyVals.inputKeyVals.map(getKeySet);\n otherInputSets.forEach((inputSet, idx) =>\n inputSet.forEach(\n keyPusher(\n selfInputSets[idx],\n selfKeyVals.inputKeyVals[idx],\n otherKeyVals.inputKeyVals[idx],\n ),\n ),\n );\n const otherOutputSets = otherKeyVals.outputKeyVals.map(getKeySet);\n otherOutputSets.forEach((outputSet, idx) =>\n outputSet.forEach(\n keyPusher(\n selfOutputSets[idx],\n selfKeyVals.outputKeyVals[idx],\n otherKeyVals.outputKeyVals[idx],\n ),\n ),\n );\n }\n return parser_1.psbtFromKeyVals(selfTx, {\n globalMapKeyVals: selfKeyVals.globalKeyVals,\n inputKeyVals: selfKeyVals.inputKeyVals,\n outputKeyVals: selfKeyVals.outputKeyVals,\n });\n}\nexports.combine = combine;\nfunction keyPusher(selfSet, selfKeyVals, otherKeyVals) {\n return key => {\n if (selfSet.has(key)) return;\n const newKv = otherKeyVals.filter(kv => kv.key.toString('hex') === key)[0];\n selfKeyVals.push(newKv);\n selfSet.add(key);\n };\n}\nfunction getTx(psbt) {\n return psbt.globalMap.unsignedTx;\n}\nfunction getKeySet(keyVals) {\n const set = new Set();\n keyVals.forEach(keyVal => {\n const hex = keyVal.key.toString('hex');\n if (set.has(hex))\n throw new Error('Combine: KeyValue Map keys should be unique');\n set.add(hex);\n });\n return set;\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nconst range = n => [...Array(n).keys()];\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.GlobalTypes.GLOBAL_XPUB) {\n throw new Error(\n 'Decode Error: could not decode globalXpub with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if (keyVal.key.length !== 79 || ![2, 3].includes(keyVal.key[46])) {\n throw new Error(\n 'Decode Error: globalXpub has invalid extended pubkey in key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if ((keyVal.value.length / 4) % 1 !== 0) {\n throw new Error(\n 'Decode Error: Global GLOBAL_XPUB value length should be multiple of 4',\n );\n }\n const extendedPubkey = keyVal.key.slice(1);\n const data = {\n masterFingerprint: keyVal.value.slice(0, 4),\n extendedPubkey,\n path: 'm',\n };\n for (const i of range(keyVal.value.length / 4 - 1)) {\n const val = keyVal.value.readUInt32LE(i * 4 + 4);\n const isHard = !!(val & 0x80000000);\n const idx = val & 0x7fffffff;\n data.path += '/' + idx.toString(10) + (isHard ? \"'\" : '');\n }\n return data;\n}\nexports.decode = decode;\nfunction encode(data) {\n const head = Buffer.from([typeFields_1.GlobalTypes.GLOBAL_XPUB]);\n const key = Buffer.concat([head, data.extendedPubkey]);\n const splitPath = data.path.split('/');\n const value = Buffer.allocUnsafe(splitPath.length * 4);\n data.masterFingerprint.copy(value, 0);\n let offset = 4;\n splitPath.slice(1).forEach(level => {\n const isHard = level.slice(-1) === \"'\";\n let num = 0x7fffffff & parseInt(isHard ? level.slice(0, -1) : level, 10);\n if (isHard) num += 0x80000000;\n value.writeUInt32LE(num, offset);\n offset += 4;\n });\n return {\n key,\n value,\n };\n}\nexports.encode = encode;\nexports.expected =\n '{ masterFingerprint: Buffer; extendedPubkey: Buffer; path: string; }';\nfunction check(data) {\n const epk = data.extendedPubkey;\n const mfp = data.masterFingerprint;\n const p = data.path;\n return (\n Buffer.isBuffer(epk) &&\n epk.length === 78 &&\n [2, 3].indexOf(epk[45]) > -1 &&\n Buffer.isBuffer(mfp) &&\n mfp.length === 4 &&\n typeof p === 'string' &&\n !!p.match(/^m(\\/\\d+'?)*$/)\n );\n}\nexports.check = check;\nfunction canAddToArray(array, item, dupeSet) {\n const dupeString = item.extendedPubkey.toString('hex');\n if (dupeSet.has(dupeString)) return false;\n dupeSet.add(dupeString);\n return (\n array.filter(v => v.extendedPubkey.equals(item.extendedPubkey)).length === 0\n );\n}\nexports.canAddToArray = canAddToArray;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction encode(data) {\n return {\n key: Buffer.from([typeFields_1.GlobalTypes.UNSIGNED_TX]),\n value: data.toBuffer(),\n };\n}\nexports.encode = encode;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../typeFields');\nconst globalXpub = require('./global/globalXpub');\nconst unsignedTx = require('./global/unsignedTx');\nconst finalScriptSig = require('./input/finalScriptSig');\nconst finalScriptWitness = require('./input/finalScriptWitness');\nconst nonWitnessUtxo = require('./input/nonWitnessUtxo');\nconst partialSig = require('./input/partialSig');\nconst porCommitment = require('./input/porCommitment');\nconst sighashType = require('./input/sighashType');\nconst tapKeySig = require('./input/tapKeySig');\nconst tapLeafScript = require('./input/tapLeafScript');\nconst tapMerkleRoot = require('./input/tapMerkleRoot');\nconst tapScriptSig = require('./input/tapScriptSig');\nconst witnessUtxo = require('./input/witnessUtxo');\nconst tapTree = require('./output/tapTree');\nconst bip32Derivation = require('./shared/bip32Derivation');\nconst checkPubkey = require('./shared/checkPubkey');\nconst redeemScript = require('./shared/redeemScript');\nconst tapBip32Derivation = require('./shared/tapBip32Derivation');\nconst tapInternalKey = require('./shared/tapInternalKey');\nconst witnessScript = require('./shared/witnessScript');\nconst globals = {\n unsignedTx,\n globalXpub,\n // pass an Array of key bytes that require pubkey beside the key\n checkPubkey: checkPubkey.makeChecker([]),\n};\nexports.globals = globals;\nconst inputs = {\n nonWitnessUtxo,\n partialSig,\n sighashType,\n finalScriptSig,\n finalScriptWitness,\n porCommitment,\n witnessUtxo,\n bip32Derivation: bip32Derivation.makeConverter(\n typeFields_1.InputTypes.BIP32_DERIVATION,\n ),\n redeemScript: redeemScript.makeConverter(\n typeFields_1.InputTypes.REDEEM_SCRIPT,\n ),\n witnessScript: witnessScript.makeConverter(\n typeFields_1.InputTypes.WITNESS_SCRIPT,\n ),\n checkPubkey: checkPubkey.makeChecker([\n typeFields_1.InputTypes.PARTIAL_SIG,\n typeFields_1.InputTypes.BIP32_DERIVATION,\n ]),\n tapKeySig,\n tapScriptSig,\n tapLeafScript,\n tapBip32Derivation: tapBip32Derivation.makeConverter(\n typeFields_1.InputTypes.TAP_BIP32_DERIVATION,\n ),\n tapInternalKey: tapInternalKey.makeConverter(\n typeFields_1.InputTypes.TAP_INTERNAL_KEY,\n ),\n tapMerkleRoot,\n};\nexports.inputs = inputs;\nconst outputs = {\n bip32Derivation: bip32Derivation.makeConverter(\n typeFields_1.OutputTypes.BIP32_DERIVATION,\n ),\n redeemScript: redeemScript.makeConverter(\n typeFields_1.OutputTypes.REDEEM_SCRIPT,\n ),\n witnessScript: witnessScript.makeConverter(\n typeFields_1.OutputTypes.WITNESS_SCRIPT,\n ),\n checkPubkey: checkPubkey.makeChecker([\n typeFields_1.OutputTypes.BIP32_DERIVATION,\n ]),\n tapBip32Derivation: tapBip32Derivation.makeConverter(\n typeFields_1.OutputTypes.TAP_BIP32_DERIVATION,\n ),\n tapTree,\n tapInternalKey: tapInternalKey.makeConverter(\n typeFields_1.OutputTypes.TAP_INTERNAL_KEY,\n ),\n};\nexports.outputs = outputs;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.FINAL_SCRIPTSIG) {\n throw new Error(\n 'Decode Error: could not decode finalScriptSig with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n return keyVal.value;\n}\nexports.decode = decode;\nfunction encode(data) {\n const key = Buffer.from([typeFields_1.InputTypes.FINAL_SCRIPTSIG]);\n return {\n key,\n value: data,\n };\n}\nexports.encode = encode;\nexports.expected = 'Buffer';\nfunction check(data) {\n return Buffer.isBuffer(data);\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.finalScriptSig === undefined;\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.FINAL_SCRIPTWITNESS) {\n throw new Error(\n 'Decode Error: could not decode finalScriptWitness with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n return keyVal.value;\n}\nexports.decode = decode;\nfunction encode(data) {\n const key = Buffer.from([typeFields_1.InputTypes.FINAL_SCRIPTWITNESS]);\n return {\n key,\n value: data,\n };\n}\nexports.encode = encode;\nexports.expected = 'Buffer';\nfunction check(data) {\n return Buffer.isBuffer(data);\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return (\n !!currentData && !!newData && currentData.finalScriptWitness === undefined\n );\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.NON_WITNESS_UTXO) {\n throw new Error(\n 'Decode Error: could not decode nonWitnessUtxo with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n return keyVal.value;\n}\nexports.decode = decode;\nfunction encode(data) {\n return {\n key: Buffer.from([typeFields_1.InputTypes.NON_WITNESS_UTXO]),\n value: data,\n };\n}\nexports.encode = encode;\nexports.expected = 'Buffer';\nfunction check(data) {\n return Buffer.isBuffer(data);\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.nonWitnessUtxo === undefined;\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.PARTIAL_SIG) {\n throw new Error(\n 'Decode Error: could not decode partialSig with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if (\n !(keyVal.key.length === 34 || keyVal.key.length === 66) ||\n ![2, 3, 4].includes(keyVal.key[1])\n ) {\n throw new Error(\n 'Decode Error: partialSig has invalid pubkey in key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n const pubkey = keyVal.key.slice(1);\n return {\n pubkey,\n signature: keyVal.value,\n };\n}\nexports.decode = decode;\nfunction encode(pSig) {\n const head = Buffer.from([typeFields_1.InputTypes.PARTIAL_SIG]);\n return {\n key: Buffer.concat([head, pSig.pubkey]),\n value: pSig.signature,\n };\n}\nexports.encode = encode;\nexports.expected = '{ pubkey: Buffer; signature: Buffer; }';\nfunction check(data) {\n return (\n Buffer.isBuffer(data.pubkey) &&\n Buffer.isBuffer(data.signature) &&\n [33, 65].includes(data.pubkey.length) &&\n [2, 3, 4].includes(data.pubkey[0]) &&\n isDerSigWithSighash(data.signature)\n );\n}\nexports.check = check;\nfunction isDerSigWithSighash(buf) {\n if (!Buffer.isBuffer(buf) || buf.length < 9) return false;\n if (buf[0] !== 0x30) return false;\n if (buf.length !== buf[1] + 3) return false;\n if (buf[2] !== 0x02) return false;\n const rLen = buf[3];\n if (rLen > 33 || rLen < 1) return false;\n if (buf[3 + rLen + 1] !== 0x02) return false;\n const sLen = buf[3 + rLen + 2];\n if (sLen > 33 || sLen < 1) return false;\n if (buf.length !== 3 + rLen + 2 + sLen + 2) return false;\n return true;\n}\nfunction canAddToArray(array, item, dupeSet) {\n const dupeString = item.pubkey.toString('hex');\n if (dupeSet.has(dupeString)) return false;\n dupeSet.add(dupeString);\n return array.filter(v => v.pubkey.equals(item.pubkey)).length === 0;\n}\nexports.canAddToArray = canAddToArray;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.POR_COMMITMENT) {\n throw new Error(\n 'Decode Error: could not decode porCommitment with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n return keyVal.value.toString('utf8');\n}\nexports.decode = decode;\nfunction encode(data) {\n const key = Buffer.from([typeFields_1.InputTypes.POR_COMMITMENT]);\n return {\n key,\n value: Buffer.from(data, 'utf8'),\n };\n}\nexports.encode = encode;\nexports.expected = 'string';\nfunction check(data) {\n return typeof data === 'string';\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.porCommitment === undefined;\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.SIGHASH_TYPE) {\n throw new Error(\n 'Decode Error: could not decode sighashType with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n return keyVal.value.readUInt32LE(0);\n}\nexports.decode = decode;\nfunction encode(data) {\n const key = Buffer.from([typeFields_1.InputTypes.SIGHASH_TYPE]);\n const value = Buffer.allocUnsafe(4);\n value.writeUInt32LE(data, 0);\n return {\n key,\n value,\n };\n}\nexports.encode = encode;\nexports.expected = 'number';\nfunction check(data) {\n return typeof data === 'number';\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.sighashType === undefined;\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (\n keyVal.key[0] !== typeFields_1.InputTypes.TAP_KEY_SIG ||\n keyVal.key.length !== 1\n ) {\n throw new Error(\n 'Decode Error: could not decode tapKeySig with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if (!check(keyVal.value)) {\n throw new Error(\n 'Decode Error: tapKeySig not a valid 64-65-byte BIP340 signature',\n );\n }\n return keyVal.value;\n}\nexports.decode = decode;\nfunction encode(value) {\n const key = Buffer.from([typeFields_1.InputTypes.TAP_KEY_SIG]);\n return { key, value };\n}\nexports.encode = encode;\nexports.expected = 'Buffer';\nfunction check(data) {\n return Buffer.isBuffer(data) && (data.length === 64 || data.length === 65);\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.tapKeySig === undefined;\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.TAP_LEAF_SCRIPT) {\n throw new Error(\n 'Decode Error: could not decode tapLeafScript with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if ((keyVal.key.length - 2) % 32 !== 0) {\n throw new Error(\n 'Decode Error: tapLeafScript has invalid control block in key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n const leafVersion = keyVal.value[keyVal.value.length - 1];\n if ((keyVal.key[1] & 0xfe) !== leafVersion) {\n throw new Error(\n 'Decode Error: tapLeafScript bad leaf version in key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n const script = keyVal.value.slice(0, -1);\n const controlBlock = keyVal.key.slice(1);\n return { controlBlock, script, leafVersion };\n}\nexports.decode = decode;\nfunction encode(tScript) {\n const head = Buffer.from([typeFields_1.InputTypes.TAP_LEAF_SCRIPT]);\n const verBuf = Buffer.from([tScript.leafVersion]);\n return {\n key: Buffer.concat([head, tScript.controlBlock]),\n value: Buffer.concat([tScript.script, verBuf]),\n };\n}\nexports.encode = encode;\nexports.expected =\n '{ controlBlock: Buffer; leafVersion: number, script: Buffer; }';\nfunction check(data) {\n return (\n Buffer.isBuffer(data.controlBlock) &&\n (data.controlBlock.length - 1) % 32 === 0 &&\n (data.controlBlock[0] & 0xfe) === data.leafVersion &&\n Buffer.isBuffer(data.script)\n );\n}\nexports.check = check;\nfunction canAddToArray(array, item, dupeSet) {\n const dupeString = item.controlBlock.toString('hex');\n if (dupeSet.has(dupeString)) return false;\n dupeSet.add(dupeString);\n return (\n array.filter(v => v.controlBlock.equals(item.controlBlock)).length === 0\n );\n}\nexports.canAddToArray = canAddToArray;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (\n keyVal.key[0] !== typeFields_1.InputTypes.TAP_MERKLE_ROOT ||\n keyVal.key.length !== 1\n ) {\n throw new Error(\n 'Decode Error: could not decode tapMerkleRoot with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if (!check(keyVal.value)) {\n throw new Error('Decode Error: tapMerkleRoot not a 32-byte hash');\n }\n return keyVal.value;\n}\nexports.decode = decode;\nfunction encode(value) {\n const key = Buffer.from([typeFields_1.InputTypes.TAP_MERKLE_ROOT]);\n return { key, value };\n}\nexports.encode = encode;\nexports.expected = 'Buffer';\nfunction check(data) {\n return Buffer.isBuffer(data) && data.length === 32;\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.tapMerkleRoot === undefined;\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.TAP_SCRIPT_SIG) {\n throw new Error(\n 'Decode Error: could not decode tapScriptSig with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if (keyVal.key.length !== 65) {\n throw new Error(\n 'Decode Error: tapScriptSig has invalid key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if (keyVal.value.length !== 64 && keyVal.value.length !== 65) {\n throw new Error(\n 'Decode Error: tapScriptSig has invalid signature in key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n const pubkey = keyVal.key.slice(1, 33);\n const leafHash = keyVal.key.slice(33);\n return {\n pubkey,\n leafHash,\n signature: keyVal.value,\n };\n}\nexports.decode = decode;\nfunction encode(tSig) {\n const head = Buffer.from([typeFields_1.InputTypes.TAP_SCRIPT_SIG]);\n return {\n key: Buffer.concat([head, tSig.pubkey, tSig.leafHash]),\n value: tSig.signature,\n };\n}\nexports.encode = encode;\nexports.expected = '{ pubkey: Buffer; leafHash: Buffer; signature: Buffer; }';\nfunction check(data) {\n return (\n Buffer.isBuffer(data.pubkey) &&\n Buffer.isBuffer(data.leafHash) &&\n Buffer.isBuffer(data.signature) &&\n data.pubkey.length === 32 &&\n data.leafHash.length === 32 &&\n (data.signature.length === 64 || data.signature.length === 65)\n );\n}\nexports.check = check;\nfunction canAddToArray(array, item, dupeSet) {\n const dupeString =\n item.pubkey.toString('hex') + item.leafHash.toString('hex');\n if (dupeSet.has(dupeString)) return false;\n dupeSet.add(dupeString);\n return (\n array.filter(\n v => v.pubkey.equals(item.pubkey) && v.leafHash.equals(item.leafHash),\n ).length === 0\n );\n}\nexports.canAddToArray = canAddToArray;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nconst tools_1 = require('../tools');\nconst varuint = require('../varint');\nfunction decode(keyVal) {\n if (keyVal.key[0] !== typeFields_1.InputTypes.WITNESS_UTXO) {\n throw new Error(\n 'Decode Error: could not decode witnessUtxo with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n const value = tools_1.readUInt64LE(keyVal.value, 0);\n let _offset = 8;\n const scriptLen = varuint.decode(keyVal.value, _offset);\n _offset += varuint.encodingLength(scriptLen);\n const script = keyVal.value.slice(_offset);\n if (script.length !== scriptLen) {\n throw new Error('Decode Error: WITNESS_UTXO script is not proper length');\n }\n return {\n script,\n value,\n };\n}\nexports.decode = decode;\nfunction encode(data) {\n const { script, value } = data;\n const varintLen = varuint.encodingLength(script.length);\n const result = Buffer.allocUnsafe(8 + varintLen + script.length);\n tools_1.writeUInt64LE(result, value, 0);\n varuint.encode(script.length, result, 8);\n script.copy(result, 8 + varintLen);\n return {\n key: Buffer.from([typeFields_1.InputTypes.WITNESS_UTXO]),\n value: result,\n };\n}\nexports.encode = encode;\nexports.expected = '{ script: Buffer; value: number; }';\nfunction check(data) {\n return Buffer.isBuffer(data.script) && typeof data.value === 'number';\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.witnessUtxo === undefined;\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst typeFields_1 = require('../../typeFields');\nconst varuint = require('../varint');\nfunction decode(keyVal) {\n if (\n keyVal.key[0] !== typeFields_1.OutputTypes.TAP_TREE ||\n keyVal.key.length !== 1\n ) {\n throw new Error(\n 'Decode Error: could not decode tapTree with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n let _offset = 0;\n const data = [];\n while (_offset < keyVal.value.length) {\n const depth = keyVal.value[_offset++];\n const leafVersion = keyVal.value[_offset++];\n const scriptLen = varuint.decode(keyVal.value, _offset);\n _offset += varuint.encodingLength(scriptLen);\n data.push({\n depth,\n leafVersion,\n script: keyVal.value.slice(_offset, _offset + scriptLen),\n });\n _offset += scriptLen;\n }\n return { leaves: data };\n}\nexports.decode = decode;\nfunction encode(tree) {\n const key = Buffer.from([typeFields_1.OutputTypes.TAP_TREE]);\n const bufs = [].concat(\n ...tree.leaves.map(tapLeaf => [\n Buffer.of(tapLeaf.depth, tapLeaf.leafVersion),\n varuint.encode(tapLeaf.script.length),\n tapLeaf.script,\n ]),\n );\n return {\n key,\n value: Buffer.concat(bufs),\n };\n}\nexports.encode = encode;\nexports.expected =\n '{ leaves: [{ depth: number; leafVersion: number, script: Buffer; }] }';\nfunction check(data) {\n return (\n Array.isArray(data.leaves) &&\n data.leaves.every(\n tapLeaf =>\n tapLeaf.depth >= 0 &&\n tapLeaf.depth <= 128 &&\n (tapLeaf.leafVersion & 0xfe) === tapLeaf.leafVersion &&\n Buffer.isBuffer(tapLeaf.script),\n )\n );\n}\nexports.check = check;\nfunction canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.tapTree === undefined;\n}\nexports.canAdd = canAdd;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst range = n => [...Array(n).keys()];\nconst isValidDERKey = pubkey =>\n (pubkey.length === 33 && [2, 3].includes(pubkey[0])) ||\n (pubkey.length === 65 && 4 === pubkey[0]);\nfunction makeConverter(TYPE_BYTE, isValidPubkey = isValidDERKey) {\n function decode(keyVal) {\n if (keyVal.key[0] !== TYPE_BYTE) {\n throw new Error(\n 'Decode Error: could not decode bip32Derivation with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n const pubkey = keyVal.key.slice(1);\n if (!isValidPubkey(pubkey)) {\n throw new Error(\n 'Decode Error: bip32Derivation has invalid pubkey in key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if ((keyVal.value.length / 4) % 1 !== 0) {\n throw new Error(\n 'Decode Error: Input BIP32_DERIVATION value length should be multiple of 4',\n );\n }\n const data = {\n masterFingerprint: keyVal.value.slice(0, 4),\n pubkey,\n path: 'm',\n };\n for (const i of range(keyVal.value.length / 4 - 1)) {\n const val = keyVal.value.readUInt32LE(i * 4 + 4);\n const isHard = !!(val & 0x80000000);\n const idx = val & 0x7fffffff;\n data.path += '/' + idx.toString(10) + (isHard ? \"'\" : '');\n }\n return data;\n }\n function encode(data) {\n const head = Buffer.from([TYPE_BYTE]);\n const key = Buffer.concat([head, data.pubkey]);\n const splitPath = data.path.split('/');\n const value = Buffer.allocUnsafe(splitPath.length * 4);\n data.masterFingerprint.copy(value, 0);\n let offset = 4;\n splitPath.slice(1).forEach(level => {\n const isHard = level.slice(-1) === \"'\";\n let num = 0x7fffffff & parseInt(isHard ? level.slice(0, -1) : level, 10);\n if (isHard) num += 0x80000000;\n value.writeUInt32LE(num, offset);\n offset += 4;\n });\n return {\n key,\n value,\n };\n }\n const expected =\n '{ masterFingerprint: Buffer; pubkey: Buffer; path: string; }';\n function check(data) {\n return (\n Buffer.isBuffer(data.pubkey) &&\n Buffer.isBuffer(data.masterFingerprint) &&\n typeof data.path === 'string' &&\n isValidPubkey(data.pubkey) &&\n data.masterFingerprint.length === 4\n );\n }\n function canAddToArray(array, item, dupeSet) {\n const dupeString = item.pubkey.toString('hex');\n if (dupeSet.has(dupeString)) return false;\n dupeSet.add(dupeString);\n return array.filter(v => v.pubkey.equals(item.pubkey)).length === 0;\n }\n return {\n decode,\n encode,\n check,\n expected,\n canAddToArray,\n };\n}\nexports.makeConverter = makeConverter;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction makeChecker(pubkeyTypes) {\n return checkPubkey;\n function checkPubkey(keyVal) {\n let pubkey;\n if (pubkeyTypes.includes(keyVal.key[0])) {\n pubkey = keyVal.key.slice(1);\n if (\n !(pubkey.length === 33 || pubkey.length === 65) ||\n ![2, 3, 4].includes(pubkey[0])\n ) {\n throw new Error(\n 'Format Error: invalid pubkey in key 0x' + keyVal.key.toString('hex'),\n );\n }\n }\n return pubkey;\n }\n}\nexports.makeChecker = makeChecker;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction makeConverter(TYPE_BYTE) {\n function decode(keyVal) {\n if (keyVal.key[0] !== TYPE_BYTE) {\n throw new Error(\n 'Decode Error: could not decode redeemScript with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n return keyVal.value;\n }\n function encode(data) {\n const key = Buffer.from([TYPE_BYTE]);\n return {\n key,\n value: data,\n };\n }\n const expected = 'Buffer';\n function check(data) {\n return Buffer.isBuffer(data);\n }\n function canAdd(currentData, newData) {\n return !!currentData && !!newData && currentData.redeemScript === undefined;\n }\n return {\n decode,\n encode,\n check,\n expected,\n canAdd,\n };\n}\nexports.makeConverter = makeConverter;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst varuint = require('../varint');\nconst bip32Derivation = require('./bip32Derivation');\nconst isValidBIP340Key = pubkey => pubkey.length === 32;\nfunction makeConverter(TYPE_BYTE) {\n const parent = bip32Derivation.makeConverter(TYPE_BYTE, isValidBIP340Key);\n function decode(keyVal) {\n const nHashes = varuint.decode(keyVal.value);\n const nHashesLen = varuint.encodingLength(nHashes);\n const base = parent.decode({\n key: keyVal.key,\n value: keyVal.value.slice(nHashesLen + nHashes * 32),\n });\n const leafHashes = new Array(nHashes);\n for (let i = 0, _offset = nHashesLen; i < nHashes; i++, _offset += 32) {\n leafHashes[i] = keyVal.value.slice(_offset, _offset + 32);\n }\n return Object.assign({}, base, { leafHashes });\n }\n function encode(data) {\n const base = parent.encode(data);\n const nHashesLen = varuint.encodingLength(data.leafHashes.length);\n const nHashesBuf = Buffer.allocUnsafe(nHashesLen);\n varuint.encode(data.leafHashes.length, nHashesBuf);\n const value = Buffer.concat([nHashesBuf, ...data.leafHashes, base.value]);\n return Object.assign({}, base, { value });\n }\n const expected =\n '{ ' +\n 'masterFingerprint: Buffer; ' +\n 'pubkey: Buffer; ' +\n 'path: string; ' +\n 'leafHashes: Buffer[]; ' +\n '}';\n function check(data) {\n return (\n Array.isArray(data.leafHashes) &&\n data.leafHashes.every(\n leafHash => Buffer.isBuffer(leafHash) && leafHash.length === 32,\n ) &&\n parent.check(data)\n );\n }\n return {\n decode,\n encode,\n check,\n expected,\n canAddToArray: parent.canAddToArray,\n };\n}\nexports.makeConverter = makeConverter;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction makeConverter(TYPE_BYTE) {\n function decode(keyVal) {\n if (keyVal.key[0] !== TYPE_BYTE || keyVal.key.length !== 1) {\n throw new Error(\n 'Decode Error: could not decode tapInternalKey with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n if (keyVal.value.length !== 32) {\n throw new Error(\n 'Decode Error: tapInternalKey not a 32-byte x-only pubkey',\n );\n }\n return keyVal.value;\n }\n function encode(value) {\n const key = Buffer.from([TYPE_BYTE]);\n return { key, value };\n }\n const expected = 'Buffer';\n function check(data) {\n return Buffer.isBuffer(data) && data.length === 32;\n }\n function canAdd(currentData, newData) {\n return (\n !!currentData && !!newData && currentData.tapInternalKey === undefined\n );\n }\n return {\n decode,\n encode,\n check,\n expected,\n canAdd,\n };\n}\nexports.makeConverter = makeConverter;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction makeConverter(TYPE_BYTE) {\n function decode(keyVal) {\n if (keyVal.key[0] !== TYPE_BYTE) {\n throw new Error(\n 'Decode Error: could not decode witnessScript with key 0x' +\n keyVal.key.toString('hex'),\n );\n }\n return keyVal.value;\n }\n function encode(data) {\n const key = Buffer.from([TYPE_BYTE]);\n return {\n key,\n value: data,\n };\n }\n const expected = 'Buffer';\n function check(data) {\n return Buffer.isBuffer(data);\n }\n function canAdd(currentData, newData) {\n return (\n !!currentData && !!newData && currentData.witnessScript === undefined\n );\n }\n return {\n decode,\n encode,\n check,\n expected,\n canAdd,\n };\n}\nexports.makeConverter = makeConverter;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst varuint = require('./varint');\nexports.range = n => [...Array(n).keys()];\nfunction reverseBuffer(buffer) {\n if (buffer.length < 1) return buffer;\n let j = buffer.length - 1;\n let tmp = 0;\n for (let i = 0; i < buffer.length / 2; i++) {\n tmp = buffer[i];\n buffer[i] = buffer[j];\n buffer[j] = tmp;\n j--;\n }\n return buffer;\n}\nexports.reverseBuffer = reverseBuffer;\nfunction keyValsToBuffer(keyVals) {\n const buffers = keyVals.map(keyValToBuffer);\n buffers.push(Buffer.from([0]));\n return Buffer.concat(buffers);\n}\nexports.keyValsToBuffer = keyValsToBuffer;\nfunction keyValToBuffer(keyVal) {\n const keyLen = keyVal.key.length;\n const valLen = keyVal.value.length;\n const keyVarIntLen = varuint.encodingLength(keyLen);\n const valVarIntLen = varuint.encodingLength(valLen);\n const buffer = Buffer.allocUnsafe(\n keyVarIntLen + keyLen + valVarIntLen + valLen,\n );\n varuint.encode(keyLen, buffer, 0);\n keyVal.key.copy(buffer, keyVarIntLen);\n varuint.encode(valLen, buffer, keyVarIntLen + keyLen);\n keyVal.value.copy(buffer, keyVarIntLen + keyLen + valVarIntLen);\n return buffer;\n}\nexports.keyValToBuffer = keyValToBuffer;\n// https://github.com/feross/buffer/blob/master/index.js#L1127\nfunction verifuint(value, max) {\n if (typeof value !== 'number')\n throw new Error('cannot write a non-number as a number');\n if (value < 0)\n throw new Error('specified a negative value for writing an unsigned value');\n if (value > max) throw new Error('RangeError: value out of range');\n if (Math.floor(value) !== value)\n throw new Error('value has a fractional component');\n}\nfunction readUInt64LE(buffer, offset) {\n const a = buffer.readUInt32LE(offset);\n let b = buffer.readUInt32LE(offset + 4);\n b *= 0x100000000;\n verifuint(b + a, 0x001fffffffffffff);\n return b + a;\n}\nexports.readUInt64LE = readUInt64LE;\nfunction writeUInt64LE(buffer, value, offset) {\n verifuint(value, 0x001fffffffffffff);\n buffer.writeInt32LE(value & -1, offset);\n buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4);\n return offset + 8;\n}\nexports.writeUInt64LE = writeUInt64LE;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\n// Number.MAX_SAFE_INTEGER\nconst MAX_SAFE_INTEGER = 9007199254740991;\nfunction checkUInt53(n) {\n if (n < 0 || n > MAX_SAFE_INTEGER || n % 1 !== 0)\n throw new RangeError('value out of range');\n}\nfunction encode(_number, buffer, offset) {\n checkUInt53(_number);\n if (!buffer) buffer = Buffer.allocUnsafe(encodingLength(_number));\n if (!Buffer.isBuffer(buffer))\n throw new TypeError('buffer must be a Buffer instance');\n if (!offset) offset = 0;\n // 8 bit\n if (_number < 0xfd) {\n buffer.writeUInt8(_number, offset);\n Object.assign(encode, { bytes: 1 });\n // 16 bit\n } else if (_number <= 0xffff) {\n buffer.writeUInt8(0xfd, offset);\n buffer.writeUInt16LE(_number, offset + 1);\n Object.assign(encode, { bytes: 3 });\n // 32 bit\n } else if (_number <= 0xffffffff) {\n buffer.writeUInt8(0xfe, offset);\n buffer.writeUInt32LE(_number, offset + 1);\n Object.assign(encode, { bytes: 5 });\n // 64 bit\n } else {\n buffer.writeUInt8(0xff, offset);\n buffer.writeUInt32LE(_number >>> 0, offset + 1);\n buffer.writeUInt32LE((_number / 0x100000000) | 0, offset + 5);\n Object.assign(encode, { bytes: 9 });\n }\n return buffer;\n}\nexports.encode = encode;\nfunction decode(buffer, offset) {\n if (!Buffer.isBuffer(buffer))\n throw new TypeError('buffer must be a Buffer instance');\n if (!offset) offset = 0;\n const first = buffer.readUInt8(offset);\n // 8 bit\n if (first < 0xfd) {\n Object.assign(decode, { bytes: 1 });\n return first;\n // 16 bit\n } else if (first === 0xfd) {\n Object.assign(decode, { bytes: 3 });\n return buffer.readUInt16LE(offset + 1);\n // 32 bit\n } else if (first === 0xfe) {\n Object.assign(decode, { bytes: 5 });\n return buffer.readUInt32LE(offset + 1);\n // 64 bit\n } else {\n Object.assign(decode, { bytes: 9 });\n const lo = buffer.readUInt32LE(offset + 1);\n const hi = buffer.readUInt32LE(offset + 5);\n const _number = hi * 0x0100000000 + lo;\n checkUInt53(_number);\n return _number;\n }\n}\nexports.decode = decode;\nfunction encodingLength(_number) {\n checkUInt53(_number);\n return _number < 0xfd\n ? 1\n : _number <= 0xffff\n ? 3\n : _number <= 0xffffffff\n ? 5\n : 9;\n}\nexports.encodingLength = encodingLength;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst convert = require('../converter');\nconst tools_1 = require('../converter/tools');\nconst varuint = require('../converter/varint');\nconst typeFields_1 = require('../typeFields');\nfunction psbtFromBuffer(buffer, txGetter) {\n let offset = 0;\n function varSlice() {\n const keyLen = varuint.decode(buffer, offset);\n offset += varuint.encodingLength(keyLen);\n const key = buffer.slice(offset, offset + keyLen);\n offset += keyLen;\n return key;\n }\n function readUInt32BE() {\n const num = buffer.readUInt32BE(offset);\n offset += 4;\n return num;\n }\n function readUInt8() {\n const num = buffer.readUInt8(offset);\n offset += 1;\n return num;\n }\n function getKeyValue() {\n const key = varSlice();\n const value = varSlice();\n return {\n key,\n value,\n };\n }\n function checkEndOfKeyValPairs() {\n if (offset >= buffer.length) {\n throw new Error('Format Error: Unexpected End of PSBT');\n }\n const isEnd = buffer.readUInt8(offset) === 0;\n if (isEnd) {\n offset++;\n }\n return isEnd;\n }\n if (readUInt32BE() !== 0x70736274) {\n throw new Error('Format Error: Invalid Magic Number');\n }\n if (readUInt8() !== 0xff) {\n throw new Error(\n 'Format Error: Magic Number must be followed by 0xff separator',\n );\n }\n const globalMapKeyVals = [];\n const globalKeyIndex = {};\n while (!checkEndOfKeyValPairs()) {\n const keyVal = getKeyValue();\n const hexKey = keyVal.key.toString('hex');\n if (globalKeyIndex[hexKey]) {\n throw new Error(\n 'Format Error: Keys must be unique for global keymap: key ' + hexKey,\n );\n }\n globalKeyIndex[hexKey] = 1;\n globalMapKeyVals.push(keyVal);\n }\n const unsignedTxMaps = globalMapKeyVals.filter(\n keyVal => keyVal.key[0] === typeFields_1.GlobalTypes.UNSIGNED_TX,\n );\n if (unsignedTxMaps.length !== 1) {\n throw new Error('Format Error: Only one UNSIGNED_TX allowed');\n }\n const unsignedTx = txGetter(unsignedTxMaps[0].value);\n // Get input and output counts to loop the respective fields\n const { inputCount, outputCount } = unsignedTx.getInputOutputCounts();\n const inputKeyVals = [];\n const outputKeyVals = [];\n // Get input fields\n for (const index of tools_1.range(inputCount)) {\n const inputKeyIndex = {};\n const input = [];\n while (!checkEndOfKeyValPairs()) {\n const keyVal = getKeyValue();\n const hexKey = keyVal.key.toString('hex');\n if (inputKeyIndex[hexKey]) {\n throw new Error(\n 'Format Error: Keys must be unique for each input: ' +\n 'input index ' +\n index +\n ' key ' +\n hexKey,\n );\n }\n inputKeyIndex[hexKey] = 1;\n input.push(keyVal);\n }\n inputKeyVals.push(input);\n }\n for (const index of tools_1.range(outputCount)) {\n const outputKeyIndex = {};\n const output = [];\n while (!checkEndOfKeyValPairs()) {\n const keyVal = getKeyValue();\n const hexKey = keyVal.key.toString('hex');\n if (outputKeyIndex[hexKey]) {\n throw new Error(\n 'Format Error: Keys must be unique for each output: ' +\n 'output index ' +\n index +\n ' key ' +\n hexKey,\n );\n }\n outputKeyIndex[hexKey] = 1;\n output.push(keyVal);\n }\n outputKeyVals.push(output);\n }\n return psbtFromKeyVals(unsignedTx, {\n globalMapKeyVals,\n inputKeyVals,\n outputKeyVals,\n });\n}\nexports.psbtFromBuffer = psbtFromBuffer;\nfunction checkKeyBuffer(type, keyBuf, keyNum) {\n if (!keyBuf.equals(Buffer.from([keyNum]))) {\n throw new Error(\n `Format Error: Invalid ${type} key: ${keyBuf.toString('hex')}`,\n );\n }\n}\nexports.checkKeyBuffer = checkKeyBuffer;\nfunction psbtFromKeyVals(\n unsignedTx,\n { globalMapKeyVals, inputKeyVals, outputKeyVals },\n) {\n // That was easy :-)\n const globalMap = {\n unsignedTx,\n };\n let txCount = 0;\n for (const keyVal of globalMapKeyVals) {\n // If a globalMap item needs pubkey, uncomment\n // const pubkey = convert.globals.checkPubkey(keyVal);\n switch (keyVal.key[0]) {\n case typeFields_1.GlobalTypes.UNSIGNED_TX:\n checkKeyBuffer(\n 'global',\n keyVal.key,\n typeFields_1.GlobalTypes.UNSIGNED_TX,\n );\n if (txCount > 0) {\n throw new Error('Format Error: GlobalMap has multiple UNSIGNED_TX');\n }\n txCount++;\n break;\n case typeFields_1.GlobalTypes.GLOBAL_XPUB:\n if (globalMap.globalXpub === undefined) {\n globalMap.globalXpub = [];\n }\n globalMap.globalXpub.push(convert.globals.globalXpub.decode(keyVal));\n break;\n default:\n // This will allow inclusion during serialization.\n if (!globalMap.unknownKeyVals) globalMap.unknownKeyVals = [];\n globalMap.unknownKeyVals.push(keyVal);\n }\n }\n // Get input and output counts to loop the respective fields\n const inputCount = inputKeyVals.length;\n const outputCount = outputKeyVals.length;\n const inputs = [];\n const outputs = [];\n // Get input fields\n for (const index of tools_1.range(inputCount)) {\n const input = {};\n for (const keyVal of inputKeyVals[index]) {\n convert.inputs.checkPubkey(keyVal);\n switch (keyVal.key[0]) {\n case typeFields_1.InputTypes.NON_WITNESS_UTXO:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.NON_WITNESS_UTXO,\n );\n if (input.nonWitnessUtxo !== undefined) {\n throw new Error(\n 'Format Error: Input has multiple NON_WITNESS_UTXO',\n );\n }\n input.nonWitnessUtxo = convert.inputs.nonWitnessUtxo.decode(keyVal);\n break;\n case typeFields_1.InputTypes.WITNESS_UTXO:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.WITNESS_UTXO,\n );\n if (input.witnessUtxo !== undefined) {\n throw new Error('Format Error: Input has multiple WITNESS_UTXO');\n }\n input.witnessUtxo = convert.inputs.witnessUtxo.decode(keyVal);\n break;\n case typeFields_1.InputTypes.PARTIAL_SIG:\n if (input.partialSig === undefined) {\n input.partialSig = [];\n }\n input.partialSig.push(convert.inputs.partialSig.decode(keyVal));\n break;\n case typeFields_1.InputTypes.SIGHASH_TYPE:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.SIGHASH_TYPE,\n );\n if (input.sighashType !== undefined) {\n throw new Error('Format Error: Input has multiple SIGHASH_TYPE');\n }\n input.sighashType = convert.inputs.sighashType.decode(keyVal);\n break;\n case typeFields_1.InputTypes.REDEEM_SCRIPT:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.REDEEM_SCRIPT,\n );\n if (input.redeemScript !== undefined) {\n throw new Error('Format Error: Input has multiple REDEEM_SCRIPT');\n }\n input.redeemScript = convert.inputs.redeemScript.decode(keyVal);\n break;\n case typeFields_1.InputTypes.WITNESS_SCRIPT:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.WITNESS_SCRIPT,\n );\n if (input.witnessScript !== undefined) {\n throw new Error('Format Error: Input has multiple WITNESS_SCRIPT');\n }\n input.witnessScript = convert.inputs.witnessScript.decode(keyVal);\n break;\n case typeFields_1.InputTypes.BIP32_DERIVATION:\n if (input.bip32Derivation === undefined) {\n input.bip32Derivation = [];\n }\n input.bip32Derivation.push(\n convert.inputs.bip32Derivation.decode(keyVal),\n );\n break;\n case typeFields_1.InputTypes.FINAL_SCRIPTSIG:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.FINAL_SCRIPTSIG,\n );\n input.finalScriptSig = convert.inputs.finalScriptSig.decode(keyVal);\n break;\n case typeFields_1.InputTypes.FINAL_SCRIPTWITNESS:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.FINAL_SCRIPTWITNESS,\n );\n input.finalScriptWitness = convert.inputs.finalScriptWitness.decode(\n keyVal,\n );\n break;\n case typeFields_1.InputTypes.POR_COMMITMENT:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.POR_COMMITMENT,\n );\n input.porCommitment = convert.inputs.porCommitment.decode(keyVal);\n break;\n case typeFields_1.InputTypes.TAP_KEY_SIG:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.TAP_KEY_SIG,\n );\n input.tapKeySig = convert.inputs.tapKeySig.decode(keyVal);\n break;\n case typeFields_1.InputTypes.TAP_SCRIPT_SIG:\n if (input.tapScriptSig === undefined) {\n input.tapScriptSig = [];\n }\n input.tapScriptSig.push(convert.inputs.tapScriptSig.decode(keyVal));\n break;\n case typeFields_1.InputTypes.TAP_LEAF_SCRIPT:\n if (input.tapLeafScript === undefined) {\n input.tapLeafScript = [];\n }\n input.tapLeafScript.push(convert.inputs.tapLeafScript.decode(keyVal));\n break;\n case typeFields_1.InputTypes.TAP_BIP32_DERIVATION:\n if (input.tapBip32Derivation === undefined) {\n input.tapBip32Derivation = [];\n }\n input.tapBip32Derivation.push(\n convert.inputs.tapBip32Derivation.decode(keyVal),\n );\n break;\n case typeFields_1.InputTypes.TAP_INTERNAL_KEY:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.TAP_INTERNAL_KEY,\n );\n input.tapInternalKey = convert.inputs.tapInternalKey.decode(keyVal);\n break;\n case typeFields_1.InputTypes.TAP_MERKLE_ROOT:\n checkKeyBuffer(\n 'input',\n keyVal.key,\n typeFields_1.InputTypes.TAP_MERKLE_ROOT,\n );\n input.tapMerkleRoot = convert.inputs.tapMerkleRoot.decode(keyVal);\n break;\n default:\n // This will allow inclusion during serialization.\n if (!input.unknownKeyVals) input.unknownKeyVals = [];\n input.unknownKeyVals.push(keyVal);\n }\n }\n inputs.push(input);\n }\n for (const index of tools_1.range(outputCount)) {\n const output = {};\n for (const keyVal of outputKeyVals[index]) {\n convert.outputs.checkPubkey(keyVal);\n switch (keyVal.key[0]) {\n case typeFields_1.OutputTypes.REDEEM_SCRIPT:\n checkKeyBuffer(\n 'output',\n keyVal.key,\n typeFields_1.OutputTypes.REDEEM_SCRIPT,\n );\n if (output.redeemScript !== undefined) {\n throw new Error('Format Error: Output has multiple REDEEM_SCRIPT');\n }\n output.redeemScript = convert.outputs.redeemScript.decode(keyVal);\n break;\n case typeFields_1.OutputTypes.WITNESS_SCRIPT:\n checkKeyBuffer(\n 'output',\n keyVal.key,\n typeFields_1.OutputTypes.WITNESS_SCRIPT,\n );\n if (output.witnessScript !== undefined) {\n throw new Error('Format Error: Output has multiple WITNESS_SCRIPT');\n }\n output.witnessScript = convert.outputs.witnessScript.decode(keyVal);\n break;\n case typeFields_1.OutputTypes.BIP32_DERIVATION:\n if (output.bip32Derivation === undefined) {\n output.bip32Derivation = [];\n }\n output.bip32Derivation.push(\n convert.outputs.bip32Derivation.decode(keyVal),\n );\n break;\n case typeFields_1.OutputTypes.TAP_INTERNAL_KEY:\n checkKeyBuffer(\n 'output',\n keyVal.key,\n typeFields_1.OutputTypes.TAP_INTERNAL_KEY,\n );\n output.tapInternalKey = convert.outputs.tapInternalKey.decode(keyVal);\n break;\n case typeFields_1.OutputTypes.TAP_TREE:\n checkKeyBuffer(\n 'output',\n keyVal.key,\n typeFields_1.OutputTypes.TAP_TREE,\n );\n output.tapTree = convert.outputs.tapTree.decode(keyVal);\n break;\n case typeFields_1.OutputTypes.TAP_BIP32_DERIVATION:\n if (output.tapBip32Derivation === undefined) {\n output.tapBip32Derivation = [];\n }\n output.tapBip32Derivation.push(\n convert.outputs.tapBip32Derivation.decode(keyVal),\n );\n break;\n default:\n if (!output.unknownKeyVals) output.unknownKeyVals = [];\n output.unknownKeyVals.push(keyVal);\n }\n }\n outputs.push(output);\n }\n return { globalMap, inputs, outputs };\n}\nexports.psbtFromKeyVals = psbtFromKeyVals;\n","'use strict';\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, '__esModule', { value: true });\n__export(require('./fromBuffer'));\n__export(require('./toBuffer'));\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst convert = require('../converter');\nconst tools_1 = require('../converter/tools');\nfunction psbtToBuffer({ globalMap, inputs, outputs }) {\n const { globalKeyVals, inputKeyVals, outputKeyVals } = psbtToKeyVals({\n globalMap,\n inputs,\n outputs,\n });\n const globalBuffer = tools_1.keyValsToBuffer(globalKeyVals);\n const keyValsOrEmptyToBuffer = keyVals =>\n keyVals.length === 0\n ? [Buffer.from([0])]\n : keyVals.map(tools_1.keyValsToBuffer);\n const inputBuffers = keyValsOrEmptyToBuffer(inputKeyVals);\n const outputBuffers = keyValsOrEmptyToBuffer(outputKeyVals);\n const header = Buffer.allocUnsafe(5);\n header.writeUIntBE(0x70736274ff, 0, 5);\n return Buffer.concat(\n [header, globalBuffer].concat(inputBuffers, outputBuffers),\n );\n}\nexports.psbtToBuffer = psbtToBuffer;\nconst sortKeyVals = (a, b) => {\n return a.key.compare(b.key);\n};\nfunction keyValsFromMap(keyValMap, converterFactory) {\n const keyHexSet = new Set();\n const keyVals = Object.entries(keyValMap).reduce((result, [key, value]) => {\n if (key === 'unknownKeyVals') return result;\n // We are checking for undefined anyways. So ignore TS error\n // @ts-ignore\n const converter = converterFactory[key];\n if (converter === undefined) return result;\n const encodedKeyVals = (Array.isArray(value) ? value : [value]).map(\n converter.encode,\n );\n const keyHexes = encodedKeyVals.map(kv => kv.key.toString('hex'));\n keyHexes.forEach(hex => {\n if (keyHexSet.has(hex))\n throw new Error('Serialize Error: Duplicate key: ' + hex);\n keyHexSet.add(hex);\n });\n return result.concat(encodedKeyVals);\n }, []);\n // Get other keyVals that have not yet been gotten\n const otherKeyVals = keyValMap.unknownKeyVals\n ? keyValMap.unknownKeyVals.filter(keyVal => {\n return !keyHexSet.has(keyVal.key.toString('hex'));\n })\n : [];\n return keyVals.concat(otherKeyVals).sort(sortKeyVals);\n}\nfunction psbtToKeyVals({ globalMap, inputs, outputs }) {\n // First parse the global keyVals\n // Get any extra keyvals to pass along\n return {\n globalKeyVals: keyValsFromMap(globalMap, convert.globals),\n inputKeyVals: inputs.map(i => keyValsFromMap(i, convert.inputs)),\n outputKeyVals: outputs.map(o => keyValsFromMap(o, convert.outputs)),\n };\n}\nexports.psbtToKeyVals = psbtToKeyVals;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst combiner_1 = require('./combiner');\nconst parser_1 = require('./parser');\nconst typeFields_1 = require('./typeFields');\nconst utils_1 = require('./utils');\nclass Psbt {\n constructor(tx) {\n this.inputs = [];\n this.outputs = [];\n this.globalMap = {\n unsignedTx: tx,\n };\n }\n static fromBase64(data, txFromBuffer) {\n const buffer = Buffer.from(data, 'base64');\n return this.fromBuffer(buffer, txFromBuffer);\n }\n static fromHex(data, txFromBuffer) {\n const buffer = Buffer.from(data, 'hex');\n return this.fromBuffer(buffer, txFromBuffer);\n }\n static fromBuffer(buffer, txFromBuffer) {\n const results = parser_1.psbtFromBuffer(buffer, txFromBuffer);\n const psbt = new this(results.globalMap.unsignedTx);\n Object.assign(psbt, results);\n return psbt;\n }\n toBase64() {\n const buffer = this.toBuffer();\n return buffer.toString('base64');\n }\n toHex() {\n const buffer = this.toBuffer();\n return buffer.toString('hex');\n }\n toBuffer() {\n return parser_1.psbtToBuffer(this);\n }\n updateGlobal(updateData) {\n utils_1.updateGlobal(updateData, this.globalMap);\n return this;\n }\n updateInput(inputIndex, updateData) {\n const input = utils_1.checkForInput(this.inputs, inputIndex);\n utils_1.updateInput(updateData, input);\n return this;\n }\n updateOutput(outputIndex, updateData) {\n const output = utils_1.checkForOutput(this.outputs, outputIndex);\n utils_1.updateOutput(updateData, output);\n return this;\n }\n addUnknownKeyValToGlobal(keyVal) {\n utils_1.checkHasKey(\n keyVal,\n this.globalMap.unknownKeyVals,\n utils_1.getEnumLength(typeFields_1.GlobalTypes),\n );\n if (!this.globalMap.unknownKeyVals) this.globalMap.unknownKeyVals = [];\n this.globalMap.unknownKeyVals.push(keyVal);\n return this;\n }\n addUnknownKeyValToInput(inputIndex, keyVal) {\n const input = utils_1.checkForInput(this.inputs, inputIndex);\n utils_1.checkHasKey(\n keyVal,\n input.unknownKeyVals,\n utils_1.getEnumLength(typeFields_1.InputTypes),\n );\n if (!input.unknownKeyVals) input.unknownKeyVals = [];\n input.unknownKeyVals.push(keyVal);\n return this;\n }\n addUnknownKeyValToOutput(outputIndex, keyVal) {\n const output = utils_1.checkForOutput(this.outputs, outputIndex);\n utils_1.checkHasKey(\n keyVal,\n output.unknownKeyVals,\n utils_1.getEnumLength(typeFields_1.OutputTypes),\n );\n if (!output.unknownKeyVals) output.unknownKeyVals = [];\n output.unknownKeyVals.push(keyVal);\n return this;\n }\n addInput(inputData) {\n this.globalMap.unsignedTx.addInput(inputData);\n this.inputs.push({\n unknownKeyVals: [],\n });\n const addKeyVals = inputData.unknownKeyVals || [];\n const inputIndex = this.inputs.length - 1;\n if (!Array.isArray(addKeyVals)) {\n throw new Error('unknownKeyVals must be an Array');\n }\n addKeyVals.forEach(keyVal =>\n this.addUnknownKeyValToInput(inputIndex, keyVal),\n );\n utils_1.addInputAttributes(this.inputs, inputData);\n return this;\n }\n addOutput(outputData) {\n this.globalMap.unsignedTx.addOutput(outputData);\n this.outputs.push({\n unknownKeyVals: [],\n });\n const addKeyVals = outputData.unknownKeyVals || [];\n const outputIndex = this.outputs.length - 1;\n if (!Array.isArray(addKeyVals)) {\n throw new Error('unknownKeyVals must be an Array');\n }\n addKeyVals.forEach(keyVal =>\n this.addUnknownKeyValToOutput(outputIndex, keyVal),\n );\n utils_1.addOutputAttributes(this.outputs, outputData);\n return this;\n }\n clearFinalizedInput(inputIndex) {\n const input = utils_1.checkForInput(this.inputs, inputIndex);\n utils_1.inputCheckUncleanFinalized(inputIndex, input);\n for (const key of Object.keys(input)) {\n if (\n ![\n 'witnessUtxo',\n 'nonWitnessUtxo',\n 'finalScriptSig',\n 'finalScriptWitness',\n 'unknownKeyVals',\n ].includes(key)\n ) {\n // @ts-ignore\n delete input[key];\n }\n }\n return this;\n }\n combine(...those) {\n // Combine this with those.\n // Return self for chaining.\n const result = combiner_1.combine([this].concat(those));\n Object.assign(this, result);\n return this;\n }\n getTransaction() {\n return this.globalMap.unsignedTx.toBuffer();\n }\n}\nexports.Psbt = Psbt;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar GlobalTypes;\n(function(GlobalTypes) {\n GlobalTypes[(GlobalTypes['UNSIGNED_TX'] = 0)] = 'UNSIGNED_TX';\n GlobalTypes[(GlobalTypes['GLOBAL_XPUB'] = 1)] = 'GLOBAL_XPUB';\n})((GlobalTypes = exports.GlobalTypes || (exports.GlobalTypes = {})));\nexports.GLOBAL_TYPE_NAMES = ['unsignedTx', 'globalXpub'];\nvar InputTypes;\n(function(InputTypes) {\n InputTypes[(InputTypes['NON_WITNESS_UTXO'] = 0)] = 'NON_WITNESS_UTXO';\n InputTypes[(InputTypes['WITNESS_UTXO'] = 1)] = 'WITNESS_UTXO';\n InputTypes[(InputTypes['PARTIAL_SIG'] = 2)] = 'PARTIAL_SIG';\n InputTypes[(InputTypes['SIGHASH_TYPE'] = 3)] = 'SIGHASH_TYPE';\n InputTypes[(InputTypes['REDEEM_SCRIPT'] = 4)] = 'REDEEM_SCRIPT';\n InputTypes[(InputTypes['WITNESS_SCRIPT'] = 5)] = 'WITNESS_SCRIPT';\n InputTypes[(InputTypes['BIP32_DERIVATION'] = 6)] = 'BIP32_DERIVATION';\n InputTypes[(InputTypes['FINAL_SCRIPTSIG'] = 7)] = 'FINAL_SCRIPTSIG';\n InputTypes[(InputTypes['FINAL_SCRIPTWITNESS'] = 8)] = 'FINAL_SCRIPTWITNESS';\n InputTypes[(InputTypes['POR_COMMITMENT'] = 9)] = 'POR_COMMITMENT';\n InputTypes[(InputTypes['TAP_KEY_SIG'] = 19)] = 'TAP_KEY_SIG';\n InputTypes[(InputTypes['TAP_SCRIPT_SIG'] = 20)] = 'TAP_SCRIPT_SIG';\n InputTypes[(InputTypes['TAP_LEAF_SCRIPT'] = 21)] = 'TAP_LEAF_SCRIPT';\n InputTypes[(InputTypes['TAP_BIP32_DERIVATION'] = 22)] =\n 'TAP_BIP32_DERIVATION';\n InputTypes[(InputTypes['TAP_INTERNAL_KEY'] = 23)] = 'TAP_INTERNAL_KEY';\n InputTypes[(InputTypes['TAP_MERKLE_ROOT'] = 24)] = 'TAP_MERKLE_ROOT';\n})((InputTypes = exports.InputTypes || (exports.InputTypes = {})));\nexports.INPUT_TYPE_NAMES = [\n 'nonWitnessUtxo',\n 'witnessUtxo',\n 'partialSig',\n 'sighashType',\n 'redeemScript',\n 'witnessScript',\n 'bip32Derivation',\n 'finalScriptSig',\n 'finalScriptWitness',\n 'porCommitment',\n 'tapKeySig',\n 'tapScriptSig',\n 'tapLeafScript',\n 'tapBip32Derivation',\n 'tapInternalKey',\n 'tapMerkleRoot',\n];\nvar OutputTypes;\n(function(OutputTypes) {\n OutputTypes[(OutputTypes['REDEEM_SCRIPT'] = 0)] = 'REDEEM_SCRIPT';\n OutputTypes[(OutputTypes['WITNESS_SCRIPT'] = 1)] = 'WITNESS_SCRIPT';\n OutputTypes[(OutputTypes['BIP32_DERIVATION'] = 2)] = 'BIP32_DERIVATION';\n OutputTypes[(OutputTypes['TAP_INTERNAL_KEY'] = 5)] = 'TAP_INTERNAL_KEY';\n OutputTypes[(OutputTypes['TAP_TREE'] = 6)] = 'TAP_TREE';\n OutputTypes[(OutputTypes['TAP_BIP32_DERIVATION'] = 7)] =\n 'TAP_BIP32_DERIVATION';\n})((OutputTypes = exports.OutputTypes || (exports.OutputTypes = {})));\nexports.OUTPUT_TYPE_NAMES = [\n 'redeemScript',\n 'witnessScript',\n 'bip32Derivation',\n 'tapInternalKey',\n 'tapTree',\n 'tapBip32Derivation',\n];\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nconst converter = require('./converter');\nfunction checkForInput(inputs, inputIndex) {\n const input = inputs[inputIndex];\n if (input === undefined) throw new Error(`No input #${inputIndex}`);\n return input;\n}\nexports.checkForInput = checkForInput;\nfunction checkForOutput(outputs, outputIndex) {\n const output = outputs[outputIndex];\n if (output === undefined) throw new Error(`No output #${outputIndex}`);\n return output;\n}\nexports.checkForOutput = checkForOutput;\nfunction checkHasKey(checkKeyVal, keyVals, enumLength) {\n if (checkKeyVal.key[0] < enumLength) {\n throw new Error(\n `Use the method for your specific key instead of addUnknownKeyVal*`,\n );\n }\n if (\n keyVals &&\n keyVals.filter(kv => kv.key.equals(checkKeyVal.key)).length !== 0\n ) {\n throw new Error(`Duplicate Key: ${checkKeyVal.key.toString('hex')}`);\n }\n}\nexports.checkHasKey = checkHasKey;\nfunction getEnumLength(myenum) {\n let count = 0;\n Object.keys(myenum).forEach(val => {\n if (Number(isNaN(Number(val)))) {\n count++;\n }\n });\n return count;\n}\nexports.getEnumLength = getEnumLength;\nfunction inputCheckUncleanFinalized(inputIndex, input) {\n let result = false;\n if (input.nonWitnessUtxo || input.witnessUtxo) {\n const needScriptSig = !!input.redeemScript;\n const needWitnessScript = !!input.witnessScript;\n const scriptSigOK = !needScriptSig || !!input.finalScriptSig;\n const witnessScriptOK = !needWitnessScript || !!input.finalScriptWitness;\n const hasOneFinal = !!input.finalScriptSig || !!input.finalScriptWitness;\n result = scriptSigOK && witnessScriptOK && hasOneFinal;\n }\n if (result === false) {\n throw new Error(\n `Input #${inputIndex} has too much or too little data to clean`,\n );\n }\n}\nexports.inputCheckUncleanFinalized = inputCheckUncleanFinalized;\nfunction throwForUpdateMaker(typeName, name, expected, data) {\n throw new Error(\n `Data for ${typeName} key ${name} is incorrect: Expected ` +\n `${expected} and got ${JSON.stringify(data)}`,\n );\n}\nfunction updateMaker(typeName) {\n return (updateData, mainData) => {\n for (const name of Object.keys(updateData)) {\n // @ts-ignore\n const data = updateData[name];\n // @ts-ignore\n const { canAdd, canAddToArray, check, expected } =\n // @ts-ignore\n converter[typeName + 's'][name] || {};\n const isArray = !!canAddToArray;\n // If unknown data. ignore and do not add\n if (check) {\n if (isArray) {\n if (\n !Array.isArray(data) ||\n // @ts-ignore\n (mainData[name] && !Array.isArray(mainData[name]))\n ) {\n throw new Error(`Key type ${name} must be an array`);\n }\n if (!data.every(check)) {\n throwForUpdateMaker(typeName, name, expected, data);\n }\n // @ts-ignore\n const arr = mainData[name] || [];\n const dupeCheckSet = new Set();\n if (!data.every(v => canAddToArray(arr, v, dupeCheckSet))) {\n throw new Error('Can not add duplicate data to array');\n }\n // @ts-ignore\n mainData[name] = arr.concat(data);\n } else {\n if (!check(data)) {\n throwForUpdateMaker(typeName, name, expected, data);\n }\n if (!canAdd(mainData, data)) {\n throw new Error(`Can not add duplicate data to ${typeName}`);\n }\n // @ts-ignore\n mainData[name] = data;\n }\n }\n }\n };\n}\nexports.updateGlobal = updateMaker('global');\nexports.updateInput = updateMaker('input');\nexports.updateOutput = updateMaker('output');\nfunction addInputAttributes(inputs, data) {\n const index = inputs.length - 1;\n const input = checkForInput(inputs, index);\n exports.updateInput(data, input);\n}\nexports.addInputAttributes = addInputAttributes;\nfunction addOutputAttributes(outputs, data) {\n const index = outputs.length - 1;\n const output = checkForOutput(outputs, index);\n exports.updateOutput(data, output);\n}\nexports.addOutputAttributes = addOutputAttributes;\nfunction defaultVersionSetter(version, txBuf) {\n if (!Buffer.isBuffer(txBuf) || txBuf.length < 4) {\n throw new Error('Set Version: Invalid Transaction');\n }\n txBuf.writeUInt32LE(version, 0);\n return txBuf;\n}\nexports.defaultVersionSetter = defaultVersionSetter;\nfunction defaultLocktimeSetter(locktime, txBuf) {\n if (!Buffer.isBuffer(txBuf) || txBuf.length < 4) {\n throw new Error('Set Locktime: Invalid Transaction');\n }\n txBuf.writeUInt32LE(locktime, txBuf.length - 4);\n return txBuf;\n}\nexports.defaultLocktimeSetter = defaultLocktimeSetter;\n","\"use strict\";\n/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bytes = exports.stringToBytes = exports.str = exports.bytesToString = exports.hex = exports.utf8 = exports.bech32m = exports.bech32 = exports.base58check = exports.createBase58check = exports.base58xmr = exports.base58xrp = exports.base58flickr = exports.base58 = exports.base64urlnopad = exports.base64url = exports.base64 = exports.base32crockford = exports.base32hex = exports.base32 = exports.base16 = exports.utils = exports.assertNumber = void 0;\n// Utilities\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction assertNumber(n) {\n if (!Number.isSafeInteger(n))\n throw new Error(`Wrong integer: ${n}`);\n}\nexports.assertNumber = assertNumber;\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction chain(...args) {\n const id = (a) => a;\n // Wrap call in closure so JIT can inline calls\n const wrap = (a, b) => (c) => a(b(c));\n // Construct chain of args[-1].encode(args[-2].encode([...]))\n const encode = args.map((x) => x.encode).reduceRight(wrap, id);\n // Construct chain of args[0].decode(args[1].decode(...))\n const decode = args.map((x) => x.decode).reduce(wrap, id);\n return { encode, decode };\n}\n/**\n * Encodes integer radix representation to array of strings using alphabet and back\n * @__NO_SIDE_EFFECTS__\n */\nfunction alphabet(alphabet) {\n return {\n encode: (digits) => {\n if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))\n throw new Error('alphabet.encode input should be an array of numbers');\n return digits.map((i) => {\n assertNumber(i);\n if (i < 0 || i >= alphabet.length)\n throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`);\n return alphabet[i];\n });\n },\n decode: (input) => {\n if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string'))\n throw new Error('alphabet.decode input should be array of strings');\n return input.map((letter) => {\n if (typeof letter !== 'string')\n throw new Error(`alphabet.decode: not string element=${letter}`);\n const index = alphabet.indexOf(letter);\n if (index === -1)\n throw new Error(`Unknown letter: \"${letter}\". Allowed: ${alphabet}`);\n return index;\n });\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction join(separator = '') {\n if (typeof separator !== 'string')\n throw new Error('join separator should be string');\n return {\n encode: (from) => {\n if (!Array.isArray(from) || (from.length && typeof from[0] !== 'string'))\n throw new Error('join.encode input should be array of strings');\n for (let i of from)\n if (typeof i !== 'string')\n throw new Error(`join.encode: non-string input=${i}`);\n return from.join(separator);\n },\n decode: (to) => {\n if (typeof to !== 'string')\n throw new Error('join.decode input should be string');\n return to.split(separator);\n },\n };\n}\n/**\n * Pad strings array so it has integer number of bits\n * @__NO_SIDE_EFFECTS__\n */\nfunction padding(bits, chr = '=') {\n assertNumber(bits);\n if (typeof chr !== 'string')\n throw new Error('padding chr should be string');\n return {\n encode(data) {\n if (!Array.isArray(data) || (data.length && typeof data[0] !== 'string'))\n throw new Error('padding.encode input should be array of strings');\n for (let i of data)\n if (typeof i !== 'string')\n throw new Error(`padding.encode: non-string input=${i}`);\n while ((data.length * bits) % 8)\n data.push(chr);\n return data;\n },\n decode(input) {\n if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string'))\n throw new Error('padding.encode input should be array of strings');\n for (let i of input)\n if (typeof i !== 'string')\n throw new Error(`padding.decode: non-string input=${i}`);\n let end = input.length;\n if ((end * bits) % 8)\n throw new Error('Invalid padding: string should have whole number of bytes');\n for (; end > 0 && input[end - 1] === chr; end--) {\n if (!(((end - 1) * bits) % 8))\n throw new Error('Invalid padding: string has too much padding');\n }\n return input.slice(0, end);\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction normalize(fn) {\n if (typeof fn !== 'function')\n throw new Error('normalize fn should be function');\n return { encode: (from) => from, decode: (to) => fn(to) };\n}\n/**\n * Slow: O(n^2) time complexity\n * @__NO_SIDE_EFFECTS__\n */\nfunction convertRadix(data, from, to) {\n // base 1 is impossible\n if (from < 2)\n throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`);\n if (to < 2)\n throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`);\n if (!Array.isArray(data))\n throw new Error('convertRadix: data should be array');\n if (!data.length)\n return [];\n let pos = 0;\n const res = [];\n const digits = Array.from(data);\n digits.forEach((d) => {\n assertNumber(d);\n if (d < 0 || d >= from)\n throw new Error(`Wrong integer: ${d}`);\n });\n while (true) {\n let carry = 0;\n let done = true;\n for (let i = pos; i < digits.length; i++) {\n const digit = digits[i];\n const digitBase = from * carry + digit;\n if (!Number.isSafeInteger(digitBase) ||\n (from * carry) / from !== carry ||\n digitBase - digit !== from * carry) {\n throw new Error('convertRadix: carry overflow');\n }\n carry = digitBase % to;\n const rounded = Math.floor(digitBase / to);\n digits[i] = rounded;\n if (!Number.isSafeInteger(rounded) || rounded * to + carry !== digitBase)\n throw new Error('convertRadix: carry overflow');\n if (!done)\n continue;\n else if (!rounded)\n pos = i;\n else\n done = false;\n }\n res.push(carry);\n if (done)\n break;\n }\n for (let i = 0; i < data.length - 1 && data[i] === 0; i++)\n res.push(0);\n return res.reverse();\n}\nconst gcd = /* @__NO_SIDE_EFFECTS__ */ (a, b) => (!b ? a : gcd(b, a % b));\nconst radix2carry = /*@__NO_SIDE_EFFECTS__ */ (from, to) => from + (to - gcd(from, to));\n/**\n * Implemented with numbers, because BigInt is 5x slower\n * @__NO_SIDE_EFFECTS__\n */\nfunction convertRadix2(data, from, to, padding) {\n if (!Array.isArray(data))\n throw new Error('convertRadix2: data should be array');\n if (from <= 0 || from > 32)\n throw new Error(`convertRadix2: wrong from=${from}`);\n if (to <= 0 || to > 32)\n throw new Error(`convertRadix2: wrong to=${to}`);\n if (radix2carry(from, to) > 32) {\n throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`);\n }\n let carry = 0;\n let pos = 0; // bitwise position in current element\n const mask = 2 ** to - 1;\n const res = [];\n for (const n of data) {\n assertNumber(n);\n if (n >= 2 ** from)\n throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);\n carry = (carry << from) | n;\n if (pos + from > 32)\n throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);\n pos += from;\n for (; pos >= to; pos -= to)\n res.push(((carry >> (pos - to)) & mask) >>> 0);\n carry &= 2 ** pos - 1; // clean carry, otherwise it will cause overflow\n }\n carry = (carry << (to - pos)) & mask;\n if (!padding && pos >= from)\n throw new Error('Excess padding');\n if (!padding && carry)\n throw new Error(`Non-zero padding: ${carry}`);\n if (padding && pos > 0)\n res.push(carry >>> 0);\n return res;\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction radix(num) {\n assertNumber(num);\n return {\n encode: (bytes) => {\n if (!isBytes(bytes))\n throw new Error('radix.encode input should be Uint8Array');\n return convertRadix(Array.from(bytes), 2 ** 8, num);\n },\n decode: (digits) => {\n if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))\n throw new Error('radix.decode input should be array of numbers');\n return Uint8Array.from(convertRadix(digits, num, 2 ** 8));\n },\n };\n}\n/**\n * If both bases are power of same number (like `2**8 <-> 2**64`),\n * there is a linear algorithm. For now we have implementation for power-of-two bases only.\n * @__NO_SIDE_EFFECTS__\n */\nfunction radix2(bits, revPadding = false) {\n assertNumber(bits);\n if (bits <= 0 || bits > 32)\n throw new Error('radix2: bits should be in (0..32]');\n if (radix2carry(8, bits) > 32 || radix2carry(bits, 8) > 32)\n throw new Error('radix2: carry overflow');\n return {\n encode: (bytes) => {\n if (!isBytes(bytes))\n throw new Error('radix2.encode input should be Uint8Array');\n return convertRadix2(Array.from(bytes), 8, bits, !revPadding);\n },\n decode: (digits) => {\n if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))\n throw new Error('radix2.decode input should be array of numbers');\n return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding));\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction unsafeWrapper(fn) {\n if (typeof fn !== 'function')\n throw new Error('unsafeWrapper fn should be function');\n return function (...args) {\n try {\n return fn.apply(null, args);\n }\n catch (e) { }\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction checksum(len, fn) {\n assertNumber(len);\n if (typeof fn !== 'function')\n throw new Error('checksum fn should be function');\n return {\n encode(data) {\n if (!isBytes(data))\n throw new Error('checksum.encode: input should be Uint8Array');\n const checksum = fn(data).slice(0, len);\n const res = new Uint8Array(data.length + len);\n res.set(data);\n res.set(checksum, data.length);\n return res;\n },\n decode(data) {\n if (!isBytes(data))\n throw new Error('checksum.decode: input should be Uint8Array');\n const payload = data.slice(0, -len);\n const newChecksum = fn(payload).slice(0, len);\n const oldChecksum = data.slice(-len);\n for (let i = 0; i < len; i++)\n if (newChecksum[i] !== oldChecksum[i])\n throw new Error('Invalid checksum');\n return payload;\n },\n };\n}\n// prettier-ignore\nexports.utils = {\n alphabet, chain, checksum, convertRadix, convertRadix2, radix, radix2, join, padding,\n};\n// RFC 4648 aka RFC 3548\n// ---------------------\nexports.base16 = chain(radix2(4), alphabet('0123456789ABCDEF'), join(''));\nexports.base32 = chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), padding(5), join(''));\nexports.base32hex = chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), padding(5), join(''));\nexports.base32crockford = chain(radix2(5), alphabet('0123456789ABCDEFGHJKMNPQRSTVWXYZ'), join(''), normalize((s) => s.toUpperCase().replace(/O/g, '0').replace(/[IL]/g, '1')));\nexports.base64 = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), padding(6), join(''));\nexports.base64url = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), padding(6), join(''));\nexports.base64urlnopad = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), join(''));\n// base58 code\n// -----------\nconst genBase58 = (abc) => chain(radix(58), alphabet(abc), join(''));\nexports.base58 = genBase58('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');\nexports.base58flickr = genBase58('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ');\nexports.base58xrp = genBase58('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz');\n// xmr ver is done in 8-byte blocks (which equals 11 chars in decoding). Last (non-full) block padded with '1' to size in XMR_BLOCK_LEN.\n// Block encoding significantly reduces quadratic complexity of base58.\n// Data len (index) -> encoded block len\nconst XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11];\nexports.base58xmr = {\n encode(data) {\n let res = '';\n for (let i = 0; i < data.length; i += 8) {\n const block = data.subarray(i, i + 8);\n res += exports.base58.encode(block).padStart(XMR_BLOCK_LEN[block.length], '1');\n }\n return res;\n },\n decode(str) {\n let res = [];\n for (let i = 0; i < str.length; i += 11) {\n const slice = str.slice(i, i + 11);\n const blockLen = XMR_BLOCK_LEN.indexOf(slice.length);\n const block = exports.base58.decode(slice);\n for (let j = 0; j < block.length - blockLen; j++) {\n if (block[j] !== 0)\n throw new Error('base58xmr: wrong padding');\n }\n res = res.concat(Array.from(block.slice(block.length - blockLen)));\n }\n return Uint8Array.from(res);\n },\n};\nconst createBase58check = (sha256) => chain(checksum(4, (data) => sha256(sha256(data))), exports.base58);\nexports.createBase58check = createBase58check;\n// legacy export, bad name\nexports.base58check = exports.createBase58check;\nconst BECH_ALPHABET = /* @__PURE__ */ chain(alphabet('qpzry9x8gf2tvdw0s3jn54khce6mua7l'), join(''));\nconst POLYMOD_GENERATORS = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction bech32Polymod(pre) {\n const b = pre >> 25;\n let chk = (pre & 0x1ffffff) << 5;\n for (let i = 0; i < POLYMOD_GENERATORS.length; i++) {\n if (((b >> i) & 1) === 1)\n chk ^= POLYMOD_GENERATORS[i];\n }\n return chk;\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction bechChecksum(prefix, words, encodingConst = 1) {\n const len = prefix.length;\n let chk = 1;\n for (let i = 0; i < len; i++) {\n const c = prefix.charCodeAt(i);\n if (c < 33 || c > 126)\n throw new Error(`Invalid prefix (${prefix})`);\n chk = bech32Polymod(chk) ^ (c >> 5);\n }\n chk = bech32Polymod(chk);\n for (let i = 0; i < len; i++)\n chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 0x1f);\n for (let v of words)\n chk = bech32Polymod(chk) ^ v;\n for (let i = 0; i < 6; i++)\n chk = bech32Polymod(chk);\n chk ^= encodingConst;\n return BECH_ALPHABET.encode(convertRadix2([chk % 2 ** 30], 30, 5, false));\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction genBech32(encoding) {\n const ENCODING_CONST = encoding === 'bech32' ? 1 : 0x2bc830a3;\n const _words = radix2(5);\n const fromWords = _words.decode;\n const toWords = _words.encode;\n const fromWordsUnsafe = unsafeWrapper(fromWords);\n function encode(prefix, words, limit = 90) {\n if (typeof prefix !== 'string')\n throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`);\n if (!Array.isArray(words) || (words.length && typeof words[0] !== 'number'))\n throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`);\n const actualLength = prefix.length + 7 + words.length;\n if (limit !== false && actualLength > limit)\n throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);\n const lowered = prefix.toLowerCase();\n const sum = bechChecksum(lowered, words, ENCODING_CONST);\n return `${lowered}1${BECH_ALPHABET.encode(words)}${sum}`;\n }\n function decode(str, limit = 90) {\n if (typeof str !== 'string')\n throw new Error(`bech32.decode input should be string, not ${typeof str}`);\n if (str.length < 8 || (limit !== false && str.length > limit))\n throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`);\n // don't allow mixed case\n const lowered = str.toLowerCase();\n if (str !== lowered && str !== str.toUpperCase())\n throw new Error(`String must be lowercase or uppercase`);\n str = lowered;\n const sepIndex = str.lastIndexOf('1');\n if (sepIndex === 0 || sepIndex === -1)\n throw new Error(`Letter \"1\" must be present between prefix and data only`);\n const prefix = str.slice(0, sepIndex);\n const _words = str.slice(sepIndex + 1);\n if (_words.length < 6)\n throw new Error('Data must be at least 6 characters long');\n const words = BECH_ALPHABET.decode(_words).slice(0, -6);\n const sum = bechChecksum(prefix, words, ENCODING_CONST);\n if (!_words.endsWith(sum))\n throw new Error(`Invalid checksum in ${str}: expected \"${sum}\"`);\n return { prefix, words };\n }\n const decodeUnsafe = unsafeWrapper(decode);\n function decodeToBytes(str) {\n const { prefix, words } = decode(str, false);\n return { prefix, words, bytes: fromWords(words) };\n }\n return { encode, decode, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords };\n}\nexports.bech32 = genBech32('bech32');\nexports.bech32m = genBech32('bech32m');\nexports.utf8 = {\n encode: (data) => new TextDecoder().decode(data),\n decode: (str) => new TextEncoder().encode(str),\n};\nexports.hex = chain(radix2(4), alphabet('0123456789abcdef'), join(''), normalize((s) => {\n if (typeof s !== 'string' || s.length % 2)\n throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);\n return s.toLowerCase();\n}));\n// prettier-ignore\nconst CODERS = {\n utf8: exports.utf8, hex: exports.hex, base16: exports.base16, base32: exports.base32, base64: exports.base64, base64url: exports.base64url, base58: exports.base58, base58xmr: exports.base58xmr\n};\nconst coderTypeError = 'Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr';\nconst bytesToString = (type, bytes) => {\n if (typeof type !== 'string' || !CODERS.hasOwnProperty(type))\n throw new TypeError(coderTypeError);\n if (!isBytes(bytes))\n throw new TypeError('bytesToString() expects Uint8Array');\n return CODERS[type].encode(bytes);\n};\nexports.bytesToString = bytesToString;\nexports.str = exports.bytesToString; // as in python, but for bytes only\nconst stringToBytes = (type, str) => {\n if (!CODERS.hasOwnProperty(type))\n throw new TypeError(coderTypeError);\n if (typeof str !== 'string')\n throw new TypeError('stringToBytes() expects string');\n return CODERS[type].decode(str);\n};\nexports.stringToBytes = stringToBytes;\nexports.bytes = exports.stringToBytes;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BIP32Factory = void 0;\nconst crypto = require(\"./crypto\");\nconst testecc_1 = require(\"./testecc\");\nconst base_1 = require(\"@scure/base\");\nconst sha256_1 = require(\"@noble/hashes/sha256\");\nconst typeforce = require('typeforce');\nconst wif = require('wif');\nconst _bs58check = (0, base_1.base58check)(sha256_1.sha256);\nconst bs58check = {\n encode: (data) => _bs58check.encode(Uint8Array.from(data)),\n decode: (str) => Buffer.from(_bs58check.decode(str)),\n};\nfunction BIP32Factory(ecc) {\n (0, testecc_1.testEcc)(ecc);\n const UINT256_TYPE = typeforce.BufferN(32);\n const NETWORK_TYPE = typeforce.compile({\n wif: typeforce.UInt8,\n bip32: {\n public: typeforce.UInt32,\n private: typeforce.UInt32,\n },\n });\n const BITCOIN = {\n messagePrefix: '\\x18Bitcoin Signed Message:\\n',\n bech32: 'bc',\n bip32: {\n public: 0x0488b21e,\n private: 0x0488ade4,\n },\n pubKeyHash: 0x00,\n scriptHash: 0x05,\n wif: 0x80,\n };\n const HIGHEST_BIT = 0x80000000;\n const UINT31_MAX = Math.pow(2, 31) - 1;\n function BIP32Path(value) {\n return (typeforce.String(value) && value.match(/^(m\\/)?(\\d+'?\\/)*\\d+'?$/) !== null);\n }\n function UInt31(value) {\n return typeforce.UInt32(value) && value <= UINT31_MAX;\n }\n function toXOnly(pubKey) {\n return pubKey.length === 32 ? pubKey : pubKey.slice(1, 33);\n }\n class Bip32Signer {\n constructor(__D, __Q) {\n this.__D = __D;\n this.__Q = __Q;\n this.lowR = false;\n }\n get publicKey() {\n if (this.__Q === undefined)\n this.__Q = Buffer.from(ecc.pointFromScalar(this.__D, true));\n return this.__Q;\n }\n get privateKey() {\n return this.__D;\n }\n sign(hash, lowR) {\n if (!this.privateKey)\n throw new Error('Missing private key');\n if (lowR === undefined)\n lowR = this.lowR;\n if (lowR === false) {\n return Buffer.from(ecc.sign(hash, this.privateKey));\n }\n else {\n let sig = Buffer.from(ecc.sign(hash, this.privateKey));\n const extraData = Buffer.alloc(32, 0);\n let counter = 0;\n // if first try is lowR, skip the loop\n // for second try and on, add extra entropy counting up\n while (sig[0] > 0x7f) {\n counter++;\n extraData.writeUIntLE(counter, 0, 6);\n sig = Buffer.from(ecc.sign(hash, this.privateKey, extraData));\n }\n return sig;\n }\n }\n signSchnorr(hash) {\n if (!this.privateKey)\n throw new Error('Missing private key');\n if (!ecc.signSchnorr)\n throw new Error('signSchnorr not supported by ecc library');\n return Buffer.from(ecc.signSchnorr(hash, this.privateKey));\n }\n verify(hash, signature) {\n return ecc.verify(hash, this.publicKey, signature);\n }\n verifySchnorr(hash, signature) {\n if (!ecc.verifySchnorr)\n throw new Error('verifySchnorr not supported by ecc library');\n return ecc.verifySchnorr(hash, this.publicKey.subarray(1, 33), signature);\n }\n }\n class BIP32 extends Bip32Signer {\n constructor(__D, __Q, chainCode, network, __DEPTH = 0, __INDEX = 0, __PARENT_FINGERPRINT = 0x00000000) {\n super(__D, __Q);\n this.chainCode = chainCode;\n this.network = network;\n this.__DEPTH = __DEPTH;\n this.__INDEX = __INDEX;\n this.__PARENT_FINGERPRINT = __PARENT_FINGERPRINT;\n typeforce(NETWORK_TYPE, network);\n }\n get depth() {\n return this.__DEPTH;\n }\n get index() {\n return this.__INDEX;\n }\n get parentFingerprint() {\n return this.__PARENT_FINGERPRINT;\n }\n get identifier() {\n return crypto.hash160(this.publicKey);\n }\n get fingerprint() {\n return this.identifier.slice(0, 4);\n }\n get compressed() {\n return true;\n }\n // Private === not neutered\n // Public === neutered\n isNeutered() {\n return this.__D === undefined;\n }\n neutered() {\n return fromPublicKeyLocal(this.publicKey, this.chainCode, this.network, this.depth, this.index, this.parentFingerprint);\n }\n toBase58() {\n const network = this.network;\n const version = !this.isNeutered()\n ? network.bip32.private\n : network.bip32.public;\n const buffer = Buffer.allocUnsafe(78);\n // 4 bytes: version bytes\n buffer.writeUInt32BE(version, 0);\n // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....\n buffer.writeUInt8(this.depth, 4);\n // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)\n buffer.writeUInt32BE(this.parentFingerprint, 5);\n // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.\n // This is encoded in big endian. (0x00000000 if master key)\n buffer.writeUInt32BE(this.index, 9);\n // 32 bytes: the chain code\n this.chainCode.copy(buffer, 13);\n // 33 bytes: the public key or private key data\n if (!this.isNeutered()) {\n // 0x00 + k for private keys\n buffer.writeUInt8(0, 45);\n this.privateKey.copy(buffer, 46);\n // 33 bytes: the public key\n }\n else {\n // X9.62 encoding for public keys\n this.publicKey.copy(buffer, 45);\n }\n return bs58check.encode(buffer);\n }\n toWIF() {\n if (!this.privateKey)\n throw new TypeError('Missing private key');\n return wif.encode(this.network.wif, this.privateKey, true);\n }\n // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions\n derive(index) {\n typeforce(typeforce.UInt32, index);\n const isHardened = index >= HIGHEST_BIT;\n const data = Buffer.allocUnsafe(37);\n // Hardened child\n if (isHardened) {\n if (this.isNeutered())\n throw new TypeError('Missing private key for hardened child key');\n // data = 0x00 || ser256(kpar) || ser32(index)\n data[0] = 0x00;\n this.privateKey.copy(data, 1);\n data.writeUInt32BE(index, 33);\n // Normal child\n }\n else {\n // data = serP(point(kpar)) || ser32(index)\n // = serP(Kpar) || ser32(index)\n this.publicKey.copy(data, 0);\n data.writeUInt32BE(index, 33);\n }\n const I = crypto.hmacSHA512(this.chainCode, data);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n // if parse256(IL) >= n, proceed with the next value for i\n if (!ecc.isPrivate(IL))\n return this.derive(index + 1);\n // Private parent key -> private child key\n let hd;\n if (!this.isNeutered()) {\n // ki = parse256(IL) + kpar (mod n)\n const ki = Buffer.from(ecc.privateAdd(this.privateKey, IL));\n // In case ki == 0, proceed with the next value for i\n if (ki == null)\n return this.derive(index + 1);\n hd = fromPrivateKeyLocal(ki, IR, this.network, this.depth + 1, index, this.fingerprint.readUInt32BE(0));\n // Public parent key -> public child key\n }\n else {\n // Ki = point(parse256(IL)) + Kpar\n // = G*IL + Kpar\n const Ki = Buffer.from(ecc.pointAddScalar(this.publicKey, IL, true));\n // In case Ki is the point at infinity, proceed with the next value for i\n if (Ki === null)\n return this.derive(index + 1);\n hd = fromPublicKeyLocal(Ki, IR, this.network, this.depth + 1, index, this.fingerprint.readUInt32BE(0));\n }\n return hd;\n }\n deriveHardened(index) {\n typeforce(UInt31, index);\n // Only derives hardened private keys by default\n return this.derive(index + HIGHEST_BIT);\n }\n derivePath(path) {\n typeforce(BIP32Path, path);\n let splitPath = path.split('/');\n if (splitPath[0] === 'm') {\n if (this.parentFingerprint)\n throw new TypeError('Expected master, got child');\n splitPath = splitPath.slice(1);\n }\n return splitPath.reduce((prevHd, indexStr) => {\n let index;\n if (indexStr.slice(-1) === `'`) {\n index = parseInt(indexStr.slice(0, -1), 10);\n return prevHd.deriveHardened(index);\n }\n else {\n index = parseInt(indexStr, 10);\n return prevHd.derive(index);\n }\n }, this);\n }\n tweak(t) {\n if (this.privateKey)\n return this.tweakFromPrivateKey(t);\n return this.tweakFromPublicKey(t);\n }\n tweakFromPublicKey(t) {\n const xOnlyPubKey = toXOnly(this.publicKey);\n if (!ecc.xOnlyPointAddTweak)\n throw new Error('xOnlyPointAddTweak not supported by ecc library');\n const tweakedPublicKey = ecc.xOnlyPointAddTweak(xOnlyPubKey, t);\n if (!tweakedPublicKey || tweakedPublicKey.xOnlyPubkey === null)\n throw new Error('Cannot tweak public key!');\n const parityByte = Buffer.from([\n tweakedPublicKey.parity === 0 ? 0x02 : 0x03,\n ]);\n const tweakedPublicKeyCompresed = Buffer.concat([\n parityByte,\n tweakedPublicKey.xOnlyPubkey,\n ]);\n return new Bip32Signer(undefined, tweakedPublicKeyCompresed);\n }\n tweakFromPrivateKey(t) {\n const hasOddY = this.publicKey[0] === 3 ||\n (this.publicKey[0] === 4 && (this.publicKey[64] & 1) === 1);\n const privateKey = (() => {\n if (!hasOddY)\n return this.privateKey;\n else if (!ecc.privateNegate)\n throw new Error('privateNegate not supported by ecc library');\n else\n return ecc.privateNegate(this.privateKey);\n })();\n const tweakedPrivateKey = ecc.privateAdd(privateKey, t);\n if (!tweakedPrivateKey)\n throw new Error('Invalid tweaked private key!');\n return new Bip32Signer(Buffer.from(tweakedPrivateKey), undefined);\n }\n }\n function fromBase58(inString, network) {\n const buffer = bs58check.decode(inString);\n if (buffer.length !== 78)\n throw new TypeError('Invalid buffer length');\n network = network || BITCOIN;\n // 4 bytes: version bytes\n const version = buffer.readUInt32BE(0);\n if (version !== network.bip32.private && version !== network.bip32.public)\n throw new TypeError('Invalid network version');\n // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...\n const depth = buffer[4];\n // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)\n const parentFingerprint = buffer.readUInt32BE(5);\n if (depth === 0) {\n if (parentFingerprint !== 0x00000000)\n throw new TypeError('Invalid parent fingerprint');\n }\n // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.\n // This is encoded in MSB order. (0x00000000 if master key)\n const index = buffer.readUInt32BE(9);\n if (depth === 0 && index !== 0)\n throw new TypeError('Invalid index');\n // 32 bytes: the chain code\n const chainCode = buffer.slice(13, 45);\n let hd;\n // 33 bytes: private key data (0x00 + k)\n if (version === network.bip32.private) {\n if (buffer.readUInt8(45) !== 0x00)\n throw new TypeError('Invalid private key');\n const k = buffer.slice(46, 78);\n hd = fromPrivateKeyLocal(k, chainCode, network, depth, index, parentFingerprint);\n // 33 bytes: public key data (0x02 + X or 0x03 + X)\n }\n else {\n const X = buffer.slice(45, 78);\n hd = fromPublicKeyLocal(X, chainCode, network, depth, index, parentFingerprint);\n }\n return hd;\n }\n function fromPrivateKey(privateKey, chainCode, network) {\n return fromPrivateKeyLocal(privateKey, chainCode, network);\n }\n function fromPrivateKeyLocal(privateKey, chainCode, network, depth, index, parentFingerprint) {\n typeforce({\n privateKey: UINT256_TYPE,\n chainCode: UINT256_TYPE,\n }, { privateKey, chainCode });\n network = network || BITCOIN;\n if (!ecc.isPrivate(privateKey))\n throw new TypeError('Private key not in range [1, n)');\n return new BIP32(privateKey, undefined, chainCode, network, depth, index, parentFingerprint);\n }\n function fromPublicKey(publicKey, chainCode, network) {\n return fromPublicKeyLocal(publicKey, chainCode, network);\n }\n function fromPublicKeyLocal(publicKey, chainCode, network, depth, index, parentFingerprint) {\n typeforce({\n publicKey: typeforce.BufferN(33),\n chainCode: UINT256_TYPE,\n }, { publicKey, chainCode });\n network = network || BITCOIN;\n // verify the X coordinate is a point on the curve\n if (!ecc.isPoint(publicKey))\n throw new TypeError('Point is not on the curve');\n return new BIP32(undefined, publicKey, chainCode, network, depth, index, parentFingerprint);\n }\n function fromSeed(seed, network) {\n typeforce(typeforce.Buffer, seed);\n if (seed.length < 16)\n throw new TypeError('Seed should be at least 128 bits');\n if (seed.length > 64)\n throw new TypeError('Seed should be at most 512 bits');\n network = network || BITCOIN;\n const I = crypto.hmacSHA512(Buffer.from('Bitcoin seed', 'utf8'), seed);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return fromPrivateKey(IL, IR, network);\n }\n return {\n fromSeed,\n fromBase58,\n fromPublicKey,\n fromPrivateKey,\n };\n}\nexports.BIP32Factory = BIP32Factory;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hmacSHA512 = exports.hash160 = void 0;\nconst hmac_1 = require(\"@noble/hashes/hmac\");\nconst ripemd160_1 = require(\"@noble/hashes/ripemd160\");\nconst sha256_1 = require(\"@noble/hashes/sha256\");\nconst sha512_1 = require(\"@noble/hashes/sha512\");\nfunction hash160(buffer) {\n const sha256Hash = (0, sha256_1.sha256)(Uint8Array.from(buffer));\n return Buffer.from((0, ripemd160_1.ripemd160)(sha256Hash));\n}\nexports.hash160 = hash160;\nfunction hmacSHA512(key, data) {\n return Buffer.from((0, hmac_1.hmac)(sha512_1.sha512, key, data));\n}\nexports.hmacSHA512 = hmacSHA512;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BIP32Factory = exports.default = void 0;\nvar bip32_1 = require(\"./bip32\");\nObject.defineProperty(exports, \"default\", { enumerable: true, get: function () { return bip32_1.BIP32Factory; } });\nObject.defineProperty(exports, \"BIP32Factory\", { enumerable: true, get: function () { return bip32_1.BIP32Factory; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.testEcc = void 0;\nconst h = (hex) => Buffer.from(hex, 'hex');\nfunction testEcc(ecc) {\n assert(ecc.isPoint(h('0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798')));\n assert(!ecc.isPoint(h('030000000000000000000000000000000000000000000000000000000000000005')));\n assert(ecc.isPrivate(h('79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798')));\n // order - 1\n assert(ecc.isPrivate(h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140')));\n // 0\n assert(!ecc.isPrivate(h('0000000000000000000000000000000000000000000000000000000000000000')));\n // order\n assert(!ecc.isPrivate(h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141')));\n // order + 1\n assert(!ecc.isPrivate(h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142')));\n assert(Buffer.from(ecc.pointFromScalar(h('b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af'))).equals(h('02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99')));\n if (ecc.xOnlyPointAddTweak) {\n assert(ecc.xOnlyPointAddTweak(h('79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'), h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140')) === null);\n let xOnlyRes = ecc.xOnlyPointAddTweak(h('1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b'), h('a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac'));\n assert(Buffer.from(xOnlyRes.xOnlyPubkey).equals(h('e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf')) && xOnlyRes.parity === 1);\n xOnlyRes = ecc.xOnlyPointAddTweak(h('2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991'), h('823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47'));\n }\n assert(Buffer.from(ecc.pointAddScalar(h('0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'), h('0000000000000000000000000000000000000000000000000000000000000003'))).equals(h('02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5')));\n assert(Buffer.from(ecc.privateAdd(h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e'), h('0000000000000000000000000000000000000000000000000000000000000002'))).equals(h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140')));\n if (ecc.privateNegate) {\n assert(Buffer.from(ecc.privateNegate(h('0000000000000000000000000000000000000000000000000000000000000001'))).equals(h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140')));\n assert(Buffer.from(ecc.privateNegate(h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e'))).equals(h('0000000000000000000000000000000000000000000000000000000000000003')));\n assert(Buffer.from(ecc.privateNegate(h('b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af'))).equals(h('4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792')));\n }\n assert(Buffer.from(ecc.sign(h('5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed'), h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140'))).equals(h('54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5')));\n assert(ecc.verify(h('5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed'), h('0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'), h('54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5')));\n if (ecc.signSchnorr) {\n assert(Buffer.from(ecc.signSchnorr(h('7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c'), h('c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9'), h('c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906'))).equals(h('5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7')));\n }\n if (ecc.verifySchnorr) {\n assert(ecc.verifySchnorr(h('7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c'), h('dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8'), h('5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7')));\n }\n}\nexports.testEcc = testEcc;\nfunction assert(bool) {\n if (!bool)\n throw new Error('ecc library invalid');\n}\n","'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bech32m = exports.bech32 = void 0;\nconst ALPHABET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';\nconst ALPHABET_MAP = {};\nfor (let z = 0; z < ALPHABET.length; z++) {\n const x = ALPHABET.charAt(z);\n ALPHABET_MAP[x] = z;\n}\nfunction polymodStep(pre) {\n const b = pre >> 25;\n return (((pre & 0x1ffffff) << 5) ^\n (-((b >> 0) & 1) & 0x3b6a57b2) ^\n (-((b >> 1) & 1) & 0x26508e6d) ^\n (-((b >> 2) & 1) & 0x1ea119fa) ^\n (-((b >> 3) & 1) & 0x3d4233dd) ^\n (-((b >> 4) & 1) & 0x2a1462b3));\n}\nfunction prefixChk(prefix) {\n let chk = 1;\n for (let i = 0; i < prefix.length; ++i) {\n const c = prefix.charCodeAt(i);\n if (c < 33 || c > 126)\n return 'Invalid prefix (' + prefix + ')';\n chk = polymodStep(chk) ^ (c >> 5);\n }\n chk = polymodStep(chk);\n for (let i = 0; i < prefix.length; ++i) {\n const v = prefix.charCodeAt(i);\n chk = polymodStep(chk) ^ (v & 0x1f);\n }\n return chk;\n}\nfunction convert(data, inBits, outBits, pad) {\n let value = 0;\n let bits = 0;\n const maxV = (1 << outBits) - 1;\n const result = [];\n for (let i = 0; i < data.length; ++i) {\n value = (value << inBits) | data[i];\n bits += inBits;\n while (bits >= outBits) {\n bits -= outBits;\n result.push((value >> bits) & maxV);\n }\n }\n if (pad) {\n if (bits > 0) {\n result.push((value << (outBits - bits)) & maxV);\n }\n }\n else {\n if (bits >= inBits)\n return 'Excess padding';\n if ((value << (outBits - bits)) & maxV)\n return 'Non-zero padding';\n }\n return result;\n}\nfunction toWords(bytes) {\n return convert(bytes, 8, 5, true);\n}\nfunction fromWordsUnsafe(words) {\n const res = convert(words, 5, 8, false);\n if (Array.isArray(res))\n return res;\n}\nfunction fromWords(words) {\n const res = convert(words, 5, 8, false);\n if (Array.isArray(res))\n return res;\n throw new Error(res);\n}\nfunction getLibraryFromEncoding(encoding) {\n let ENCODING_CONST;\n if (encoding === 'bech32') {\n ENCODING_CONST = 1;\n }\n else {\n ENCODING_CONST = 0x2bc830a3;\n }\n function encode(prefix, words, LIMIT) {\n LIMIT = LIMIT || 90;\n if (prefix.length + 7 + words.length > LIMIT)\n throw new TypeError('Exceeds length limit');\n prefix = prefix.toLowerCase();\n // determine chk mod\n let chk = prefixChk(prefix);\n if (typeof chk === 'string')\n throw new Error(chk);\n let result = prefix + '1';\n for (let i = 0; i < words.length; ++i) {\n const x = words[i];\n if (x >> 5 !== 0)\n throw new Error('Non 5-bit word');\n chk = polymodStep(chk) ^ x;\n result += ALPHABET.charAt(x);\n }\n for (let i = 0; i < 6; ++i) {\n chk = polymodStep(chk);\n }\n chk ^= ENCODING_CONST;\n for (let i = 0; i < 6; ++i) {\n const v = (chk >> ((5 - i) * 5)) & 0x1f;\n result += ALPHABET.charAt(v);\n }\n return result;\n }\n function __decode(str, LIMIT) {\n LIMIT = LIMIT || 90;\n if (str.length < 8)\n return str + ' too short';\n if (str.length > LIMIT)\n return 'Exceeds length limit';\n // don't allow mixed case\n const lowered = str.toLowerCase();\n const uppered = str.toUpperCase();\n if (str !== lowered && str !== uppered)\n return 'Mixed-case string ' + str;\n str = lowered;\n const split = str.lastIndexOf('1');\n if (split === -1)\n return 'No separator character for ' + str;\n if (split === 0)\n return 'Missing prefix for ' + str;\n const prefix = str.slice(0, split);\n const wordChars = str.slice(split + 1);\n if (wordChars.length < 6)\n return 'Data too short';\n let chk = prefixChk(prefix);\n if (typeof chk === 'string')\n return chk;\n const words = [];\n for (let i = 0; i < wordChars.length; ++i) {\n const c = wordChars.charAt(i);\n const v = ALPHABET_MAP[c];\n if (v === undefined)\n return 'Unknown character ' + c;\n chk = polymodStep(chk) ^ v;\n // not in the checksum?\n if (i + 6 >= wordChars.length)\n continue;\n words.push(v);\n }\n if (chk !== ENCODING_CONST)\n return 'Invalid checksum for ' + str;\n return { prefix, words };\n }\n function decodeUnsafe(str, LIMIT) {\n const res = __decode(str, LIMIT);\n if (typeof res === 'object')\n return res;\n }\n function decode(str, LIMIT) {\n const res = __decode(str, LIMIT);\n if (typeof res === 'object')\n return res;\n throw new Error(res);\n }\n return {\n decodeUnsafe,\n decode,\n encode,\n toWords,\n fromWordsUnsafe,\n fromWords,\n };\n}\nexports.bech32 = getLibraryFromEncoding('bech32');\nexports.bech32m = getLibraryFromEncoding('bech32m');\n","'use strict'\n\nvar base58 = require('bs58')\n\nmodule.exports = function (checksumFn) {\n // Encode a buffer as a base58-check encoded string\n function encode (payload) {\n var payloadU8 = Uint8Array.from(payload)\n var checksum = checksumFn(payloadU8)\n var length = payloadU8.length + 4\n var both = new Uint8Array(length)\n both.set(payloadU8, 0)\n both.set(checksum.subarray(0, 4), payloadU8.length)\n return base58.encode(both, length)\n }\n\n function decodeRaw (buffer) {\n var payload = buffer.slice(0, -4)\n var checksum = buffer.slice(-4)\n var newChecksum = checksumFn(payload)\n\n if (checksum[0] ^ newChecksum[0] |\n checksum[1] ^ newChecksum[1] |\n checksum[2] ^ newChecksum[2] |\n checksum[3] ^ newChecksum[3]) return\n\n return payload\n }\n\n // Decode a base58-check encoded string to a buffer, no result if checksum is wrong\n function decodeUnsafe (string) {\n var buffer = base58.decodeUnsafe(string)\n if (!buffer) return\n\n return decodeRaw(buffer)\n }\n\n function decode (string) {\n var buffer = base58.decode(string)\n var payload = decodeRaw(buffer, checksumFn)\n if (!payload) throw new Error('Invalid checksum')\n return payload\n }\n\n return {\n encode: encode,\n decode: decode,\n decodeUnsafe: decodeUnsafe\n }\n}\n","'use strict'\n\nvar { sha256 } = require('@noble/hashes/sha256')\nvar bs58checkBase = require('./base')\n\n// SHA256(SHA256(buffer))\nfunction sha256x2 (buffer) {\n return sha256(sha256(buffer))\n}\n\nmodule.exports = bs58checkBase(sha256x2)\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.toOutputScript =\n exports.fromOutputScript =\n exports.toBech32 =\n exports.toBase58Check =\n exports.fromBech32 =\n exports.fromBase58Check =\n void 0;\nconst networks = require('./networks');\nconst payments = require('./payments');\nconst bscript = require('./script');\nconst types_1 = require('./types');\nconst bech32_1 = require('bech32');\nconst bs58check = require('bs58check');\nconst FUTURE_SEGWIT_MAX_SIZE = 40;\nconst FUTURE_SEGWIT_MIN_SIZE = 2;\nconst FUTURE_SEGWIT_MAX_VERSION = 16;\nconst FUTURE_SEGWIT_MIN_VERSION = 2;\nconst FUTURE_SEGWIT_VERSION_DIFF = 0x50;\nconst FUTURE_SEGWIT_VERSION_WARNING =\n 'WARNING: Sending to a future segwit version address can lead to loss of funds. ' +\n 'End users MUST be warned carefully in the GUI and asked if they wish to proceed ' +\n 'with caution. Wallets should verify the segwit version from the output of fromBech32, ' +\n 'then decide when it is safe to use which version of segwit.';\nfunction _toFutureSegwitAddress(output, network) {\n const data = output.slice(2);\n if (\n data.length < FUTURE_SEGWIT_MIN_SIZE ||\n data.length > FUTURE_SEGWIT_MAX_SIZE\n )\n throw new TypeError('Invalid program length for segwit address');\n const version = output[0] - FUTURE_SEGWIT_VERSION_DIFF;\n if (\n version < FUTURE_SEGWIT_MIN_VERSION ||\n version > FUTURE_SEGWIT_MAX_VERSION\n )\n throw new TypeError('Invalid version for segwit address');\n if (output[1] !== data.length)\n throw new TypeError('Invalid script for segwit address');\n console.warn(FUTURE_SEGWIT_VERSION_WARNING);\n return toBech32(data, version, network.bech32);\n}\nfunction fromBase58Check(address) {\n const payload = Buffer.from(bs58check.decode(address));\n // TODO: 4.0.0, move to \"toOutputScript\"\n if (payload.length < 21) throw new TypeError(address + ' is too short');\n if (payload.length > 21) throw new TypeError(address + ' is too long');\n const version = payload.readUInt8(0);\n const hash = payload.slice(1);\n return { version, hash };\n}\nexports.fromBase58Check = fromBase58Check;\nfunction fromBech32(address) {\n let result;\n let version;\n try {\n result = bech32_1.bech32.decode(address);\n } catch (e) {}\n if (result) {\n version = result.words[0];\n if (version !== 0) throw new TypeError(address + ' uses wrong encoding');\n } else {\n result = bech32_1.bech32m.decode(address);\n version = result.words[0];\n if (version === 0) throw new TypeError(address + ' uses wrong encoding');\n }\n const data = bech32_1.bech32.fromWords(result.words.slice(1));\n return {\n version,\n prefix: result.prefix,\n data: Buffer.from(data),\n };\n}\nexports.fromBech32 = fromBech32;\nfunction toBase58Check(hash, version) {\n (0, types_1.typeforce)(\n (0, types_1.tuple)(types_1.Hash160bit, types_1.UInt8),\n arguments,\n );\n const payload = Buffer.allocUnsafe(21);\n payload.writeUInt8(version, 0);\n hash.copy(payload, 1);\n return bs58check.encode(payload);\n}\nexports.toBase58Check = toBase58Check;\nfunction toBech32(data, version, prefix) {\n const words = bech32_1.bech32.toWords(data);\n words.unshift(version);\n return version === 0\n ? bech32_1.bech32.encode(prefix, words)\n : bech32_1.bech32m.encode(prefix, words);\n}\nexports.toBech32 = toBech32;\nfunction fromOutputScript(output, network) {\n // TODO: Network\n network = network || networks.bitcoin;\n try {\n return payments.p2pkh({ output, network }).address;\n } catch (e) {}\n try {\n return payments.p2sh({ output, network }).address;\n } catch (e) {}\n try {\n return payments.p2wpkh({ output, network }).address;\n } catch (e) {}\n try {\n return payments.p2wsh({ output, network }).address;\n } catch (e) {}\n try {\n return payments.p2tr({ output, network }).address;\n } catch (e) {}\n try {\n return _toFutureSegwitAddress(output, network);\n } catch (e) {}\n throw new Error(bscript.toASM(output) + ' has no matching Address');\n}\nexports.fromOutputScript = fromOutputScript;\nfunction toOutputScript(address, network) {\n network = network || networks.bitcoin;\n let decodeBase58;\n let decodeBech32;\n try {\n decodeBase58 = fromBase58Check(address);\n } catch (e) {}\n if (decodeBase58) {\n if (decodeBase58.version === network.pubKeyHash)\n return payments.p2pkh({ hash: decodeBase58.hash }).output;\n if (decodeBase58.version === network.scriptHash)\n return payments.p2sh({ hash: decodeBase58.hash }).output;\n } else {\n try {\n decodeBech32 = fromBech32(address);\n } catch (e) {}\n if (decodeBech32) {\n if (decodeBech32.prefix !== network.bech32)\n throw new Error(address + ' has an invalid prefix');\n if (decodeBech32.version === 0) {\n if (decodeBech32.data.length === 20)\n return payments.p2wpkh({ hash: decodeBech32.data }).output;\n if (decodeBech32.data.length === 32)\n return payments.p2wsh({ hash: decodeBech32.data }).output;\n } else if (decodeBech32.version === 1) {\n if (decodeBech32.data.length === 32)\n return payments.p2tr({ pubkey: decodeBech32.data }).output;\n } else if (\n decodeBech32.version >= FUTURE_SEGWIT_MIN_VERSION &&\n decodeBech32.version <= FUTURE_SEGWIT_MAX_VERSION &&\n decodeBech32.data.length >= FUTURE_SEGWIT_MIN_SIZE &&\n decodeBech32.data.length <= FUTURE_SEGWIT_MAX_SIZE\n ) {\n console.warn(FUTURE_SEGWIT_VERSION_WARNING);\n return bscript.compile([\n decodeBech32.version + FUTURE_SEGWIT_VERSION_DIFF,\n decodeBech32.data,\n ]);\n }\n }\n }\n throw new Error(address + ' has no matching Script');\n}\nexports.toOutputScript = toOutputScript;\n","'use strict';\n// Reference https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki\n// Format: 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S]\n// NOTE: SIGHASH byte ignored AND restricted, truncate before use\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.encode = exports.decode = exports.check = void 0;\nfunction check(buffer) {\n if (buffer.length < 8) return false;\n if (buffer.length > 72) return false;\n if (buffer[0] !== 0x30) return false;\n if (buffer[1] !== buffer.length - 2) return false;\n if (buffer[2] !== 0x02) return false;\n const lenR = buffer[3];\n if (lenR === 0) return false;\n if (5 + lenR >= buffer.length) return false;\n if (buffer[4 + lenR] !== 0x02) return false;\n const lenS = buffer[5 + lenR];\n if (lenS === 0) return false;\n if (6 + lenR + lenS !== buffer.length) return false;\n if (buffer[4] & 0x80) return false;\n if (lenR > 1 && buffer[4] === 0x00 && !(buffer[5] & 0x80)) return false;\n if (buffer[lenR + 6] & 0x80) return false;\n if (lenS > 1 && buffer[lenR + 6] === 0x00 && !(buffer[lenR + 7] & 0x80))\n return false;\n return true;\n}\nexports.check = check;\nfunction decode(buffer) {\n if (buffer.length < 8) throw new Error('DER sequence length is too short');\n if (buffer.length > 72) throw new Error('DER sequence length is too long');\n if (buffer[0] !== 0x30) throw new Error('Expected DER sequence');\n if (buffer[1] !== buffer.length - 2)\n throw new Error('DER sequence length is invalid');\n if (buffer[2] !== 0x02) throw new Error('Expected DER integer');\n const lenR = buffer[3];\n if (lenR === 0) throw new Error('R length is zero');\n if (5 + lenR >= buffer.length) throw new Error('R length is too long');\n if (buffer[4 + lenR] !== 0x02) throw new Error('Expected DER integer (2)');\n const lenS = buffer[5 + lenR];\n if (lenS === 0) throw new Error('S length is zero');\n if (6 + lenR + lenS !== buffer.length) throw new Error('S length is invalid');\n if (buffer[4] & 0x80) throw new Error('R value is negative');\n if (lenR > 1 && buffer[4] === 0x00 && !(buffer[5] & 0x80))\n throw new Error('R value excessively padded');\n if (buffer[lenR + 6] & 0x80) throw new Error('S value is negative');\n if (lenS > 1 && buffer[lenR + 6] === 0x00 && !(buffer[lenR + 7] & 0x80))\n throw new Error('S value excessively padded');\n // non-BIP66 - extract R, S values\n return {\n r: buffer.slice(4, 4 + lenR),\n s: buffer.slice(6 + lenR),\n };\n}\nexports.decode = decode;\n/*\n * Expects r and s to be positive DER integers.\n *\n * The DER format uses the most significant bit as a sign bit (& 0x80).\n * If the significant bit is set AND the integer is positive, a 0x00 is prepended.\n *\n * Examples:\n *\n * 0 => 0x00\n * 1 => 0x01\n * -1 => 0xff\n * 127 => 0x7f\n * -127 => 0x81\n * 128 => 0x0080\n * -128 => 0x80\n * 255 => 0x00ff\n * -255 => 0xff01\n * 16300 => 0x3fac\n * -16300 => 0xc054\n * 62300 => 0x00f35c\n * -62300 => 0xff0ca4\n */\nfunction encode(r, s) {\n const lenR = r.length;\n const lenS = s.length;\n if (lenR === 0) throw new Error('R length is zero');\n if (lenS === 0) throw new Error('S length is zero');\n if (lenR > 33) throw new Error('R length is too long');\n if (lenS > 33) throw new Error('S length is too long');\n if (r[0] & 0x80) throw new Error('R value is negative');\n if (s[0] & 0x80) throw new Error('S value is negative');\n if (lenR > 1 && r[0] === 0x00 && !(r[1] & 0x80))\n throw new Error('R value excessively padded');\n if (lenS > 1 && s[0] === 0x00 && !(s[1] & 0x80))\n throw new Error('S value excessively padded');\n const signature = Buffer.allocUnsafe(6 + lenR + lenS);\n // 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S]\n signature[0] = 0x30;\n signature[1] = signature.length - 2;\n signature[2] = 0x02;\n signature[3] = r.length;\n r.copy(signature, 4);\n signature[4 + lenR] = 0x02;\n signature[5 + lenR] = s.length;\n s.copy(signature, 6 + lenR);\n return signature;\n}\nexports.encode = encode;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Block = void 0;\nconst bufferutils_1 = require('./bufferutils');\nconst bcrypto = require('./crypto');\nconst merkle_1 = require('./merkle');\nconst transaction_1 = require('./transaction');\nconst types = require('./types');\nconst { typeforce } = types;\nconst errorMerkleNoTxes = new TypeError(\n 'Cannot compute merkle root for zero transactions',\n);\nconst errorWitnessNotSegwit = new TypeError(\n 'Cannot compute witness commit for non-segwit block',\n);\nclass Block {\n constructor() {\n this.version = 1;\n this.prevHash = undefined;\n this.merkleRoot = undefined;\n this.timestamp = 0;\n this.witnessCommit = undefined;\n this.bits = 0;\n this.nonce = 0;\n this.transactions = undefined;\n }\n static fromBuffer(buffer) {\n if (buffer.length < 80) throw new Error('Buffer too small (< 80 bytes)');\n const bufferReader = new bufferutils_1.BufferReader(buffer);\n const block = new Block();\n block.version = bufferReader.readInt32();\n block.prevHash = bufferReader.readSlice(32);\n block.merkleRoot = bufferReader.readSlice(32);\n block.timestamp = bufferReader.readUInt32();\n block.bits = bufferReader.readUInt32();\n block.nonce = bufferReader.readUInt32();\n if (buffer.length === 80) return block;\n const readTransaction = () => {\n const tx = transaction_1.Transaction.fromBuffer(\n bufferReader.buffer.slice(bufferReader.offset),\n true,\n );\n bufferReader.offset += tx.byteLength();\n return tx;\n };\n const nTransactions = bufferReader.readVarInt();\n block.transactions = [];\n for (let i = 0; i < nTransactions; ++i) {\n const tx = readTransaction();\n block.transactions.push(tx);\n }\n const witnessCommit = block.getWitnessCommit();\n // This Block contains a witness commit\n if (witnessCommit) block.witnessCommit = witnessCommit;\n return block;\n }\n static fromHex(hex) {\n return Block.fromBuffer(Buffer.from(hex, 'hex'));\n }\n static calculateTarget(bits) {\n const exponent = ((bits & 0xff000000) >> 24) - 3;\n const mantissa = bits & 0x007fffff;\n const target = Buffer.alloc(32, 0);\n target.writeUIntBE(mantissa, 29 - exponent, 3);\n return target;\n }\n static calculateMerkleRoot(transactions, forWitness) {\n typeforce([{ getHash: types.Function }], transactions);\n if (transactions.length === 0) throw errorMerkleNoTxes;\n if (forWitness && !txesHaveWitnessCommit(transactions))\n throw errorWitnessNotSegwit;\n const hashes = transactions.map(transaction =>\n transaction.getHash(forWitness),\n );\n const rootHash = (0, merkle_1.fastMerkleRoot)(hashes, bcrypto.hash256);\n return forWitness\n ? bcrypto.hash256(\n Buffer.concat([rootHash, transactions[0].ins[0].witness[0]]),\n )\n : rootHash;\n }\n getWitnessCommit() {\n if (!txesHaveWitnessCommit(this.transactions)) return null;\n // The merkle root for the witness data is in an OP_RETURN output.\n // There is no rule for the index of the output, so use filter to find it.\n // The root is prepended with 0xaa21a9ed so check for 0x6a24aa21a9ed\n // If multiple commits are found, the output with highest index is assumed.\n const witnessCommits = this.transactions[0].outs\n .filter(out =>\n out.script.slice(0, 6).equals(Buffer.from('6a24aa21a9ed', 'hex')),\n )\n .map(out => out.script.slice(6, 38));\n if (witnessCommits.length === 0) return null;\n // Use the commit with the highest output (should only be one though)\n const result = witnessCommits[witnessCommits.length - 1];\n if (!(result instanceof Buffer && result.length === 32)) return null;\n return result;\n }\n hasWitnessCommit() {\n if (\n this.witnessCommit instanceof Buffer &&\n this.witnessCommit.length === 32\n )\n return true;\n if (this.getWitnessCommit() !== null) return true;\n return false;\n }\n hasWitness() {\n return anyTxHasWitness(this.transactions);\n }\n weight() {\n const base = this.byteLength(false, false);\n const total = this.byteLength(false, true);\n return base * 3 + total;\n }\n byteLength(headersOnly, allowWitness = true) {\n if (headersOnly || !this.transactions) return 80;\n return (\n 80 +\n bufferutils_1.varuint.encodingLength(this.transactions.length) +\n this.transactions.reduce((a, x) => a + x.byteLength(allowWitness), 0)\n );\n }\n getHash() {\n return bcrypto.hash256(this.toBuffer(true));\n }\n getId() {\n return (0, bufferutils_1.reverseBuffer)(this.getHash()).toString('hex');\n }\n getUTCDate() {\n const date = new Date(0); // epoch\n date.setUTCSeconds(this.timestamp);\n return date;\n }\n // TODO: buffer, offset compatibility\n toBuffer(headersOnly) {\n const buffer = Buffer.allocUnsafe(this.byteLength(headersOnly));\n const bufferWriter = new bufferutils_1.BufferWriter(buffer);\n bufferWriter.writeInt32(this.version);\n bufferWriter.writeSlice(this.prevHash);\n bufferWriter.writeSlice(this.merkleRoot);\n bufferWriter.writeUInt32(this.timestamp);\n bufferWriter.writeUInt32(this.bits);\n bufferWriter.writeUInt32(this.nonce);\n if (headersOnly || !this.transactions) return buffer;\n bufferutils_1.varuint.encode(\n this.transactions.length,\n buffer,\n bufferWriter.offset,\n );\n bufferWriter.offset += bufferutils_1.varuint.encode.bytes;\n this.transactions.forEach(tx => {\n const txSize = tx.byteLength(); // TODO: extract from toBuffer?\n tx.toBuffer(buffer, bufferWriter.offset);\n bufferWriter.offset += txSize;\n });\n return buffer;\n }\n toHex(headersOnly) {\n return this.toBuffer(headersOnly).toString('hex');\n }\n checkTxRoots() {\n // If the Block has segwit transactions but no witness commit,\n // there's no way it can be valid, so fail the check.\n const hasWitnessCommit = this.hasWitnessCommit();\n if (!hasWitnessCommit && this.hasWitness()) return false;\n return (\n this.__checkMerkleRoot() &&\n (hasWitnessCommit ? this.__checkWitnessCommit() : true)\n );\n }\n checkProofOfWork() {\n const hash = (0, bufferutils_1.reverseBuffer)(this.getHash());\n const target = Block.calculateTarget(this.bits);\n return hash.compare(target) <= 0;\n }\n __checkMerkleRoot() {\n if (!this.transactions) throw errorMerkleNoTxes;\n const actualMerkleRoot = Block.calculateMerkleRoot(this.transactions);\n return this.merkleRoot.compare(actualMerkleRoot) === 0;\n }\n __checkWitnessCommit() {\n if (!this.transactions) throw errorMerkleNoTxes;\n if (!this.hasWitnessCommit()) throw errorWitnessNotSegwit;\n const actualWitnessCommit = Block.calculateMerkleRoot(\n this.transactions,\n true,\n );\n return this.witnessCommit.compare(actualWitnessCommit) === 0;\n }\n}\nexports.Block = Block;\nfunction txesHaveWitnessCommit(transactions) {\n return (\n transactions instanceof Array &&\n transactions[0] &&\n transactions[0].ins &&\n transactions[0].ins instanceof Array &&\n transactions[0].ins[0] &&\n transactions[0].ins[0].witness &&\n transactions[0].ins[0].witness instanceof Array &&\n transactions[0].ins[0].witness.length > 0\n );\n}\nfunction anyTxHasWitness(transactions) {\n return (\n transactions instanceof Array &&\n transactions.some(\n tx =>\n typeof tx === 'object' &&\n tx.ins instanceof Array &&\n tx.ins.some(\n input =>\n typeof input === 'object' &&\n input.witness instanceof Array &&\n input.witness.length > 0,\n ),\n )\n );\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.BufferReader =\n exports.BufferWriter =\n exports.cloneBuffer =\n exports.reverseBuffer =\n exports.writeUInt64LE =\n exports.readUInt64LE =\n exports.varuint =\n void 0;\nconst types = require('./types');\nconst { typeforce } = types;\nconst varuint = require('varuint-bitcoin');\nexports.varuint = varuint;\n// https://github.com/feross/buffer/blob/master/index.js#L1127\nfunction verifuint(value, max) {\n if (typeof value !== 'number')\n throw new Error('cannot write a non-number as a number');\n if (value < 0)\n throw new Error('specified a negative value for writing an unsigned value');\n if (value > max) throw new Error('RangeError: value out of range');\n if (Math.floor(value) !== value)\n throw new Error('value has a fractional component');\n}\nfunction readUInt64LE(buffer, offset) {\n const a = buffer.readUInt32LE(offset);\n let b = buffer.readUInt32LE(offset + 4);\n b *= 0x100000000;\n verifuint(b + a, 0x001fffffffffffff);\n return b + a;\n}\nexports.readUInt64LE = readUInt64LE;\nfunction writeUInt64LE(buffer, value, offset) {\n verifuint(value, 0x001fffffffffffff);\n buffer.writeInt32LE(value & -1, offset);\n buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4);\n return offset + 8;\n}\nexports.writeUInt64LE = writeUInt64LE;\nfunction reverseBuffer(buffer) {\n if (buffer.length < 1) return buffer;\n let j = buffer.length - 1;\n let tmp = 0;\n for (let i = 0; i < buffer.length / 2; i++) {\n tmp = buffer[i];\n buffer[i] = buffer[j];\n buffer[j] = tmp;\n j--;\n }\n return buffer;\n}\nexports.reverseBuffer = reverseBuffer;\nfunction cloneBuffer(buffer) {\n const clone = Buffer.allocUnsafe(buffer.length);\n buffer.copy(clone);\n return clone;\n}\nexports.cloneBuffer = cloneBuffer;\n/**\n * Helper class for serialization of bitcoin data types into a pre-allocated buffer.\n */\nclass BufferWriter {\n static withCapacity(size) {\n return new BufferWriter(Buffer.alloc(size));\n }\n constructor(buffer, offset = 0) {\n this.buffer = buffer;\n this.offset = offset;\n typeforce(types.tuple(types.Buffer, types.UInt32), [buffer, offset]);\n }\n writeUInt8(i) {\n this.offset = this.buffer.writeUInt8(i, this.offset);\n }\n writeInt32(i) {\n this.offset = this.buffer.writeInt32LE(i, this.offset);\n }\n writeUInt32(i) {\n this.offset = this.buffer.writeUInt32LE(i, this.offset);\n }\n writeUInt64(i) {\n this.offset = writeUInt64LE(this.buffer, i, this.offset);\n }\n writeVarInt(i) {\n varuint.encode(i, this.buffer, this.offset);\n this.offset += varuint.encode.bytes;\n }\n writeSlice(slice) {\n if (this.buffer.length < this.offset + slice.length) {\n throw new Error('Cannot write slice out of bounds');\n }\n this.offset += slice.copy(this.buffer, this.offset);\n }\n writeVarSlice(slice) {\n this.writeVarInt(slice.length);\n this.writeSlice(slice);\n }\n writeVector(vector) {\n this.writeVarInt(vector.length);\n vector.forEach(buf => this.writeVarSlice(buf));\n }\n end() {\n if (this.buffer.length === this.offset) {\n return this.buffer;\n }\n throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`);\n }\n}\nexports.BufferWriter = BufferWriter;\n/**\n * Helper class for reading of bitcoin data types from a buffer.\n */\nclass BufferReader {\n constructor(buffer, offset = 0) {\n this.buffer = buffer;\n this.offset = offset;\n typeforce(types.tuple(types.Buffer, types.UInt32), [buffer, offset]);\n }\n readUInt8() {\n const result = this.buffer.readUInt8(this.offset);\n this.offset++;\n return result;\n }\n readInt32() {\n const result = this.buffer.readInt32LE(this.offset);\n this.offset += 4;\n return result;\n }\n readUInt32() {\n const result = this.buffer.readUInt32LE(this.offset);\n this.offset += 4;\n return result;\n }\n readUInt64() {\n const result = readUInt64LE(this.buffer, this.offset);\n this.offset += 8;\n return result;\n }\n readVarInt() {\n const vi = varuint.decode(this.buffer, this.offset);\n this.offset += varuint.decode.bytes;\n return vi;\n }\n readSlice(n) {\n if (this.buffer.length < this.offset + n) {\n throw new Error('Cannot read slice out of bounds');\n }\n const result = this.buffer.slice(this.offset, this.offset + n);\n this.offset += n;\n return result;\n }\n readVarSlice() {\n return this.readSlice(this.readVarInt());\n }\n readVector() {\n const count = this.readVarInt();\n const vector = [];\n for (let i = 0; i < count; i++) vector.push(this.readVarSlice());\n return vector;\n }\n}\nexports.BufferReader = BufferReader;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.taggedHash =\n exports.TAGGED_HASH_PREFIXES =\n exports.TAGS =\n exports.hash256 =\n exports.hash160 =\n exports.sha256 =\n exports.sha1 =\n exports.ripemd160 =\n void 0;\nconst ripemd160_1 = require('@noble/hashes/ripemd160');\nconst sha1_1 = require('@noble/hashes/sha1');\nconst sha256_1 = require('@noble/hashes/sha256');\nfunction ripemd160(buffer) {\n return Buffer.from((0, ripemd160_1.ripemd160)(Uint8Array.from(buffer)));\n}\nexports.ripemd160 = ripemd160;\nfunction sha1(buffer) {\n return Buffer.from((0, sha1_1.sha1)(Uint8Array.from(buffer)));\n}\nexports.sha1 = sha1;\nfunction sha256(buffer) {\n return Buffer.from((0, sha256_1.sha256)(Uint8Array.from(buffer)));\n}\nexports.sha256 = sha256;\nfunction hash160(buffer) {\n return Buffer.from(\n (0, ripemd160_1.ripemd160)((0, sha256_1.sha256)(Uint8Array.from(buffer))),\n );\n}\nexports.hash160 = hash160;\nfunction hash256(buffer) {\n return Buffer.from(\n (0, sha256_1.sha256)((0, sha256_1.sha256)(Uint8Array.from(buffer))),\n );\n}\nexports.hash256 = hash256;\nexports.TAGS = [\n 'BIP0340/challenge',\n 'BIP0340/aux',\n 'BIP0340/nonce',\n 'TapLeaf',\n 'TapBranch',\n 'TapSighash',\n 'TapTweak',\n 'KeyAgg list',\n 'KeyAgg coefficient',\n];\n/** An object mapping tags to their tagged hash prefix of [SHA256(tag) | SHA256(tag)] */\nexports.TAGGED_HASH_PREFIXES = {\n 'BIP0340/challenge': Buffer.from([\n 123, 181, 45, 122, 159, 239, 88, 50, 62, 177, 191, 122, 64, 125, 179, 130,\n 210, 243, 242, 216, 27, 177, 34, 79, 73, 254, 81, 143, 109, 72, 211, 124,\n 123, 181, 45, 122, 159, 239, 88, 50, 62, 177, 191, 122, 64, 125, 179, 130,\n 210, 243, 242, 216, 27, 177, 34, 79, 73, 254, 81, 143, 109, 72, 211, 124,\n ]),\n 'BIP0340/aux': Buffer.from([\n 241, 239, 78, 94, 192, 99, 202, 218, 109, 148, 202, 250, 157, 152, 126, 160,\n 105, 38, 88, 57, 236, 193, 31, 151, 45, 119, 165, 46, 216, 193, 204, 144,\n 241, 239, 78, 94, 192, 99, 202, 218, 109, 148, 202, 250, 157, 152, 126, 160,\n 105, 38, 88, 57, 236, 193, 31, 151, 45, 119, 165, 46, 216, 193, 204, 144,\n ]),\n 'BIP0340/nonce': Buffer.from([\n 7, 73, 119, 52, 167, 155, 203, 53, 91, 155, 140, 125, 3, 79, 18, 28, 244,\n 52, 215, 62, 247, 45, 218, 25, 135, 0, 97, 251, 82, 191, 235, 47, 7, 73,\n 119, 52, 167, 155, 203, 53, 91, 155, 140, 125, 3, 79, 18, 28, 244, 52, 215,\n 62, 247, 45, 218, 25, 135, 0, 97, 251, 82, 191, 235, 47,\n ]),\n TapLeaf: Buffer.from([\n 174, 234, 143, 220, 66, 8, 152, 49, 5, 115, 75, 88, 8, 29, 30, 38, 56, 211,\n 95, 28, 181, 64, 8, 212, 211, 87, 202, 3, 190, 120, 233, 238, 174, 234, 143,\n 220, 66, 8, 152, 49, 5, 115, 75, 88, 8, 29, 30, 38, 56, 211, 95, 28, 181,\n 64, 8, 212, 211, 87, 202, 3, 190, 120, 233, 238,\n ]),\n TapBranch: Buffer.from([\n 25, 65, 161, 242, 229, 110, 185, 95, 162, 169, 241, 148, 190, 92, 1, 247,\n 33, 111, 51, 237, 130, 176, 145, 70, 52, 144, 208, 91, 245, 22, 160, 21, 25,\n 65, 161, 242, 229, 110, 185, 95, 162, 169, 241, 148, 190, 92, 1, 247, 33,\n 111, 51, 237, 130, 176, 145, 70, 52, 144, 208, 91, 245, 22, 160, 21,\n ]),\n TapSighash: Buffer.from([\n 244, 10, 72, 223, 75, 42, 112, 200, 180, 146, 75, 242, 101, 70, 97, 237, 61,\n 149, 253, 102, 163, 19, 235, 135, 35, 117, 151, 198, 40, 228, 160, 49, 244,\n 10, 72, 223, 75, 42, 112, 200, 180, 146, 75, 242, 101, 70, 97, 237, 61, 149,\n 253, 102, 163, 19, 235, 135, 35, 117, 151, 198, 40, 228, 160, 49,\n ]),\n TapTweak: Buffer.from([\n 232, 15, 225, 99, 156, 156, 160, 80, 227, 175, 27, 57, 193, 67, 198, 62, 66,\n 156, 188, 235, 21, 217, 64, 251, 181, 197, 161, 244, 175, 87, 197, 233, 232,\n 15, 225, 99, 156, 156, 160, 80, 227, 175, 27, 57, 193, 67, 198, 62, 66, 156,\n 188, 235, 21, 217, 64, 251, 181, 197, 161, 244, 175, 87, 197, 233,\n ]),\n 'KeyAgg list': Buffer.from([\n 72, 28, 151, 28, 60, 11, 70, 215, 240, 178, 117, 174, 89, 141, 78, 44, 126,\n 215, 49, 156, 89, 74, 92, 110, 199, 158, 160, 212, 153, 2, 148, 240, 72, 28,\n 151, 28, 60, 11, 70, 215, 240, 178, 117, 174, 89, 141, 78, 44, 126, 215, 49,\n 156, 89, 74, 92, 110, 199, 158, 160, 212, 153, 2, 148, 240,\n ]),\n 'KeyAgg coefficient': Buffer.from([\n 191, 201, 4, 3, 77, 28, 136, 232, 200, 14, 34, 229, 61, 36, 86, 109, 100,\n 130, 78, 214, 66, 114, 129, 192, 145, 0, 249, 77, 205, 82, 201, 129, 191,\n 201, 4, 3, 77, 28, 136, 232, 200, 14, 34, 229, 61, 36, 86, 109, 100, 130,\n 78, 214, 66, 114, 129, 192, 145, 0, 249, 77, 205, 82, 201, 129,\n ]),\n};\nfunction taggedHash(prefix, data) {\n return sha256(Buffer.concat([exports.TAGGED_HASH_PREFIXES[prefix], data]));\n}\nexports.taggedHash = taggedHash;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.getEccLib = exports.initEccLib = void 0;\nconst _ECCLIB_CACHE = {};\nfunction initEccLib(eccLib) {\n if (!eccLib) {\n // allow clearing the library\n _ECCLIB_CACHE.eccLib = eccLib;\n } else if (eccLib !== _ECCLIB_CACHE.eccLib) {\n // new instance, verify it\n verifyEcc(eccLib);\n _ECCLIB_CACHE.eccLib = eccLib;\n }\n}\nexports.initEccLib = initEccLib;\nfunction getEccLib() {\n if (!_ECCLIB_CACHE.eccLib)\n throw new Error(\n 'No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance',\n );\n return _ECCLIB_CACHE.eccLib;\n}\nexports.getEccLib = getEccLib;\nconst h = hex => Buffer.from(hex, 'hex');\nfunction verifyEcc(ecc) {\n assert(typeof ecc.isXOnlyPoint === 'function');\n assert(\n ecc.isXOnlyPoint(\n h('79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n ),\n );\n assert(\n ecc.isXOnlyPoint(\n h('fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e'),\n ),\n );\n assert(\n ecc.isXOnlyPoint(\n h('f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9'),\n ),\n );\n assert(\n ecc.isXOnlyPoint(\n h('0000000000000000000000000000000000000000000000000000000000000001'),\n ),\n );\n assert(\n !ecc.isXOnlyPoint(\n h('0000000000000000000000000000000000000000000000000000000000000000'),\n ),\n );\n assert(\n !ecc.isXOnlyPoint(\n h('fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f'),\n ),\n );\n assert(typeof ecc.xOnlyPointAddTweak === 'function');\n tweakAddVectors.forEach(t => {\n const r = ecc.xOnlyPointAddTweak(h(t.pubkey), h(t.tweak));\n if (t.result === null) {\n assert(r === null);\n } else {\n assert(r !== null);\n assert(r.parity === t.parity);\n assert(Buffer.from(r.xOnlyPubkey).equals(h(t.result)));\n }\n });\n}\nfunction assert(bool) {\n if (!bool) throw new Error('ecc library invalid');\n}\nconst tweakAddVectors = [\n {\n pubkey: '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n tweak: 'fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140',\n parity: -1,\n result: null,\n },\n {\n pubkey: '1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b',\n tweak: 'a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac',\n parity: 1,\n result: 'e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf',\n },\n {\n pubkey: '2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991',\n tweak: '823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47',\n parity: 0,\n result: '9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c',\n },\n];\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.initEccLib =\n exports.Transaction =\n exports.opcodes =\n exports.Psbt =\n exports.Block =\n exports.script =\n exports.payments =\n exports.networks =\n exports.crypto =\n exports.address =\n void 0;\nconst address = require('./address');\nexports.address = address;\nconst crypto = require('./crypto');\nexports.crypto = crypto;\nconst networks = require('./networks');\nexports.networks = networks;\nconst payments = require('./payments');\nexports.payments = payments;\nconst script = require('./script');\nexports.script = script;\nvar block_1 = require('./block');\nObject.defineProperty(exports, 'Block', {\n enumerable: true,\n get: function () {\n return block_1.Block;\n },\n});\nvar psbt_1 = require('./psbt');\nObject.defineProperty(exports, 'Psbt', {\n enumerable: true,\n get: function () {\n return psbt_1.Psbt;\n },\n});\nvar ops_1 = require('./ops');\nObject.defineProperty(exports, 'opcodes', {\n enumerable: true,\n get: function () {\n return ops_1.OPS;\n },\n});\nvar transaction_1 = require('./transaction');\nObject.defineProperty(exports, 'Transaction', {\n enumerable: true,\n get: function () {\n return transaction_1.Transaction;\n },\n});\nvar ecc_lib_1 = require('./ecc_lib');\nObject.defineProperty(exports, 'initEccLib', {\n enumerable: true,\n get: function () {\n return ecc_lib_1.initEccLib;\n },\n});\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.fastMerkleRoot = void 0;\nfunction fastMerkleRoot(values, digestFn) {\n if (!Array.isArray(values)) throw TypeError('Expected values Array');\n if (typeof digestFn !== 'function')\n throw TypeError('Expected digest Function');\n let length = values.length;\n const results = values.concat();\n while (length > 1) {\n let j = 0;\n for (let i = 0; i < length; i += 2, ++j) {\n const left = results[i];\n const right = i + 1 === length ? left : results[i + 1];\n const data = Buffer.concat([left, right]);\n results[j] = digestFn(data);\n }\n length = j;\n }\n return results[0];\n}\nexports.fastMerkleRoot = fastMerkleRoot;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.testnet = exports.regtest = exports.bitcoin = void 0;\nexports.bitcoin = {\n messagePrefix: '\\x18Bitcoin Signed Message:\\n',\n bech32: 'bc',\n bip32: {\n public: 0x0488b21e,\n private: 0x0488ade4,\n },\n pubKeyHash: 0x00,\n scriptHash: 0x05,\n wif: 0x80,\n};\nexports.regtest = {\n messagePrefix: '\\x18Bitcoin Signed Message:\\n',\n bech32: 'bcrt',\n bip32: {\n public: 0x043587cf,\n private: 0x04358394,\n },\n pubKeyHash: 0x6f,\n scriptHash: 0xc4,\n wif: 0xef,\n};\nexports.testnet = {\n messagePrefix: '\\x18Bitcoin Signed Message:\\n',\n bech32: 'tb',\n bip32: {\n public: 0x043587cf,\n private: 0x04358394,\n },\n pubKeyHash: 0x6f,\n scriptHash: 0xc4,\n wif: 0xef,\n};\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.REVERSE_OPS = exports.OPS = void 0;\nconst OPS = {\n OP_FALSE: 0,\n OP_0: 0,\n OP_PUSHDATA1: 76,\n OP_PUSHDATA2: 77,\n OP_PUSHDATA4: 78,\n OP_1NEGATE: 79,\n OP_RESERVED: 80,\n OP_TRUE: 81,\n OP_1: 81,\n OP_2: 82,\n OP_3: 83,\n OP_4: 84,\n OP_5: 85,\n OP_6: 86,\n OP_7: 87,\n OP_8: 88,\n OP_9: 89,\n OP_10: 90,\n OP_11: 91,\n OP_12: 92,\n OP_13: 93,\n OP_14: 94,\n OP_15: 95,\n OP_16: 96,\n OP_NOP: 97,\n OP_VER: 98,\n OP_IF: 99,\n OP_NOTIF: 100,\n OP_VERIF: 101,\n OP_VERNOTIF: 102,\n OP_ELSE: 103,\n OP_ENDIF: 104,\n OP_VERIFY: 105,\n OP_RETURN: 106,\n OP_TOALTSTACK: 107,\n OP_FROMALTSTACK: 108,\n OP_2DROP: 109,\n OP_2DUP: 110,\n OP_3DUP: 111,\n OP_2OVER: 112,\n OP_2ROT: 113,\n OP_2SWAP: 114,\n OP_IFDUP: 115,\n OP_DEPTH: 116,\n OP_DROP: 117,\n OP_DUP: 118,\n OP_NIP: 119,\n OP_OVER: 120,\n OP_PICK: 121,\n OP_ROLL: 122,\n OP_ROT: 123,\n OP_SWAP: 124,\n OP_TUCK: 125,\n OP_CAT: 126,\n OP_SUBSTR: 127,\n OP_LEFT: 128,\n OP_RIGHT: 129,\n OP_SIZE: 130,\n OP_INVERT: 131,\n OP_AND: 132,\n OP_OR: 133,\n OP_XOR: 134,\n OP_EQUAL: 135,\n OP_EQUALVERIFY: 136,\n OP_RESERVED1: 137,\n OP_RESERVED2: 138,\n OP_1ADD: 139,\n OP_1SUB: 140,\n OP_2MUL: 141,\n OP_2DIV: 142,\n OP_NEGATE: 143,\n OP_ABS: 144,\n OP_NOT: 145,\n OP_0NOTEQUAL: 146,\n OP_ADD: 147,\n OP_SUB: 148,\n OP_MUL: 149,\n OP_DIV: 150,\n OP_MOD: 151,\n OP_LSHIFT: 152,\n OP_RSHIFT: 153,\n OP_BOOLAND: 154,\n OP_BOOLOR: 155,\n OP_NUMEQUAL: 156,\n OP_NUMEQUALVERIFY: 157,\n OP_NUMNOTEQUAL: 158,\n OP_LESSTHAN: 159,\n OP_GREATERTHAN: 160,\n OP_LESSTHANOREQUAL: 161,\n OP_GREATERTHANOREQUAL: 162,\n OP_MIN: 163,\n OP_MAX: 164,\n OP_WITHIN: 165,\n OP_RIPEMD160: 166,\n OP_SHA1: 167,\n OP_SHA256: 168,\n OP_HASH160: 169,\n OP_HASH256: 170,\n OP_CODESEPARATOR: 171,\n OP_CHECKSIG: 172,\n OP_CHECKSIGVERIFY: 173,\n OP_CHECKMULTISIG: 174,\n OP_CHECKMULTISIGVERIFY: 175,\n OP_NOP1: 176,\n OP_NOP2: 177,\n OP_CHECKLOCKTIMEVERIFY: 177,\n OP_NOP3: 178,\n OP_CHECKSEQUENCEVERIFY: 178,\n OP_NOP4: 179,\n OP_NOP5: 180,\n OP_NOP6: 181,\n OP_NOP7: 182,\n OP_NOP8: 183,\n OP_NOP9: 184,\n OP_NOP10: 185,\n OP_CHECKSIGADD: 186,\n OP_PUBKEYHASH: 253,\n OP_PUBKEY: 254,\n OP_INVALIDOPCODE: 255,\n};\nexports.OPS = OPS;\nconst REVERSE_OPS = {};\nexports.REVERSE_OPS = REVERSE_OPS;\nfor (const op of Object.keys(OPS)) {\n const code = OPS[op];\n REVERSE_OPS[code] = op;\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.tweakKey =\n exports.tapTweakHash =\n exports.tapleafHash =\n exports.findScriptPath =\n exports.toHashTree =\n exports.rootHashFromPath =\n exports.MAX_TAPTREE_DEPTH =\n exports.LEAF_VERSION_TAPSCRIPT =\n void 0;\nconst buffer_1 = require('buffer');\nconst ecc_lib_1 = require('../ecc_lib');\nconst bcrypto = require('../crypto');\nconst bufferutils_1 = require('../bufferutils');\nconst types_1 = require('../types');\nexports.LEAF_VERSION_TAPSCRIPT = 0xc0;\nexports.MAX_TAPTREE_DEPTH = 128;\nconst isHashBranch = ht => 'left' in ht && 'right' in ht;\nfunction rootHashFromPath(controlBlock, leafHash) {\n if (controlBlock.length < 33)\n throw new TypeError(\n `The control-block length is too small. Got ${controlBlock.length}, expected min 33.`,\n );\n const m = (controlBlock.length - 33) / 32;\n let kj = leafHash;\n for (let j = 0; j < m; j++) {\n const ej = controlBlock.slice(33 + 32 * j, 65 + 32 * j);\n if (kj.compare(ej) < 0) {\n kj = tapBranchHash(kj, ej);\n } else {\n kj = tapBranchHash(ej, kj);\n }\n }\n return kj;\n}\nexports.rootHashFromPath = rootHashFromPath;\n/**\n * Build a hash tree of merkle nodes from the scripts binary tree.\n * @param scriptTree - the tree of scripts to pairwise hash.\n */\nfunction toHashTree(scriptTree) {\n if ((0, types_1.isTapleaf)(scriptTree))\n return { hash: tapleafHash(scriptTree) };\n const hashes = [toHashTree(scriptTree[0]), toHashTree(scriptTree[1])];\n hashes.sort((a, b) => a.hash.compare(b.hash));\n const [left, right] = hashes;\n return {\n hash: tapBranchHash(left.hash, right.hash),\n left,\n right,\n };\n}\nexports.toHashTree = toHashTree;\n/**\n * Given a HashTree, finds the path from a particular hash to the root.\n * @param node - the root of the tree\n * @param hash - the hash to search for\n * @returns - array of sibling hashes, from leaf (inclusive) to root\n * (exclusive) needed to prove inclusion of the specified hash. undefined if no\n * path is found\n */\nfunction findScriptPath(node, hash) {\n if (isHashBranch(node)) {\n const leftPath = findScriptPath(node.left, hash);\n if (leftPath !== undefined) return [...leftPath, node.right.hash];\n const rightPath = findScriptPath(node.right, hash);\n if (rightPath !== undefined) return [...rightPath, node.left.hash];\n } else if (node.hash.equals(hash)) {\n return [];\n }\n return undefined;\n}\nexports.findScriptPath = findScriptPath;\nfunction tapleafHash(leaf) {\n const version = leaf.version || exports.LEAF_VERSION_TAPSCRIPT;\n return bcrypto.taggedHash(\n 'TapLeaf',\n buffer_1.Buffer.concat([\n buffer_1.Buffer.from([version]),\n serializeScript(leaf.output),\n ]),\n );\n}\nexports.tapleafHash = tapleafHash;\nfunction tapTweakHash(pubKey, h) {\n return bcrypto.taggedHash(\n 'TapTweak',\n buffer_1.Buffer.concat(h ? [pubKey, h] : [pubKey]),\n );\n}\nexports.tapTweakHash = tapTweakHash;\nfunction tweakKey(pubKey, h) {\n if (!buffer_1.Buffer.isBuffer(pubKey)) return null;\n if (pubKey.length !== 32) return null;\n if (h && h.length !== 32) return null;\n const tweakHash = tapTweakHash(pubKey, h);\n const res = (0, ecc_lib_1.getEccLib)().xOnlyPointAddTweak(pubKey, tweakHash);\n if (!res || res.xOnlyPubkey === null) return null;\n return {\n parity: res.parity,\n x: buffer_1.Buffer.from(res.xOnlyPubkey),\n };\n}\nexports.tweakKey = tweakKey;\nfunction tapBranchHash(a, b) {\n return bcrypto.taggedHash('TapBranch', buffer_1.Buffer.concat([a, b]));\n}\nfunction serializeScript(s) {\n const varintLen = bufferutils_1.varuint.encodingLength(s.length);\n const buffer = buffer_1.Buffer.allocUnsafe(varintLen); // better\n bufferutils_1.varuint.encode(s.length, buffer);\n return buffer_1.Buffer.concat([buffer, s]);\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2data = void 0;\nconst networks_1 = require('../networks');\nconst bscript = require('../script');\nconst types_1 = require('../types');\nconst lazy = require('./lazy');\nconst OPS = bscript.OPS;\nfunction stacksEqual(a, b) {\n if (a.length !== b.length) return false;\n return a.every((x, i) => {\n return x.equals(b[i]);\n });\n}\n// output: OP_RETURN ...\nfunction p2data(a, opts) {\n if (!a.data && !a.output) throw new TypeError('Not enough data');\n opts = Object.assign({ validate: true }, opts || {});\n (0, types_1.typeforce)(\n {\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n output: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n data: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.typeforce.Buffer),\n ),\n },\n a,\n );\n const network = a.network || networks_1.bitcoin;\n const o = { name: 'embed', network };\n lazy.prop(o, 'output', () => {\n if (!a.data) return;\n return bscript.compile([OPS.OP_RETURN].concat(a.data));\n });\n lazy.prop(o, 'data', () => {\n if (!a.output) return;\n return bscript.decompile(a.output).slice(1);\n });\n // extended validation\n if (opts.validate) {\n if (a.output) {\n const chunks = bscript.decompile(a.output);\n if (chunks[0] !== OPS.OP_RETURN) throw new TypeError('Output is invalid');\n if (!chunks.slice(1).every(types_1.typeforce.Buffer))\n throw new TypeError('Output is invalid');\n if (a.data && !stacksEqual(a.data, o.data))\n throw new TypeError('Data mismatch');\n }\n }\n return Object.assign(o, a);\n}\nexports.p2data = p2data;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2tr =\n exports.p2wsh =\n exports.p2wpkh =\n exports.p2sh =\n exports.p2pkh =\n exports.p2pk =\n exports.p2ms =\n exports.embed =\n void 0;\nconst embed_1 = require('./embed');\nObject.defineProperty(exports, 'embed', {\n enumerable: true,\n get: function () {\n return embed_1.p2data;\n },\n});\nconst p2ms_1 = require('./p2ms');\nObject.defineProperty(exports, 'p2ms', {\n enumerable: true,\n get: function () {\n return p2ms_1.p2ms;\n },\n});\nconst p2pk_1 = require('./p2pk');\nObject.defineProperty(exports, 'p2pk', {\n enumerable: true,\n get: function () {\n return p2pk_1.p2pk;\n },\n});\nconst p2pkh_1 = require('./p2pkh');\nObject.defineProperty(exports, 'p2pkh', {\n enumerable: true,\n get: function () {\n return p2pkh_1.p2pkh;\n },\n});\nconst p2sh_1 = require('./p2sh');\nObject.defineProperty(exports, 'p2sh', {\n enumerable: true,\n get: function () {\n return p2sh_1.p2sh;\n },\n});\nconst p2wpkh_1 = require('./p2wpkh');\nObject.defineProperty(exports, 'p2wpkh', {\n enumerable: true,\n get: function () {\n return p2wpkh_1.p2wpkh;\n },\n});\nconst p2wsh_1 = require('./p2wsh');\nObject.defineProperty(exports, 'p2wsh', {\n enumerable: true,\n get: function () {\n return p2wsh_1.p2wsh;\n },\n});\nconst p2tr_1 = require('./p2tr');\nObject.defineProperty(exports, 'p2tr', {\n enumerable: true,\n get: function () {\n return p2tr_1.p2tr;\n },\n});\n// TODO\n// witness commitment\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.value = exports.prop = void 0;\nfunction prop(object, name, f) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: true,\n get() {\n const _value = f.call(this);\n this[name] = _value;\n return _value;\n },\n set(_value) {\n Object.defineProperty(this, name, {\n configurable: true,\n enumerable: true,\n value: _value,\n writable: true,\n });\n },\n });\n}\nexports.prop = prop;\nfunction value(f) {\n let _value;\n return () => {\n if (_value !== undefined) return _value;\n _value = f();\n return _value;\n };\n}\nexports.value = value;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2ms = void 0;\nconst networks_1 = require('../networks');\nconst bscript = require('../script');\nconst types_1 = require('../types');\nconst lazy = require('./lazy');\nconst OPS = bscript.OPS;\nconst OP_INT_BASE = OPS.OP_RESERVED; // OP_1 - 1\nfunction stacksEqual(a, b) {\n if (a.length !== b.length) return false;\n return a.every((x, i) => {\n return x.equals(b[i]);\n });\n}\n// input: OP_0 [signatures ...]\n// output: m [pubKeys ...] n OP_CHECKMULTISIG\nfunction p2ms(a, opts) {\n if (\n !a.input &&\n !a.output &&\n !(a.pubkeys && a.m !== undefined) &&\n !a.signatures\n )\n throw new TypeError('Not enough data');\n opts = Object.assign({ validate: true }, opts || {});\n function isAcceptableSignature(x) {\n return (\n bscript.isCanonicalScriptSignature(x) ||\n (opts.allowIncomplete && x === OPS.OP_0) !== undefined\n );\n }\n (0, types_1.typeforce)(\n {\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n m: types_1.typeforce.maybe(types_1.typeforce.Number),\n n: types_1.typeforce.maybe(types_1.typeforce.Number),\n output: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n pubkeys: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.isPoint),\n ),\n signatures: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(isAcceptableSignature),\n ),\n input: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n },\n a,\n );\n const network = a.network || networks_1.bitcoin;\n const o = { network };\n let chunks = [];\n let decoded = false;\n function decode(output) {\n if (decoded) return;\n decoded = true;\n chunks = bscript.decompile(output);\n o.m = chunks[0] - OP_INT_BASE;\n o.n = chunks[chunks.length - 2] - OP_INT_BASE;\n o.pubkeys = chunks.slice(1, -2);\n }\n lazy.prop(o, 'output', () => {\n if (!a.m) return;\n if (!o.n) return;\n if (!a.pubkeys) return;\n return bscript.compile(\n [].concat(\n OP_INT_BASE + a.m,\n a.pubkeys,\n OP_INT_BASE + o.n,\n OPS.OP_CHECKMULTISIG,\n ),\n );\n });\n lazy.prop(o, 'm', () => {\n if (!o.output) return;\n decode(o.output);\n return o.m;\n });\n lazy.prop(o, 'n', () => {\n if (!o.pubkeys) return;\n return o.pubkeys.length;\n });\n lazy.prop(o, 'pubkeys', () => {\n if (!a.output) return;\n decode(a.output);\n return o.pubkeys;\n });\n lazy.prop(o, 'signatures', () => {\n if (!a.input) return;\n return bscript.decompile(a.input).slice(1);\n });\n lazy.prop(o, 'input', () => {\n if (!a.signatures) return;\n return bscript.compile([OPS.OP_0].concat(a.signatures));\n });\n lazy.prop(o, 'witness', () => {\n if (!o.input) return;\n return [];\n });\n lazy.prop(o, 'name', () => {\n if (!o.m || !o.n) return;\n return `p2ms(${o.m} of ${o.n})`;\n });\n // extended validation\n if (opts.validate) {\n if (a.output) {\n decode(a.output);\n if (!types_1.typeforce.Number(chunks[0]))\n throw new TypeError('Output is invalid');\n if (!types_1.typeforce.Number(chunks[chunks.length - 2]))\n throw new TypeError('Output is invalid');\n if (chunks[chunks.length - 1] !== OPS.OP_CHECKMULTISIG)\n throw new TypeError('Output is invalid');\n if (o.m <= 0 || o.n > 16 || o.m > o.n || o.n !== chunks.length - 3)\n throw new TypeError('Output is invalid');\n if (!o.pubkeys.every(x => (0, types_1.isPoint)(x)))\n throw new TypeError('Output is invalid');\n if (a.m !== undefined && a.m !== o.m) throw new TypeError('m mismatch');\n if (a.n !== undefined && a.n !== o.n) throw new TypeError('n mismatch');\n if (a.pubkeys && !stacksEqual(a.pubkeys, o.pubkeys))\n throw new TypeError('Pubkeys mismatch');\n }\n if (a.pubkeys) {\n if (a.n !== undefined && a.n !== a.pubkeys.length)\n throw new TypeError('Pubkey count mismatch');\n o.n = a.pubkeys.length;\n if (o.n < o.m) throw new TypeError('Pubkey count cannot be less than m');\n }\n if (a.signatures) {\n if (a.signatures.length < o.m)\n throw new TypeError('Not enough signatures provided');\n if (a.signatures.length > o.m)\n throw new TypeError('Too many signatures provided');\n }\n if (a.input) {\n if (a.input[0] !== OPS.OP_0) throw new TypeError('Input is invalid');\n if (\n o.signatures.length === 0 ||\n !o.signatures.every(isAcceptableSignature)\n )\n throw new TypeError('Input has invalid signature(s)');\n if (a.signatures && !stacksEqual(a.signatures, o.signatures))\n throw new TypeError('Signature mismatch');\n if (a.m !== undefined && a.m !== a.signatures.length)\n throw new TypeError('Signature count mismatch');\n }\n }\n return Object.assign(o, a);\n}\nexports.p2ms = p2ms;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2pk = void 0;\nconst networks_1 = require('../networks');\nconst bscript = require('../script');\nconst types_1 = require('../types');\nconst lazy = require('./lazy');\nconst OPS = bscript.OPS;\n// input: {signature}\n// output: {pubKey} OP_CHECKSIG\nfunction p2pk(a, opts) {\n if (!a.input && !a.output && !a.pubkey && !a.input && !a.signature)\n throw new TypeError('Not enough data');\n opts = Object.assign({ validate: true }, opts || {});\n (0, types_1.typeforce)(\n {\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n output: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n pubkey: types_1.typeforce.maybe(types_1.isPoint),\n signature: types_1.typeforce.maybe(bscript.isCanonicalScriptSignature),\n input: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n },\n a,\n );\n const _chunks = lazy.value(() => {\n return bscript.decompile(a.input);\n });\n const network = a.network || networks_1.bitcoin;\n const o = { name: 'p2pk', network };\n lazy.prop(o, 'output', () => {\n if (!a.pubkey) return;\n return bscript.compile([a.pubkey, OPS.OP_CHECKSIG]);\n });\n lazy.prop(o, 'pubkey', () => {\n if (!a.output) return;\n return a.output.slice(1, -1);\n });\n lazy.prop(o, 'signature', () => {\n if (!a.input) return;\n return _chunks()[0];\n });\n lazy.prop(o, 'input', () => {\n if (!a.signature) return;\n return bscript.compile([a.signature]);\n });\n lazy.prop(o, 'witness', () => {\n if (!o.input) return;\n return [];\n });\n // extended validation\n if (opts.validate) {\n if (a.output) {\n if (a.output[a.output.length - 1] !== OPS.OP_CHECKSIG)\n throw new TypeError('Output is invalid');\n if (!(0, types_1.isPoint)(o.pubkey))\n throw new TypeError('Output pubkey is invalid');\n if (a.pubkey && !a.pubkey.equals(o.pubkey))\n throw new TypeError('Pubkey mismatch');\n }\n if (a.signature) {\n if (a.input && !a.input.equals(o.input))\n throw new TypeError('Signature mismatch');\n }\n if (a.input) {\n if (_chunks().length !== 1) throw new TypeError('Input is invalid');\n if (!bscript.isCanonicalScriptSignature(o.signature))\n throw new TypeError('Input has invalid signature');\n }\n }\n return Object.assign(o, a);\n}\nexports.p2pk = p2pk;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2pkh = void 0;\nconst bcrypto = require('../crypto');\nconst networks_1 = require('../networks');\nconst bscript = require('../script');\nconst types_1 = require('../types');\nconst lazy = require('./lazy');\nconst bs58check = require('bs58check');\nconst OPS = bscript.OPS;\n// input: {signature} {pubkey}\n// output: OP_DUP OP_HASH160 {hash160(pubkey)} OP_EQUALVERIFY OP_CHECKSIG\nfunction p2pkh(a, opts) {\n if (!a.address && !a.hash && !a.output && !a.pubkey && !a.input)\n throw new TypeError('Not enough data');\n opts = Object.assign({ validate: true }, opts || {});\n (0, types_1.typeforce)(\n {\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n address: types_1.typeforce.maybe(types_1.typeforce.String),\n hash: types_1.typeforce.maybe(types_1.typeforce.BufferN(20)),\n output: types_1.typeforce.maybe(types_1.typeforce.BufferN(25)),\n pubkey: types_1.typeforce.maybe(types_1.isPoint),\n signature: types_1.typeforce.maybe(bscript.isCanonicalScriptSignature),\n input: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n },\n a,\n );\n const _address = lazy.value(() => {\n const payload = Buffer.from(bs58check.decode(a.address));\n const version = payload.readUInt8(0);\n const hash = payload.slice(1);\n return { version, hash };\n });\n const _chunks = lazy.value(() => {\n return bscript.decompile(a.input);\n });\n const network = a.network || networks_1.bitcoin;\n const o = { name: 'p2pkh', network };\n lazy.prop(o, 'address', () => {\n if (!o.hash) return;\n const payload = Buffer.allocUnsafe(21);\n payload.writeUInt8(network.pubKeyHash, 0);\n o.hash.copy(payload, 1);\n return bs58check.encode(payload);\n });\n lazy.prop(o, 'hash', () => {\n if (a.output) return a.output.slice(3, 23);\n if (a.address) return _address().hash;\n if (a.pubkey || o.pubkey) return bcrypto.hash160(a.pubkey || o.pubkey);\n });\n lazy.prop(o, 'output', () => {\n if (!o.hash) return;\n return bscript.compile([\n OPS.OP_DUP,\n OPS.OP_HASH160,\n o.hash,\n OPS.OP_EQUALVERIFY,\n OPS.OP_CHECKSIG,\n ]);\n });\n lazy.prop(o, 'pubkey', () => {\n if (!a.input) return;\n return _chunks()[1];\n });\n lazy.prop(o, 'signature', () => {\n if (!a.input) return;\n return _chunks()[0];\n });\n lazy.prop(o, 'input', () => {\n if (!a.pubkey) return;\n if (!a.signature) return;\n return bscript.compile([a.signature, a.pubkey]);\n });\n lazy.prop(o, 'witness', () => {\n if (!o.input) return;\n return [];\n });\n // extended validation\n if (opts.validate) {\n let hash = Buffer.from([]);\n if (a.address) {\n if (_address().version !== network.pubKeyHash)\n throw new TypeError('Invalid version or Network mismatch');\n if (_address().hash.length !== 20) throw new TypeError('Invalid address');\n hash = _address().hash;\n }\n if (a.hash) {\n if (hash.length > 0 && !hash.equals(a.hash))\n throw new TypeError('Hash mismatch');\n else hash = a.hash;\n }\n if (a.output) {\n if (\n a.output.length !== 25 ||\n a.output[0] !== OPS.OP_DUP ||\n a.output[1] !== OPS.OP_HASH160 ||\n a.output[2] !== 0x14 ||\n a.output[23] !== OPS.OP_EQUALVERIFY ||\n a.output[24] !== OPS.OP_CHECKSIG\n )\n throw new TypeError('Output is invalid');\n const hash2 = a.output.slice(3, 23);\n if (hash.length > 0 && !hash.equals(hash2))\n throw new TypeError('Hash mismatch');\n else hash = hash2;\n }\n if (a.pubkey) {\n const pkh = bcrypto.hash160(a.pubkey);\n if (hash.length > 0 && !hash.equals(pkh))\n throw new TypeError('Hash mismatch');\n else hash = pkh;\n }\n if (a.input) {\n const chunks = _chunks();\n if (chunks.length !== 2) throw new TypeError('Input is invalid');\n if (!bscript.isCanonicalScriptSignature(chunks[0]))\n throw new TypeError('Input has invalid signature');\n if (!(0, types_1.isPoint)(chunks[1]))\n throw new TypeError('Input has invalid pubkey');\n if (a.signature && !a.signature.equals(chunks[0]))\n throw new TypeError('Signature mismatch');\n if (a.pubkey && !a.pubkey.equals(chunks[1]))\n throw new TypeError('Pubkey mismatch');\n const pkh = bcrypto.hash160(chunks[1]);\n if (hash.length > 0 && !hash.equals(pkh))\n throw new TypeError('Hash mismatch');\n }\n }\n return Object.assign(o, a);\n}\nexports.p2pkh = p2pkh;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2sh = void 0;\nconst bcrypto = require('../crypto');\nconst networks_1 = require('../networks');\nconst bscript = require('../script');\nconst types_1 = require('../types');\nconst lazy = require('./lazy');\nconst bs58check = require('bs58check');\nconst OPS = bscript.OPS;\nfunction stacksEqual(a, b) {\n if (a.length !== b.length) return false;\n return a.every((x, i) => {\n return x.equals(b[i]);\n });\n}\n// input: [redeemScriptSig ...] {redeemScript}\n// witness: >\n// output: OP_HASH160 {hash160(redeemScript)} OP_EQUAL\nfunction p2sh(a, opts) {\n if (!a.address && !a.hash && !a.output && !a.redeem && !a.input)\n throw new TypeError('Not enough data');\n opts = Object.assign({ validate: true }, opts || {});\n (0, types_1.typeforce)(\n {\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n address: types_1.typeforce.maybe(types_1.typeforce.String),\n hash: types_1.typeforce.maybe(types_1.typeforce.BufferN(20)),\n output: types_1.typeforce.maybe(types_1.typeforce.BufferN(23)),\n redeem: types_1.typeforce.maybe({\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n output: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n input: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n witness: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.typeforce.Buffer),\n ),\n }),\n input: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n witness: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.typeforce.Buffer),\n ),\n },\n a,\n );\n let network = a.network;\n if (!network) {\n network = (a.redeem && a.redeem.network) || networks_1.bitcoin;\n }\n const o = { network };\n const _address = lazy.value(() => {\n const payload = Buffer.from(bs58check.decode(a.address));\n const version = payload.readUInt8(0);\n const hash = payload.slice(1);\n return { version, hash };\n });\n const _chunks = lazy.value(() => {\n return bscript.decompile(a.input);\n });\n const _redeem = lazy.value(() => {\n const chunks = _chunks();\n const lastChunk = chunks[chunks.length - 1];\n return {\n network,\n output: lastChunk === OPS.OP_FALSE ? Buffer.from([]) : lastChunk,\n input: bscript.compile(chunks.slice(0, -1)),\n witness: a.witness || [],\n };\n });\n // output dependents\n lazy.prop(o, 'address', () => {\n if (!o.hash) return;\n const payload = Buffer.allocUnsafe(21);\n payload.writeUInt8(o.network.scriptHash, 0);\n o.hash.copy(payload, 1);\n return bs58check.encode(payload);\n });\n lazy.prop(o, 'hash', () => {\n // in order of least effort\n if (a.output) return a.output.slice(2, 22);\n if (a.address) return _address().hash;\n if (o.redeem && o.redeem.output) return bcrypto.hash160(o.redeem.output);\n });\n lazy.prop(o, 'output', () => {\n if (!o.hash) return;\n return bscript.compile([OPS.OP_HASH160, o.hash, OPS.OP_EQUAL]);\n });\n // input dependents\n lazy.prop(o, 'redeem', () => {\n if (!a.input) return;\n return _redeem();\n });\n lazy.prop(o, 'input', () => {\n if (!a.redeem || !a.redeem.input || !a.redeem.output) return;\n return bscript.compile(\n [].concat(bscript.decompile(a.redeem.input), a.redeem.output),\n );\n });\n lazy.prop(o, 'witness', () => {\n if (o.redeem && o.redeem.witness) return o.redeem.witness;\n if (o.input) return [];\n });\n lazy.prop(o, 'name', () => {\n const nameParts = ['p2sh'];\n if (o.redeem !== undefined && o.redeem.name !== undefined)\n nameParts.push(o.redeem.name);\n return nameParts.join('-');\n });\n if (opts.validate) {\n let hash = Buffer.from([]);\n if (a.address) {\n if (_address().version !== network.scriptHash)\n throw new TypeError('Invalid version or Network mismatch');\n if (_address().hash.length !== 20) throw new TypeError('Invalid address');\n hash = _address().hash;\n }\n if (a.hash) {\n if (hash.length > 0 && !hash.equals(a.hash))\n throw new TypeError('Hash mismatch');\n else hash = a.hash;\n }\n if (a.output) {\n if (\n a.output.length !== 23 ||\n a.output[0] !== OPS.OP_HASH160 ||\n a.output[1] !== 0x14 ||\n a.output[22] !== OPS.OP_EQUAL\n )\n throw new TypeError('Output is invalid');\n const hash2 = a.output.slice(2, 22);\n if (hash.length > 0 && !hash.equals(hash2))\n throw new TypeError('Hash mismatch');\n else hash = hash2;\n }\n // inlined to prevent 'no-inner-declarations' failing\n const checkRedeem = redeem => {\n // is the redeem output empty/invalid?\n if (redeem.output) {\n const decompile = bscript.decompile(redeem.output);\n if (!decompile || decompile.length < 1)\n throw new TypeError('Redeem.output too short');\n if (redeem.output.byteLength > 520)\n throw new TypeError(\n 'Redeem.output unspendable if larger than 520 bytes',\n );\n if (bscript.countNonPushOnlyOPs(decompile) > 201)\n throw new TypeError(\n 'Redeem.output unspendable with more than 201 non-push ops',\n );\n // match hash against other sources\n const hash2 = bcrypto.hash160(redeem.output);\n if (hash.length > 0 && !hash.equals(hash2))\n throw new TypeError('Hash mismatch');\n else hash = hash2;\n }\n if (redeem.input) {\n const hasInput = redeem.input.length > 0;\n const hasWitness = redeem.witness && redeem.witness.length > 0;\n if (!hasInput && !hasWitness) throw new TypeError('Empty input');\n if (hasInput && hasWitness)\n throw new TypeError('Input and witness provided');\n if (hasInput) {\n const richunks = bscript.decompile(redeem.input);\n if (!bscript.isPushOnly(richunks))\n throw new TypeError('Non push-only scriptSig');\n }\n }\n };\n if (a.input) {\n const chunks = _chunks();\n if (!chunks || chunks.length < 1) throw new TypeError('Input too short');\n if (!Buffer.isBuffer(_redeem().output))\n throw new TypeError('Input is invalid');\n checkRedeem(_redeem());\n }\n if (a.redeem) {\n if (a.redeem.network && a.redeem.network !== network)\n throw new TypeError('Network mismatch');\n if (a.input) {\n const redeem = _redeem();\n if (a.redeem.output && !a.redeem.output.equals(redeem.output))\n throw new TypeError('Redeem.output mismatch');\n if (a.redeem.input && !a.redeem.input.equals(redeem.input))\n throw new TypeError('Redeem.input mismatch');\n }\n checkRedeem(a.redeem);\n }\n if (a.witness) {\n if (\n a.redeem &&\n a.redeem.witness &&\n !stacksEqual(a.redeem.witness, a.witness)\n )\n throw new TypeError('Witness and redeem.witness mismatch');\n }\n }\n return Object.assign(o, a);\n}\nexports.p2sh = p2sh;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2tr = void 0;\nconst buffer_1 = require('buffer');\nconst networks_1 = require('../networks');\nconst bscript = require('../script');\nconst types_1 = require('../types');\nconst ecc_lib_1 = require('../ecc_lib');\nconst bip341_1 = require('./bip341');\nconst lazy = require('./lazy');\nconst bech32_1 = require('bech32');\nconst OPS = bscript.OPS;\nconst TAPROOT_WITNESS_VERSION = 0x01;\nconst ANNEX_PREFIX = 0x50;\nfunction p2tr(a, opts) {\n if (\n !a.address &&\n !a.output &&\n !a.pubkey &&\n !a.internalPubkey &&\n !(a.witness && a.witness.length > 1)\n )\n throw new TypeError('Not enough data');\n opts = Object.assign({ validate: true }, opts || {});\n (0, types_1.typeforce)(\n {\n address: types_1.typeforce.maybe(types_1.typeforce.String),\n input: types_1.typeforce.maybe(types_1.typeforce.BufferN(0)),\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n output: types_1.typeforce.maybe(types_1.typeforce.BufferN(34)),\n internalPubkey: types_1.typeforce.maybe(types_1.typeforce.BufferN(32)),\n hash: types_1.typeforce.maybe(types_1.typeforce.BufferN(32)),\n pubkey: types_1.typeforce.maybe(types_1.typeforce.BufferN(32)),\n signature: types_1.typeforce.maybe(\n types_1.typeforce.anyOf(\n types_1.typeforce.BufferN(64),\n types_1.typeforce.BufferN(65),\n ),\n ),\n witness: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.typeforce.Buffer),\n ),\n scriptTree: types_1.typeforce.maybe(types_1.isTaptree),\n redeem: types_1.typeforce.maybe({\n output: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n redeemVersion: types_1.typeforce.maybe(types_1.typeforce.Number),\n witness: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.typeforce.Buffer),\n ),\n }),\n redeemVersion: types_1.typeforce.maybe(types_1.typeforce.Number),\n },\n a,\n );\n const _address = lazy.value(() => {\n const result = bech32_1.bech32m.decode(a.address);\n const version = result.words.shift();\n const data = bech32_1.bech32m.fromWords(result.words);\n return {\n version,\n prefix: result.prefix,\n data: buffer_1.Buffer.from(data),\n };\n });\n // remove annex if present, ignored by taproot\n const _witness = lazy.value(() => {\n if (!a.witness || !a.witness.length) return;\n if (\n a.witness.length >= 2 &&\n a.witness[a.witness.length - 1][0] === ANNEX_PREFIX\n ) {\n return a.witness.slice(0, -1);\n }\n return a.witness.slice();\n });\n const _hashTree = lazy.value(() => {\n if (a.scriptTree) return (0, bip341_1.toHashTree)(a.scriptTree);\n if (a.hash) return { hash: a.hash };\n return;\n });\n const network = a.network || networks_1.bitcoin;\n const o = { name: 'p2tr', network };\n lazy.prop(o, 'address', () => {\n if (!o.pubkey) return;\n const words = bech32_1.bech32m.toWords(o.pubkey);\n words.unshift(TAPROOT_WITNESS_VERSION);\n return bech32_1.bech32m.encode(network.bech32, words);\n });\n lazy.prop(o, 'hash', () => {\n const hashTree = _hashTree();\n if (hashTree) return hashTree.hash;\n const w = _witness();\n if (w && w.length > 1) {\n const controlBlock = w[w.length - 1];\n const leafVersion = controlBlock[0] & types_1.TAPLEAF_VERSION_MASK;\n const script = w[w.length - 2];\n const leafHash = (0, bip341_1.tapleafHash)({\n output: script,\n version: leafVersion,\n });\n return (0, bip341_1.rootHashFromPath)(controlBlock, leafHash);\n }\n return null;\n });\n lazy.prop(o, 'output', () => {\n if (!o.pubkey) return;\n return bscript.compile([OPS.OP_1, o.pubkey]);\n });\n lazy.prop(o, 'redeemVersion', () => {\n if (a.redeemVersion) return a.redeemVersion;\n if (\n a.redeem &&\n a.redeem.redeemVersion !== undefined &&\n a.redeem.redeemVersion !== null\n ) {\n return a.redeem.redeemVersion;\n }\n return bip341_1.LEAF_VERSION_TAPSCRIPT;\n });\n lazy.prop(o, 'redeem', () => {\n const witness = _witness(); // witness without annex\n if (!witness || witness.length < 2) return;\n return {\n output: witness[witness.length - 2],\n witness: witness.slice(0, -2),\n redeemVersion:\n witness[witness.length - 1][0] & types_1.TAPLEAF_VERSION_MASK,\n };\n });\n lazy.prop(o, 'pubkey', () => {\n if (a.pubkey) return a.pubkey;\n if (a.output) return a.output.slice(2);\n if (a.address) return _address().data;\n if (o.internalPubkey) {\n const tweakedKey = (0, bip341_1.tweakKey)(o.internalPubkey, o.hash);\n if (tweakedKey) return tweakedKey.x;\n }\n });\n lazy.prop(o, 'internalPubkey', () => {\n if (a.internalPubkey) return a.internalPubkey;\n const witness = _witness();\n if (witness && witness.length > 1)\n return witness[witness.length - 1].slice(1, 33);\n });\n lazy.prop(o, 'signature', () => {\n if (a.signature) return a.signature;\n const witness = _witness(); // witness without annex\n if (!witness || witness.length !== 1) return;\n return witness[0];\n });\n lazy.prop(o, 'witness', () => {\n if (a.witness) return a.witness;\n const hashTree = _hashTree();\n if (hashTree && a.redeem && a.redeem.output && a.internalPubkey) {\n const leafHash = (0, bip341_1.tapleafHash)({\n output: a.redeem.output,\n version: o.redeemVersion,\n });\n const path = (0, bip341_1.findScriptPath)(hashTree, leafHash);\n if (!path) return;\n const outputKey = (0, bip341_1.tweakKey)(a.internalPubkey, hashTree.hash);\n if (!outputKey) return;\n const controlBock = buffer_1.Buffer.concat(\n [\n buffer_1.Buffer.from([o.redeemVersion | outputKey.parity]),\n a.internalPubkey,\n ].concat(path),\n );\n return [a.redeem.output, controlBock];\n }\n if (a.signature) return [a.signature];\n });\n // extended validation\n if (opts.validate) {\n let pubkey = buffer_1.Buffer.from([]);\n if (a.address) {\n if (network && network.bech32 !== _address().prefix)\n throw new TypeError('Invalid prefix or Network mismatch');\n if (_address().version !== TAPROOT_WITNESS_VERSION)\n throw new TypeError('Invalid address version');\n if (_address().data.length !== 32)\n throw new TypeError('Invalid address data');\n pubkey = _address().data;\n }\n if (a.pubkey) {\n if (pubkey.length > 0 && !pubkey.equals(a.pubkey))\n throw new TypeError('Pubkey mismatch');\n else pubkey = a.pubkey;\n }\n if (a.output) {\n if (\n a.output.length !== 34 ||\n a.output[0] !== OPS.OP_1 ||\n a.output[1] !== 0x20\n )\n throw new TypeError('Output is invalid');\n if (pubkey.length > 0 && !pubkey.equals(a.output.slice(2)))\n throw new TypeError('Pubkey mismatch');\n else pubkey = a.output.slice(2);\n }\n if (a.internalPubkey) {\n const tweakedKey = (0, bip341_1.tweakKey)(a.internalPubkey, o.hash);\n if (pubkey.length > 0 && !pubkey.equals(tweakedKey.x))\n throw new TypeError('Pubkey mismatch');\n else pubkey = tweakedKey.x;\n }\n if (pubkey && pubkey.length) {\n if (!(0, ecc_lib_1.getEccLib)().isXOnlyPoint(pubkey))\n throw new TypeError('Invalid pubkey for p2tr');\n }\n const hashTree = _hashTree();\n if (a.hash && hashTree) {\n if (!a.hash.equals(hashTree.hash)) throw new TypeError('Hash mismatch');\n }\n if (a.redeem && a.redeem.output && hashTree) {\n const leafHash = (0, bip341_1.tapleafHash)({\n output: a.redeem.output,\n version: o.redeemVersion,\n });\n if (!(0, bip341_1.findScriptPath)(hashTree, leafHash))\n throw new TypeError('Redeem script not in tree');\n }\n const witness = _witness();\n // compare the provided redeem data with the one computed from witness\n if (a.redeem && o.redeem) {\n if (a.redeem.redeemVersion) {\n if (a.redeem.redeemVersion !== o.redeem.redeemVersion)\n throw new TypeError('Redeem.redeemVersion and witness mismatch');\n }\n if (a.redeem.output) {\n if (bscript.decompile(a.redeem.output).length === 0)\n throw new TypeError('Redeem.output is invalid');\n // output redeem is constructed from the witness\n if (o.redeem.output && !a.redeem.output.equals(o.redeem.output))\n throw new TypeError('Redeem.output and witness mismatch');\n }\n if (a.redeem.witness) {\n if (\n o.redeem.witness &&\n !stacksEqual(a.redeem.witness, o.redeem.witness)\n )\n throw new TypeError('Redeem.witness and witness mismatch');\n }\n }\n if (witness && witness.length) {\n if (witness.length === 1) {\n // key spending\n if (a.signature && !a.signature.equals(witness[0]))\n throw new TypeError('Signature mismatch');\n } else {\n // script path spending\n const controlBlock = witness[witness.length - 1];\n if (controlBlock.length < 33)\n throw new TypeError(\n `The control-block length is too small. Got ${controlBlock.length}, expected min 33.`,\n );\n if ((controlBlock.length - 33) % 32 !== 0)\n throw new TypeError(\n `The control-block length of ${controlBlock.length} is incorrect!`,\n );\n const m = (controlBlock.length - 33) / 32;\n if (m > 128)\n throw new TypeError(\n `The script path is too long. Got ${m}, expected max 128.`,\n );\n const internalPubkey = controlBlock.slice(1, 33);\n if (a.internalPubkey && !a.internalPubkey.equals(internalPubkey))\n throw new TypeError('Internal pubkey mismatch');\n if (!(0, ecc_lib_1.getEccLib)().isXOnlyPoint(internalPubkey))\n throw new TypeError('Invalid internalPubkey for p2tr witness');\n const leafVersion = controlBlock[0] & types_1.TAPLEAF_VERSION_MASK;\n const script = witness[witness.length - 2];\n const leafHash = (0, bip341_1.tapleafHash)({\n output: script,\n version: leafVersion,\n });\n const hash = (0, bip341_1.rootHashFromPath)(controlBlock, leafHash);\n const outputKey = (0, bip341_1.tweakKey)(internalPubkey, hash);\n if (!outputKey)\n // todo: needs test data\n throw new TypeError('Invalid outputKey for p2tr witness');\n if (pubkey.length && !pubkey.equals(outputKey.x))\n throw new TypeError('Pubkey mismatch for p2tr witness');\n if (outputKey.parity !== (controlBlock[0] & 1))\n throw new Error('Incorrect parity');\n }\n }\n }\n return Object.assign(o, a);\n}\nexports.p2tr = p2tr;\nfunction stacksEqual(a, b) {\n if (a.length !== b.length) return false;\n return a.every((x, i) => {\n return x.equals(b[i]);\n });\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2wpkh = void 0;\nconst bcrypto = require('../crypto');\nconst networks_1 = require('../networks');\nconst bscript = require('../script');\nconst types_1 = require('../types');\nconst lazy = require('./lazy');\nconst bech32_1 = require('bech32');\nconst OPS = bscript.OPS;\nconst EMPTY_BUFFER = Buffer.alloc(0);\n// witness: {signature} {pubKey}\n// input: <>\n// output: OP_0 {pubKeyHash}\nfunction p2wpkh(a, opts) {\n if (!a.address && !a.hash && !a.output && !a.pubkey && !a.witness)\n throw new TypeError('Not enough data');\n opts = Object.assign({ validate: true }, opts || {});\n (0, types_1.typeforce)(\n {\n address: types_1.typeforce.maybe(types_1.typeforce.String),\n hash: types_1.typeforce.maybe(types_1.typeforce.BufferN(20)),\n input: types_1.typeforce.maybe(types_1.typeforce.BufferN(0)),\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n output: types_1.typeforce.maybe(types_1.typeforce.BufferN(22)),\n pubkey: types_1.typeforce.maybe(types_1.isPoint),\n signature: types_1.typeforce.maybe(bscript.isCanonicalScriptSignature),\n witness: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.typeforce.Buffer),\n ),\n },\n a,\n );\n const _address = lazy.value(() => {\n const result = bech32_1.bech32.decode(a.address);\n const version = result.words.shift();\n const data = bech32_1.bech32.fromWords(result.words);\n return {\n version,\n prefix: result.prefix,\n data: Buffer.from(data),\n };\n });\n const network = a.network || networks_1.bitcoin;\n const o = { name: 'p2wpkh', network };\n lazy.prop(o, 'address', () => {\n if (!o.hash) return;\n const words = bech32_1.bech32.toWords(o.hash);\n words.unshift(0x00);\n return bech32_1.bech32.encode(network.bech32, words);\n });\n lazy.prop(o, 'hash', () => {\n if (a.output) return a.output.slice(2, 22);\n if (a.address) return _address().data;\n if (a.pubkey || o.pubkey) return bcrypto.hash160(a.pubkey || o.pubkey);\n });\n lazy.prop(o, 'output', () => {\n if (!o.hash) return;\n return bscript.compile([OPS.OP_0, o.hash]);\n });\n lazy.prop(o, 'pubkey', () => {\n if (a.pubkey) return a.pubkey;\n if (!a.witness) return;\n return a.witness[1];\n });\n lazy.prop(o, 'signature', () => {\n if (!a.witness) return;\n return a.witness[0];\n });\n lazy.prop(o, 'input', () => {\n if (!o.witness) return;\n return EMPTY_BUFFER;\n });\n lazy.prop(o, 'witness', () => {\n if (!a.pubkey) return;\n if (!a.signature) return;\n return [a.signature, a.pubkey];\n });\n // extended validation\n if (opts.validate) {\n let hash = Buffer.from([]);\n if (a.address) {\n if (network && network.bech32 !== _address().prefix)\n throw new TypeError('Invalid prefix or Network mismatch');\n if (_address().version !== 0x00)\n throw new TypeError('Invalid address version');\n if (_address().data.length !== 20)\n throw new TypeError('Invalid address data');\n hash = _address().data;\n }\n if (a.hash) {\n if (hash.length > 0 && !hash.equals(a.hash))\n throw new TypeError('Hash mismatch');\n else hash = a.hash;\n }\n if (a.output) {\n if (\n a.output.length !== 22 ||\n a.output[0] !== OPS.OP_0 ||\n a.output[1] !== 0x14\n )\n throw new TypeError('Output is invalid');\n if (hash.length > 0 && !hash.equals(a.output.slice(2)))\n throw new TypeError('Hash mismatch');\n else hash = a.output.slice(2);\n }\n if (a.pubkey) {\n const pkh = bcrypto.hash160(a.pubkey);\n if (hash.length > 0 && !hash.equals(pkh))\n throw new TypeError('Hash mismatch');\n else hash = pkh;\n if (!(0, types_1.isPoint)(a.pubkey) || a.pubkey.length !== 33)\n throw new TypeError('Invalid pubkey for p2wpkh');\n }\n if (a.witness) {\n if (a.witness.length !== 2) throw new TypeError('Witness is invalid');\n if (!bscript.isCanonicalScriptSignature(a.witness[0]))\n throw new TypeError('Witness has invalid signature');\n if (!(0, types_1.isPoint)(a.witness[1]) || a.witness[1].length !== 33)\n throw new TypeError('Witness has invalid pubkey');\n if (a.signature && !a.signature.equals(a.witness[0]))\n throw new TypeError('Signature mismatch');\n if (a.pubkey && !a.pubkey.equals(a.witness[1]))\n throw new TypeError('Pubkey mismatch');\n const pkh = bcrypto.hash160(a.witness[1]);\n if (hash.length > 0 && !hash.equals(pkh))\n throw new TypeError('Hash mismatch');\n }\n }\n return Object.assign(o, a);\n}\nexports.p2wpkh = p2wpkh;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.p2wsh = void 0;\nconst bcrypto = require('../crypto');\nconst networks_1 = require('../networks');\nconst bscript = require('../script');\nconst types_1 = require('../types');\nconst lazy = require('./lazy');\nconst bech32_1 = require('bech32');\nconst OPS = bscript.OPS;\nconst EMPTY_BUFFER = Buffer.alloc(0);\nfunction stacksEqual(a, b) {\n if (a.length !== b.length) return false;\n return a.every((x, i) => {\n return x.equals(b[i]);\n });\n}\nfunction chunkHasUncompressedPubkey(chunk) {\n if (\n Buffer.isBuffer(chunk) &&\n chunk.length === 65 &&\n chunk[0] === 0x04 &&\n (0, types_1.isPoint)(chunk)\n ) {\n return true;\n } else {\n return false;\n }\n}\n// input: <>\n// witness: [redeemScriptSig ...] {redeemScript}\n// output: OP_0 {sha256(redeemScript)}\nfunction p2wsh(a, opts) {\n if (!a.address && !a.hash && !a.output && !a.redeem && !a.witness)\n throw new TypeError('Not enough data');\n opts = Object.assign({ validate: true }, opts || {});\n (0, types_1.typeforce)(\n {\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n address: types_1.typeforce.maybe(types_1.typeforce.String),\n hash: types_1.typeforce.maybe(types_1.typeforce.BufferN(32)),\n output: types_1.typeforce.maybe(types_1.typeforce.BufferN(34)),\n redeem: types_1.typeforce.maybe({\n input: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n network: types_1.typeforce.maybe(types_1.typeforce.Object),\n output: types_1.typeforce.maybe(types_1.typeforce.Buffer),\n witness: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.typeforce.Buffer),\n ),\n }),\n input: types_1.typeforce.maybe(types_1.typeforce.BufferN(0)),\n witness: types_1.typeforce.maybe(\n types_1.typeforce.arrayOf(types_1.typeforce.Buffer),\n ),\n },\n a,\n );\n const _address = lazy.value(() => {\n const result = bech32_1.bech32.decode(a.address);\n const version = result.words.shift();\n const data = bech32_1.bech32.fromWords(result.words);\n return {\n version,\n prefix: result.prefix,\n data: Buffer.from(data),\n };\n });\n const _rchunks = lazy.value(() => {\n return bscript.decompile(a.redeem.input);\n });\n let network = a.network;\n if (!network) {\n network = (a.redeem && a.redeem.network) || networks_1.bitcoin;\n }\n const o = { network };\n lazy.prop(o, 'address', () => {\n if (!o.hash) return;\n const words = bech32_1.bech32.toWords(o.hash);\n words.unshift(0x00);\n return bech32_1.bech32.encode(network.bech32, words);\n });\n lazy.prop(o, 'hash', () => {\n if (a.output) return a.output.slice(2);\n if (a.address) return _address().data;\n if (o.redeem && o.redeem.output) return bcrypto.sha256(o.redeem.output);\n });\n lazy.prop(o, 'output', () => {\n if (!o.hash) return;\n return bscript.compile([OPS.OP_0, o.hash]);\n });\n lazy.prop(o, 'redeem', () => {\n if (!a.witness) return;\n return {\n output: a.witness[a.witness.length - 1],\n input: EMPTY_BUFFER,\n witness: a.witness.slice(0, -1),\n };\n });\n lazy.prop(o, 'input', () => {\n if (!o.witness) return;\n return EMPTY_BUFFER;\n });\n lazy.prop(o, 'witness', () => {\n // transform redeem input to witness stack?\n if (\n a.redeem &&\n a.redeem.input &&\n a.redeem.input.length > 0 &&\n a.redeem.output &&\n a.redeem.output.length > 0\n ) {\n const stack = bscript.toStack(_rchunks());\n // assign, and blank the existing input\n o.redeem = Object.assign({ witness: stack }, a.redeem);\n o.redeem.input = EMPTY_BUFFER;\n return [].concat(stack, a.redeem.output);\n }\n if (!a.redeem) return;\n if (!a.redeem.output) return;\n if (!a.redeem.witness) return;\n return [].concat(a.redeem.witness, a.redeem.output);\n });\n lazy.prop(o, 'name', () => {\n const nameParts = ['p2wsh'];\n if (o.redeem !== undefined && o.redeem.name !== undefined)\n nameParts.push(o.redeem.name);\n return nameParts.join('-');\n });\n // extended validation\n if (opts.validate) {\n let hash = Buffer.from([]);\n if (a.address) {\n if (_address().prefix !== network.bech32)\n throw new TypeError('Invalid prefix or Network mismatch');\n if (_address().version !== 0x00)\n throw new TypeError('Invalid address version');\n if (_address().data.length !== 32)\n throw new TypeError('Invalid address data');\n hash = _address().data;\n }\n if (a.hash) {\n if (hash.length > 0 && !hash.equals(a.hash))\n throw new TypeError('Hash mismatch');\n else hash = a.hash;\n }\n if (a.output) {\n if (\n a.output.length !== 34 ||\n a.output[0] !== OPS.OP_0 ||\n a.output[1] !== 0x20\n )\n throw new TypeError('Output is invalid');\n const hash2 = a.output.slice(2);\n if (hash.length > 0 && !hash.equals(hash2))\n throw new TypeError('Hash mismatch');\n else hash = hash2;\n }\n if (a.redeem) {\n if (a.redeem.network && a.redeem.network !== network)\n throw new TypeError('Network mismatch');\n // is there two redeem sources?\n if (\n a.redeem.input &&\n a.redeem.input.length > 0 &&\n a.redeem.witness &&\n a.redeem.witness.length > 0\n )\n throw new TypeError('Ambiguous witness source');\n // is the redeem output non-empty/valid?\n if (a.redeem.output) {\n const decompile = bscript.decompile(a.redeem.output);\n if (!decompile || decompile.length < 1)\n throw new TypeError('Redeem.output is invalid');\n if (a.redeem.output.byteLength > 3600)\n throw new TypeError(\n 'Redeem.output unspendable if larger than 3600 bytes',\n );\n if (bscript.countNonPushOnlyOPs(decompile) > 201)\n throw new TypeError(\n 'Redeem.output unspendable with more than 201 non-push ops',\n );\n // match hash against other sources\n const hash2 = bcrypto.sha256(a.redeem.output);\n if (hash.length > 0 && !hash.equals(hash2))\n throw new TypeError('Hash mismatch');\n else hash = hash2;\n }\n if (a.redeem.input && !bscript.isPushOnly(_rchunks()))\n throw new TypeError('Non push-only scriptSig');\n if (\n a.witness &&\n a.redeem.witness &&\n !stacksEqual(a.witness, a.redeem.witness)\n )\n throw new TypeError('Witness and redeem.witness mismatch');\n if (\n (a.redeem.input && _rchunks().some(chunkHasUncompressedPubkey)) ||\n (a.redeem.output &&\n (bscript.decompile(a.redeem.output) || []).some(\n chunkHasUncompressedPubkey,\n ))\n ) {\n throw new TypeError(\n 'redeem.input or redeem.output contains uncompressed pubkey',\n );\n }\n }\n if (a.witness && a.witness.length > 0) {\n const wScript = a.witness[a.witness.length - 1];\n if (a.redeem && a.redeem.output && !a.redeem.output.equals(wScript))\n throw new TypeError('Witness and redeem.output mismatch');\n if (\n a.witness.some(chunkHasUncompressedPubkey) ||\n (bscript.decompile(wScript) || []).some(chunkHasUncompressedPubkey)\n )\n throw new TypeError('Witness contains uncompressed pubkey');\n }\n }\n return Object.assign(o, a);\n}\nexports.p2wsh = p2wsh;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Psbt = void 0;\nconst bip174_1 = require('bip174');\nconst varuint = require('bip174/src/lib/converter/varint');\nconst utils_1 = require('bip174/src/lib/utils');\nconst address_1 = require('./address');\nconst bufferutils_1 = require('./bufferutils');\nconst networks_1 = require('./networks');\nconst payments = require('./payments');\nconst bip341_1 = require('./payments/bip341');\nconst bscript = require('./script');\nconst transaction_1 = require('./transaction');\nconst bip371_1 = require('./psbt/bip371');\nconst psbtutils_1 = require('./psbt/psbtutils');\n/**\n * These are the default arguments for a Psbt instance.\n */\nconst DEFAULT_OPTS = {\n /**\n * A bitcoinjs Network object. This is only used if you pass an `address`\n * parameter to addOutput. Otherwise it is not needed and can be left default.\n */\n network: networks_1.bitcoin,\n /**\n * When extractTransaction is called, the fee rate is checked.\n * THIS IS NOT TO BE RELIED ON.\n * It is only here as a last ditch effort to prevent sending a 500 BTC fee etc.\n */\n maximumFeeRate: 5000, // satoshi per byte\n};\n/**\n * Psbt class can parse and generate a PSBT binary based off of the BIP174.\n * There are 6 roles that this class fulfills. (Explained in BIP174)\n *\n * Creator: This can be done with `new Psbt()`\n * Updater: This can be done with `psbt.addInput(input)`, `psbt.addInputs(inputs)`,\n * `psbt.addOutput(output)`, `psbt.addOutputs(outputs)` when you are looking to\n * add new inputs and outputs to the PSBT, and `psbt.updateGlobal(itemObject)`,\n * `psbt.updateInput(itemObject)`, `psbt.updateOutput(itemObject)`\n * addInput requires hash: Buffer | string; and index: number; as attributes\n * and can also include any attributes that are used in updateInput method.\n * addOutput requires script: Buffer; and value: number; and likewise can include\n * data for updateOutput.\n * For a list of what attributes should be what types. Check the bip174 library.\n * Also, check the integration tests for some examples of usage.\n * Signer: There are a few methods. signAllInputs and signAllInputsAsync, which will search all input\n * information for your pubkey or pubkeyhash, and only sign inputs where it finds\n * your info. Or you can explicitly sign a specific input with signInput and\n * signInputAsync. For the async methods you can create a SignerAsync object\n * and use something like a hardware wallet to sign with. (You must implement this)\n * Combiner: psbts can be combined easily with `psbt.combine(psbt2, psbt3, psbt4 ...)`\n * the psbt calling combine will always have precedence when a conflict occurs.\n * Combine checks if the internal bitcoin transaction is the same, so be sure that\n * all sequences, version, locktime, etc. are the same before combining.\n * Input Finalizer: This role is fairly important. Not only does it need to construct\n * the input scriptSigs and witnesses, but it SHOULD verify the signatures etc.\n * Before running `psbt.finalizeAllInputs()` please run `psbt.validateSignaturesOfAllInputs()`\n * Running any finalize method will delete any data in the input(s) that are no longer\n * needed due to the finalized scripts containing the information.\n * Transaction Extractor: This role will perform some checks before returning a\n * Transaction object. Such as fee rate not being larger than maximumFeeRate etc.\n */\nclass Psbt {\n static fromBase64(data, opts = {}) {\n const buffer = Buffer.from(data, 'base64');\n return this.fromBuffer(buffer, opts);\n }\n static fromHex(data, opts = {}) {\n const buffer = Buffer.from(data, 'hex');\n return this.fromBuffer(buffer, opts);\n }\n static fromBuffer(buffer, opts = {}) {\n const psbtBase = bip174_1.Psbt.fromBuffer(buffer, transactionFromBuffer);\n const psbt = new Psbt(opts, psbtBase);\n checkTxForDupeIns(psbt.__CACHE.__TX, psbt.__CACHE);\n return psbt;\n }\n constructor(opts = {}, data = new bip174_1.Psbt(new PsbtTransaction())) {\n this.data = data;\n // set defaults\n this.opts = Object.assign({}, DEFAULT_OPTS, opts);\n this.__CACHE = {\n __NON_WITNESS_UTXO_TX_CACHE: [],\n __NON_WITNESS_UTXO_BUF_CACHE: [],\n __TX_IN_CACHE: {},\n __TX: this.data.globalMap.unsignedTx.tx,\n // Psbt's predecesor (TransactionBuilder - now removed) behavior\n // was to not confirm input values before signing.\n // Even though we highly encourage people to get\n // the full parent transaction to verify values, the ability to\n // sign non-segwit inputs without the full transaction was often\n // requested. So the only way to activate is to use @ts-ignore.\n // We will disable exporting the Psbt when unsafe sign is active.\n // because it is not BIP174 compliant.\n __UNSAFE_SIGN_NONSEGWIT: false,\n };\n if (this.data.inputs.length === 0) this.setVersion(2);\n // Make data hidden when enumerating\n const dpew = (obj, attr, enumerable, writable) =>\n Object.defineProperty(obj, attr, {\n enumerable,\n writable,\n });\n dpew(this, '__CACHE', false, true);\n dpew(this, 'opts', false, true);\n }\n get inputCount() {\n return this.data.inputs.length;\n }\n get version() {\n return this.__CACHE.__TX.version;\n }\n set version(version) {\n this.setVersion(version);\n }\n get locktime() {\n return this.__CACHE.__TX.locktime;\n }\n set locktime(locktime) {\n this.setLocktime(locktime);\n }\n get txInputs() {\n return this.__CACHE.__TX.ins.map(input => ({\n hash: (0, bufferutils_1.cloneBuffer)(input.hash),\n index: input.index,\n sequence: input.sequence,\n }));\n }\n get txOutputs() {\n return this.__CACHE.__TX.outs.map(output => {\n let address;\n try {\n address = (0, address_1.fromOutputScript)(\n output.script,\n this.opts.network,\n );\n } catch (_) {}\n return {\n script: (0, bufferutils_1.cloneBuffer)(output.script),\n value: output.value,\n address,\n };\n });\n }\n combine(...those) {\n this.data.combine(...those.map(o => o.data));\n return this;\n }\n clone() {\n // TODO: more efficient cloning\n const res = Psbt.fromBuffer(this.data.toBuffer());\n res.opts = JSON.parse(JSON.stringify(this.opts));\n return res;\n }\n setMaximumFeeRate(satoshiPerByte) {\n check32Bit(satoshiPerByte); // 42.9 BTC per byte IS excessive... so throw\n this.opts.maximumFeeRate = satoshiPerByte;\n }\n setVersion(version) {\n check32Bit(version);\n checkInputsForPartialSig(this.data.inputs, 'setVersion');\n const c = this.__CACHE;\n c.__TX.version = version;\n c.__EXTRACTED_TX = undefined;\n return this;\n }\n setLocktime(locktime) {\n check32Bit(locktime);\n checkInputsForPartialSig(this.data.inputs, 'setLocktime');\n const c = this.__CACHE;\n c.__TX.locktime = locktime;\n c.__EXTRACTED_TX = undefined;\n return this;\n }\n setInputSequence(inputIndex, sequence) {\n check32Bit(sequence);\n checkInputsForPartialSig(this.data.inputs, 'setInputSequence');\n const c = this.__CACHE;\n if (c.__TX.ins.length <= inputIndex) {\n throw new Error('Input index too high');\n }\n c.__TX.ins[inputIndex].sequence = sequence;\n c.__EXTRACTED_TX = undefined;\n return this;\n }\n addInputs(inputDatas) {\n inputDatas.forEach(inputData => this.addInput(inputData));\n return this;\n }\n addInput(inputData) {\n if (\n arguments.length > 1 ||\n !inputData ||\n inputData.hash === undefined ||\n inputData.index === undefined\n ) {\n throw new Error(\n `Invalid arguments for Psbt.addInput. ` +\n `Requires single object with at least [hash] and [index]`,\n );\n }\n (0, bip371_1.checkTaprootInputFields)(inputData, inputData, 'addInput');\n checkInputsForPartialSig(this.data.inputs, 'addInput');\n if (inputData.witnessScript) checkInvalidP2WSH(inputData.witnessScript);\n const c = this.__CACHE;\n this.data.addInput(inputData);\n const txIn = c.__TX.ins[c.__TX.ins.length - 1];\n checkTxInputCache(c, txIn);\n const inputIndex = this.data.inputs.length - 1;\n const input = this.data.inputs[inputIndex];\n if (input.nonWitnessUtxo) {\n addNonWitnessTxCache(this.__CACHE, input, inputIndex);\n }\n c.__FEE = undefined;\n c.__FEE_RATE = undefined;\n c.__EXTRACTED_TX = undefined;\n return this;\n }\n addOutputs(outputDatas) {\n outputDatas.forEach(outputData => this.addOutput(outputData));\n return this;\n }\n addOutput(outputData) {\n if (\n arguments.length > 1 ||\n !outputData ||\n outputData.value === undefined ||\n (outputData.address === undefined && outputData.script === undefined)\n ) {\n throw new Error(\n `Invalid arguments for Psbt.addOutput. ` +\n `Requires single object with at least [script or address] and [value]`,\n );\n }\n checkInputsForPartialSig(this.data.inputs, 'addOutput');\n const { address } = outputData;\n if (typeof address === 'string') {\n const { network } = this.opts;\n const script = (0, address_1.toOutputScript)(address, network);\n outputData = Object.assign(outputData, { script });\n }\n (0, bip371_1.checkTaprootOutputFields)(outputData, outputData, 'addOutput');\n const c = this.__CACHE;\n this.data.addOutput(outputData);\n c.__FEE = undefined;\n c.__FEE_RATE = undefined;\n c.__EXTRACTED_TX = undefined;\n return this;\n }\n extractTransaction(disableFeeCheck) {\n if (!this.data.inputs.every(isFinalized)) throw new Error('Not finalized');\n const c = this.__CACHE;\n if (!disableFeeCheck) {\n checkFees(this, c, this.opts);\n }\n if (c.__EXTRACTED_TX) return c.__EXTRACTED_TX;\n const tx = c.__TX.clone();\n inputFinalizeGetAmts(this.data.inputs, tx, c, true);\n return tx;\n }\n getFeeRate() {\n return getTxCacheValue(\n '__FEE_RATE',\n 'fee rate',\n this.data.inputs,\n this.__CACHE,\n );\n }\n getFee() {\n return getTxCacheValue('__FEE', 'fee', this.data.inputs, this.__CACHE);\n }\n finalizeAllInputs() {\n (0, utils_1.checkForInput)(this.data.inputs, 0); // making sure we have at least one\n range(this.data.inputs.length).forEach(idx => this.finalizeInput(idx));\n return this;\n }\n finalizeInput(inputIndex, finalScriptsFunc) {\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n if ((0, bip371_1.isTaprootInput)(input))\n return this._finalizeTaprootInput(\n inputIndex,\n input,\n undefined,\n finalScriptsFunc,\n );\n return this._finalizeInput(inputIndex, input, finalScriptsFunc);\n }\n finalizeTaprootInput(\n inputIndex,\n tapLeafHashToFinalize,\n finalScriptsFunc = bip371_1.tapScriptFinalizer,\n ) {\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n if ((0, bip371_1.isTaprootInput)(input))\n return this._finalizeTaprootInput(\n inputIndex,\n input,\n tapLeafHashToFinalize,\n finalScriptsFunc,\n );\n throw new Error(`Cannot finalize input #${inputIndex}. Not Taproot.`);\n }\n _finalizeInput(inputIndex, input, finalScriptsFunc = getFinalScripts) {\n const { script, isP2SH, isP2WSH, isSegwit } = getScriptFromInput(\n inputIndex,\n input,\n this.__CACHE,\n );\n if (!script) throw new Error(`No script found for input #${inputIndex}`);\n checkPartialSigSighashes(input);\n const { finalScriptSig, finalScriptWitness } = finalScriptsFunc(\n inputIndex,\n input,\n script,\n isSegwit,\n isP2SH,\n isP2WSH,\n );\n if (finalScriptSig) this.data.updateInput(inputIndex, { finalScriptSig });\n if (finalScriptWitness)\n this.data.updateInput(inputIndex, { finalScriptWitness });\n if (!finalScriptSig && !finalScriptWitness)\n throw new Error(`Unknown error finalizing input #${inputIndex}`);\n this.data.clearFinalizedInput(inputIndex);\n return this;\n }\n _finalizeTaprootInput(\n inputIndex,\n input,\n tapLeafHashToFinalize,\n finalScriptsFunc = bip371_1.tapScriptFinalizer,\n ) {\n if (!input.witnessUtxo)\n throw new Error(\n `Cannot finalize input #${inputIndex}. Missing withness utxo.`,\n );\n // Check key spend first. Increased privacy and reduced block space.\n if (input.tapKeySig) {\n const payment = payments.p2tr({\n output: input.witnessUtxo.script,\n signature: input.tapKeySig,\n });\n const finalScriptWitness = (0, psbtutils_1.witnessStackToScriptWitness)(\n payment.witness,\n );\n this.data.updateInput(inputIndex, { finalScriptWitness });\n } else {\n const { finalScriptWitness } = finalScriptsFunc(\n inputIndex,\n input,\n tapLeafHashToFinalize,\n );\n this.data.updateInput(inputIndex, { finalScriptWitness });\n }\n this.data.clearFinalizedInput(inputIndex);\n return this;\n }\n getInputType(inputIndex) {\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n const script = getScriptFromUtxo(inputIndex, input, this.__CACHE);\n const result = getMeaningfulScript(\n script,\n inputIndex,\n 'input',\n input.redeemScript || redeemFromFinalScriptSig(input.finalScriptSig),\n input.witnessScript ||\n redeemFromFinalWitnessScript(input.finalScriptWitness),\n );\n const type = result.type === 'raw' ? '' : result.type + '-';\n const mainType = classifyScript(result.meaningfulScript);\n return type + mainType;\n }\n inputHasPubkey(inputIndex, pubkey) {\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n return pubkeyInInput(pubkey, input, inputIndex, this.__CACHE);\n }\n inputHasHDKey(inputIndex, root) {\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n const derivationIsMine = bip32DerivationIsMine(root);\n return (\n !!input.bip32Derivation && input.bip32Derivation.some(derivationIsMine)\n );\n }\n outputHasPubkey(outputIndex, pubkey) {\n const output = (0, utils_1.checkForOutput)(this.data.outputs, outputIndex);\n return pubkeyInOutput(pubkey, output, outputIndex, this.__CACHE);\n }\n outputHasHDKey(outputIndex, root) {\n const output = (0, utils_1.checkForOutput)(this.data.outputs, outputIndex);\n const derivationIsMine = bip32DerivationIsMine(root);\n return (\n !!output.bip32Derivation && output.bip32Derivation.some(derivationIsMine)\n );\n }\n validateSignaturesOfAllInputs(validator) {\n (0, utils_1.checkForInput)(this.data.inputs, 0); // making sure we have at least one\n const results = range(this.data.inputs.length).map(idx =>\n this.validateSignaturesOfInput(idx, validator),\n );\n return results.reduce((final, res) => res === true && final, true);\n }\n validateSignaturesOfInput(inputIndex, validator, pubkey) {\n const input = this.data.inputs[inputIndex];\n if ((0, bip371_1.isTaprootInput)(input))\n return this.validateSignaturesOfTaprootInput(\n inputIndex,\n validator,\n pubkey,\n );\n return this._validateSignaturesOfInput(inputIndex, validator, pubkey);\n }\n _validateSignaturesOfInput(inputIndex, validator, pubkey) {\n const input = this.data.inputs[inputIndex];\n const partialSig = (input || {}).partialSig;\n if (!input || !partialSig || partialSig.length < 1)\n throw new Error('No signatures to validate');\n if (typeof validator !== 'function')\n throw new Error('Need validator function to validate signatures');\n const mySigs = pubkey\n ? partialSig.filter(sig => sig.pubkey.equals(pubkey))\n : partialSig;\n if (mySigs.length < 1) throw new Error('No signatures for this pubkey');\n const results = [];\n let hashCache;\n let scriptCache;\n let sighashCache;\n for (const pSig of mySigs) {\n const sig = bscript.signature.decode(pSig.signature);\n const { hash, script } =\n sighashCache !== sig.hashType\n ? getHashForSig(\n inputIndex,\n Object.assign({}, input, { sighashType: sig.hashType }),\n this.__CACHE,\n true,\n )\n : { hash: hashCache, script: scriptCache };\n sighashCache = sig.hashType;\n hashCache = hash;\n scriptCache = script;\n checkScriptForPubkey(pSig.pubkey, script, 'verify');\n results.push(validator(pSig.pubkey, hash, sig.signature));\n }\n return results.every(res => res === true);\n }\n validateSignaturesOfTaprootInput(inputIndex, validator, pubkey) {\n const input = this.data.inputs[inputIndex];\n const tapKeySig = (input || {}).tapKeySig;\n const tapScriptSig = (input || {}).tapScriptSig;\n if (!input && !tapKeySig && !(tapScriptSig && !tapScriptSig.length))\n throw new Error('No signatures to validate');\n if (typeof validator !== 'function')\n throw new Error('Need validator function to validate signatures');\n pubkey = pubkey && (0, bip371_1.toXOnly)(pubkey);\n const allHashses = pubkey\n ? getTaprootHashesForSig(\n inputIndex,\n input,\n this.data.inputs,\n pubkey,\n this.__CACHE,\n )\n : getAllTaprootHashesForSig(\n inputIndex,\n input,\n this.data.inputs,\n this.__CACHE,\n );\n if (!allHashses.length) throw new Error('No signatures for this pubkey');\n const tapKeyHash = allHashses.find(h => !h.leafHash);\n let validationResultCount = 0;\n if (tapKeySig && tapKeyHash) {\n const isValidTapkeySig = validator(\n tapKeyHash.pubkey,\n tapKeyHash.hash,\n trimTaprootSig(tapKeySig),\n );\n if (!isValidTapkeySig) return false;\n validationResultCount++;\n }\n if (tapScriptSig) {\n for (const tapSig of tapScriptSig) {\n const tapSigHash = allHashses.find(h => tapSig.pubkey.equals(h.pubkey));\n if (tapSigHash) {\n const isValidTapScriptSig = validator(\n tapSig.pubkey,\n tapSigHash.hash,\n trimTaprootSig(tapSig.signature),\n );\n if (!isValidTapScriptSig) return false;\n validationResultCount++;\n }\n }\n }\n return validationResultCount > 0;\n }\n signAllInputsHD(\n hdKeyPair,\n sighashTypes = [transaction_1.Transaction.SIGHASH_ALL],\n ) {\n if (!hdKeyPair || !hdKeyPair.publicKey || !hdKeyPair.fingerprint) {\n throw new Error('Need HDSigner to sign input');\n }\n const results = [];\n for (const i of range(this.data.inputs.length)) {\n try {\n this.signInputHD(i, hdKeyPair, sighashTypes);\n results.push(true);\n } catch (err) {\n results.push(false);\n }\n }\n if (results.every(v => v === false)) {\n throw new Error('No inputs were signed');\n }\n return this;\n }\n signAllInputsHDAsync(\n hdKeyPair,\n sighashTypes = [transaction_1.Transaction.SIGHASH_ALL],\n ) {\n return new Promise((resolve, reject) => {\n if (!hdKeyPair || !hdKeyPair.publicKey || !hdKeyPair.fingerprint) {\n return reject(new Error('Need HDSigner to sign input'));\n }\n const results = [];\n const promises = [];\n for (const i of range(this.data.inputs.length)) {\n promises.push(\n this.signInputHDAsync(i, hdKeyPair, sighashTypes).then(\n () => {\n results.push(true);\n },\n () => {\n results.push(false);\n },\n ),\n );\n }\n return Promise.all(promises).then(() => {\n if (results.every(v => v === false)) {\n return reject(new Error('No inputs were signed'));\n }\n resolve();\n });\n });\n }\n signInputHD(\n inputIndex,\n hdKeyPair,\n sighashTypes = [transaction_1.Transaction.SIGHASH_ALL],\n ) {\n if (!hdKeyPair || !hdKeyPair.publicKey || !hdKeyPair.fingerprint) {\n throw new Error('Need HDSigner to sign input');\n }\n const signers = getSignersFromHD(inputIndex, this.data.inputs, hdKeyPair);\n signers.forEach(signer => this.signInput(inputIndex, signer, sighashTypes));\n return this;\n }\n signInputHDAsync(\n inputIndex,\n hdKeyPair,\n sighashTypes = [transaction_1.Transaction.SIGHASH_ALL],\n ) {\n return new Promise((resolve, reject) => {\n if (!hdKeyPair || !hdKeyPair.publicKey || !hdKeyPair.fingerprint) {\n return reject(new Error('Need HDSigner to sign input'));\n }\n const signers = getSignersFromHD(inputIndex, this.data.inputs, hdKeyPair);\n const promises = signers.map(signer =>\n this.signInputAsync(inputIndex, signer, sighashTypes),\n );\n return Promise.all(promises)\n .then(() => {\n resolve();\n })\n .catch(reject);\n });\n }\n signAllInputs(keyPair, sighashTypes) {\n if (!keyPair || !keyPair.publicKey)\n throw new Error('Need Signer to sign input');\n // TODO: Add a pubkey/pubkeyhash cache to each input\n // as input information is added, then eventually\n // optimize this method.\n const results = [];\n for (const i of range(this.data.inputs.length)) {\n try {\n this.signInput(i, keyPair, sighashTypes);\n results.push(true);\n } catch (err) {\n results.push(false);\n }\n }\n if (results.every(v => v === false)) {\n throw new Error('No inputs were signed');\n }\n return this;\n }\n signAllInputsAsync(keyPair, sighashTypes) {\n return new Promise((resolve, reject) => {\n if (!keyPair || !keyPair.publicKey)\n return reject(new Error('Need Signer to sign input'));\n // TODO: Add a pubkey/pubkeyhash cache to each input\n // as input information is added, then eventually\n // optimize this method.\n const results = [];\n const promises = [];\n for (const [i] of this.data.inputs.entries()) {\n promises.push(\n this.signInputAsync(i, keyPair, sighashTypes).then(\n () => {\n results.push(true);\n },\n () => {\n results.push(false);\n },\n ),\n );\n }\n return Promise.all(promises).then(() => {\n if (results.every(v => v === false)) {\n return reject(new Error('No inputs were signed'));\n }\n resolve();\n });\n });\n }\n signInput(inputIndex, keyPair, sighashTypes) {\n if (!keyPair || !keyPair.publicKey)\n throw new Error('Need Signer to sign input');\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n if ((0, bip371_1.isTaprootInput)(input)) {\n return this._signTaprootInput(\n inputIndex,\n input,\n keyPair,\n undefined,\n sighashTypes,\n );\n }\n return this._signInput(inputIndex, keyPair, sighashTypes);\n }\n signTaprootInput(inputIndex, keyPair, tapLeafHashToSign, sighashTypes) {\n if (!keyPair || !keyPair.publicKey)\n throw new Error('Need Signer to sign input');\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n if ((0, bip371_1.isTaprootInput)(input))\n return this._signTaprootInput(\n inputIndex,\n input,\n keyPair,\n tapLeafHashToSign,\n sighashTypes,\n );\n throw new Error(`Input #${inputIndex} is not of type Taproot.`);\n }\n _signInput(\n inputIndex,\n keyPair,\n sighashTypes = [transaction_1.Transaction.SIGHASH_ALL],\n ) {\n const { hash, sighashType } = getHashAndSighashType(\n this.data.inputs,\n inputIndex,\n keyPair.publicKey,\n this.__CACHE,\n sighashTypes,\n );\n const partialSig = [\n {\n pubkey: keyPair.publicKey,\n signature: bscript.signature.encode(keyPair.sign(hash), sighashType),\n },\n ];\n this.data.updateInput(inputIndex, { partialSig });\n return this;\n }\n _signTaprootInput(\n inputIndex,\n input,\n keyPair,\n tapLeafHashToSign,\n allowedSighashTypes = [transaction_1.Transaction.SIGHASH_DEFAULT],\n ) {\n const hashesForSig = this.checkTaprootHashesForSig(\n inputIndex,\n input,\n keyPair,\n tapLeafHashToSign,\n allowedSighashTypes,\n );\n const tapKeySig = hashesForSig\n .filter(h => !h.leafHash)\n .map(h =>\n (0, bip371_1.serializeTaprootSignature)(\n keyPair.signSchnorr(h.hash),\n input.sighashType,\n ),\n )[0];\n const tapScriptSig = hashesForSig\n .filter(h => !!h.leafHash)\n .map(h => ({\n pubkey: (0, bip371_1.toXOnly)(keyPair.publicKey),\n signature: (0, bip371_1.serializeTaprootSignature)(\n keyPair.signSchnorr(h.hash),\n input.sighashType,\n ),\n leafHash: h.leafHash,\n }));\n if (tapKeySig) {\n this.data.updateInput(inputIndex, { tapKeySig });\n }\n if (tapScriptSig.length) {\n this.data.updateInput(inputIndex, { tapScriptSig });\n }\n return this;\n }\n signInputAsync(inputIndex, keyPair, sighashTypes) {\n return Promise.resolve().then(() => {\n if (!keyPair || !keyPair.publicKey)\n throw new Error('Need Signer to sign input');\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n if ((0, bip371_1.isTaprootInput)(input))\n return this._signTaprootInputAsync(\n inputIndex,\n input,\n keyPair,\n undefined,\n sighashTypes,\n );\n return this._signInputAsync(inputIndex, keyPair, sighashTypes);\n });\n }\n signTaprootInputAsync(inputIndex, keyPair, tapLeafHash, sighashTypes) {\n return Promise.resolve().then(() => {\n if (!keyPair || !keyPair.publicKey)\n throw new Error('Need Signer to sign input');\n const input = (0, utils_1.checkForInput)(this.data.inputs, inputIndex);\n if ((0, bip371_1.isTaprootInput)(input))\n return this._signTaprootInputAsync(\n inputIndex,\n input,\n keyPair,\n tapLeafHash,\n sighashTypes,\n );\n throw new Error(`Input #${inputIndex} is not of type Taproot.`);\n });\n }\n _signInputAsync(\n inputIndex,\n keyPair,\n sighashTypes = [transaction_1.Transaction.SIGHASH_ALL],\n ) {\n const { hash, sighashType } = getHashAndSighashType(\n this.data.inputs,\n inputIndex,\n keyPair.publicKey,\n this.__CACHE,\n sighashTypes,\n );\n return Promise.resolve(keyPair.sign(hash)).then(signature => {\n const partialSig = [\n {\n pubkey: keyPair.publicKey,\n signature: bscript.signature.encode(signature, sighashType),\n },\n ];\n this.data.updateInput(inputIndex, { partialSig });\n });\n }\n async _signTaprootInputAsync(\n inputIndex,\n input,\n keyPair,\n tapLeafHash,\n sighashTypes = [transaction_1.Transaction.SIGHASH_DEFAULT],\n ) {\n const hashesForSig = this.checkTaprootHashesForSig(\n inputIndex,\n input,\n keyPair,\n tapLeafHash,\n sighashTypes,\n );\n const signaturePromises = [];\n const tapKeyHash = hashesForSig.filter(h => !h.leafHash)[0];\n if (tapKeyHash) {\n const tapKeySigPromise = Promise.resolve(\n keyPair.signSchnorr(tapKeyHash.hash),\n ).then(sig => {\n return {\n tapKeySig: (0, bip371_1.serializeTaprootSignature)(\n sig,\n input.sighashType,\n ),\n };\n });\n signaturePromises.push(tapKeySigPromise);\n }\n const tapScriptHashes = hashesForSig.filter(h => !!h.leafHash);\n if (tapScriptHashes.length) {\n const tapScriptSigPromises = tapScriptHashes.map(tsh => {\n return Promise.resolve(keyPair.signSchnorr(tsh.hash)).then(\n signature => {\n const tapScriptSig = [\n {\n pubkey: (0, bip371_1.toXOnly)(keyPair.publicKey),\n signature: (0, bip371_1.serializeTaprootSignature)(\n signature,\n input.sighashType,\n ),\n leafHash: tsh.leafHash,\n },\n ];\n return { tapScriptSig };\n },\n );\n });\n signaturePromises.push(...tapScriptSigPromises);\n }\n return Promise.all(signaturePromises).then(results => {\n results.forEach(v => this.data.updateInput(inputIndex, v));\n });\n }\n checkTaprootHashesForSig(\n inputIndex,\n input,\n keyPair,\n tapLeafHashToSign,\n allowedSighashTypes,\n ) {\n if (typeof keyPair.signSchnorr !== 'function')\n throw new Error(\n `Need Schnorr Signer to sign taproot input #${inputIndex}.`,\n );\n const hashesForSig = getTaprootHashesForSig(\n inputIndex,\n input,\n this.data.inputs,\n keyPair.publicKey,\n this.__CACHE,\n tapLeafHashToSign,\n allowedSighashTypes,\n );\n if (!hashesForSig || !hashesForSig.length)\n throw new Error(\n `Can not sign for input #${inputIndex} with the key ${keyPair.publicKey.toString(\n 'hex',\n )}`,\n );\n return hashesForSig;\n }\n toBuffer() {\n checkCache(this.__CACHE);\n return this.data.toBuffer();\n }\n toHex() {\n checkCache(this.__CACHE);\n return this.data.toHex();\n }\n toBase64() {\n checkCache(this.__CACHE);\n return this.data.toBase64();\n }\n updateGlobal(updateData) {\n this.data.updateGlobal(updateData);\n return this;\n }\n updateInput(inputIndex, updateData) {\n if (updateData.witnessScript) checkInvalidP2WSH(updateData.witnessScript);\n (0, bip371_1.checkTaprootInputFields)(\n this.data.inputs[inputIndex],\n updateData,\n 'updateInput',\n );\n this.data.updateInput(inputIndex, updateData);\n if (updateData.nonWitnessUtxo) {\n addNonWitnessTxCache(\n this.__CACHE,\n this.data.inputs[inputIndex],\n inputIndex,\n );\n }\n return this;\n }\n updateOutput(outputIndex, updateData) {\n const outputData = this.data.outputs[outputIndex];\n (0, bip371_1.checkTaprootOutputFields)(\n outputData,\n updateData,\n 'updateOutput',\n );\n this.data.updateOutput(outputIndex, updateData);\n return this;\n }\n addUnknownKeyValToGlobal(keyVal) {\n this.data.addUnknownKeyValToGlobal(keyVal);\n return this;\n }\n addUnknownKeyValToInput(inputIndex, keyVal) {\n this.data.addUnknownKeyValToInput(inputIndex, keyVal);\n return this;\n }\n addUnknownKeyValToOutput(outputIndex, keyVal) {\n this.data.addUnknownKeyValToOutput(outputIndex, keyVal);\n return this;\n }\n clearFinalizedInput(inputIndex) {\n this.data.clearFinalizedInput(inputIndex);\n return this;\n }\n}\nexports.Psbt = Psbt;\n/**\n * This function is needed to pass to the bip174 base class's fromBuffer.\n * It takes the \"transaction buffer\" portion of the psbt buffer and returns a\n * Transaction (From the bip174 library) interface.\n */\nconst transactionFromBuffer = buffer => new PsbtTransaction(buffer);\n/**\n * This class implements the Transaction interface from bip174 library.\n * It contains a bitcoinjs-lib Transaction object.\n */\nclass PsbtTransaction {\n constructor(buffer = Buffer.from([2, 0, 0, 0, 0, 0, 0, 0, 0, 0])) {\n this.tx = transaction_1.Transaction.fromBuffer(buffer);\n checkTxEmpty(this.tx);\n Object.defineProperty(this, 'tx', {\n enumerable: false,\n writable: true,\n });\n }\n getInputOutputCounts() {\n return {\n inputCount: this.tx.ins.length,\n outputCount: this.tx.outs.length,\n };\n }\n addInput(input) {\n if (\n input.hash === undefined ||\n input.index === undefined ||\n (!Buffer.isBuffer(input.hash) && typeof input.hash !== 'string') ||\n typeof input.index !== 'number'\n ) {\n throw new Error('Error adding input.');\n }\n const hash =\n typeof input.hash === 'string'\n ? (0, bufferutils_1.reverseBuffer)(Buffer.from(input.hash, 'hex'))\n : input.hash;\n this.tx.addInput(hash, input.index, input.sequence);\n }\n addOutput(output) {\n if (\n output.script === undefined ||\n output.value === undefined ||\n !Buffer.isBuffer(output.script) ||\n typeof output.value !== 'number'\n ) {\n throw new Error('Error adding output.');\n }\n this.tx.addOutput(output.script, output.value);\n }\n toBuffer() {\n return this.tx.toBuffer();\n }\n}\nfunction canFinalize(input, script, scriptType) {\n switch (scriptType) {\n case 'pubkey':\n case 'pubkeyhash':\n case 'witnesspubkeyhash':\n return hasSigs(1, input.partialSig);\n case 'multisig':\n const p2ms = payments.p2ms({ output: script });\n return hasSigs(p2ms.m, input.partialSig, p2ms.pubkeys);\n default:\n return false;\n }\n}\nfunction checkCache(cache) {\n if (cache.__UNSAFE_SIGN_NONSEGWIT !== false) {\n throw new Error('Not BIP174 compliant, can not export');\n }\n}\nfunction hasSigs(neededSigs, partialSig, pubkeys) {\n if (!partialSig) return false;\n let sigs;\n if (pubkeys) {\n sigs = pubkeys\n .map(pkey => {\n const pubkey = compressPubkey(pkey);\n return partialSig.find(pSig => pSig.pubkey.equals(pubkey));\n })\n .filter(v => !!v);\n } else {\n sigs = partialSig;\n }\n if (sigs.length > neededSigs) throw new Error('Too many signatures');\n return sigs.length === neededSigs;\n}\nfunction isFinalized(input) {\n return !!input.finalScriptSig || !!input.finalScriptWitness;\n}\nfunction bip32DerivationIsMine(root) {\n return d => {\n if (!d.masterFingerprint.equals(root.fingerprint)) return false;\n if (!root.derivePath(d.path).publicKey.equals(d.pubkey)) return false;\n return true;\n };\n}\nfunction check32Bit(num) {\n if (\n typeof num !== 'number' ||\n num !== Math.floor(num) ||\n num > 0xffffffff ||\n num < 0\n ) {\n throw new Error('Invalid 32 bit integer');\n }\n}\nfunction checkFees(psbt, cache, opts) {\n const feeRate = cache.__FEE_RATE || psbt.getFeeRate();\n const vsize = cache.__EXTRACTED_TX.virtualSize();\n const satoshis = feeRate * vsize;\n if (feeRate >= opts.maximumFeeRate) {\n throw new Error(\n `Warning: You are paying around ${(satoshis / 1e8).toFixed(8)} in ` +\n `fees, which is ${feeRate} satoshi per byte for a transaction ` +\n `with a VSize of ${vsize} bytes (segwit counted as 0.25 byte per ` +\n `byte). Use setMaximumFeeRate method to raise your threshold, or ` +\n `pass true to the first arg of extractTransaction.`,\n );\n }\n}\nfunction checkInputsForPartialSig(inputs, action) {\n inputs.forEach(input => {\n const throws = (0, bip371_1.isTaprootInput)(input)\n ? (0, bip371_1.checkTaprootInputForSigs)(input, action)\n : (0, psbtutils_1.checkInputForSig)(input, action);\n if (throws)\n throw new Error('Can not modify transaction, signatures exist.');\n });\n}\nfunction checkPartialSigSighashes(input) {\n if (!input.sighashType || !input.partialSig) return;\n const { partialSig, sighashType } = input;\n partialSig.forEach(pSig => {\n const { hashType } = bscript.signature.decode(pSig.signature);\n if (sighashType !== hashType) {\n throw new Error('Signature sighash does not match input sighash type');\n }\n });\n}\nfunction checkScriptForPubkey(pubkey, script, action) {\n if (!(0, psbtutils_1.pubkeyInScript)(pubkey, script)) {\n throw new Error(\n `Can not ${action} for this input with the key ${pubkey.toString('hex')}`,\n );\n }\n}\nfunction checkTxEmpty(tx) {\n const isEmpty = tx.ins.every(\n input =>\n input.script &&\n input.script.length === 0 &&\n input.witness &&\n input.witness.length === 0,\n );\n if (!isEmpty) {\n throw new Error('Format Error: Transaction ScriptSigs are not empty');\n }\n}\nfunction checkTxForDupeIns(tx, cache) {\n tx.ins.forEach(input => {\n checkTxInputCache(cache, input);\n });\n}\nfunction checkTxInputCache(cache, input) {\n const key =\n (0, bufferutils_1.reverseBuffer)(Buffer.from(input.hash)).toString('hex') +\n ':' +\n input.index;\n if (cache.__TX_IN_CACHE[key]) throw new Error('Duplicate input detected.');\n cache.__TX_IN_CACHE[key] = 1;\n}\nfunction scriptCheckerFactory(payment, paymentScriptName) {\n return (inputIndex, scriptPubKey, redeemScript, ioType) => {\n const redeemScriptOutput = payment({\n redeem: { output: redeemScript },\n }).output;\n if (!scriptPubKey.equals(redeemScriptOutput)) {\n throw new Error(\n `${paymentScriptName} for ${ioType} #${inputIndex} doesn't match the scriptPubKey in the prevout`,\n );\n }\n };\n}\nconst checkRedeemScript = scriptCheckerFactory(payments.p2sh, 'Redeem script');\nconst checkWitnessScript = scriptCheckerFactory(\n payments.p2wsh,\n 'Witness script',\n);\nfunction getTxCacheValue(key, name, inputs, c) {\n if (!inputs.every(isFinalized))\n throw new Error(`PSBT must be finalized to calculate ${name}`);\n if (key === '__FEE_RATE' && c.__FEE_RATE) return c.__FEE_RATE;\n if (key === '__FEE' && c.__FEE) return c.__FEE;\n let tx;\n let mustFinalize = true;\n if (c.__EXTRACTED_TX) {\n tx = c.__EXTRACTED_TX;\n mustFinalize = false;\n } else {\n tx = c.__TX.clone();\n }\n inputFinalizeGetAmts(inputs, tx, c, mustFinalize);\n if (key === '__FEE_RATE') return c.__FEE_RATE;\n else if (key === '__FEE') return c.__FEE;\n}\nfunction getFinalScripts(inputIndex, input, script, isSegwit, isP2SH, isP2WSH) {\n const scriptType = classifyScript(script);\n if (!canFinalize(input, script, scriptType))\n throw new Error(`Can not finalize input #${inputIndex}`);\n return prepareFinalScripts(\n script,\n scriptType,\n input.partialSig,\n isSegwit,\n isP2SH,\n isP2WSH,\n );\n}\nfunction prepareFinalScripts(\n script,\n scriptType,\n partialSig,\n isSegwit,\n isP2SH,\n isP2WSH,\n) {\n let finalScriptSig;\n let finalScriptWitness;\n // Wow, the payments API is very handy\n const payment = getPayment(script, scriptType, partialSig);\n const p2wsh = !isP2WSH ? null : payments.p2wsh({ redeem: payment });\n const p2sh = !isP2SH ? null : payments.p2sh({ redeem: p2wsh || payment });\n if (isSegwit) {\n if (p2wsh) {\n finalScriptWitness = (0, psbtutils_1.witnessStackToScriptWitness)(\n p2wsh.witness,\n );\n } else {\n finalScriptWitness = (0, psbtutils_1.witnessStackToScriptWitness)(\n payment.witness,\n );\n }\n if (p2sh) {\n finalScriptSig = p2sh.input;\n }\n } else {\n if (p2sh) {\n finalScriptSig = p2sh.input;\n } else {\n finalScriptSig = payment.input;\n }\n }\n return {\n finalScriptSig,\n finalScriptWitness,\n };\n}\nfunction getHashAndSighashType(\n inputs,\n inputIndex,\n pubkey,\n cache,\n sighashTypes,\n) {\n const input = (0, utils_1.checkForInput)(inputs, inputIndex);\n const { hash, sighashType, script } = getHashForSig(\n inputIndex,\n input,\n cache,\n false,\n sighashTypes,\n );\n checkScriptForPubkey(pubkey, script, 'sign');\n return {\n hash,\n sighashType,\n };\n}\nfunction getHashForSig(inputIndex, input, cache, forValidate, sighashTypes) {\n const unsignedTx = cache.__TX;\n const sighashType =\n input.sighashType || transaction_1.Transaction.SIGHASH_ALL;\n checkSighashTypeAllowed(sighashType, sighashTypes);\n let hash;\n let prevout;\n if (input.nonWitnessUtxo) {\n const nonWitnessUtxoTx = nonWitnessUtxoTxFromCache(\n cache,\n input,\n inputIndex,\n );\n const prevoutHash = unsignedTx.ins[inputIndex].hash;\n const utxoHash = nonWitnessUtxoTx.getHash();\n // If a non-witness UTXO is provided, its hash must match the hash specified in the prevout\n if (!prevoutHash.equals(utxoHash)) {\n throw new Error(\n `Non-witness UTXO hash for input #${inputIndex} doesn't match the hash specified in the prevout`,\n );\n }\n const prevoutIndex = unsignedTx.ins[inputIndex].index;\n prevout = nonWitnessUtxoTx.outs[prevoutIndex];\n } else if (input.witnessUtxo) {\n prevout = input.witnessUtxo;\n } else {\n throw new Error('Need a Utxo input item for signing');\n }\n const { meaningfulScript, type } = getMeaningfulScript(\n prevout.script,\n inputIndex,\n 'input',\n input.redeemScript,\n input.witnessScript,\n );\n if (['p2sh-p2wsh', 'p2wsh'].indexOf(type) >= 0) {\n hash = unsignedTx.hashForWitnessV0(\n inputIndex,\n meaningfulScript,\n prevout.value,\n sighashType,\n );\n } else if ((0, psbtutils_1.isP2WPKH)(meaningfulScript)) {\n // P2WPKH uses the P2PKH template for prevoutScript when signing\n const signingScript = payments.p2pkh({\n hash: meaningfulScript.slice(2),\n }).output;\n hash = unsignedTx.hashForWitnessV0(\n inputIndex,\n signingScript,\n prevout.value,\n sighashType,\n );\n } else {\n // non-segwit\n if (\n input.nonWitnessUtxo === undefined &&\n cache.__UNSAFE_SIGN_NONSEGWIT === false\n )\n throw new Error(\n `Input #${inputIndex} has witnessUtxo but non-segwit script: ` +\n `${meaningfulScript.toString('hex')}`,\n );\n if (!forValidate && cache.__UNSAFE_SIGN_NONSEGWIT !== false)\n console.warn(\n 'Warning: Signing non-segwit inputs without the full parent transaction ' +\n 'means there is a chance that a miner could feed you incorrect information ' +\n \"to trick you into paying large fees. This behavior is the same as Psbt's predecesor \" +\n '(TransactionBuilder - now removed) when signing non-segwit scripts. You are not ' +\n 'able to export this Psbt with toBuffer|toBase64|toHex since it is not ' +\n 'BIP174 compliant.\\n*********************\\nPROCEED WITH CAUTION!\\n' +\n '*********************',\n );\n hash = unsignedTx.hashForSignature(\n inputIndex,\n meaningfulScript,\n sighashType,\n );\n }\n return {\n script: meaningfulScript,\n sighashType,\n hash,\n };\n}\nfunction getAllTaprootHashesForSig(inputIndex, input, inputs, cache) {\n const allPublicKeys = [];\n if (input.tapInternalKey) {\n const key = getPrevoutTaprootKey(inputIndex, input, cache);\n if (key) {\n allPublicKeys.push(key);\n }\n }\n if (input.tapScriptSig) {\n const tapScriptPubkeys = input.tapScriptSig.map(tss => tss.pubkey);\n allPublicKeys.push(...tapScriptPubkeys);\n }\n const allHashes = allPublicKeys.map(pubicKey =>\n getTaprootHashesForSig(inputIndex, input, inputs, pubicKey, cache),\n );\n return allHashes.flat();\n}\nfunction getPrevoutTaprootKey(inputIndex, input, cache) {\n const { script } = getScriptAndAmountFromUtxo(inputIndex, input, cache);\n return (0, psbtutils_1.isP2TR)(script) ? script.subarray(2, 34) : null;\n}\nfunction trimTaprootSig(signature) {\n return signature.length === 64 ? signature : signature.subarray(0, 64);\n}\nfunction getTaprootHashesForSig(\n inputIndex,\n input,\n inputs,\n pubkey,\n cache,\n tapLeafHashToSign,\n allowedSighashTypes,\n) {\n const unsignedTx = cache.__TX;\n const sighashType =\n input.sighashType || transaction_1.Transaction.SIGHASH_DEFAULT;\n checkSighashTypeAllowed(sighashType, allowedSighashTypes);\n const prevOuts = inputs.map((i, index) =>\n getScriptAndAmountFromUtxo(index, i, cache),\n );\n const signingScripts = prevOuts.map(o => o.script);\n const values = prevOuts.map(o => o.value);\n const hashes = [];\n if (input.tapInternalKey && !tapLeafHashToSign) {\n const outputKey =\n getPrevoutTaprootKey(inputIndex, input, cache) || Buffer.from([]);\n if ((0, bip371_1.toXOnly)(pubkey).equals(outputKey)) {\n const tapKeyHash = unsignedTx.hashForWitnessV1(\n inputIndex,\n signingScripts,\n values,\n sighashType,\n );\n hashes.push({ pubkey, hash: tapKeyHash });\n }\n }\n const tapLeafHashes = (input.tapLeafScript || [])\n .filter(tapLeaf => (0, psbtutils_1.pubkeyInScript)(pubkey, tapLeaf.script))\n .map(tapLeaf => {\n const hash = (0, bip341_1.tapleafHash)({\n output: tapLeaf.script,\n version: tapLeaf.leafVersion,\n });\n return Object.assign({ hash }, tapLeaf);\n })\n .filter(\n tapLeaf => !tapLeafHashToSign || tapLeafHashToSign.equals(tapLeaf.hash),\n )\n .map(tapLeaf => {\n const tapScriptHash = unsignedTx.hashForWitnessV1(\n inputIndex,\n signingScripts,\n values,\n transaction_1.Transaction.SIGHASH_DEFAULT,\n tapLeaf.hash,\n );\n return {\n pubkey,\n hash: tapScriptHash,\n leafHash: tapLeaf.hash,\n };\n });\n return hashes.concat(tapLeafHashes);\n}\nfunction checkSighashTypeAllowed(sighashType, sighashTypes) {\n if (sighashTypes && sighashTypes.indexOf(sighashType) < 0) {\n const str = sighashTypeToString(sighashType);\n throw new Error(\n `Sighash type is not allowed. Retry the sign method passing the ` +\n `sighashTypes array of whitelisted types. Sighash type: ${str}`,\n );\n }\n}\nfunction getPayment(script, scriptType, partialSig) {\n let payment;\n switch (scriptType) {\n case 'multisig':\n const sigs = getSortedSigs(script, partialSig);\n payment = payments.p2ms({\n output: script,\n signatures: sigs,\n });\n break;\n case 'pubkey':\n payment = payments.p2pk({\n output: script,\n signature: partialSig[0].signature,\n });\n break;\n case 'pubkeyhash':\n payment = payments.p2pkh({\n output: script,\n pubkey: partialSig[0].pubkey,\n signature: partialSig[0].signature,\n });\n break;\n case 'witnesspubkeyhash':\n payment = payments.p2wpkh({\n output: script,\n pubkey: partialSig[0].pubkey,\n signature: partialSig[0].signature,\n });\n break;\n }\n return payment;\n}\nfunction getScriptFromInput(inputIndex, input, cache) {\n const unsignedTx = cache.__TX;\n const res = {\n script: null,\n isSegwit: false,\n isP2SH: false,\n isP2WSH: false,\n };\n res.isP2SH = !!input.redeemScript;\n res.isP2WSH = !!input.witnessScript;\n if (input.witnessScript) {\n res.script = input.witnessScript;\n } else if (input.redeemScript) {\n res.script = input.redeemScript;\n } else {\n if (input.nonWitnessUtxo) {\n const nonWitnessUtxoTx = nonWitnessUtxoTxFromCache(\n cache,\n input,\n inputIndex,\n );\n const prevoutIndex = unsignedTx.ins[inputIndex].index;\n res.script = nonWitnessUtxoTx.outs[prevoutIndex].script;\n } else if (input.witnessUtxo) {\n res.script = input.witnessUtxo.script;\n }\n }\n if (input.witnessScript || (0, psbtutils_1.isP2WPKH)(res.script)) {\n res.isSegwit = true;\n }\n return res;\n}\nfunction getSignersFromHD(inputIndex, inputs, hdKeyPair) {\n const input = (0, utils_1.checkForInput)(inputs, inputIndex);\n if (!input.bip32Derivation || input.bip32Derivation.length === 0) {\n throw new Error('Need bip32Derivation to sign with HD');\n }\n const myDerivations = input.bip32Derivation\n .map(bipDv => {\n if (bipDv.masterFingerprint.equals(hdKeyPair.fingerprint)) {\n return bipDv;\n } else {\n return;\n }\n })\n .filter(v => !!v);\n if (myDerivations.length === 0) {\n throw new Error(\n 'Need one bip32Derivation masterFingerprint to match the HDSigner fingerprint',\n );\n }\n const signers = myDerivations.map(bipDv => {\n const node = hdKeyPair.derivePath(bipDv.path);\n if (!bipDv.pubkey.equals(node.publicKey)) {\n throw new Error('pubkey did not match bip32Derivation');\n }\n return node;\n });\n return signers;\n}\nfunction getSortedSigs(script, partialSig) {\n const p2ms = payments.p2ms({ output: script });\n // for each pubkey in order of p2ms script\n return p2ms.pubkeys\n .map(pk => {\n // filter partialSig array by pubkey being equal\n return (\n partialSig.filter(ps => {\n return ps.pubkey.equals(pk);\n })[0] || {}\n ).signature;\n // Any pubkey without a match will return undefined\n // this last filter removes all the undefined items in the array.\n })\n .filter(v => !!v);\n}\nfunction scriptWitnessToWitnessStack(buffer) {\n let offset = 0;\n function readSlice(n) {\n offset += n;\n return buffer.slice(offset - n, offset);\n }\n function readVarInt() {\n const vi = varuint.decode(buffer, offset);\n offset += varuint.decode.bytes;\n return vi;\n }\n function readVarSlice() {\n return readSlice(readVarInt());\n }\n function readVector() {\n const count = readVarInt();\n const vector = [];\n for (let i = 0; i < count; i++) vector.push(readVarSlice());\n return vector;\n }\n return readVector();\n}\nfunction sighashTypeToString(sighashType) {\n let text =\n sighashType & transaction_1.Transaction.SIGHASH_ANYONECANPAY\n ? 'SIGHASH_ANYONECANPAY | '\n : '';\n const sigMod = sighashType & 0x1f;\n switch (sigMod) {\n case transaction_1.Transaction.SIGHASH_ALL:\n text += 'SIGHASH_ALL';\n break;\n case transaction_1.Transaction.SIGHASH_SINGLE:\n text += 'SIGHASH_SINGLE';\n break;\n case transaction_1.Transaction.SIGHASH_NONE:\n text += 'SIGHASH_NONE';\n break;\n }\n return text;\n}\nfunction addNonWitnessTxCache(cache, input, inputIndex) {\n cache.__NON_WITNESS_UTXO_BUF_CACHE[inputIndex] = input.nonWitnessUtxo;\n const tx = transaction_1.Transaction.fromBuffer(input.nonWitnessUtxo);\n cache.__NON_WITNESS_UTXO_TX_CACHE[inputIndex] = tx;\n const self = cache;\n const selfIndex = inputIndex;\n delete input.nonWitnessUtxo;\n Object.defineProperty(input, 'nonWitnessUtxo', {\n enumerable: true,\n get() {\n const buf = self.__NON_WITNESS_UTXO_BUF_CACHE[selfIndex];\n const txCache = self.__NON_WITNESS_UTXO_TX_CACHE[selfIndex];\n if (buf !== undefined) {\n return buf;\n } else {\n const newBuf = txCache.toBuffer();\n self.__NON_WITNESS_UTXO_BUF_CACHE[selfIndex] = newBuf;\n return newBuf;\n }\n },\n set(data) {\n self.__NON_WITNESS_UTXO_BUF_CACHE[selfIndex] = data;\n },\n });\n}\nfunction inputFinalizeGetAmts(inputs, tx, cache, mustFinalize) {\n let inputAmount = 0;\n inputs.forEach((input, idx) => {\n if (mustFinalize && input.finalScriptSig)\n tx.ins[idx].script = input.finalScriptSig;\n if (mustFinalize && input.finalScriptWitness) {\n tx.ins[idx].witness = scriptWitnessToWitnessStack(\n input.finalScriptWitness,\n );\n }\n if (input.witnessUtxo) {\n inputAmount += input.witnessUtxo.value;\n } else if (input.nonWitnessUtxo) {\n const nwTx = nonWitnessUtxoTxFromCache(cache, input, idx);\n const vout = tx.ins[idx].index;\n const out = nwTx.outs[vout];\n inputAmount += out.value;\n }\n });\n const outputAmount = tx.outs.reduce((total, o) => total + o.value, 0);\n const fee = inputAmount - outputAmount;\n if (fee < 0) {\n throw new Error('Outputs are spending more than Inputs');\n }\n const bytes = tx.virtualSize();\n cache.__FEE = fee;\n cache.__EXTRACTED_TX = tx;\n cache.__FEE_RATE = Math.floor(fee / bytes);\n}\nfunction nonWitnessUtxoTxFromCache(cache, input, inputIndex) {\n const c = cache.__NON_WITNESS_UTXO_TX_CACHE;\n if (!c[inputIndex]) {\n addNonWitnessTxCache(cache, input, inputIndex);\n }\n return c[inputIndex];\n}\nfunction getScriptFromUtxo(inputIndex, input, cache) {\n const { script } = getScriptAndAmountFromUtxo(inputIndex, input, cache);\n return script;\n}\nfunction getScriptAndAmountFromUtxo(inputIndex, input, cache) {\n if (input.witnessUtxo !== undefined) {\n return {\n script: input.witnessUtxo.script,\n value: input.witnessUtxo.value,\n };\n } else if (input.nonWitnessUtxo !== undefined) {\n const nonWitnessUtxoTx = nonWitnessUtxoTxFromCache(\n cache,\n input,\n inputIndex,\n );\n const o = nonWitnessUtxoTx.outs[cache.__TX.ins[inputIndex].index];\n return { script: o.script, value: o.value };\n } else {\n throw new Error(\"Can't find pubkey in input without Utxo data\");\n }\n}\nfunction pubkeyInInput(pubkey, input, inputIndex, cache) {\n const script = getScriptFromUtxo(inputIndex, input, cache);\n const { meaningfulScript } = getMeaningfulScript(\n script,\n inputIndex,\n 'input',\n input.redeemScript,\n input.witnessScript,\n );\n return (0, psbtutils_1.pubkeyInScript)(pubkey, meaningfulScript);\n}\nfunction pubkeyInOutput(pubkey, output, outputIndex, cache) {\n const script = cache.__TX.outs[outputIndex].script;\n const { meaningfulScript } = getMeaningfulScript(\n script,\n outputIndex,\n 'output',\n output.redeemScript,\n output.witnessScript,\n );\n return (0, psbtutils_1.pubkeyInScript)(pubkey, meaningfulScript);\n}\nfunction redeemFromFinalScriptSig(finalScript) {\n if (!finalScript) return;\n const decomp = bscript.decompile(finalScript);\n if (!decomp) return;\n const lastItem = decomp[decomp.length - 1];\n if (\n !Buffer.isBuffer(lastItem) ||\n isPubkeyLike(lastItem) ||\n isSigLike(lastItem)\n )\n return;\n const sDecomp = bscript.decompile(lastItem);\n if (!sDecomp) return;\n return lastItem;\n}\nfunction redeemFromFinalWitnessScript(finalScript) {\n if (!finalScript) return;\n const decomp = scriptWitnessToWitnessStack(finalScript);\n const lastItem = decomp[decomp.length - 1];\n if (isPubkeyLike(lastItem)) return;\n const sDecomp = bscript.decompile(lastItem);\n if (!sDecomp) return;\n return lastItem;\n}\nfunction compressPubkey(pubkey) {\n if (pubkey.length === 65) {\n const parity = pubkey[64] & 1;\n const newKey = pubkey.slice(0, 33);\n newKey[0] = 2 | parity;\n return newKey;\n }\n return pubkey.slice();\n}\nfunction isPubkeyLike(buf) {\n return buf.length === 33 && bscript.isCanonicalPubKey(buf);\n}\nfunction isSigLike(buf) {\n return bscript.isCanonicalScriptSignature(buf);\n}\nfunction getMeaningfulScript(\n script,\n index,\n ioType,\n redeemScript,\n witnessScript,\n) {\n const isP2SH = (0, psbtutils_1.isP2SHScript)(script);\n const isP2SHP2WSH =\n isP2SH && redeemScript && (0, psbtutils_1.isP2WSHScript)(redeemScript);\n const isP2WSH = (0, psbtutils_1.isP2WSHScript)(script);\n if (isP2SH && redeemScript === undefined)\n throw new Error('scriptPubkey is P2SH but redeemScript missing');\n if ((isP2WSH || isP2SHP2WSH) && witnessScript === undefined)\n throw new Error(\n 'scriptPubkey or redeemScript is P2WSH but witnessScript missing',\n );\n let meaningfulScript;\n if (isP2SHP2WSH) {\n meaningfulScript = witnessScript;\n checkRedeemScript(index, script, redeemScript, ioType);\n checkWitnessScript(index, redeemScript, witnessScript, ioType);\n checkInvalidP2WSH(meaningfulScript);\n } else if (isP2WSH) {\n meaningfulScript = witnessScript;\n checkWitnessScript(index, script, witnessScript, ioType);\n checkInvalidP2WSH(meaningfulScript);\n } else if (isP2SH) {\n meaningfulScript = redeemScript;\n checkRedeemScript(index, script, redeemScript, ioType);\n } else {\n meaningfulScript = script;\n }\n return {\n meaningfulScript,\n type: isP2SHP2WSH\n ? 'p2sh-p2wsh'\n : isP2SH\n ? 'p2sh'\n : isP2WSH\n ? 'p2wsh'\n : 'raw',\n };\n}\nfunction checkInvalidP2WSH(script) {\n if (\n (0, psbtutils_1.isP2WPKH)(script) ||\n (0, psbtutils_1.isP2SHScript)(script)\n ) {\n throw new Error('P2WPKH or P2SH can not be contained within P2WSH');\n }\n}\nfunction classifyScript(script) {\n if ((0, psbtutils_1.isP2WPKH)(script)) return 'witnesspubkeyhash';\n if ((0, psbtutils_1.isP2PKH)(script)) return 'pubkeyhash';\n if ((0, psbtutils_1.isP2MS)(script)) return 'multisig';\n if ((0, psbtutils_1.isP2PK)(script)) return 'pubkey';\n return 'nonstandard';\n}\nfunction range(n) {\n return [...Array(n).keys()];\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.checkTaprootInputForSigs =\n exports.tapTreeFromList =\n exports.tapTreeToList =\n exports.tweakInternalPubKey =\n exports.checkTaprootOutputFields =\n exports.checkTaprootInputFields =\n exports.isTaprootOutput =\n exports.isTaprootInput =\n exports.serializeTaprootSignature =\n exports.tapScriptFinalizer =\n exports.toXOnly =\n void 0;\nconst types_1 = require('../types');\nconst transaction_1 = require('../transaction');\nconst psbtutils_1 = require('./psbtutils');\nconst bip341_1 = require('../payments/bip341');\nconst payments_1 = require('../payments');\nconst psbtutils_2 = require('./psbtutils');\nconst toXOnly = pubKey => (pubKey.length === 32 ? pubKey : pubKey.slice(1, 33));\nexports.toXOnly = toXOnly;\n/**\n * Default tapscript finalizer. It searches for the `tapLeafHashToFinalize` if provided.\n * Otherwise it will search for the tapleaf that has at least one signature and has the shortest path.\n * @param inputIndex the position of the PSBT input.\n * @param input the PSBT input.\n * @param tapLeafHashToFinalize optional, if provided the finalizer will search for a tapleaf that has this hash\n * and will try to build the finalScriptWitness.\n * @returns the finalScriptWitness or throws an exception if no tapleaf found.\n */\nfunction tapScriptFinalizer(inputIndex, input, tapLeafHashToFinalize) {\n const tapLeaf = findTapLeafToFinalize(\n input,\n inputIndex,\n tapLeafHashToFinalize,\n );\n try {\n const sigs = sortSignatures(input, tapLeaf);\n const witness = sigs.concat(tapLeaf.script).concat(tapLeaf.controlBlock);\n return {\n finalScriptWitness: (0, psbtutils_1.witnessStackToScriptWitness)(witness),\n };\n } catch (err) {\n throw new Error(`Can not finalize taproot input #${inputIndex}: ${err}`);\n }\n}\nexports.tapScriptFinalizer = tapScriptFinalizer;\nfunction serializeTaprootSignature(sig, sighashType) {\n const sighashTypeByte = sighashType\n ? Buffer.from([sighashType])\n : Buffer.from([]);\n return Buffer.concat([sig, sighashTypeByte]);\n}\nexports.serializeTaprootSignature = serializeTaprootSignature;\nfunction isTaprootInput(input) {\n return (\n input &&\n !!(\n input.tapInternalKey ||\n input.tapMerkleRoot ||\n (input.tapLeafScript && input.tapLeafScript.length) ||\n (input.tapBip32Derivation && input.tapBip32Derivation.length) ||\n (input.witnessUtxo && (0, psbtutils_1.isP2TR)(input.witnessUtxo.script))\n )\n );\n}\nexports.isTaprootInput = isTaprootInput;\nfunction isTaprootOutput(output, script) {\n return (\n output &&\n !!(\n output.tapInternalKey ||\n output.tapTree ||\n (output.tapBip32Derivation && output.tapBip32Derivation.length) ||\n (script && (0, psbtutils_1.isP2TR)(script))\n )\n );\n}\nexports.isTaprootOutput = isTaprootOutput;\nfunction checkTaprootInputFields(inputData, newInputData, action) {\n checkMixedTaprootAndNonTaprootInputFields(inputData, newInputData, action);\n checkIfTapLeafInTree(inputData, newInputData, action);\n}\nexports.checkTaprootInputFields = checkTaprootInputFields;\nfunction checkTaprootOutputFields(outputData, newOutputData, action) {\n checkMixedTaprootAndNonTaprootOutputFields(outputData, newOutputData, action);\n checkTaprootScriptPubkey(outputData, newOutputData);\n}\nexports.checkTaprootOutputFields = checkTaprootOutputFields;\nfunction checkTaprootScriptPubkey(outputData, newOutputData) {\n if (!newOutputData.tapTree && !newOutputData.tapInternalKey) return;\n const tapInternalKey =\n newOutputData.tapInternalKey || outputData.tapInternalKey;\n const tapTree = newOutputData.tapTree || outputData.tapTree;\n if (tapInternalKey) {\n const { script: scriptPubkey } = outputData;\n const script = getTaprootScripPubkey(tapInternalKey, tapTree);\n if (scriptPubkey && !scriptPubkey.equals(script))\n throw new Error('Error adding output. Script or address missmatch.');\n }\n}\nfunction getTaprootScripPubkey(tapInternalKey, tapTree) {\n const scriptTree = tapTree && tapTreeFromList(tapTree.leaves);\n const { output } = (0, payments_1.p2tr)({\n internalPubkey: tapInternalKey,\n scriptTree,\n });\n return output;\n}\nfunction tweakInternalPubKey(inputIndex, input) {\n const tapInternalKey = input.tapInternalKey;\n const outputKey =\n tapInternalKey &&\n (0, bip341_1.tweakKey)(tapInternalKey, input.tapMerkleRoot);\n if (!outputKey)\n throw new Error(\n `Cannot tweak tap internal key for input #${inputIndex}. Public key: ${\n tapInternalKey && tapInternalKey.toString('hex')\n }`,\n );\n return outputKey.x;\n}\nexports.tweakInternalPubKey = tweakInternalPubKey;\n/**\n * Convert a binary tree to a BIP371 type list. Each element of the list is (according to BIP371):\n * One or more tuples representing the depth, leaf version, and script for a leaf in the Taproot tree,\n * allowing the entire tree to be reconstructed. The tuples must be in depth first search order so that\n * the tree is correctly reconstructed.\n * @param tree the binary tap tree\n * @returns a list of BIP 371 tapleaves\n */\nfunction tapTreeToList(tree) {\n if (!(0, types_1.isTaptree)(tree))\n throw new Error(\n 'Cannot convert taptree to tapleaf list. Expecting a tapree structure.',\n );\n return _tapTreeToList(tree);\n}\nexports.tapTreeToList = tapTreeToList;\n/**\n * Convert a BIP371 TapLeaf list to a TapTree (binary).\n * @param leaves a list of tapleaves where each element of the list is (according to BIP371):\n * One or more tuples representing the depth, leaf version, and script for a leaf in the Taproot tree,\n * allowing the entire tree to be reconstructed. The tuples must be in depth first search order so that\n * the tree is correctly reconstructed.\n * @returns the corresponding taptree, or throws an exception if the tree cannot be reconstructed\n */\nfunction tapTreeFromList(leaves = []) {\n if (leaves.length === 1 && leaves[0].depth === 0)\n return {\n output: leaves[0].script,\n version: leaves[0].leafVersion,\n };\n return instertLeavesInTree(leaves);\n}\nexports.tapTreeFromList = tapTreeFromList;\nfunction checkTaprootInputForSigs(input, action) {\n const sigs = extractTaprootSigs(input);\n return sigs.some(sig =>\n (0, psbtutils_2.signatureBlocksAction)(sig, decodeSchnorrSignature, action),\n );\n}\nexports.checkTaprootInputForSigs = checkTaprootInputForSigs;\nfunction decodeSchnorrSignature(signature) {\n return {\n signature: signature.slice(0, 64),\n hashType:\n signature.slice(64)[0] || transaction_1.Transaction.SIGHASH_DEFAULT,\n };\n}\nfunction extractTaprootSigs(input) {\n const sigs = [];\n if (input.tapKeySig) sigs.push(input.tapKeySig);\n if (input.tapScriptSig)\n sigs.push(...input.tapScriptSig.map(s => s.signature));\n if (!sigs.length) {\n const finalTapKeySig = getTapKeySigFromWithness(input.finalScriptWitness);\n if (finalTapKeySig) sigs.push(finalTapKeySig);\n }\n return sigs;\n}\nfunction getTapKeySigFromWithness(finalScriptWitness) {\n if (!finalScriptWitness) return;\n const witness = finalScriptWitness.slice(2);\n // todo: add schnorr signature validation\n if (witness.length === 64 || witness.length === 65) return witness;\n}\nfunction _tapTreeToList(tree, leaves = [], depth = 0) {\n if (depth > bip341_1.MAX_TAPTREE_DEPTH)\n throw new Error('Max taptree depth exceeded.');\n if (!tree) return [];\n if ((0, types_1.isTapleaf)(tree)) {\n leaves.push({\n depth,\n leafVersion: tree.version || bip341_1.LEAF_VERSION_TAPSCRIPT,\n script: tree.output,\n });\n return leaves;\n }\n if (tree[0]) _tapTreeToList(tree[0], leaves, depth + 1);\n if (tree[1]) _tapTreeToList(tree[1], leaves, depth + 1);\n return leaves;\n}\nfunction instertLeavesInTree(leaves) {\n let tree;\n for (const leaf of leaves) {\n tree = instertLeafInTree(leaf, tree);\n if (!tree) throw new Error(`No room left to insert tapleaf in tree`);\n }\n return tree;\n}\nfunction instertLeafInTree(leaf, tree, depth = 0) {\n if (depth > bip341_1.MAX_TAPTREE_DEPTH)\n throw new Error('Max taptree depth exceeded.');\n if (leaf.depth === depth) {\n if (!tree)\n return {\n output: leaf.script,\n version: leaf.leafVersion,\n };\n return;\n }\n if ((0, types_1.isTapleaf)(tree)) return;\n const leftSide = instertLeafInTree(leaf, tree && tree[0], depth + 1);\n if (leftSide) return [leftSide, tree && tree[1]];\n const rightSide = instertLeafInTree(leaf, tree && tree[1], depth + 1);\n if (rightSide) return [tree && tree[0], rightSide];\n}\nfunction checkMixedTaprootAndNonTaprootInputFields(\n inputData,\n newInputData,\n action,\n) {\n const isBadTaprootUpdate =\n isTaprootInput(inputData) && hasNonTaprootFields(newInputData);\n const isBadNonTaprootUpdate =\n hasNonTaprootFields(inputData) && isTaprootInput(newInputData);\n const hasMixedFields =\n inputData === newInputData &&\n isTaprootInput(newInputData) &&\n hasNonTaprootFields(newInputData); // todo: bad? use !===\n if (isBadTaprootUpdate || isBadNonTaprootUpdate || hasMixedFields)\n throw new Error(\n `Invalid arguments for Psbt.${action}. ` +\n `Cannot use both taproot and non-taproot fields.`,\n );\n}\nfunction checkMixedTaprootAndNonTaprootOutputFields(\n inputData,\n newInputData,\n action,\n) {\n const isBadTaprootUpdate =\n isTaprootOutput(inputData) && hasNonTaprootFields(newInputData);\n const isBadNonTaprootUpdate =\n hasNonTaprootFields(inputData) && isTaprootOutput(newInputData);\n const hasMixedFields =\n inputData === newInputData &&\n isTaprootOutput(newInputData) &&\n hasNonTaprootFields(newInputData);\n if (isBadTaprootUpdate || isBadNonTaprootUpdate || hasMixedFields)\n throw new Error(\n `Invalid arguments for Psbt.${action}. ` +\n `Cannot use both taproot and non-taproot fields.`,\n );\n}\nfunction checkIfTapLeafInTree(inputData, newInputData, action) {\n if (newInputData.tapMerkleRoot) {\n const newLeafsInTree = (newInputData.tapLeafScript || []).every(l =>\n isTapLeafInTree(l, newInputData.tapMerkleRoot),\n );\n const oldLeafsInTree = (inputData.tapLeafScript || []).every(l =>\n isTapLeafInTree(l, newInputData.tapMerkleRoot),\n );\n if (!newLeafsInTree || !oldLeafsInTree)\n throw new Error(\n `Invalid arguments for Psbt.${action}. Tapleaf not part of taptree.`,\n );\n } else if (inputData.tapMerkleRoot) {\n const newLeafsInTree = (newInputData.tapLeafScript || []).every(l =>\n isTapLeafInTree(l, inputData.tapMerkleRoot),\n );\n if (!newLeafsInTree)\n throw new Error(\n `Invalid arguments for Psbt.${action}. Tapleaf not part of taptree.`,\n );\n }\n}\nfunction isTapLeafInTree(tapLeaf, merkleRoot) {\n if (!merkleRoot) return true;\n const leafHash = (0, bip341_1.tapleafHash)({\n output: tapLeaf.script,\n version: tapLeaf.leafVersion,\n });\n const rootHash = (0, bip341_1.rootHashFromPath)(\n tapLeaf.controlBlock,\n leafHash,\n );\n return rootHash.equals(merkleRoot);\n}\nfunction sortSignatures(input, tapLeaf) {\n const leafHash = (0, bip341_1.tapleafHash)({\n output: tapLeaf.script,\n version: tapLeaf.leafVersion,\n });\n return (input.tapScriptSig || [])\n .filter(tss => tss.leafHash.equals(leafHash))\n .map(tss => addPubkeyPositionInScript(tapLeaf.script, tss))\n .sort((t1, t2) => t2.positionInScript - t1.positionInScript)\n .map(t => t.signature);\n}\nfunction addPubkeyPositionInScript(script, tss) {\n return Object.assign(\n {\n positionInScript: (0, psbtutils_1.pubkeyPositionInScript)(\n tss.pubkey,\n script,\n ),\n },\n tss,\n );\n}\n/**\n * Find tapleaf by hash, or get the signed tapleaf with the shortest path.\n */\nfunction findTapLeafToFinalize(input, inputIndex, leafHashToFinalize) {\n if (!input.tapScriptSig || !input.tapScriptSig.length)\n throw new Error(\n `Can not finalize taproot input #${inputIndex}. No tapleaf script signature provided.`,\n );\n const tapLeaf = (input.tapLeafScript || [])\n .sort((a, b) => a.controlBlock.length - b.controlBlock.length)\n .find(leaf =>\n canFinalizeLeaf(leaf, input.tapScriptSig, leafHashToFinalize),\n );\n if (!tapLeaf)\n throw new Error(\n `Can not finalize taproot input #${inputIndex}. Signature for tapleaf script not found.`,\n );\n return tapLeaf;\n}\nfunction canFinalizeLeaf(leaf, tapScriptSig, hash) {\n const leafHash = (0, bip341_1.tapleafHash)({\n output: leaf.script,\n version: leaf.leafVersion,\n });\n const whiteListedHash = !hash || hash.equals(leafHash);\n return (\n whiteListedHash &&\n tapScriptSig.find(tss => tss.leafHash.equals(leafHash)) !== undefined\n );\n}\nfunction hasNonTaprootFields(io) {\n return (\n io &&\n !!(\n io.redeemScript ||\n io.witnessScript ||\n (io.bip32Derivation && io.bip32Derivation.length)\n )\n );\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.signatureBlocksAction =\n exports.checkInputForSig =\n exports.pubkeyInScript =\n exports.pubkeyPositionInScript =\n exports.witnessStackToScriptWitness =\n exports.isP2TR =\n exports.isP2SHScript =\n exports.isP2WSHScript =\n exports.isP2WPKH =\n exports.isP2PKH =\n exports.isP2PK =\n exports.isP2MS =\n void 0;\nconst varuint = require('bip174/src/lib/converter/varint');\nconst bscript = require('../script');\nconst transaction_1 = require('../transaction');\nconst crypto_1 = require('../crypto');\nconst payments = require('../payments');\nfunction isPaymentFactory(payment) {\n return script => {\n try {\n payment({ output: script });\n return true;\n } catch (err) {\n return false;\n }\n };\n}\nexports.isP2MS = isPaymentFactory(payments.p2ms);\nexports.isP2PK = isPaymentFactory(payments.p2pk);\nexports.isP2PKH = isPaymentFactory(payments.p2pkh);\nexports.isP2WPKH = isPaymentFactory(payments.p2wpkh);\nexports.isP2WSHScript = isPaymentFactory(payments.p2wsh);\nexports.isP2SHScript = isPaymentFactory(payments.p2sh);\nexports.isP2TR = isPaymentFactory(payments.p2tr);\nfunction witnessStackToScriptWitness(witness) {\n let buffer = Buffer.allocUnsafe(0);\n function writeSlice(slice) {\n buffer = Buffer.concat([buffer, Buffer.from(slice)]);\n }\n function writeVarInt(i) {\n const currentLen = buffer.length;\n const varintLen = varuint.encodingLength(i);\n buffer = Buffer.concat([buffer, Buffer.allocUnsafe(varintLen)]);\n varuint.encode(i, buffer, currentLen);\n }\n function writeVarSlice(slice) {\n writeVarInt(slice.length);\n writeSlice(slice);\n }\n function writeVector(vector) {\n writeVarInt(vector.length);\n vector.forEach(writeVarSlice);\n }\n writeVector(witness);\n return buffer;\n}\nexports.witnessStackToScriptWitness = witnessStackToScriptWitness;\nfunction pubkeyPositionInScript(pubkey, script) {\n const pubkeyHash = (0, crypto_1.hash160)(pubkey);\n const pubkeyXOnly = pubkey.slice(1, 33); // slice before calling?\n const decompiled = bscript.decompile(script);\n if (decompiled === null) throw new Error('Unknown script error');\n return decompiled.findIndex(element => {\n if (typeof element === 'number') return false;\n return (\n element.equals(pubkey) ||\n element.equals(pubkeyHash) ||\n element.equals(pubkeyXOnly)\n );\n });\n}\nexports.pubkeyPositionInScript = pubkeyPositionInScript;\nfunction pubkeyInScript(pubkey, script) {\n return pubkeyPositionInScript(pubkey, script) !== -1;\n}\nexports.pubkeyInScript = pubkeyInScript;\nfunction checkInputForSig(input, action) {\n const pSigs = extractPartialSigs(input);\n return pSigs.some(pSig =>\n signatureBlocksAction(pSig, bscript.signature.decode, action),\n );\n}\nexports.checkInputForSig = checkInputForSig;\nfunction signatureBlocksAction(signature, signatureDecodeFn, action) {\n const { hashType } = signatureDecodeFn(signature);\n const whitelist = [];\n const isAnyoneCanPay =\n hashType & transaction_1.Transaction.SIGHASH_ANYONECANPAY;\n if (isAnyoneCanPay) whitelist.push('addInput');\n const hashMod = hashType & 0x1f;\n switch (hashMod) {\n case transaction_1.Transaction.SIGHASH_ALL:\n break;\n case transaction_1.Transaction.SIGHASH_SINGLE:\n case transaction_1.Transaction.SIGHASH_NONE:\n whitelist.push('addOutput');\n whitelist.push('setInputSequence');\n break;\n }\n if (whitelist.indexOf(action) === -1) {\n return true;\n }\n return false;\n}\nexports.signatureBlocksAction = signatureBlocksAction;\nfunction extractPartialSigs(input) {\n let pSigs = [];\n if ((input.partialSig || []).length === 0) {\n if (!input.finalScriptSig && !input.finalScriptWitness) return [];\n pSigs = getPsigsFromInputFinalScripts(input);\n } else {\n pSigs = input.partialSig;\n }\n return pSigs.map(p => p.signature);\n}\nfunction getPsigsFromInputFinalScripts(input) {\n const scriptItems = !input.finalScriptSig\n ? []\n : bscript.decompile(input.finalScriptSig) || [];\n const witnessItems = !input.finalScriptWitness\n ? []\n : bscript.decompile(input.finalScriptWitness) || [];\n return scriptItems\n .concat(witnessItems)\n .filter(item => {\n return Buffer.isBuffer(item) && bscript.isCanonicalScriptSignature(item);\n })\n .map(sig => ({ signature: sig }));\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.decode = exports.encode = exports.encodingLength = void 0;\nconst ops_1 = require('./ops');\nfunction encodingLength(i) {\n return i < ops_1.OPS.OP_PUSHDATA1 ? 1 : i <= 0xff ? 2 : i <= 0xffff ? 3 : 5;\n}\nexports.encodingLength = encodingLength;\nfunction encode(buffer, num, offset) {\n const size = encodingLength(num);\n // ~6 bit\n if (size === 1) {\n buffer.writeUInt8(num, offset);\n // 8 bit\n } else if (size === 2) {\n buffer.writeUInt8(ops_1.OPS.OP_PUSHDATA1, offset);\n buffer.writeUInt8(num, offset + 1);\n // 16 bit\n } else if (size === 3) {\n buffer.writeUInt8(ops_1.OPS.OP_PUSHDATA2, offset);\n buffer.writeUInt16LE(num, offset + 1);\n // 32 bit\n } else {\n buffer.writeUInt8(ops_1.OPS.OP_PUSHDATA4, offset);\n buffer.writeUInt32LE(num, offset + 1);\n }\n return size;\n}\nexports.encode = encode;\nfunction decode(buffer, offset) {\n const opcode = buffer.readUInt8(offset);\n let num;\n let size;\n // ~6 bit\n if (opcode < ops_1.OPS.OP_PUSHDATA1) {\n num = opcode;\n size = 1;\n // 8 bit\n } else if (opcode === ops_1.OPS.OP_PUSHDATA1) {\n if (offset + 2 > buffer.length) return null;\n num = buffer.readUInt8(offset + 1);\n size = 2;\n // 16 bit\n } else if (opcode === ops_1.OPS.OP_PUSHDATA2) {\n if (offset + 3 > buffer.length) return null;\n num = buffer.readUInt16LE(offset + 1);\n size = 3;\n // 32 bit\n } else {\n if (offset + 5 > buffer.length) return null;\n if (opcode !== ops_1.OPS.OP_PUSHDATA4) throw new Error('Unexpected opcode');\n num = buffer.readUInt32LE(offset + 1);\n size = 5;\n }\n return {\n opcode,\n number: num,\n size,\n };\n}\nexports.decode = decode;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.signature =\n exports.number =\n exports.isCanonicalScriptSignature =\n exports.isDefinedHashType =\n exports.isCanonicalPubKey =\n exports.toStack =\n exports.fromASM =\n exports.toASM =\n exports.decompile =\n exports.compile =\n exports.countNonPushOnlyOPs =\n exports.isPushOnly =\n exports.OPS =\n void 0;\nconst bip66 = require('./bip66');\nconst ops_1 = require('./ops');\nObject.defineProperty(exports, 'OPS', {\n enumerable: true,\n get: function () {\n return ops_1.OPS;\n },\n});\nconst pushdata = require('./push_data');\nconst scriptNumber = require('./script_number');\nconst scriptSignature = require('./script_signature');\nconst types = require('./types');\nconst { typeforce } = types;\nconst OP_INT_BASE = ops_1.OPS.OP_RESERVED; // OP_1 - 1\nfunction isOPInt(value) {\n return (\n types.Number(value) &&\n (value === ops_1.OPS.OP_0 ||\n (value >= ops_1.OPS.OP_1 && value <= ops_1.OPS.OP_16) ||\n value === ops_1.OPS.OP_1NEGATE)\n );\n}\nfunction isPushOnlyChunk(value) {\n return types.Buffer(value) || isOPInt(value);\n}\nfunction isPushOnly(value) {\n return types.Array(value) && value.every(isPushOnlyChunk);\n}\nexports.isPushOnly = isPushOnly;\nfunction countNonPushOnlyOPs(value) {\n return value.length - value.filter(isPushOnlyChunk).length;\n}\nexports.countNonPushOnlyOPs = countNonPushOnlyOPs;\nfunction asMinimalOP(buffer) {\n if (buffer.length === 0) return ops_1.OPS.OP_0;\n if (buffer.length !== 1) return;\n if (buffer[0] >= 1 && buffer[0] <= 16) return OP_INT_BASE + buffer[0];\n if (buffer[0] === 0x81) return ops_1.OPS.OP_1NEGATE;\n}\nfunction chunksIsBuffer(buf) {\n return Buffer.isBuffer(buf);\n}\nfunction chunksIsArray(buf) {\n return types.Array(buf);\n}\nfunction singleChunkIsBuffer(buf) {\n return Buffer.isBuffer(buf);\n}\nfunction compile(chunks) {\n // TODO: remove me\n if (chunksIsBuffer(chunks)) return chunks;\n typeforce(types.Array, chunks);\n const bufferSize = chunks.reduce((accum, chunk) => {\n // data chunk\n if (singleChunkIsBuffer(chunk)) {\n // adhere to BIP62.3, minimal push policy\n if (chunk.length === 1 && asMinimalOP(chunk) !== undefined) {\n return accum + 1;\n }\n return accum + pushdata.encodingLength(chunk.length) + chunk.length;\n }\n // opcode\n return accum + 1;\n }, 0.0);\n const buffer = Buffer.allocUnsafe(bufferSize);\n let offset = 0;\n chunks.forEach(chunk => {\n // data chunk\n if (singleChunkIsBuffer(chunk)) {\n // adhere to BIP62.3, minimal push policy\n const opcode = asMinimalOP(chunk);\n if (opcode !== undefined) {\n buffer.writeUInt8(opcode, offset);\n offset += 1;\n return;\n }\n offset += pushdata.encode(buffer, chunk.length, offset);\n chunk.copy(buffer, offset);\n offset += chunk.length;\n // opcode\n } else {\n buffer.writeUInt8(chunk, offset);\n offset += 1;\n }\n });\n if (offset !== buffer.length) throw new Error('Could not decode chunks');\n return buffer;\n}\nexports.compile = compile;\nfunction decompile(buffer) {\n // TODO: remove me\n if (chunksIsArray(buffer)) return buffer;\n typeforce(types.Buffer, buffer);\n const chunks = [];\n let i = 0;\n while (i < buffer.length) {\n const opcode = buffer[i];\n // data chunk\n if (opcode > ops_1.OPS.OP_0 && opcode <= ops_1.OPS.OP_PUSHDATA4) {\n const d = pushdata.decode(buffer, i);\n // did reading a pushDataInt fail?\n if (d === null) return null;\n i += d.size;\n // attempt to read too much data?\n if (i + d.number > buffer.length) return null;\n const data = buffer.slice(i, i + d.number);\n i += d.number;\n // decompile minimally\n const op = asMinimalOP(data);\n if (op !== undefined) {\n chunks.push(op);\n } else {\n chunks.push(data);\n }\n // opcode\n } else {\n chunks.push(opcode);\n i += 1;\n }\n }\n return chunks;\n}\nexports.decompile = decompile;\nfunction toASM(chunks) {\n if (chunksIsBuffer(chunks)) {\n chunks = decompile(chunks);\n }\n return chunks\n .map(chunk => {\n // data?\n if (singleChunkIsBuffer(chunk)) {\n const op = asMinimalOP(chunk);\n if (op === undefined) return chunk.toString('hex');\n chunk = op;\n }\n // opcode!\n return ops_1.REVERSE_OPS[chunk];\n })\n .join(' ');\n}\nexports.toASM = toASM;\nfunction fromASM(asm) {\n typeforce(types.String, asm);\n return compile(\n asm.split(' ').map(chunkStr => {\n // opcode?\n if (ops_1.OPS[chunkStr] !== undefined) return ops_1.OPS[chunkStr];\n typeforce(types.Hex, chunkStr);\n // data!\n return Buffer.from(chunkStr, 'hex');\n }),\n );\n}\nexports.fromASM = fromASM;\nfunction toStack(chunks) {\n chunks = decompile(chunks);\n typeforce(isPushOnly, chunks);\n return chunks.map(op => {\n if (singleChunkIsBuffer(op)) return op;\n if (op === ops_1.OPS.OP_0) return Buffer.allocUnsafe(0);\n return scriptNumber.encode(op - OP_INT_BASE);\n });\n}\nexports.toStack = toStack;\nfunction isCanonicalPubKey(buffer) {\n return types.isPoint(buffer);\n}\nexports.isCanonicalPubKey = isCanonicalPubKey;\nfunction isDefinedHashType(hashType) {\n const hashTypeMod = hashType & ~0x80;\n // return hashTypeMod > SIGHASH_ALL && hashTypeMod < SIGHASH_SINGLE\n return hashTypeMod > 0x00 && hashTypeMod < 0x04;\n}\nexports.isDefinedHashType = isDefinedHashType;\nfunction isCanonicalScriptSignature(buffer) {\n if (!Buffer.isBuffer(buffer)) return false;\n if (!isDefinedHashType(buffer[buffer.length - 1])) return false;\n return bip66.check(buffer.slice(0, -1));\n}\nexports.isCanonicalScriptSignature = isCanonicalScriptSignature;\nexports.number = scriptNumber;\nexports.signature = scriptSignature;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.encode = exports.decode = void 0;\nfunction decode(buffer, maxLength, minimal) {\n maxLength = maxLength || 4;\n minimal = minimal === undefined ? true : minimal;\n const length = buffer.length;\n if (length === 0) return 0;\n if (length > maxLength) throw new TypeError('Script number overflow');\n if (minimal) {\n if ((buffer[length - 1] & 0x7f) === 0) {\n if (length <= 1 || (buffer[length - 2] & 0x80) === 0)\n throw new Error('Non-minimally encoded script number');\n }\n }\n // 40-bit\n if (length === 5) {\n const a = buffer.readUInt32LE(0);\n const b = buffer.readUInt8(4);\n if (b & 0x80) return -((b & ~0x80) * 0x100000000 + a);\n return b * 0x100000000 + a;\n }\n // 32-bit / 24-bit / 16-bit / 8-bit\n let result = 0;\n for (let i = 0; i < length; ++i) {\n result |= buffer[i] << (8 * i);\n }\n if (buffer[length - 1] & 0x80)\n return -(result & ~(0x80 << (8 * (length - 1))));\n return result;\n}\nexports.decode = decode;\nfunction scriptNumSize(i) {\n return i > 0x7fffffff\n ? 5\n : i > 0x7fffff\n ? 4\n : i > 0x7fff\n ? 3\n : i > 0x7f\n ? 2\n : i > 0x00\n ? 1\n : 0;\n}\nfunction encode(_number) {\n let value = Math.abs(_number);\n const size = scriptNumSize(value);\n const buffer = Buffer.allocUnsafe(size);\n const negative = _number < 0;\n for (let i = 0; i < size; ++i) {\n buffer.writeUInt8(value & 0xff, i);\n value >>= 8;\n }\n if (buffer[size - 1] & 0x80) {\n buffer.writeUInt8(negative ? 0x80 : 0x00, size - 1);\n } else if (negative) {\n buffer[size - 1] |= 0x80;\n }\n return buffer;\n}\nexports.encode = encode;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.encode = exports.decode = void 0;\nconst bip66 = require('./bip66');\nconst types = require('./types');\nconst { typeforce } = types;\nconst ZERO = Buffer.alloc(1, 0);\nfunction toDER(x) {\n let i = 0;\n while (x[i] === 0) ++i;\n if (i === x.length) return ZERO;\n x = x.slice(i);\n if (x[0] & 0x80) return Buffer.concat([ZERO, x], 1 + x.length);\n return x;\n}\nfunction fromDER(x) {\n if (x[0] === 0x00) x = x.slice(1);\n const buffer = Buffer.alloc(32, 0);\n const bstart = Math.max(0, 32 - x.length);\n x.copy(buffer, bstart);\n return buffer;\n}\n// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)\nfunction decode(buffer) {\n const hashType = buffer.readUInt8(buffer.length - 1);\n const hashTypeMod = hashType & ~0x80;\n if (hashTypeMod <= 0 || hashTypeMod >= 4)\n throw new Error('Invalid hashType ' + hashType);\n const decoded = bip66.decode(buffer.slice(0, -1));\n const r = fromDER(decoded.r);\n const s = fromDER(decoded.s);\n const signature = Buffer.concat([r, s], 64);\n return { signature, hashType };\n}\nexports.decode = decode;\nfunction encode(signature, hashType) {\n typeforce(\n {\n signature: types.BufferN(64),\n hashType: types.UInt8,\n },\n { signature, hashType },\n );\n const hashTypeMod = hashType & ~0x80;\n if (hashTypeMod <= 0 || hashTypeMod >= 4)\n throw new Error('Invalid hashType ' + hashType);\n const hashTypeBuffer = Buffer.allocUnsafe(1);\n hashTypeBuffer.writeUInt8(hashType, 0);\n const r = toDER(signature.slice(0, 32));\n const s = toDER(signature.slice(32, 64));\n return Buffer.concat([bip66.encode(r, s), hashTypeBuffer]);\n}\nexports.encode = encode;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Transaction = void 0;\nconst bufferutils_1 = require('./bufferutils');\nconst bcrypto = require('./crypto');\nconst bscript = require('./script');\nconst script_1 = require('./script');\nconst types = require('./types');\nconst { typeforce } = types;\nfunction varSliceSize(someScript) {\n const length = someScript.length;\n return bufferutils_1.varuint.encodingLength(length) + length;\n}\nfunction vectorSize(someVector) {\n const length = someVector.length;\n return (\n bufferutils_1.varuint.encodingLength(length) +\n someVector.reduce((sum, witness) => {\n return sum + varSliceSize(witness);\n }, 0)\n );\n}\nconst EMPTY_BUFFER = Buffer.allocUnsafe(0);\nconst EMPTY_WITNESS = [];\nconst ZERO = Buffer.from(\n '0000000000000000000000000000000000000000000000000000000000000000',\n 'hex',\n);\nconst ONE = Buffer.from(\n '0000000000000000000000000000000000000000000000000000000000000001',\n 'hex',\n);\nconst VALUE_UINT64_MAX = Buffer.from('ffffffffffffffff', 'hex');\nconst BLANK_OUTPUT = {\n script: EMPTY_BUFFER,\n valueBuffer: VALUE_UINT64_MAX,\n};\nfunction isOutput(out) {\n return out.value !== undefined;\n}\nclass Transaction {\n constructor() {\n this.version = 1;\n this.locktime = 0;\n this.ins = [];\n this.outs = [];\n }\n static fromBuffer(buffer, _NO_STRICT) {\n const bufferReader = new bufferutils_1.BufferReader(buffer);\n const tx = new Transaction();\n tx.version = bufferReader.readInt32();\n const marker = bufferReader.readUInt8();\n const flag = bufferReader.readUInt8();\n let hasWitnesses = false;\n if (\n marker === Transaction.ADVANCED_TRANSACTION_MARKER &&\n flag === Transaction.ADVANCED_TRANSACTION_FLAG\n ) {\n hasWitnesses = true;\n } else {\n bufferReader.offset -= 2;\n }\n const vinLen = bufferReader.readVarInt();\n for (let i = 0; i < vinLen; ++i) {\n tx.ins.push({\n hash: bufferReader.readSlice(32),\n index: bufferReader.readUInt32(),\n script: bufferReader.readVarSlice(),\n sequence: bufferReader.readUInt32(),\n witness: EMPTY_WITNESS,\n });\n }\n const voutLen = bufferReader.readVarInt();\n for (let i = 0; i < voutLen; ++i) {\n tx.outs.push({\n value: bufferReader.readUInt64(),\n script: bufferReader.readVarSlice(),\n });\n }\n if (hasWitnesses) {\n for (let i = 0; i < vinLen; ++i) {\n tx.ins[i].witness = bufferReader.readVector();\n }\n // was this pointless?\n if (!tx.hasWitnesses())\n throw new Error('Transaction has superfluous witness data');\n }\n tx.locktime = bufferReader.readUInt32();\n if (_NO_STRICT) return tx;\n if (bufferReader.offset !== buffer.length)\n throw new Error('Transaction has unexpected data');\n return tx;\n }\n static fromHex(hex) {\n return Transaction.fromBuffer(Buffer.from(hex, 'hex'), false);\n }\n static isCoinbaseHash(buffer) {\n typeforce(types.Hash256bit, buffer);\n for (let i = 0; i < 32; ++i) {\n if (buffer[i] !== 0) return false;\n }\n return true;\n }\n isCoinbase() {\n return (\n this.ins.length === 1 && Transaction.isCoinbaseHash(this.ins[0].hash)\n );\n }\n addInput(hash, index, sequence, scriptSig) {\n typeforce(\n types.tuple(\n types.Hash256bit,\n types.UInt32,\n types.maybe(types.UInt32),\n types.maybe(types.Buffer),\n ),\n arguments,\n );\n if (types.Null(sequence)) {\n sequence = Transaction.DEFAULT_SEQUENCE;\n }\n // Add the input and return the input's index\n return (\n this.ins.push({\n hash,\n index,\n script: scriptSig || EMPTY_BUFFER,\n sequence: sequence,\n witness: EMPTY_WITNESS,\n }) - 1\n );\n }\n addOutput(scriptPubKey, value) {\n typeforce(types.tuple(types.Buffer, types.Satoshi), arguments);\n // Add the output and return the output's index\n return (\n this.outs.push({\n script: scriptPubKey,\n value,\n }) - 1\n );\n }\n hasWitnesses() {\n return this.ins.some(x => {\n return x.witness.length !== 0;\n });\n }\n weight() {\n const base = this.byteLength(false);\n const total = this.byteLength(true);\n return base * 3 + total;\n }\n virtualSize() {\n return Math.ceil(this.weight() / 4);\n }\n byteLength(_ALLOW_WITNESS = true) {\n const hasWitnesses = _ALLOW_WITNESS && this.hasWitnesses();\n return (\n (hasWitnesses ? 10 : 8) +\n bufferutils_1.varuint.encodingLength(this.ins.length) +\n bufferutils_1.varuint.encodingLength(this.outs.length) +\n this.ins.reduce((sum, input) => {\n return sum + 40 + varSliceSize(input.script);\n }, 0) +\n this.outs.reduce((sum, output) => {\n return sum + 8 + varSliceSize(output.script);\n }, 0) +\n (hasWitnesses\n ? this.ins.reduce((sum, input) => {\n return sum + vectorSize(input.witness);\n }, 0)\n : 0)\n );\n }\n clone() {\n const newTx = new Transaction();\n newTx.version = this.version;\n newTx.locktime = this.locktime;\n newTx.ins = this.ins.map(txIn => {\n return {\n hash: txIn.hash,\n index: txIn.index,\n script: txIn.script,\n sequence: txIn.sequence,\n witness: txIn.witness,\n };\n });\n newTx.outs = this.outs.map(txOut => {\n return {\n script: txOut.script,\n value: txOut.value,\n };\n });\n return newTx;\n }\n /**\n * Hash transaction for signing a specific input.\n *\n * Bitcoin uses a different hash for each signed transaction input.\n * This method copies the transaction, makes the necessary changes based on the\n * hashType, and then hashes the result.\n * This hash can then be used to sign the provided transaction input.\n */\n hashForSignature(inIndex, prevOutScript, hashType) {\n typeforce(\n types.tuple(types.UInt32, types.Buffer, /* types.UInt8 */ types.Number),\n arguments,\n );\n // https://github.com/bitcoin/bitcoin/blob/master/src/test/sighash_tests.cpp#L29\n if (inIndex >= this.ins.length) return ONE;\n // ignore OP_CODESEPARATOR\n const ourScript = bscript.compile(\n bscript.decompile(prevOutScript).filter(x => {\n return x !== script_1.OPS.OP_CODESEPARATOR;\n }),\n );\n const txTmp = this.clone();\n // SIGHASH_NONE: ignore all outputs? (wildcard payee)\n if ((hashType & 0x1f) === Transaction.SIGHASH_NONE) {\n txTmp.outs = [];\n // ignore sequence numbers (except at inIndex)\n txTmp.ins.forEach((input, i) => {\n if (i === inIndex) return;\n input.sequence = 0;\n });\n // SIGHASH_SINGLE: ignore all outputs, except at the same index?\n } else if ((hashType & 0x1f) === Transaction.SIGHASH_SINGLE) {\n // https://github.com/bitcoin/bitcoin/blob/master/src/test/sighash_tests.cpp#L60\n if (inIndex >= this.outs.length) return ONE;\n // truncate outputs after\n txTmp.outs.length = inIndex + 1;\n // \"blank\" outputs before\n for (let i = 0; i < inIndex; i++) {\n txTmp.outs[i] = BLANK_OUTPUT;\n }\n // ignore sequence numbers (except at inIndex)\n txTmp.ins.forEach((input, y) => {\n if (y === inIndex) return;\n input.sequence = 0;\n });\n }\n // SIGHASH_ANYONECANPAY: ignore inputs entirely?\n if (hashType & Transaction.SIGHASH_ANYONECANPAY) {\n txTmp.ins = [txTmp.ins[inIndex]];\n txTmp.ins[0].script = ourScript;\n // SIGHASH_ALL: only ignore input scripts\n } else {\n // \"blank\" others input scripts\n txTmp.ins.forEach(input => {\n input.script = EMPTY_BUFFER;\n });\n txTmp.ins[inIndex].script = ourScript;\n }\n // serialize and hash\n const buffer = Buffer.allocUnsafe(txTmp.byteLength(false) + 4);\n buffer.writeInt32LE(hashType, buffer.length - 4);\n txTmp.__toBuffer(buffer, 0, false);\n return bcrypto.hash256(buffer);\n }\n hashForWitnessV1(inIndex, prevOutScripts, values, hashType, leafHash, annex) {\n // https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#common-signature-message\n typeforce(\n types.tuple(\n types.UInt32,\n typeforce.arrayOf(types.Buffer),\n typeforce.arrayOf(types.Satoshi),\n types.UInt32,\n ),\n arguments,\n );\n if (\n values.length !== this.ins.length ||\n prevOutScripts.length !== this.ins.length\n ) {\n throw new Error('Must supply prevout script and value for all inputs');\n }\n const outputType =\n hashType === Transaction.SIGHASH_DEFAULT\n ? Transaction.SIGHASH_ALL\n : hashType & Transaction.SIGHASH_OUTPUT_MASK;\n const inputType = hashType & Transaction.SIGHASH_INPUT_MASK;\n const isAnyoneCanPay = inputType === Transaction.SIGHASH_ANYONECANPAY;\n const isNone = outputType === Transaction.SIGHASH_NONE;\n const isSingle = outputType === Transaction.SIGHASH_SINGLE;\n let hashPrevouts = EMPTY_BUFFER;\n let hashAmounts = EMPTY_BUFFER;\n let hashScriptPubKeys = EMPTY_BUFFER;\n let hashSequences = EMPTY_BUFFER;\n let hashOutputs = EMPTY_BUFFER;\n if (!isAnyoneCanPay) {\n let bufferWriter = bufferutils_1.BufferWriter.withCapacity(\n 36 * this.ins.length,\n );\n this.ins.forEach(txIn => {\n bufferWriter.writeSlice(txIn.hash);\n bufferWriter.writeUInt32(txIn.index);\n });\n hashPrevouts = bcrypto.sha256(bufferWriter.end());\n bufferWriter = bufferutils_1.BufferWriter.withCapacity(\n 8 * this.ins.length,\n );\n values.forEach(value => bufferWriter.writeUInt64(value));\n hashAmounts = bcrypto.sha256(bufferWriter.end());\n bufferWriter = bufferutils_1.BufferWriter.withCapacity(\n prevOutScripts.map(varSliceSize).reduce((a, b) => a + b),\n );\n prevOutScripts.forEach(prevOutScript =>\n bufferWriter.writeVarSlice(prevOutScript),\n );\n hashScriptPubKeys = bcrypto.sha256(bufferWriter.end());\n bufferWriter = bufferutils_1.BufferWriter.withCapacity(\n 4 * this.ins.length,\n );\n this.ins.forEach(txIn => bufferWriter.writeUInt32(txIn.sequence));\n hashSequences = bcrypto.sha256(bufferWriter.end());\n }\n if (!(isNone || isSingle)) {\n const txOutsSize = this.outs\n .map(output => 8 + varSliceSize(output.script))\n .reduce((a, b) => a + b);\n const bufferWriter = bufferutils_1.BufferWriter.withCapacity(txOutsSize);\n this.outs.forEach(out => {\n bufferWriter.writeUInt64(out.value);\n bufferWriter.writeVarSlice(out.script);\n });\n hashOutputs = bcrypto.sha256(bufferWriter.end());\n } else if (isSingle && inIndex < this.outs.length) {\n const output = this.outs[inIndex];\n const bufferWriter = bufferutils_1.BufferWriter.withCapacity(\n 8 + varSliceSize(output.script),\n );\n bufferWriter.writeUInt64(output.value);\n bufferWriter.writeVarSlice(output.script);\n hashOutputs = bcrypto.sha256(bufferWriter.end());\n }\n const spendType = (leafHash ? 2 : 0) + (annex ? 1 : 0);\n // Length calculation from:\n // https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#cite_note-14\n // With extension from:\n // https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki#signature-validation\n const sigMsgSize =\n 174 -\n (isAnyoneCanPay ? 49 : 0) -\n (isNone ? 32 : 0) +\n (annex ? 32 : 0) +\n (leafHash ? 37 : 0);\n const sigMsgWriter = bufferutils_1.BufferWriter.withCapacity(sigMsgSize);\n sigMsgWriter.writeUInt8(hashType);\n // Transaction\n sigMsgWriter.writeInt32(this.version);\n sigMsgWriter.writeUInt32(this.locktime);\n sigMsgWriter.writeSlice(hashPrevouts);\n sigMsgWriter.writeSlice(hashAmounts);\n sigMsgWriter.writeSlice(hashScriptPubKeys);\n sigMsgWriter.writeSlice(hashSequences);\n if (!(isNone || isSingle)) {\n sigMsgWriter.writeSlice(hashOutputs);\n }\n // Input\n sigMsgWriter.writeUInt8(spendType);\n if (isAnyoneCanPay) {\n const input = this.ins[inIndex];\n sigMsgWriter.writeSlice(input.hash);\n sigMsgWriter.writeUInt32(input.index);\n sigMsgWriter.writeUInt64(values[inIndex]);\n sigMsgWriter.writeVarSlice(prevOutScripts[inIndex]);\n sigMsgWriter.writeUInt32(input.sequence);\n } else {\n sigMsgWriter.writeUInt32(inIndex);\n }\n if (annex) {\n const bufferWriter = bufferutils_1.BufferWriter.withCapacity(\n varSliceSize(annex),\n );\n bufferWriter.writeVarSlice(annex);\n sigMsgWriter.writeSlice(bcrypto.sha256(bufferWriter.end()));\n }\n // Output\n if (isSingle) {\n sigMsgWriter.writeSlice(hashOutputs);\n }\n // BIP342 extension\n if (leafHash) {\n sigMsgWriter.writeSlice(leafHash);\n sigMsgWriter.writeUInt8(0);\n sigMsgWriter.writeUInt32(0xffffffff);\n }\n // Extra zero byte because:\n // https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#cite_note-19\n return bcrypto.taggedHash(\n 'TapSighash',\n Buffer.concat([Buffer.from([0x00]), sigMsgWriter.end()]),\n );\n }\n hashForWitnessV0(inIndex, prevOutScript, value, hashType) {\n typeforce(\n types.tuple(types.UInt32, types.Buffer, types.Satoshi, types.UInt32),\n arguments,\n );\n let tbuffer = Buffer.from([]);\n let bufferWriter;\n let hashOutputs = ZERO;\n let hashPrevouts = ZERO;\n let hashSequence = ZERO;\n if (!(hashType & Transaction.SIGHASH_ANYONECANPAY)) {\n tbuffer = Buffer.allocUnsafe(36 * this.ins.length);\n bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0);\n this.ins.forEach(txIn => {\n bufferWriter.writeSlice(txIn.hash);\n bufferWriter.writeUInt32(txIn.index);\n });\n hashPrevouts = bcrypto.hash256(tbuffer);\n }\n if (\n !(hashType & Transaction.SIGHASH_ANYONECANPAY) &&\n (hashType & 0x1f) !== Transaction.SIGHASH_SINGLE &&\n (hashType & 0x1f) !== Transaction.SIGHASH_NONE\n ) {\n tbuffer = Buffer.allocUnsafe(4 * this.ins.length);\n bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0);\n this.ins.forEach(txIn => {\n bufferWriter.writeUInt32(txIn.sequence);\n });\n hashSequence = bcrypto.hash256(tbuffer);\n }\n if (\n (hashType & 0x1f) !== Transaction.SIGHASH_SINGLE &&\n (hashType & 0x1f) !== Transaction.SIGHASH_NONE\n ) {\n const txOutsSize = this.outs.reduce((sum, output) => {\n return sum + 8 + varSliceSize(output.script);\n }, 0);\n tbuffer = Buffer.allocUnsafe(txOutsSize);\n bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0);\n this.outs.forEach(out => {\n bufferWriter.writeUInt64(out.value);\n bufferWriter.writeVarSlice(out.script);\n });\n hashOutputs = bcrypto.hash256(tbuffer);\n } else if (\n (hashType & 0x1f) === Transaction.SIGHASH_SINGLE &&\n inIndex < this.outs.length\n ) {\n const output = this.outs[inIndex];\n tbuffer = Buffer.allocUnsafe(8 + varSliceSize(output.script));\n bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0);\n bufferWriter.writeUInt64(output.value);\n bufferWriter.writeVarSlice(output.script);\n hashOutputs = bcrypto.hash256(tbuffer);\n }\n tbuffer = Buffer.allocUnsafe(156 + varSliceSize(prevOutScript));\n bufferWriter = new bufferutils_1.BufferWriter(tbuffer, 0);\n const input = this.ins[inIndex];\n bufferWriter.writeInt32(this.version);\n bufferWriter.writeSlice(hashPrevouts);\n bufferWriter.writeSlice(hashSequence);\n bufferWriter.writeSlice(input.hash);\n bufferWriter.writeUInt32(input.index);\n bufferWriter.writeVarSlice(prevOutScript);\n bufferWriter.writeUInt64(value);\n bufferWriter.writeUInt32(input.sequence);\n bufferWriter.writeSlice(hashOutputs);\n bufferWriter.writeUInt32(this.locktime);\n bufferWriter.writeUInt32(hashType);\n return bcrypto.hash256(tbuffer);\n }\n getHash(forWitness) {\n // wtxid for coinbase is always 32 bytes of 0x00\n if (forWitness && this.isCoinbase()) return Buffer.alloc(32, 0);\n return bcrypto.hash256(this.__toBuffer(undefined, undefined, forWitness));\n }\n getId() {\n // transaction hash's are displayed in reverse order\n return (0, bufferutils_1.reverseBuffer)(this.getHash(false)).toString(\n 'hex',\n );\n }\n toBuffer(buffer, initialOffset) {\n return this.__toBuffer(buffer, initialOffset, true);\n }\n toHex() {\n return this.toBuffer(undefined, undefined).toString('hex');\n }\n setInputScript(index, scriptSig) {\n typeforce(types.tuple(types.Number, types.Buffer), arguments);\n this.ins[index].script = scriptSig;\n }\n setWitness(index, witness) {\n typeforce(types.tuple(types.Number, [types.Buffer]), arguments);\n this.ins[index].witness = witness;\n }\n __toBuffer(buffer, initialOffset, _ALLOW_WITNESS = false) {\n if (!buffer) buffer = Buffer.allocUnsafe(this.byteLength(_ALLOW_WITNESS));\n const bufferWriter = new bufferutils_1.BufferWriter(\n buffer,\n initialOffset || 0,\n );\n bufferWriter.writeInt32(this.version);\n const hasWitnesses = _ALLOW_WITNESS && this.hasWitnesses();\n if (hasWitnesses) {\n bufferWriter.writeUInt8(Transaction.ADVANCED_TRANSACTION_MARKER);\n bufferWriter.writeUInt8(Transaction.ADVANCED_TRANSACTION_FLAG);\n }\n bufferWriter.writeVarInt(this.ins.length);\n this.ins.forEach(txIn => {\n bufferWriter.writeSlice(txIn.hash);\n bufferWriter.writeUInt32(txIn.index);\n bufferWriter.writeVarSlice(txIn.script);\n bufferWriter.writeUInt32(txIn.sequence);\n });\n bufferWriter.writeVarInt(this.outs.length);\n this.outs.forEach(txOut => {\n if (isOutput(txOut)) {\n bufferWriter.writeUInt64(txOut.value);\n } else {\n bufferWriter.writeSlice(txOut.valueBuffer);\n }\n bufferWriter.writeVarSlice(txOut.script);\n });\n if (hasWitnesses) {\n this.ins.forEach(input => {\n bufferWriter.writeVector(input.witness);\n });\n }\n bufferWriter.writeUInt32(this.locktime);\n // avoid slicing unless necessary\n if (initialOffset !== undefined)\n return buffer.slice(initialOffset, bufferWriter.offset);\n return buffer;\n }\n}\nexports.Transaction = Transaction;\nTransaction.DEFAULT_SEQUENCE = 0xffffffff;\nTransaction.SIGHASH_DEFAULT = 0x00;\nTransaction.SIGHASH_ALL = 0x01;\nTransaction.SIGHASH_NONE = 0x02;\nTransaction.SIGHASH_SINGLE = 0x03;\nTransaction.SIGHASH_ANYONECANPAY = 0x80;\nTransaction.SIGHASH_OUTPUT_MASK = 0x03;\nTransaction.SIGHASH_INPUT_MASK = 0x80;\nTransaction.ADVANCED_TRANSACTION_MARKER = 0x00;\nTransaction.ADVANCED_TRANSACTION_FLAG = 0x01;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.oneOf =\n exports.Null =\n exports.BufferN =\n exports.Function =\n exports.UInt32 =\n exports.UInt8 =\n exports.tuple =\n exports.maybe =\n exports.Hex =\n exports.Buffer =\n exports.String =\n exports.Boolean =\n exports.Array =\n exports.Number =\n exports.Hash256bit =\n exports.Hash160bit =\n exports.Buffer256bit =\n exports.isTaptree =\n exports.isTapleaf =\n exports.TAPLEAF_VERSION_MASK =\n exports.Network =\n exports.ECPoint =\n exports.Satoshi =\n exports.Signer =\n exports.BIP32Path =\n exports.UInt31 =\n exports.isPoint =\n exports.typeforce =\n void 0;\nconst buffer_1 = require('buffer');\nexports.typeforce = require('typeforce');\nconst ZERO32 = buffer_1.Buffer.alloc(32, 0);\nconst EC_P = buffer_1.Buffer.from(\n 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f',\n 'hex',\n);\nfunction isPoint(p) {\n if (!buffer_1.Buffer.isBuffer(p)) return false;\n if (p.length < 33) return false;\n const t = p[0];\n const x = p.slice(1, 33);\n if (x.compare(ZERO32) === 0) return false;\n if (x.compare(EC_P) >= 0) return false;\n if ((t === 0x02 || t === 0x03) && p.length === 33) {\n return true;\n }\n const y = p.slice(33);\n if (y.compare(ZERO32) === 0) return false;\n if (y.compare(EC_P) >= 0) return false;\n if (t === 0x04 && p.length === 65) return true;\n return false;\n}\nexports.isPoint = isPoint;\nconst UINT31_MAX = Math.pow(2, 31) - 1;\nfunction UInt31(value) {\n return exports.typeforce.UInt32(value) && value <= UINT31_MAX;\n}\nexports.UInt31 = UInt31;\nfunction BIP32Path(value) {\n return (\n exports.typeforce.String(value) && !!value.match(/^(m\\/)?(\\d+'?\\/)*\\d+'?$/)\n );\n}\nexports.BIP32Path = BIP32Path;\nBIP32Path.toJSON = () => {\n return 'BIP32 derivation path';\n};\nfunction Signer(obj) {\n return (\n (exports.typeforce.Buffer(obj.publicKey) ||\n typeof obj.getPublicKey === 'function') &&\n typeof obj.sign === 'function'\n );\n}\nexports.Signer = Signer;\nconst SATOSHI_MAX = 21 * 1e14;\nfunction Satoshi(value) {\n return exports.typeforce.UInt53(value) && value <= SATOSHI_MAX;\n}\nexports.Satoshi = Satoshi;\n// external dependent types\nexports.ECPoint = exports.typeforce.quacksLike('Point');\n// exposed, external API\nexports.Network = exports.typeforce.compile({\n messagePrefix: exports.typeforce.oneOf(\n exports.typeforce.Buffer,\n exports.typeforce.String,\n ),\n bip32: {\n public: exports.typeforce.UInt32,\n private: exports.typeforce.UInt32,\n },\n pubKeyHash: exports.typeforce.UInt8,\n scriptHash: exports.typeforce.UInt8,\n wif: exports.typeforce.UInt8,\n});\nexports.TAPLEAF_VERSION_MASK = 0xfe;\nfunction isTapleaf(o) {\n if (!o || !('output' in o)) return false;\n if (!buffer_1.Buffer.isBuffer(o.output)) return false;\n if (o.version !== undefined)\n return (o.version & exports.TAPLEAF_VERSION_MASK) === o.version;\n return true;\n}\nexports.isTapleaf = isTapleaf;\nfunction isTaptree(scriptTree) {\n if (!(0, exports.Array)(scriptTree)) return isTapleaf(scriptTree);\n if (scriptTree.length !== 2) return false;\n return scriptTree.every(t => isTaptree(t));\n}\nexports.isTaptree = isTaptree;\nexports.Buffer256bit = exports.typeforce.BufferN(32);\nexports.Hash160bit = exports.typeforce.BufferN(20);\nexports.Hash256bit = exports.typeforce.BufferN(32);\nexports.Number = exports.typeforce.Number;\nexports.Array = exports.typeforce.Array;\nexports.Boolean = exports.typeforce.Boolean;\nexports.String = exports.typeforce.String;\nexports.Buffer = exports.typeforce.Buffer;\nexports.Hex = exports.typeforce.Hex;\nexports.maybe = exports.typeforce.maybe;\nexports.tuple = exports.typeforce.tuple;\nexports.UInt8 = exports.typeforce.UInt8;\nexports.UInt32 = exports.typeforce.UInt32;\nexports.Function = exports.typeforce.Function;\nexports.BufferN = exports.typeforce.BufferN;\nexports.Null = exports.typeforce.Null;\nexports.oneOf = exports.typeforce.oneOf;\n","const basex = require('base-x')\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = new Uint8Array(zeroes + (size - it4))\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","'use strict'\n\nvar base58 = require('bs58')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (checksumFn) {\n // Encode a buffer as a base58-check encoded string\n function encode (payload) {\n var checksum = checksumFn(payload)\n\n return base58.encode(Buffer.concat([\n payload,\n checksum\n ], payload.length + 4))\n }\n\n function decodeRaw (buffer) {\n var payload = buffer.slice(0, -4)\n var checksum = buffer.slice(-4)\n var newChecksum = checksumFn(payload)\n\n if (checksum[0] ^ newChecksum[0] |\n checksum[1] ^ newChecksum[1] |\n checksum[2] ^ newChecksum[2] |\n checksum[3] ^ newChecksum[3]) return\n\n return payload\n }\n\n // Decode a base58-check encoded string to a buffer, no result if checksum is wrong\n function decodeUnsafe (string) {\n var buffer = base58.decodeUnsafe(string)\n if (!buffer) return\n\n return decodeRaw(buffer)\n }\n\n function decode (string) {\n var buffer = base58.decode(string)\n var payload = decodeRaw(buffer, checksumFn)\n if (!payload) throw new Error('Invalid checksum')\n return payload\n }\n\n return {\n encode: encode,\n decode: decode,\n decodeUnsafe: decodeUnsafe\n }\n}\n","'use strict'\n\nvar createHash = require('create-hash')\nvar bs58checkBase = require('./base')\n\n// SHA256(SHA256(buffer))\nfunction sha256x2 (buffer) {\n var tmp = createHash('sha256').update(buffer).digest()\n return createHash('sha256').update(tmp).digest()\n}\n\nmodule.exports = bs58checkBase(sha256x2)\n","var basex = require('base-x')\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","module.exports = function reverse (src) {\n var buffer = new Buffer(src.length)\n\n for (var i = 0, j = src.length - 1; i <= j; ++i, --j) {\n buffer[i] = src[j]\n buffer[j] = src[i]\n }\n\n return buffer\n}\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.ECPairFactory = exports.networks = void 0;\nconst networks = require('./networks');\nexports.networks = networks;\nconst types = require('./types');\nconst randomBytes = require('randombytes');\nconst wif = require('wif');\nconst testecc_1 = require('./testecc');\nconst isOptions = types.typeforce.maybe(\n types.typeforce.compile({\n compressed: types.maybe(types.Boolean),\n network: types.maybe(types.Network),\n }),\n);\nconst toXOnly = (pubKey) =>\n pubKey.length === 32 ? pubKey : pubKey.slice(1, 33);\nfunction ECPairFactory(ecc) {\n (0, testecc_1.testEcc)(ecc);\n function isPoint(maybePoint) {\n return ecc.isPoint(maybePoint);\n }\n function fromPrivateKey(buffer, options) {\n types.typeforce(types.Buffer256bit, buffer);\n if (!ecc.isPrivate(buffer))\n throw new TypeError('Private key not in range [1, n)');\n types.typeforce(isOptions, options);\n return new ECPair(buffer, undefined, options);\n }\n function fromPublicKey(buffer, options) {\n types.typeforce(ecc.isPoint, buffer);\n types.typeforce(isOptions, options);\n return new ECPair(undefined, buffer, options);\n }\n function fromWIF(wifString, network) {\n const decoded = wif.decode(wifString);\n const version = decoded.version;\n // list of networks?\n if (types.Array(network)) {\n network = network\n .filter((x) => {\n return version === x.wif;\n })\n .pop();\n if (!network) throw new Error('Unknown network version');\n // otherwise, assume a network object (or default to bitcoin)\n } else {\n network = network || networks.bitcoin;\n if (version !== network.wif) throw new Error('Invalid network version');\n }\n return fromPrivateKey(decoded.privateKey, {\n compressed: decoded.compressed,\n network: network,\n });\n }\n function makeRandom(options) {\n types.typeforce(isOptions, options);\n if (options === undefined) options = {};\n const rng = options.rng || randomBytes;\n let d;\n do {\n d = rng(32);\n types.typeforce(types.Buffer256bit, d);\n } while (!ecc.isPrivate(d));\n return fromPrivateKey(d, options);\n }\n class ECPair {\n __D;\n __Q;\n compressed;\n network;\n lowR;\n constructor(__D, __Q, options) {\n this.__D = __D;\n this.__Q = __Q;\n this.lowR = false;\n if (options === undefined) options = {};\n this.compressed =\n options.compressed === undefined ? true : options.compressed;\n this.network = options.network || networks.bitcoin;\n if (__Q !== undefined)\n this.__Q = Buffer.from(ecc.pointCompress(__Q, this.compressed));\n }\n get privateKey() {\n return this.__D;\n }\n get publicKey() {\n if (!this.__Q) {\n // It is not possible for both `__Q` and `__D` to be `undefined` at the same time.\n // The factory methods guard for this.\n const p = ecc.pointFromScalar(this.__D, this.compressed);\n // It is not possible for `p` to be null.\n // `fromPrivateKey()` checks that `__D` is a valid scalar.\n this.__Q = Buffer.from(p);\n }\n return this.__Q;\n }\n toWIF() {\n if (!this.__D) throw new Error('Missing private key');\n return wif.encode(this.network.wif, this.__D, this.compressed);\n }\n tweak(t) {\n if (this.privateKey) return this.tweakFromPrivateKey(t);\n return this.tweakFromPublicKey(t);\n }\n sign(hash, lowR) {\n if (!this.__D) throw new Error('Missing private key');\n if (lowR === undefined) lowR = this.lowR;\n if (lowR === false) {\n return Buffer.from(ecc.sign(hash, this.__D));\n } else {\n let sig = ecc.sign(hash, this.__D);\n const extraData = Buffer.alloc(32, 0);\n let counter = 0;\n // if first try is lowR, skip the loop\n // for second try and on, add extra entropy counting up\n while (sig[0] > 0x7f) {\n counter++;\n extraData.writeUIntLE(counter, 0, 6);\n sig = ecc.sign(hash, this.__D, extraData);\n }\n return Buffer.from(sig);\n }\n }\n signSchnorr(hash) {\n if (!this.privateKey) throw new Error('Missing private key');\n if (!ecc.signSchnorr)\n throw new Error('signSchnorr not supported by ecc library');\n return Buffer.from(ecc.signSchnorr(hash, this.privateKey));\n }\n verify(hash, signature) {\n return ecc.verify(hash, this.publicKey, signature);\n }\n verifySchnorr(hash, signature) {\n if (!ecc.verifySchnorr)\n throw new Error('verifySchnorr not supported by ecc library');\n return ecc.verifySchnorr(hash, this.publicKey.subarray(1, 33), signature);\n }\n tweakFromPublicKey(t) {\n const xOnlyPubKey = toXOnly(this.publicKey);\n const tweakedPublicKey = ecc.xOnlyPointAddTweak(xOnlyPubKey, t);\n if (!tweakedPublicKey || tweakedPublicKey.xOnlyPubkey === null)\n throw new Error('Cannot tweak public key!');\n const parityByte = Buffer.from([\n tweakedPublicKey.parity === 0 ? 0x02 : 0x03,\n ]);\n return fromPublicKey(\n Buffer.concat([parityByte, tweakedPublicKey.xOnlyPubkey]),\n { network: this.network, compressed: this.compressed },\n );\n }\n tweakFromPrivateKey(t) {\n const hasOddY =\n this.publicKey[0] === 3 ||\n (this.publicKey[0] === 4 && (this.publicKey[64] & 1) === 1);\n const privateKey = hasOddY\n ? ecc.privateNegate(this.privateKey)\n : this.privateKey;\n const tweakedPrivateKey = ecc.privateAdd(privateKey, t);\n if (!tweakedPrivateKey) throw new Error('Invalid tweaked private key!');\n return fromPrivateKey(Buffer.from(tweakedPrivateKey), {\n network: this.network,\n compressed: this.compressed,\n });\n }\n }\n return {\n isPoint,\n fromPrivateKey,\n fromPublicKey,\n fromWIF,\n makeRandom,\n };\n}\nexports.ECPairFactory = ECPairFactory;\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.networks = exports.ECPairFactory = exports.default = void 0;\nvar ecpair_1 = require('./ecpair');\nObject.defineProperty(exports, 'default', {\n enumerable: true,\n get: function () {\n return ecpair_1.ECPairFactory;\n },\n});\nObject.defineProperty(exports, 'ECPairFactory', {\n enumerable: true,\n get: function () {\n return ecpair_1.ECPairFactory;\n },\n});\nObject.defineProperty(exports, 'networks', {\n enumerable: true,\n get: function () {\n return ecpair_1.networks;\n },\n});\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.testnet = exports.bitcoin = void 0;\nexports.bitcoin = {\n messagePrefix: '\\x18Bitcoin Signed Message:\\n',\n bech32: 'bc',\n bip32: {\n public: 0x0488b21e,\n private: 0x0488ade4,\n },\n pubKeyHash: 0x00,\n scriptHash: 0x05,\n wif: 0x80,\n};\nexports.testnet = {\n messagePrefix: '\\x18Bitcoin Signed Message:\\n',\n bech32: 'tb',\n bip32: {\n public: 0x043587cf,\n private: 0x04358394,\n },\n pubKeyHash: 0x6f,\n scriptHash: 0xc4,\n wif: 0xef,\n};\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.testEcc = void 0;\nconst h = (hex) => Buffer.from(hex, 'hex');\nfunction testEcc(ecc) {\n assert(\n ecc.isPoint(\n h('0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n ),\n );\n assert(\n !ecc.isPoint(\n h('030000000000000000000000000000000000000000000000000000000000000005'),\n ),\n );\n assert(\n ecc.isPrivate(\n h('79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n ),\n );\n // order - 1\n assert(\n ecc.isPrivate(\n h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140'),\n ),\n );\n // 0\n assert(\n !ecc.isPrivate(\n h('0000000000000000000000000000000000000000000000000000000000000000'),\n ),\n );\n // order\n assert(\n !ecc.isPrivate(\n h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141'),\n ),\n );\n // order + 1\n assert(\n !ecc.isPrivate(\n h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142'),\n ),\n );\n // 1 + 0 == 1\n assert(\n Buffer.from(\n ecc.privateAdd(\n h('0000000000000000000000000000000000000000000000000000000000000001'),\n h('0000000000000000000000000000000000000000000000000000000000000000'),\n ),\n ).equals(\n h('0000000000000000000000000000000000000000000000000000000000000001'),\n ),\n );\n // -3 + 3 == 0\n assert(\n ecc.privateAdd(\n h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e'),\n h('0000000000000000000000000000000000000000000000000000000000000003'),\n ) === null,\n );\n assert(\n Buffer.from(\n ecc.privateAdd(\n h('e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500'),\n h('b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665'),\n ),\n ).equals(\n h('9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24'),\n ),\n );\n assert(\n Buffer.from(\n ecc.privateNegate(\n h('0000000000000000000000000000000000000000000000000000000000000001'),\n ),\n ).equals(\n h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140'),\n ),\n );\n assert(\n Buffer.from(\n ecc.privateNegate(\n h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e'),\n ),\n ).equals(\n h('0000000000000000000000000000000000000000000000000000000000000003'),\n ),\n );\n assert(\n Buffer.from(\n ecc.privateNegate(\n h('b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af'),\n ),\n ).equals(\n h('4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792'),\n ),\n );\n assert(\n Buffer.from(\n ecc.pointCompress(\n h(\n '0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n ),\n true,\n ),\n ).equals(\n h('0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n ),\n );\n assert(\n Buffer.from(\n ecc.pointCompress(\n h(\n '0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n ),\n false,\n ),\n ).equals(\n h(\n '0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n ),\n ),\n );\n assert(\n Buffer.from(\n ecc.pointCompress(\n h('0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n true,\n ),\n ).equals(\n h('0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n ),\n );\n assert(\n Buffer.from(\n ecc.pointCompress(\n h('0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n false,\n ),\n ).equals(\n h(\n '0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n ),\n ),\n );\n assert(\n Buffer.from(\n ecc.pointFromScalar(\n h('b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af'),\n ),\n ).equals(\n h('02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99'),\n ),\n );\n assert(\n ecc.xOnlyPointAddTweak(\n h('79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140'),\n ) === null,\n );\n let xOnlyRes = ecc.xOnlyPointAddTweak(\n h('1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b'),\n h('a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac'),\n );\n assert(\n Buffer.from(xOnlyRes.xOnlyPubkey).equals(\n h('e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf'),\n ) && xOnlyRes.parity === 1,\n );\n xOnlyRes = ecc.xOnlyPointAddTweak(\n h('2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991'),\n h('823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47'),\n );\n assert(\n Buffer.from(xOnlyRes.xOnlyPubkey).equals(\n h('9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c'),\n ) && xOnlyRes.parity === 0,\n );\n assert(\n Buffer.from(\n ecc.sign(\n h('5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed'),\n h('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140'),\n ),\n ).equals(\n h(\n '54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5',\n ),\n ),\n );\n assert(\n ecc.verify(\n h('5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed'),\n h('0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),\n h(\n '54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5',\n ),\n ),\n );\n if (ecc.signSchnorr) {\n assert(\n Buffer.from(\n ecc.signSchnorr(\n h('7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c'),\n h('c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9'),\n h('c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906'),\n ),\n ).equals(\n h(\n '5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7',\n ),\n ),\n );\n }\n if (ecc.verifySchnorr) {\n assert(\n ecc.verifySchnorr(\n h('7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c'),\n h('dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8'),\n h(\n '5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7',\n ),\n ),\n );\n }\n}\nexports.testEcc = testEcc;\nfunction assert(bool) {\n if (!bool) throw new Error('ecc library invalid');\n}\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.maybe =\n exports.Boolean =\n exports.Array =\n exports.Buffer256bit =\n exports.Network =\n exports.typeforce =\n void 0;\nexports.typeforce = require('typeforce');\n// exposed, external API\nexports.Network = exports.typeforce.compile({\n messagePrefix: exports.typeforce.oneOf(\n exports.typeforce.Buffer,\n exports.typeforce.String,\n ),\n bip32: {\n public: exports.typeforce.UInt32,\n private: exports.typeforce.UInt32,\n },\n pubKeyHash: exports.typeforce.UInt8,\n scriptHash: exports.typeforce.UInt8,\n wif: exports.typeforce.UInt8,\n});\nexports.Buffer256bit = exports.typeforce.BufferN(32);\nexports.Array = exports.typeforce.Array;\nexports.Boolean = exports.typeforce.Boolean; // tslint:disable-line variable-name\nexports.maybe = exports.typeforce.maybe;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decode = exports.encode = exports.unescape = exports.escape = exports.pad = void 0;\nconst base64_js_1 = require(\"base64-js\");\nfunction pad(base64) {\n return `${base64}${'='.repeat(4 - (base64.length % 4 || 4))}`;\n}\nexports.pad = pad;\nfunction escape(base64) {\n return base64.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nexports.escape = escape;\nfunction unescape(base64Url) {\n return pad(base64Url).replace(/-/g, '+').replace(/_/g, '/');\n}\nexports.unescape = unescape;\nfunction encode(base64) {\n return escape((0, base64_js_1.fromByteArray)(new TextEncoder().encode(base64)));\n}\nexports.encode = encode;\nfunction decode(base64Url) {\n return new TextDecoder().decode((0, base64_js_1.toByteArray)(pad(unescape(base64Url))));\n}\nexports.decode = decode;\n//# sourceMappingURL=base64Url.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cryptoClients = exports.SECP256K1Client = void 0;\nconst secp256k1_1 = require(\"./secp256k1\");\nObject.defineProperty(exports, \"SECP256K1Client\", { enumerable: true, get: function () { return secp256k1_1.SECP256K1Client; } });\nconst cryptoClients = {\n ES256K: secp256k1_1.SECP256K1Client,\n};\nexports.cryptoClients = cryptoClients;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SECP256K1Client = void 0;\nconst hmac_1 = require(\"@noble/hashes/hmac\");\nconst sha256_1 = require(\"@noble/hashes/sha256\");\nconst secp = require(\"@noble/secp256k1\");\nconst ecdsaSigFormatter_1 = require(\"../ecdsaSigFormatter\");\nconst errors_1 = require(\"../errors\");\nconst utils_1 = require(\"@noble/hashes/utils\");\n// required to use noble secp https://github.com/paulmillr/noble-secp256k1\nsecp.utils.hmacSha256Sync = (key, ...msgs) => {\n const h = hmac_1.hmac.create(sha256_1.sha256, key);\n msgs.forEach(msg => h.update(msg));\n return h.digest();\n};\nclass SECP256K1Client {\n static derivePublicKey(privateKey, compressed = true) {\n if (privateKey.length === 66) {\n privateKey = privateKey.slice(0, 64);\n }\n if (privateKey.length < 64) {\n // backward compatibly accept too short private keys\n privateKey = privateKey.padStart(64, '0');\n }\n return (0, utils_1.bytesToHex)(secp.getPublicKey(privateKey, compressed));\n }\n static signHash(signingInputHash, privateKey, format = 'jose') {\n // make sure the required parameters are provided\n if (!signingInputHash || !privateKey) {\n throw new errors_1.MissingParametersError('a signing input hash and private key are all required');\n }\n const derSignature = secp.signSync(signingInputHash, privateKey.slice(0, 64), {\n der: true,\n canonical: false,\n });\n if (format === 'der')\n return (0, utils_1.bytesToHex)(derSignature);\n if (format === 'jose')\n return (0, ecdsaSigFormatter_1.derToJose)(derSignature, 'ES256');\n throw Error('Invalid signature format');\n }\n static loadSignature(joseSignature) {\n // create and return the DER-formatted signature bytes\n return (0, ecdsaSigFormatter_1.joseToDer)(joseSignature, 'ES256');\n }\n static verifyHash(signingInputHash, derSignatureBytes, publicKey) {\n // make sure the required parameters are provided\n if (!signingInputHash || !derSignatureBytes || !publicKey) {\n throw new errors_1.MissingParametersError('a signing input hash, der signature, and public key are all required');\n }\n return secp.verify(derSignatureBytes, signingInputHash, publicKey, { strict: false });\n }\n}\nexports.SECP256K1Client = SECP256K1Client;\nSECP256K1Client.algorithmName = 'ES256K';\n//# sourceMappingURL=secp256k1.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hashSha256Async = exports.hashSha256 = void 0;\nconst sha256_1 = require(\"@noble/hashes/sha256\");\nfunction hashSha256(input) {\n return (0, sha256_1.sha256)(input);\n}\nexports.hashSha256 = hashSha256;\nfunction hashSha256Async(input) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const isSubtleCryptoAvailable = typeof crypto !== 'undefined' && typeof crypto.subtle !== 'undefined';\n if (isSubtleCryptoAvailable) {\n // Use the W3C Web Crypto API if available (running in a web browser).\n const bytes = typeof input === 'string' ? new TextEncoder().encode(input) : input;\n const hash = yield crypto.subtle.digest('SHA-256', bytes);\n return new Uint8Array(hash);\n }\n else {\n // Otherwise try loading the Node.js `crypto` module (running in Node.js, or an older browser with a polyfill).\n const nodeCrypto = require('crypto');\n if (!nodeCrypto.createHash) {\n throw new Error('`crypto` module does not contain `createHash`');\n }\n return Promise.resolve(nodeCrypto.createHash('sha256').update(input).digest());\n }\n }\n catch (error) {\n console.log(error);\n console.log('Crypto lib not found. Neither the global `crypto.subtle` Web Crypto API, ' +\n 'nor the or the Node.js `require(\"crypto\").createHash` module is available. ' +\n 'Falling back to JS implementation.');\n return Promise.resolve(hashSha256(input));\n }\n });\n}\nexports.hashSha256Async = hashSha256Async;\n//# sourceMappingURL=sha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeToken = void 0;\nconst base64url = require(\"./base64Url\");\nfunction decodeToken(token) {\n if (typeof token === 'string') {\n // decompose the token into parts\n const tokenParts = token.split('.');\n const header = JSON.parse(base64url.decode(tokenParts[0]));\n const payload = JSON.parse(base64url.decode(tokenParts[1]));\n const signature = tokenParts[2];\n // return the token object\n return {\n header: header,\n payload: payload,\n signature: signature,\n };\n }\n else if (typeof token === 'object') {\n if (typeof token.payload !== 'string') {\n throw new Error('Expected token payload to be a base64 or json string');\n }\n let payload = token.payload;\n if (token.payload[0] !== '{') {\n payload = base64url.decode(payload);\n }\n const allHeaders = [];\n token.header.map((headerValue) => {\n const header = JSON.parse(base64url.decode(headerValue));\n allHeaders.push(header);\n });\n return {\n header: allHeaders,\n payload: JSON.parse(payload),\n signature: token.signature,\n };\n }\n}\nexports.decodeToken = decodeToken;\n//# sourceMappingURL=decode.js.map","\"use strict\";\n// NOTICE\n// Copyright 2015 D2L Corporation\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.joseToDer = exports.derToJose = void 0;\n// The following code is adapted from https://github.com/Brightspace/node-ecdsa-sig-formatter\nconst base64_js_1 = require(\"base64-js\");\nconst base64Url_1 = require(\"./base64Url\");\nfunction getParamSize(keySize) {\n return ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1);\n}\nconst paramBytesForAlg = {\n ES256: getParamSize(256),\n ES384: getParamSize(384),\n ES512: getParamSize(521),\n};\nfunction getParamBytesForAlg(alg) {\n const paramBytes = paramBytesForAlg[alg];\n if (paramBytes) {\n return paramBytes;\n }\n throw new Error(`Unknown algorithm \"${alg}\"`);\n}\nconst MAX_OCTET = 0x80;\nconst CLASS_UNIVERSAL = 0;\nconst PRIMITIVE_BIT = 0x20;\nconst TAG_SEQ = 0x10;\nconst TAG_INT = 0x02;\nconst ENCODED_TAG_SEQ = TAG_SEQ | PRIMITIVE_BIT | (CLASS_UNIVERSAL << 6);\nconst ENCODED_TAG_INT = TAG_INT | (CLASS_UNIVERSAL << 6);\nfunction signatureAsBytes(signature) {\n if (signature instanceof Uint8Array) {\n return signature;\n }\n else if ('string' === typeof signature) {\n return (0, base64_js_1.toByteArray)((0, base64Url_1.pad)(signature));\n }\n throw new TypeError('ECDSA signature must be a Base64 string or a Uint8Array');\n}\nfunction derToJose(signature, alg) {\n const signatureBytes = signatureAsBytes(signature);\n const paramBytes = getParamBytesForAlg(alg);\n // the DER encoded param should at most be the param size, plus a padding\n // zero, since due to being a signed integer\n const maxEncodedParamLength = paramBytes + 1;\n const inputLength = signatureBytes.length;\n let offset = 0;\n if (signatureBytes[offset++] !== ENCODED_TAG_SEQ) {\n throw new Error('Could not find expected \"seq\"');\n }\n let seqLength = signatureBytes[offset++];\n if (seqLength === (MAX_OCTET | 1)) {\n seqLength = signatureBytes[offset++];\n }\n if (inputLength - offset < seqLength) {\n throw new Error(`\"seq\" specified length of \"${seqLength}\", only \"${inputLength - offset}\" remaining`);\n }\n if (signatureBytes[offset++] !== ENCODED_TAG_INT) {\n throw new Error('Could not find expected \"int\" for \"r\"');\n }\n const rLength = signatureBytes[offset++];\n if (inputLength - offset - 2 < rLength) {\n throw new Error(`\"r\" specified length of \"${rLength}\", only \"${inputLength - offset - 2}\" available`);\n }\n if (maxEncodedParamLength < rLength) {\n throw new Error(`\"r\" specified length of \"${rLength}\", max of \"${maxEncodedParamLength}\" is acceptable`);\n }\n const rOffset = offset;\n offset += rLength;\n if (signatureBytes[offset++] !== ENCODED_TAG_INT) {\n throw new Error('Could not find expected \"int\" for \"s\"');\n }\n const sLength = signatureBytes[offset++];\n if (inputLength - offset !== sLength) {\n throw new Error(`\"s\" specified length of \"${sLength}\", expected \"${inputLength - offset}\"`);\n }\n if (maxEncodedParamLength < sLength) {\n throw new Error(`\"s\" specified length of \"${sLength}\", max of \"${maxEncodedParamLength}\" is acceptable`);\n }\n const sOffset = offset;\n offset += sLength;\n if (offset !== inputLength) {\n throw new Error(`Expected to consume entire array, but \"${inputLength - offset}\" bytes remain`);\n }\n const rPadding = paramBytes - rLength;\n const sPadding = paramBytes - sLength;\n const dst = new Uint8Array(rPadding + rLength + sPadding + sLength);\n for (offset = 0; offset < rPadding; ++offset) {\n dst[offset] = 0;\n }\n dst.set(signatureBytes.subarray(rOffset + Math.max(-rPadding, 0), rOffset + rLength), offset);\n offset = paramBytes;\n for (const o = offset; offset < o + sPadding; ++offset) {\n dst[offset] = 0;\n }\n dst.set(signatureBytes.subarray(sOffset + Math.max(-sPadding, 0), sOffset + sLength), offset);\n return (0, base64Url_1.escape)((0, base64_js_1.fromByteArray)(dst));\n}\nexports.derToJose = derToJose;\nfunction countPadding(buf, start, stop) {\n let padding = 0;\n while (start + padding < stop && buf[start + padding] === 0) {\n ++padding;\n }\n const needsSign = buf[start + padding] >= MAX_OCTET;\n if (needsSign) {\n --padding;\n }\n return padding;\n}\nfunction joseToDer(signature, alg) {\n signature = signatureAsBytes(signature);\n const paramBytes = getParamBytesForAlg(alg);\n const signatureBytes = signature.length;\n if (signatureBytes !== paramBytes * 2) {\n throw new TypeError(`\"${alg}\" signatures must be \"${paramBytes * 2}\" bytes, saw \"${signatureBytes}\"`);\n }\n const rPadding = countPadding(signature, 0, paramBytes);\n const sPadding = countPadding(signature, paramBytes, signature.length);\n const rLength = paramBytes - rPadding;\n const sLength = paramBytes - sPadding;\n const rsBytes = 1 + 1 + rLength + 1 + 1 + sLength;\n const shortLength = rsBytes < MAX_OCTET;\n const dst = new Uint8Array((shortLength ? 2 : 3) + rsBytes);\n let offset = 0;\n dst[offset++] = ENCODED_TAG_SEQ;\n if (shortLength) {\n // Bit 8 has value \"0\"\n // bits 7-1 give the length.\n dst[offset++] = rsBytes;\n }\n else {\n // Bit 8 of first octet has value \"1\"\n // bits 7-1 give the number of additional length octets.\n dst[offset++] = MAX_OCTET | 1;\n // length, base 256\n dst[offset++] = rsBytes & 0xff;\n }\n dst[offset++] = ENCODED_TAG_INT;\n dst[offset++] = rLength;\n if (rPadding < 0) {\n dst[offset++] = 0;\n dst.set(signature.subarray(0, paramBytes), offset);\n offset += paramBytes;\n }\n else {\n dst.set(signature.subarray(rPadding, paramBytes), offset);\n offset += paramBytes - rPadding;\n }\n dst[offset++] = ENCODED_TAG_INT;\n dst[offset++] = sLength;\n if (sPadding < 0) {\n dst[offset++] = 0;\n dst.set(signature.subarray(paramBytes), offset);\n }\n else {\n dst.set(signature.subarray(paramBytes + sPadding), offset);\n }\n return dst;\n}\nexports.joseToDer = joseToDer;\n//# sourceMappingURL=ecdsaSigFormatter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidTokenError = exports.MissingParametersError = void 0;\nclass MissingParametersError extends Error {\n constructor(message) {\n super();\n this.name = 'MissingParametersError';\n this.message = message || '';\n }\n}\nexports.MissingParametersError = MissingParametersError;\nclass InvalidTokenError extends Error {\n constructor(message) {\n super();\n this.name = 'InvalidTokenError';\n this.message = message || '';\n }\n}\nexports.InvalidTokenError = InvalidTokenError;\n//# sourceMappingURL=errors.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./signer\"), exports);\n__exportStar(require(\"./verifier\"), exports);\n__exportStar(require(\"./decode\"), exports);\n__exportStar(require(\"./errors\"), exports);\n__exportStar(require(\"./cryptoClients\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenSigner = exports.createUnsecuredToken = void 0;\nconst base64url = require(\"./base64Url\");\nconst cryptoClients_1 = require(\"./cryptoClients\");\nconst errors_1 = require(\"./errors\");\nconst sha256_1 = require(\"./cryptoClients/sha256\");\nfunction createSigningInput(payload, header) {\n const tokenParts = [];\n // add in the header\n const encodedHeader = base64url.encode(JSON.stringify(header));\n tokenParts.push(encodedHeader);\n // add in the payload\n const encodedPayload = base64url.encode(JSON.stringify(payload));\n tokenParts.push(encodedPayload);\n // prepare the message\n const signingInput = tokenParts.join('.');\n // return the signing input\n return signingInput;\n}\nfunction createUnsecuredToken(payload) {\n const header = { typ: 'JWT', alg: 'none' };\n return createSigningInput(payload, header) + '.';\n}\nexports.createUnsecuredToken = createUnsecuredToken;\nclass TokenSigner {\n constructor(signingAlgorithm, rawPrivateKey) {\n if (!(signingAlgorithm && rawPrivateKey)) {\n throw new errors_1.MissingParametersError('a signing algorithm and private key are required');\n }\n if (typeof signingAlgorithm !== 'string') {\n throw new Error('signing algorithm parameter must be a string');\n }\n signingAlgorithm = signingAlgorithm.toUpperCase();\n if (!cryptoClients_1.cryptoClients.hasOwnProperty(signingAlgorithm)) {\n throw new Error('invalid signing algorithm');\n }\n this.tokenType = 'JWT';\n this.cryptoClient = cryptoClients_1.cryptoClients[signingAlgorithm];\n this.rawPrivateKey = rawPrivateKey;\n }\n header(header = {}) {\n const defaultHeader = { typ: this.tokenType, alg: this.cryptoClient.algorithmName };\n return Object.assign({}, defaultHeader, header);\n }\n sign(payload, expanded = false, customHeader = {}) {\n // generate the token header\n const header = this.header(customHeader);\n // prepare the message to be signed\n const signingInput = createSigningInput(payload, header);\n const signingInputHash = (0, sha256_1.hashSha256)(signingInput);\n return this.createWithSignedHash(payload, expanded, header, signingInput, signingInputHash);\n }\n signAsync(payload, expanded = false, customHeader = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n // generate the token header\n const header = this.header(customHeader);\n // prepare the message to be signed\n const signingInput = createSigningInput(payload, header);\n const signingInputHash = yield (0, sha256_1.hashSha256Async)(signingInput);\n return this.createWithSignedHash(payload, expanded, header, signingInput, signingInputHash);\n });\n }\n createWithSignedHash(payload, expanded, header, signingInput, signingInputHash) {\n // sign the message and add in the signature\n const signature = this.cryptoClient.signHash(signingInputHash, this.rawPrivateKey);\n if (expanded) {\n const signedToken = {\n header: [base64url.encode(JSON.stringify(header))],\n payload: JSON.stringify(payload),\n signature: [signature],\n };\n return signedToken;\n }\n else {\n return [signingInput, signature].join('.');\n }\n }\n}\nexports.TokenSigner = TokenSigner;\n//# sourceMappingURL=signer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenVerifier = void 0;\nconst base64url = require(\"./base64Url\");\nconst cryptoClients_1 = require(\"./cryptoClients\");\nconst errors_1 = require(\"./errors\");\nconst sha256_1 = require(\"./cryptoClients/sha256\");\nclass TokenVerifier {\n constructor(signingAlgorithm, rawPublicKey) {\n if (!(signingAlgorithm && rawPublicKey)) {\n throw new errors_1.MissingParametersError('a signing algorithm and public key are required');\n }\n if (typeof signingAlgorithm !== 'string') {\n throw 'signing algorithm parameter must be a string';\n }\n signingAlgorithm = signingAlgorithm.toUpperCase();\n if (!cryptoClients_1.cryptoClients.hasOwnProperty(signingAlgorithm)) {\n throw 'invalid signing algorithm';\n }\n this.tokenType = 'JWT';\n this.cryptoClient = cryptoClients_1.cryptoClients[signingAlgorithm];\n this.rawPublicKey = rawPublicKey;\n }\n verify(token) {\n if (typeof token === 'string') {\n return this.verifyCompact(token, false);\n }\n else if (typeof token === 'object') {\n return this.verifyExpanded(token, false);\n }\n else {\n return false;\n }\n }\n verifyAsync(token) {\n if (typeof token === 'string') {\n return this.verifyCompact(token, true);\n }\n else if (typeof token === 'object') {\n return this.verifyExpanded(token, true);\n }\n else {\n return Promise.resolve(false);\n }\n }\n verifyCompact(token, async) {\n // decompose the token into parts\n const tokenParts = token.split('.');\n // calculate the signing input hash\n const signingInput = tokenParts[0] + '.' + tokenParts[1];\n const performVerify = (signingInputHash) => {\n // extract the signature as a DER array\n const derSignatureBytes = this.cryptoClient.loadSignature(tokenParts[2]);\n // verify the signed hash\n return this.cryptoClient.verifyHash(signingInputHash, derSignatureBytes, this.rawPublicKey);\n };\n if (async) {\n return (0, sha256_1.hashSha256Async)(signingInput).then(signingInputHash => performVerify(signingInputHash));\n }\n else {\n const signingInputHash = (0, sha256_1.hashSha256)(signingInput);\n return performVerify(signingInputHash);\n }\n }\n verifyExpanded(token, async) {\n const signingInput = [token['header'].join('.'), base64url.encode(token['payload'])].join('.');\n let verified = true;\n const performVerify = (signingInputHash) => {\n token['signature'].map((signature) => {\n const derSignatureBytes = this.cryptoClient.loadSignature(signature);\n const signatureVerified = this.cryptoClient.verifyHash(signingInputHash, derSignatureBytes, this.rawPublicKey);\n if (!signatureVerified) {\n verified = false;\n }\n });\n return verified;\n };\n if (async) {\n return (0, sha256_1.hashSha256Async)(signingInput).then(signingInputHash => performVerify(signingInputHash));\n }\n else {\n const signingInputHash = (0, sha256_1.hashSha256)(signingInput);\n return performVerify(signingInputHash);\n }\n }\n}\nexports.TokenVerifier = TokenVerifier;\n//# sourceMappingURL=verifier.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0;\nfunction number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nexports.number = number;\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nexports.bool = bool;\nfunction bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new TypeError('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nexports.bytes = bytes;\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nexports.hash = hash;\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nexports.exists = exists;\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexports.output = output;\nconst assert = {\n number,\n bool,\n bytes,\n hash,\n exists,\n output,\n};\nexports.default = assert;\n//# sourceMappingURL=_assert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SHA2 = void 0;\nconst _assert_js_1 = require(\"./_assert.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// Polyfill for Safari 14\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n// Base SHA2 class (RFC 6234)\nclass SHA2 extends utils_js_1.Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.buffer = new Uint8Array(blockLen);\n this.view = (0, utils_js_1.createView)(this.buffer);\n }\n update(data) {\n _assert_js_1.default.exists(this);\n const { view, buffer, blockLen } = this;\n data = (0, utils_js_1.toBytes)(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = (0, utils_js_1.createView)(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n _assert_js_1.default.exists(this);\n _assert_js_1.default.output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = (0, utils_js_1.createView)(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n}\nexports.SHA2 = SHA2;\n//# sourceMappingURL=_sha2.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.crypto = void 0;\nexports.crypto = {\n node: undefined,\n web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,\n};\n//# sourceMappingURL=cryptoBrowser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hmac = void 0;\nconst _assert_js_1 = require(\"./_assert.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// HMAC (RFC 2104)\nclass HMAC extends utils_js_1.Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n _assert_js_1.default.hash(hash);\n const key = (0, utils_js_1.toBytes)(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new TypeError('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf) {\n _assert_js_1.default.exists(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n _assert_js_1.default.exists(this);\n _assert_js_1.default.bytes(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nconst hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nexports.hmac = hmac;\nexports.hmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sha224 = exports.sha256 = void 0;\nconst _sha2_js_1 = require(\"./_sha2.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = new Uint32Array(64);\nclass SHA256 extends _sha2_js_1.SHA2 {\n constructor() {\n super(64, 32, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n this.F = IV[5] | 0;\n this.G = IV[6] | 0;\n this.H = IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = (0, utils_js_1.rotr)(W15, 7) ^ (0, utils_js_1.rotr)(W15, 18) ^ (W15 >>> 3);\n const s1 = (0, utils_js_1.rotr)(W2, 17) ^ (0, utils_js_1.rotr)(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = (0, utils_js_1.rotr)(E, 6) ^ (0, utils_js_1.rotr)(E, 11) ^ (0, utils_js_1.rotr)(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = (0, utils_js_1.rotr)(A, 2) ^ (0, utils_js_1.rotr)(A, 13) ^ (0, utils_js_1.rotr)(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n constructor() {\n super();\n this.A = 0xc1059ed8 | 0;\n this.B = 0x367cd507 | 0;\n this.C = 0x3070dd17 | 0;\n this.D = 0xf70e5939 | 0;\n this.E = 0xffc00b31 | 0;\n this.F = 0x68581511 | 0;\n this.G = 0x64f98fa7 | 0;\n this.H = 0xbefa4fa4 | 0;\n this.outputLen = 28;\n }\n}\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexports.sha256 = (0, utils_js_1.wrapConstructor)(() => new SHA256());\nexports.sha224 = (0, utils_js_1.wrapConstructor)(() => new SHA224());\n//# sourceMappingURL=sha256.js.map","\"use strict\";\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomBytes = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0;\n// The import here is via the package name. This is to ensure\n// that exports mapping/resolution does fall into place.\nconst crypto_1 = require(\"@noble/hashes/crypto\");\n// Cast array to different type\nconst u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexports.u8 = u8;\nconst u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\nexports.u32 = u32;\n// Cast array to view\nconst createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\nexports.createView = createView;\n// The rotate right (circular right shift) operation for uint32\nconst rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\nexports.rotr = rotr;\nexports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\n// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.\n// So, just to be sure not to corrupt anything.\nif (!exports.isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))\n */\nfunction bytesToHex(uint8a) {\n // pre-caching improves the speed 6x\n if (!(uint8a instanceof Uint8Array))\n throw new Error('Uint8Array expected');\n let hex = '';\n for (let i = 0; i < uint8a.length; i++) {\n hex += hexes[uint8a[i]];\n }\n return hex;\n}\nexports.bytesToHex = bytesToHex;\n/**\n * @example hexToBytes('deadbeef')\n */\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n }\n if (hex.length % 2)\n throw new Error('hexToBytes: received invalid unpadded hex');\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\nexports.hexToBytes = hexToBytes;\n// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise\n// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.\nconst nextTick = async () => { };\nexports.nextTick = nextTick;\n// Returns control to thread each 'tick' ms to avoid blocking\nasync function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await (0, exports.nextTick)();\n ts += diff;\n }\n}\nexports.asyncLoop = asyncLoop;\nfunction utf8ToBytes(str) {\n if (typeof str !== 'string') {\n throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\nexports.utf8ToBytes = utf8ToBytes;\nfunction toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!(data instanceof Uint8Array))\n throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);\n return data;\n}\nexports.toBytes = toBytes;\n/**\n * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`\n * @example concatBytes(buf1, buf2)\n */\nfunction concatBytes(...arrays) {\n if (!arrays.every((a) => a instanceof Uint8Array))\n throw new Error('Uint8Array list expected');\n if (arrays.length === 1)\n return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\nexports.concatBytes = concatBytes;\n// For runtime check if class implements interface\nclass Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nexports.Hash = Hash;\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\nfunction checkOpts(defaults, opts) {\n if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n throw new TypeError('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexports.checkOpts = checkOpts;\nfunction wrapConstructor(hashConstructor) {\n const hashC = (message) => hashConstructor().update(toBytes(message)).digest();\n const tmp = hashConstructor();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashConstructor();\n return hashC;\n}\nexports.wrapConstructor = wrapConstructor;\nfunction wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexports.wrapConstructorWithOpts = wrapConstructorWithOpts;\n/**\n * Secure PRNG\n */\nfunction randomBytes(bytesLength = 32) {\n if (crypto_1.crypto.web) {\n return crypto_1.crypto.web.getRandomValues(new Uint8Array(bytesLength));\n }\n else if (crypto_1.crypto.node) {\n return new Uint8Array(crypto_1.crypto.node.randomBytes(bytesLength).buffer);\n }\n else {\n throw new Error(\"The environment doesn't have randomBytes function\");\n }\n}\nexports.randomBytes = randomBytes;\n//# sourceMappingURL=utils.js.map","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAddress = void 0;\nconst jsontokens_1 = require(\"jsontokens\");\nconst provider_1 = require(\"../provider\");\nconst getAddress = async (options) => {\n const provider = await (0, provider_1.getProviderOrThrow)(options.getProvider);\n const { purposes } = options.payload;\n if (!purposes) {\n throw new Error('Address purposes are required');\n }\n try {\n const request = (0, jsontokens_1.createUnsecuredToken)(options.payload);\n const response = await provider.connect(request);\n options.onFinish?.(response);\n }\n catch (error) {\n console.error('[Connect] Error during address request', error);\n options.onCancel?.();\n }\n};\nexports.getAddress = getAddress;\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AddressPurpose = void 0;\nvar AddressPurpose;\n(function (AddressPurpose) {\n AddressPurpose[\"Ordinals\"] = \"ordinals\";\n AddressPurpose[\"Payment\"] = \"payment\";\n})(AddressPurpose = exports.AddressPurpose || (exports.AddressPurpose = {}));\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callWalletPopup = void 0;\nconst jsontokens_1 = require(\"jsontokens\");\nconst provider_1 = require(\"../provider\");\nconst callWalletPopup = async (options) => {\n const provider = await (0, provider_1.getProviderOrThrow)(options.getProvider);\n const { method } = options.payload;\n if (!method) {\n throw new Error('A wallet method is required');\n }\n const request = (0, jsontokens_1.createUnsecuredToken)(options.payload);\n try {\n const response = await provider.call(request);\n options.onFinish?.(response);\n }\n catch (error) {\n console.error('[Connect] Error during call request', error);\n options.onCancel?.();\n }\n};\nexports.callWalletPopup = callWalletPopup;\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCapabilities = void 0;\nconst jsontokens_1 = require(\"jsontokens\");\nconst provider_1 = require(\"../provider\");\nconst extractOrValidateCapabilities = (provider, reportedCapabilities) => {\n const validateCapability = (capability) => {\n if (!provider[capability]) {\n return false;\n }\n // The provider might have the method implemented but not ready for use\n if (reportedCapabilities && !reportedCapabilities.has(capability)) {\n return false;\n }\n return true;\n };\n const capabilityMap = {\n call: validateCapability('call'),\n connect: validateCapability('connect'),\n signMessage: validateCapability('signMessage'),\n signTransaction: validateCapability('signTransaction'),\n sendBtcTransaction: validateCapability('sendBtcTransaction'),\n createInscription: validateCapability('createInscription'),\n };\n return Object.entries(capabilityMap).reduce((acc, [capability, value]) => {\n if (value)\n return [...acc, capability];\n return acc;\n }, []);\n};\nconst getCapabilities = async (options) => {\n const provider = await (0, provider_1.getProviderOrThrow)(options.getProvider);\n const request = (0, jsontokens_1.createUnsecuredToken)(options.payload);\n if (provider.getCapabilities) {\n try {\n const response = await provider.getCapabilities(request);\n options.onFinish?.(extractOrValidateCapabilities(provider, new Set(response)));\n }\n catch (error) {\n console.error('[Connect] Error during capabilities request', error);\n }\n }\n try {\n const inferredCapabilities = extractOrValidateCapabilities(provider);\n options.onFinish?.(inferredCapabilities);\n }\n catch (error) {\n console.error('[Connect] Error during capabilities request', error);\n options.onCancel?.();\n }\n};\nexports.getCapabilities = getCapabilities;\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./addresses\"), exports);\n__exportStar(require(\"./call\"), exports);\n__exportStar(require(\"./capabilities\"), exports);\n__exportStar(require(\"./inscriptions\"), exports);\n__exportStar(require(\"./messages\"), exports);\n__exportStar(require(\"./provider\"), exports);\n__exportStar(require(\"./transactions\"), exports);\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createInscription = exports.validateInscriptionPayload = void 0;\nconst jsontokens_1 = require(\"jsontokens\");\nconst provider_1 = require(\"../provider\");\nconst MAX_CONTENT_LENGTH_MAINNET = 400e3; // 400kb is the max miners will mine\nconst MAX_CONTENT_LENGTH_TESTNET = 60e3; // 60kb limit on Testnet to prevent spam\nconst validateInscriptionPayload = (payload) => {\n const { contentType, content, payloadType, network, appFeeAddress, appFee } = payload;\n if (!/^[a-z]+\\/[a-z0-9\\-\\.\\+]+(?=;.*|$)/.test(contentType)) {\n throw new Error('Invalid content type detected');\n }\n if (!content || content.length === 0) {\n throw new Error('Empty content not allowed');\n }\n if (!payloadType || (payloadType !== 'BASE_64' && payloadType !== 'PLAIN_TEXT')) {\n throw new Error('Empty invalid payloadType specified');\n }\n if (content.length >\n (network.type === 'Mainnet' ? MAX_CONTENT_LENGTH_MAINNET : MAX_CONTENT_LENGTH_TESTNET)) {\n throw new Error('Content too large');\n }\n if ((appFeeAddress?.length ?? 0) > 0 && (appFee ?? 0) <= 0) {\n throw new Error('Invalid combination of app fee address and fee provided');\n }\n};\nexports.validateInscriptionPayload = validateInscriptionPayload;\nconst createInscription = async (options) => {\n const { getProvider } = options;\n const provider = await (0, provider_1.getProviderOrThrow)(getProvider);\n (0, exports.validateInscriptionPayload)(options.payload);\n try {\n const request = (0, jsontokens_1.createUnsecuredToken)(options.payload);\n const response = await provider.createInscription(request);\n options.onFinish?.(response);\n }\n catch (error) {\n console.error('[Connect] Error during create inscription', error);\n options.onCancel?.();\n }\n};\nexports.createInscription = createInscription;\n//# sourceMappingURL=createInscription.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./createInscription\"), exports);\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.signMessage = void 0;\nconst jsontokens_1 = require(\"jsontokens\");\nconst provider_1 = require(\"../provider\");\nconst signMessage = async (options) => {\n const provider = await (0, provider_1.getProviderOrThrow)(options.getProvider);\n const { address, message } = options.payload;\n if (!address) {\n throw new Error('An address is required to sign a message');\n }\n if (!message) {\n throw new Error('A message to be signed is required');\n }\n try {\n const request = (0, jsontokens_1.createUnsecuredToken)(options.payload);\n const response = await provider.signMessage(request);\n options.onFinish?.(response);\n }\n catch (error) {\n console.error('[Connect] Error during sign message request', error);\n options.onCancel?.();\n }\n};\nexports.signMessage = signMessage;\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProviderOrThrow = void 0;\nasync function getProviderOrThrow(getProvider) {\n const provider = (await getProvider?.()) || window.BitcoinProvider;\n if (!provider) {\n throw new Error('No Bitcoin wallet installed');\n }\n return provider;\n}\nexports.getProviderOrThrow = getProviderOrThrow;\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./sendBtcTransaction\"), exports);\n__exportStar(require(\"./signTransaction\"), exports);\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sendBtcTransaction = void 0;\nconst jsontokens_1 = require(\"jsontokens\");\nconst provider_1 = require(\"../provider\");\nconst serializer = (recipient) => {\n return recipient.map((value) => {\n const { address, amountSats } = value;\n return {\n address,\n amountSats: amountSats.toString(),\n };\n });\n};\nconst sendBtcTransaction = async (options) => {\n const provider = await (0, provider_1.getProviderOrThrow)(options.getProvider);\n const { recipients, senderAddress, network, message } = options.payload;\n if (!recipients || recipients.length === 0) {\n throw new Error('At least one recipient is required');\n }\n if (recipients.some((item) => typeof item.address !== 'string' || typeof item.amountSats !== 'bigint')) {\n throw new Error('Incorrect recipient format');\n }\n if (!senderAddress) {\n throw new Error('The sender address is required');\n }\n try {\n const serializedRecipients = serializer(recipients);\n const serializedPayload = {\n network,\n senderAddress,\n message,\n recipients: serializedRecipients,\n };\n const request = (0, jsontokens_1.createUnsecuredToken)(serializedPayload);\n const response = await provider.sendBtcTransaction(request);\n options.onFinish?.(response);\n }\n catch (error) {\n console.error('[Connect] Error during send BTC transaction request', error);\n options.onCancel?.();\n }\n};\nexports.sendBtcTransaction = sendBtcTransaction;\n//# sourceMappingURL=sendBtcTransaction.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.signTransaction = void 0;\nconst jsontokens_1 = require(\"jsontokens\");\nconst provider_1 = require(\"../provider\");\nconst signTransaction = async (options) => {\n const provider = await (0, provider_1.getProviderOrThrow)(options.getProvider);\n const { psbtBase64, inputsToSign } = options.payload;\n if (!psbtBase64) {\n throw new Error('A value for psbtBase64 representing the tx hash is required');\n }\n if (!inputsToSign) {\n throw new Error('An array specifying the inputs to be signed by the wallet is required');\n }\n try {\n const request = (0, jsontokens_1.createUnsecuredToken)(options.payload);\n const response = await provider.signTransaction(request);\n options.onFinish?.(response);\n }\n catch (error) {\n console.error('[Connect] Error during sign transaction request', error);\n options.onCancel?.();\n }\n};\nexports.signTransaction = signTransaction;\n//# sourceMappingURL=signTransaction.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BitcoinNetworkType = void 0;\nvar BitcoinNetworkType;\n(function (BitcoinNetworkType) {\n BitcoinNetworkType[\"Mainnet\"] = \"Mainnet\";\n BitcoinNetworkType[\"Testnet\"] = \"Testnet\";\n})(BitcoinNetworkType = exports.BitcoinNetworkType || (exports.BitcoinNetworkType = {}));\n//# sourceMappingURL=types.js.map","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","var native = require('./native')\n\nfunction getTypeName (fn) {\n return fn.name || fn.toString().match(/function (.*?)\\s*\\(/)[1]\n}\n\nfunction getValueTypeName (value) {\n return native.Nil(value) ? '' : getTypeName(value.constructor)\n}\n\nfunction getValue (value) {\n if (native.Function(value)) return ''\n if (native.String(value)) return JSON.stringify(value)\n if (value && native.Object(value)) return ''\n return value\n}\n\nfunction captureStackTrace (e, t) {\n if (Error.captureStackTrace) {\n Error.captureStackTrace(e, t)\n }\n}\n\nfunction tfJSON (type) {\n if (native.Function(type)) return type.toJSON ? type.toJSON() : getTypeName(type)\n if (native.Array(type)) return 'Array'\n if (type && native.Object(type)) return 'Object'\n\n return type !== undefined ? type : ''\n}\n\nfunction tfErrorString (type, value, valueTypeName) {\n var valueJson = getValue(value)\n\n return 'Expected ' + tfJSON(type) + ', got' +\n (valueTypeName !== '' ? ' ' + valueTypeName : '') +\n (valueJson !== '' ? ' ' + valueJson : '')\n}\n\nfunction TfTypeError (type, value, valueTypeName) {\n valueTypeName = valueTypeName || getValueTypeName(value)\n this.message = tfErrorString(type, value, valueTypeName)\n\n captureStackTrace(this, TfTypeError)\n this.__type = type\n this.__value = value\n this.__valueTypeName = valueTypeName\n}\n\nTfTypeError.prototype = Object.create(Error.prototype)\nTfTypeError.prototype.constructor = TfTypeError\n\nfunction tfPropertyErrorString (type, label, name, value, valueTypeName) {\n var description = '\" of type '\n if (label === 'key') description = '\" with key type '\n\n return tfErrorString('property \"' + tfJSON(name) + description + tfJSON(type), value, valueTypeName)\n}\n\nfunction TfPropertyTypeError (type, property, label, value, valueTypeName) {\n if (type) {\n valueTypeName = valueTypeName || getValueTypeName(value)\n this.message = tfPropertyErrorString(type, label, property, value, valueTypeName)\n } else {\n this.message = 'Unexpected property \"' + property + '\"'\n }\n\n captureStackTrace(this, TfTypeError)\n this.__label = label\n this.__property = property\n this.__type = type\n this.__value = value\n this.__valueTypeName = valueTypeName\n}\n\nTfPropertyTypeError.prototype = Object.create(Error.prototype)\nTfPropertyTypeError.prototype.constructor = TfTypeError\n\nfunction tfCustomError (expected, actual) {\n return new TfTypeError(expected, {}, actual)\n}\n\nfunction tfSubError (e, property, label) {\n // sub child?\n if (e instanceof TfPropertyTypeError) {\n property = property + '.' + e.__property\n\n e = new TfPropertyTypeError(\n e.__type, property, e.__label, e.__value, e.__valueTypeName\n )\n\n // child?\n } else if (e instanceof TfTypeError) {\n e = new TfPropertyTypeError(\n e.__type, property, label, e.__value, e.__valueTypeName\n )\n }\n\n captureStackTrace(e)\n return e\n}\n\nmodule.exports = {\n TfTypeError: TfTypeError,\n TfPropertyTypeError: TfPropertyTypeError,\n tfCustomError: tfCustomError,\n tfSubError: tfSubError,\n tfJSON: tfJSON,\n getValueTypeName: getValueTypeName\n}\n","var NATIVE = require('./native')\nvar ERRORS = require('./errors')\n\nfunction _Buffer (value) {\n return Buffer.isBuffer(value)\n}\n\nfunction Hex (value) {\n return typeof value === 'string' && /^([0-9a-f]{2})+$/i.test(value)\n}\n\nfunction _LengthN (type, length) {\n var name = type.toJSON()\n\n function Length (value) {\n if (!type(value)) return false\n if (value.length === length) return true\n\n throw ERRORS.tfCustomError(name + '(Length: ' + length + ')', name + '(Length: ' + value.length + ')')\n }\n Length.toJSON = function () { return name }\n\n return Length\n}\n\nvar _ArrayN = _LengthN.bind(null, NATIVE.Array)\nvar _BufferN = _LengthN.bind(null, _Buffer)\nvar _HexN = _LengthN.bind(null, Hex)\nvar _StringN = _LengthN.bind(null, NATIVE.String)\n\nfunction Range (a, b, f) {\n f = f || NATIVE.Number\n function _range (value, strict) {\n return f(value, strict) && (value > a) && (value < b)\n }\n _range.toJSON = function () {\n return `${f.toJSON()} between [${a}, ${b}]`\n }\n return _range\n}\n\nvar INT53_MAX = Math.pow(2, 53) - 1\n\nfunction Finite (value) {\n return typeof value === 'number' && isFinite(value)\n}\nfunction Int8 (value) { return ((value << 24) >> 24) === value }\nfunction Int16 (value) { return ((value << 16) >> 16) === value }\nfunction Int32 (value) { return (value | 0) === value }\nfunction Int53 (value) {\n return typeof value === 'number' &&\n value >= -INT53_MAX &&\n value <= INT53_MAX &&\n Math.floor(value) === value\n}\nfunction UInt8 (value) { return (value & 0xff) === value }\nfunction UInt16 (value) { return (value & 0xffff) === value }\nfunction UInt32 (value) { return (value >>> 0) === value }\nfunction UInt53 (value) {\n return typeof value === 'number' &&\n value >= 0 &&\n value <= INT53_MAX &&\n Math.floor(value) === value\n}\n\nvar types = {\n ArrayN: _ArrayN,\n Buffer: _Buffer,\n BufferN: _BufferN,\n Finite: Finite,\n Hex: Hex,\n HexN: _HexN,\n Int8: Int8,\n Int16: Int16,\n Int32: Int32,\n Int53: Int53,\n Range: Range,\n StringN: _StringN,\n UInt8: UInt8,\n UInt16: UInt16,\n UInt32: UInt32,\n UInt53: UInt53\n}\n\nfor (var typeName in types) {\n types[typeName].toJSON = function (t) {\n return t\n }.bind(null, typeName)\n}\n\nmodule.exports = types\n","var ERRORS = require('./errors')\nvar NATIVE = require('./native')\n\n// short-hand\nvar tfJSON = ERRORS.tfJSON\nvar TfTypeError = ERRORS.TfTypeError\nvar TfPropertyTypeError = ERRORS.TfPropertyTypeError\nvar tfSubError = ERRORS.tfSubError\nvar getValueTypeName = ERRORS.getValueTypeName\n\nvar TYPES = {\n arrayOf: function arrayOf (type, options) {\n type = compile(type)\n options = options || {}\n\n function _arrayOf (array, strict) {\n if (!NATIVE.Array(array)) return false\n if (NATIVE.Nil(array)) return false\n if (options.minLength !== undefined && array.length < options.minLength) return false\n if (options.maxLength !== undefined && array.length > options.maxLength) return false\n if (options.length !== undefined && array.length !== options.length) return false\n\n return array.every(function (value, i) {\n try {\n return typeforce(type, value, strict)\n } catch (e) {\n throw tfSubError(e, i)\n }\n })\n }\n _arrayOf.toJSON = function () {\n var str = '[' + tfJSON(type) + ']'\n if (options.length !== undefined) {\n str += '{' + options.length + '}'\n } else if (options.minLength !== undefined || options.maxLength !== undefined) {\n str += '{' +\n (options.minLength === undefined ? 0 : options.minLength) + ',' +\n (options.maxLength === undefined ? Infinity : options.maxLength) + '}'\n }\n return str\n }\n\n return _arrayOf\n },\n\n maybe: function maybe (type) {\n type = compile(type)\n\n function _maybe (value, strict) {\n return NATIVE.Nil(value) || type(value, strict, maybe)\n }\n _maybe.toJSON = function () { return '?' + tfJSON(type) }\n\n return _maybe\n },\n\n map: function map (propertyType, propertyKeyType) {\n propertyType = compile(propertyType)\n if (propertyKeyType) propertyKeyType = compile(propertyKeyType)\n\n function _map (value, strict) {\n if (!NATIVE.Object(value)) return false\n if (NATIVE.Nil(value)) return false\n\n for (var propertyName in value) {\n try {\n if (propertyKeyType) {\n typeforce(propertyKeyType, propertyName, strict)\n }\n } catch (e) {\n throw tfSubError(e, propertyName, 'key')\n }\n\n try {\n var propertyValue = value[propertyName]\n typeforce(propertyType, propertyValue, strict)\n } catch (e) {\n throw tfSubError(e, propertyName)\n }\n }\n\n return true\n }\n\n if (propertyKeyType) {\n _map.toJSON = function () {\n return '{' + tfJSON(propertyKeyType) + ': ' + tfJSON(propertyType) + '}'\n }\n } else {\n _map.toJSON = function () { return '{' + tfJSON(propertyType) + '}' }\n }\n\n return _map\n },\n\n object: function object (uncompiled) {\n var type = {}\n\n for (var typePropertyName in uncompiled) {\n type[typePropertyName] = compile(uncompiled[typePropertyName])\n }\n\n function _object (value, strict) {\n if (!NATIVE.Object(value)) return false\n if (NATIVE.Nil(value)) return false\n\n var propertyName\n\n try {\n for (propertyName in type) {\n var propertyType = type[propertyName]\n var propertyValue = value[propertyName]\n\n typeforce(propertyType, propertyValue, strict)\n }\n } catch (e) {\n throw tfSubError(e, propertyName)\n }\n\n if (strict) {\n for (propertyName in value) {\n if (type[propertyName]) continue\n\n throw new TfPropertyTypeError(undefined, propertyName)\n }\n }\n\n return true\n }\n _object.toJSON = function () { return tfJSON(type) }\n\n return _object\n },\n\n anyOf: function anyOf () {\n var types = [].slice.call(arguments).map(compile)\n\n function _anyOf (value, strict) {\n return types.some(function (type) {\n try {\n return typeforce(type, value, strict)\n } catch (e) {\n return false\n }\n })\n }\n _anyOf.toJSON = function () { return types.map(tfJSON).join('|') }\n\n return _anyOf\n },\n\n allOf: function allOf () {\n var types = [].slice.call(arguments).map(compile)\n\n function _allOf (value, strict) {\n return types.every(function (type) {\n try {\n return typeforce(type, value, strict)\n } catch (e) {\n return false\n }\n })\n }\n _allOf.toJSON = function () { return types.map(tfJSON).join(' & ') }\n\n return _allOf\n },\n\n quacksLike: function quacksLike (type) {\n function _quacksLike (value) {\n return type === getValueTypeName(value)\n }\n _quacksLike.toJSON = function () { return type }\n\n return _quacksLike\n },\n\n tuple: function tuple () {\n var types = [].slice.call(arguments).map(compile)\n\n function _tuple (values, strict) {\n if (NATIVE.Nil(values)) return false\n if (NATIVE.Nil(values.length)) return false\n if (strict && (values.length !== types.length)) return false\n\n return types.every(function (type, i) {\n try {\n return typeforce(type, values[i], strict)\n } catch (e) {\n throw tfSubError(e, i)\n }\n })\n }\n _tuple.toJSON = function () { return '(' + types.map(tfJSON).join(', ') + ')' }\n\n return _tuple\n },\n\n value: function value (expected) {\n function _value (actual) {\n return actual === expected\n }\n _value.toJSON = function () { return expected }\n\n return _value\n }\n}\n\n// TODO: deprecate\nTYPES.oneOf = TYPES.anyOf\n\nfunction compile (type) {\n if (NATIVE.String(type)) {\n if (type[0] === '?') return TYPES.maybe(type.slice(1))\n\n return NATIVE[type] || TYPES.quacksLike(type)\n } else if (type && NATIVE.Object(type)) {\n if (NATIVE.Array(type)) {\n if (type.length !== 1) throw new TypeError('Expected compile() parameter of type Array of length 1')\n return TYPES.arrayOf(type[0])\n }\n\n return TYPES.object(type)\n } else if (NATIVE.Function(type)) {\n return type\n }\n\n return TYPES.value(type)\n}\n\nfunction typeforce (type, value, strict, surrogate) {\n if (NATIVE.Function(type)) {\n if (type(value, strict)) return true\n\n throw new TfTypeError(surrogate || type, value)\n }\n\n // JIT\n return typeforce(compile(type), value, strict)\n}\n\n// assign types to typeforce function\nfor (var typeName in NATIVE) {\n typeforce[typeName] = NATIVE[typeName]\n}\n\nfor (typeName in TYPES) {\n typeforce[typeName] = TYPES[typeName]\n}\n\nvar EXTRA = require('./extra')\nfor (typeName in EXTRA) {\n typeforce[typeName] = EXTRA[typeName]\n}\n\ntypeforce.compile = compile\ntypeforce.TfTypeError = TfTypeError\ntypeforce.TfPropertyTypeError = TfPropertyTypeError\n\nmodule.exports = typeforce\n","var types = {\n Array: function (value) { return value !== null && value !== undefined && value.constructor === Array },\n Boolean: function (value) { return typeof value === 'boolean' },\n Function: function (value) { return typeof value === 'function' },\n Nil: function (value) { return value === undefined || value === null },\n Number: function (value) { return typeof value === 'number' },\n Object: function (value) { return typeof value === 'object' },\n String: function (value) { return typeof value === 'string' },\n '': function () { return true }\n}\n\n// TODO: deprecate\ntypes.Null = types.Nil\n\nfor (var typeName in types) {\n types[typeName].toJSON = function (t) {\n return t\n }.bind(null, typeName)\n}\n\nmodule.exports = types\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\n\n// Number.MAX_SAFE_INTEGER\nvar MAX_SAFE_INTEGER = 9007199254740991\n\nfunction checkUInt53 (n) {\n if (n < 0 || n > MAX_SAFE_INTEGER || n % 1 !== 0) throw new RangeError('value out of range')\n}\n\nfunction encode (number, buffer, offset) {\n checkUInt53(number)\n\n if (!buffer) buffer = Buffer.allocUnsafe(encodingLength(number))\n if (!Buffer.isBuffer(buffer)) throw new TypeError('buffer must be a Buffer instance')\n if (!offset) offset = 0\n\n // 8 bit\n if (number < 0xfd) {\n buffer.writeUInt8(number, offset)\n encode.bytes = 1\n\n // 16 bit\n } else if (number <= 0xffff) {\n buffer.writeUInt8(0xfd, offset)\n buffer.writeUInt16LE(number, offset + 1)\n encode.bytes = 3\n\n // 32 bit\n } else if (number <= 0xffffffff) {\n buffer.writeUInt8(0xfe, offset)\n buffer.writeUInt32LE(number, offset + 1)\n encode.bytes = 5\n\n // 64 bit\n } else {\n buffer.writeUInt8(0xff, offset)\n buffer.writeUInt32LE(number >>> 0, offset + 1)\n buffer.writeUInt32LE((number / 0x100000000) | 0, offset + 5)\n encode.bytes = 9\n }\n\n return buffer\n}\n\nfunction decode (buffer, offset) {\n if (!Buffer.isBuffer(buffer)) throw new TypeError('buffer must be a Buffer instance')\n if (!offset) offset = 0\n\n var first = buffer.readUInt8(offset)\n\n // 8 bit\n if (first < 0xfd) {\n decode.bytes = 1\n return first\n\n // 16 bit\n } else if (first === 0xfd) {\n decode.bytes = 3\n return buffer.readUInt16LE(offset + 1)\n\n // 32 bit\n } else if (first === 0xfe) {\n decode.bytes = 5\n return buffer.readUInt32LE(offset + 1)\n\n // 64 bit\n } else {\n decode.bytes = 9\n var lo = buffer.readUInt32LE(offset + 1)\n var hi = buffer.readUInt32LE(offset + 5)\n var number = hi * 0x0100000000 + lo\n checkUInt53(number)\n\n return number\n }\n}\n\nfunction encodingLength (number) {\n checkUInt53(number)\n\n return (\n number < 0xfd ? 1\n : number <= 0xffff ? 3\n : number <= 0xffffffff ? 5\n : 9\n )\n}\n\nmodule.exports = { encode: encode, decode: decode, encodingLength: encodingLength }\n","var bs58check = require('bs58check')\n\nfunction decodeRaw (buffer, version) {\n // check version only if defined\n if (version !== undefined && buffer[0] !== version) throw new Error('Invalid network version')\n\n // uncompressed\n if (buffer.length === 33) {\n return {\n version: buffer[0],\n privateKey: buffer.slice(1, 33),\n compressed: false\n }\n }\n\n // invalid length\n if (buffer.length !== 34) throw new Error('Invalid WIF length')\n\n // invalid compression flag\n if (buffer[33] !== 0x01) throw new Error('Invalid compression flag')\n\n return {\n version: buffer[0],\n privateKey: buffer.slice(1, 33),\n compressed: true\n }\n}\n\nfunction encodeRaw (version, privateKey, compressed) {\n var result = new Buffer(compressed ? 34 : 33)\n\n result.writeUInt8(version, 0)\n privateKey.copy(result, 1)\n\n if (compressed) {\n result[33] = 0x01\n }\n\n return result\n}\n\nfunction decode (string, version) {\n return decodeRaw(bs58check.decode(string), version)\n}\n\nfunction encode (version, privateKey, compressed) {\n if (typeof version === 'number') return bs58check.encode(encodeRaw(version, privateKey, compressed))\n\n return bs58check.encode(\n encodeRaw(\n version.version,\n version.privateKey,\n version.compressed\n )\n )\n}\n\nmodule.exports = {\n decode: decode,\n decodeRaw: decodeRaw,\n encode: encode,\n encodeRaw: encodeRaw\n}\n","var gt = Object.defineProperty;\nvar mt = (i, t, e) => t in i ? gt(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;\nvar h = (i, t, e) => (mt(i, typeof t != \"symbol\" ? t + \"\" : t, e), e), at = (i, t, e) => {\n if (!t.has(i))\n throw TypeError(\"Cannot \" + e);\n};\nvar a = (i, t, e) => (at(i, t, \"read from private field\"), e ? e.call(i) : t.get(i)), l = (i, t, e) => {\n if (t.has(i))\n throw TypeError(\"Cannot add the same private member more than once\");\n t instanceof WeakSet ? t.add(i) : t.set(i, e);\n}, p = (i, t, e, s) => (at(i, t, \"write to private field\"), s ? s.call(i, e) : t.set(i, e), e);\nimport * as It from \"@bitcoinerlab/secp256k1\";\nimport { Transaction as st, Psbt as nt, initEccLib as St } from \"bitcoinjs-lib\";\nimport { U as bt, O as f, o as ut, g as K, M as Tt, a as ht, B as yt, b as _, C as At, t as dt, c as lt, d as Ot, I as xt, e as L, f as Z, h as vt } from \"./index-7cd24a6f.js\";\nimport { k as te, A as ee, l as se, m as ne, n as ie, p as re, i as oe, j as ae } from \"./index-7cd24a6f.js\";\nimport ct from \"cross-fetch\";\nimport Ut from \"buffer-reverse\";\nimport \"bitcoin-address-validation\";\nimport \"bip32\";\nimport \"ecpair\";\nclass Et {\n constructor({ network: t }) {\n h(this, \"network\");\n this.network = t;\n }\n}\nclass q {\n /**\n * Parses an inscription.\n *\n * @param inscription Inscription\n * @param options Options\n * - `decodeMetadata` decodes the metadata object into [valid URI components](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent).\n * @returns Parsed inscription\n */\n static parseInscription(t, { decodeMetadata: e }) {\n return {\n ...t,\n meta: e && t.meta ? bt(t.meta) : t.meta\n };\n }\n /**\n * Parses inscriptions.\n *\n * @param inscriptions Inscriptions\n * @param options Options\n * - `decodeMetadata` decodes the metadata object into [valid URI components](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent).\n * @returns Parsed inscriptions\n */\n static parseInscriptions(t, { decodeMetadata: e }) {\n return t.map(\n (s) => this.parseInscription(s, { decodeMetadata: e })\n );\n }\n static segregateUTXOsBySpendStatus({\n utxos: t\n }) {\n const { spendableUTXOs: e, unspendableUTXOs: s } = t.reduce(\n (n, r) => (r.safeToSpend ? n.spendableUTXOs.push(r) : n.unspendableUTXOs.push(r), n),\n {\n spendableUTXOs: [],\n unspendableUTXOs: []\n }\n );\n return {\n totalUTXOs: t.length,\n spendableUTXOs: e,\n unspendableUTXOs: s\n };\n }\n}\nconst Q = {\n version: \"0.0.0.10\",\n apis: {\n mainnet: {\n batter: \"https://mainnet.ordit.io/\"\n },\n regtest: {\n batter: \"https://regtest.ordit.io/\"\n },\n testnet: {\n batter: \"https://testnet.ordit.io/\"\n }\n }\n};\nfunction Nt(i) {\n return typeof i == \"number\" && i > Number.NEGATIVE_INFINITY && i < Number.POSITIVE_INFINITY;\n}\nfunction Pt(i) {\n return Nt(i) && i % 1 === 0;\n}\nfunction Mt(i) {\n return typeof i == \"string\";\n}\nfunction jt(i) {\n return Mt(i) || Pt(i) || i === null;\n}\nfunction tt(i) {\n return i[i.length - 1] === \"/\" ? i.substring(0, i.length - 1) : i;\n}\nclass et {\n constructor(t) {\n this.url = t;\n }\n /**\n * Send a JSON-RPC 2.0 notification to the connected Sado compliant server.\n *\n * @param method - Method to call.\n * @param params - JSON-RPC 2.0 parameters.\n */\n async notify(t, e) {\n await ct(`${this.url}/rpc`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n jsonrpc: \"2.0\",\n method: t,\n params: e\n })\n });\n }\n async call(t, e, s) {\n let n = {}, r = s;\n jt(e) ? r = e : n = e;\n const u = await ct(`${this.url}/rpc`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n jsonrpc: \"2.0\",\n method: t,\n params: n,\n id: r\n })\n });\n if (u.status === 200) {\n const c = await u.json();\n if (c.error) {\n const d = typeof c.error.data == \"string\" ? c.error.data : c.error.message;\n throw new f(d);\n }\n return c.result;\n }\n throw new f(\"Internal Server Error\");\n }\n}\nconst w = {\n get id() {\n return Math.floor(Math.random() * 1e5);\n },\n mainnet: new et(tt(Q.apis.mainnet.batter)),\n testnet: new et(tt(Q.apis.testnet.batter)),\n regtest: new et(tt(Q.apis.regtest.batter))\n};\nclass wt extends Et {\n constructor({ network: t }) {\n super({ network: t });\n }\n async getBalance({ address: t }) {\n if (!t)\n throw new f(\"Invalid request\");\n return w[this.network].call(\n \"Address.GetBalance\",\n { address: t },\n w.id\n );\n }\n async getInscription({\n id: t,\n decodeMetadata: e = !1\n }) {\n if (!t)\n throw new f(\"Invalid request\");\n const s = ut(t), n = await w[this.network].call(\n \"Ordinals.GetInscription\",\n { id: s },\n w.id\n );\n return q.parseInscription(n, { decodeMetadata: e });\n }\n async getInscriptionUTXO({ id: t }) {\n if (!t)\n throw new f(\"Invalid request\");\n const e = ut(t);\n return w[this.network].call(\n \"Ordinals.GetInscriptionUtxo\",\n { id: e },\n w.id\n );\n }\n async getInscriptions({\n creator: t,\n owner: e,\n mimeType: s,\n mimeSubType: n,\n outpoint: r,\n decodeMetadata: u = !1,\n sort: c = \"asc\",\n limit: d = 25,\n next: m = null\n }) {\n let g = [], b = m;\n do {\n const { inscriptions: F, pagination: J } = await w[this.network].call(\n \"Ordinals.GetInscriptions\",\n {\n filter: { creator: t, owner: e, mimeType: s, mimeSubType: n, outpoint: r },\n sort: { number: c },\n pagination: { limit: d, next: b }\n },\n w.id\n );\n g = g.concat(F), b = J.next;\n } while (b !== null);\n return q.parseInscriptions(g, {\n decodeMetadata: u\n });\n }\n async getSpendables({\n address: t,\n value: e,\n rarity: s = [\"common\"],\n filter: n = [],\n limit: r = 200,\n type: u = \"spendable\"\n }) {\n if (!t || Number.isNaN(e) || !e)\n throw new f(\"Invalid request\");\n return w[this.network].call(\n \"Address.GetSpendables\",\n {\n address: t,\n value: e,\n safetospend: u === \"spendable\",\n allowedrarity: s,\n filter: n,\n limit: r\n },\n w.id\n );\n }\n async getTransaction({\n txId: t,\n ordinals: e = !0,\n hex: s = !1,\n witness: n = !0,\n decodeMetadata: r = !0\n }) {\n if (!t)\n throw new f(\"Invalid request\");\n const u = await w[this.network].call(\n \"Transactions.GetTransaction\",\n {\n txid: t,\n options: {\n ord: e,\n hex: s,\n witness: n\n }\n },\n w.id\n );\n return u.vout = u.vout.map((c) => ({\n ...c,\n inscriptions: q.parseInscriptions(c.inscriptions, {\n decodeMetadata: r\n })\n })), {\n tx: u,\n rawTx: s && u.hex ? st.fromHex(u.hex) : void 0\n };\n }\n async getUnspents({\n address: t,\n type: e = \"spendable\",\n rarity: s = [\"common\"],\n sort: n = \"desc\",\n limit: r = 50,\n next: u = null\n }) {\n if (!t)\n throw new f(\"Invalid request\");\n let c = [], d = u;\n do {\n const { unspents: m, pagination: g } = await w[this.network].call(\n \"Address.GetUnspents\",\n {\n address: t,\n options: {\n allowedrarity: s,\n safetospend: e === \"spendable\"\n },\n pagination: {\n limit: r,\n next: d\n },\n sort: { value: n }\n },\n w.id\n );\n c = c.concat(m), d = g.next;\n } while (d !== null);\n return q.segregateUTXOsBySpendStatus({ utxos: c });\n }\n async relay({ hex: t, maxFeeRate: e, validate: s = !0 }) {\n if (!t)\n throw new f(\"Invalid request\");\n if (e && (e < 0 || Number.isNaN(e)))\n throw new f(\"Invalid max fee rate\");\n return w[this.network].call(\n \"Transactions.Relay\",\n { hex: t, maxFeeRate: e, validate: s },\n w.id\n );\n }\n}\nconst Bt = 1e8, G = 21e4, it = 2016, ft = 6, A = 209999999769e4, kt = A - 1;\nclass rt {\n constructor(t, e) {\n this.height = t, this.offset = e;\n }\n static from(t) {\n return new rt(t.height, t.third);\n }\n toString() {\n return `${this.height.n}.${this.offset}`;\n }\n}\nclass Xt {\n constructor(t) {\n /**\n * A° - Index of Sat in the Block\n */\n h(this, \"hour\");\n /**\n * B′ - Index of the Block in the Difficulty Adjustment Period (every 2016 blocks)\n */\n h(this, \"minute\");\n /**\n * C″ - Index of Block in Halving Epoch (every 210_000 blocks)\n */\n h(this, \"second\");\n /**\n * D‴ - Cycle Number\n */\n h(this, \"third\");\n const e = t.height.n;\n this.hour = Math.floor(e / (ft * G)), this.minute = Math.floor(e % G), this.second = Math.floor(e % it), this.third = t.third;\n }\n toString() {\n return `${this.hour}°${this.minute}′${this.second}″${this.third}‴`;\n }\n}\nvar T = /* @__PURE__ */ ((i) => (i.Common = \"common\", i.Uncommon = \"uncommon\", i.Rare = \"rare\", i.Epic = \"epic\", i.Legendary = \"legendary\", i.Mythic = \"mythic\", i.Palindrome = \"palindrome\", i))(T || {});\nclass V {\n constructor(t) {\n this.sattributes = t;\n }\n static from(t) {\n const e = [];\n return V.isPalindrome(t.n) && e.push(\n \"palindrome\"\n /* Palindrome */\n ), new V([t.rarity.name, ...e]);\n }\n static isPalindrome(t) {\n const e = t.toString(), s = e.split(\"\").reverse().join(\"\");\n return e === s;\n }\n toString() {\n return this.sattributes.toString();\n }\n toList() {\n return this.sattributes;\n }\n}\nclass I {\n constructor(t) {\n this.name = t;\n }\n static from(t) {\n const { hour: e, minute: s, second: n, third: r } = t.degree;\n return e === 0 && s === 0 && n === 0 && r === 0 ? new I(T.Mythic) : s === 0 && n === 0 && r === 0 ? new I(T.Legendary) : s === 0 && r === 0 ? new I(T.Epic) : n === 0 && r === 0 ? new I(T.Rare) : r === 0 ? new I(T.Uncommon) : new I(T.Common);\n }\n toString() {\n return this.name;\n }\n}\nvar O, x, v, U, E, N, P, M, j, B, k, X;\nconst ot = class ot {\n constructor(t) {\n l(this, O, void 0);\n l(this, x, void 0);\n l(this, v, void 0);\n l(this, U, void 0);\n l(this, E, void 0);\n l(this, N, void 0);\n l(this, P, void 0);\n l(this, M, void 0);\n l(this, j, void 0);\n l(this, B, void 0);\n l(this, k, void 0);\n l(this, X, void 0);\n if (this.n = t, t > A || t < 0)\n throw new Error(\"sat out of range\");\n }\n static fromName(t) {\n let e = 0;\n for (let s = 0; s < t.length; s += 1) {\n const n = t[s];\n if (n >= \"a\" && n <= \"z\")\n e = e * 26 + n.charCodeAt(0) - \"a\".charCodeAt(0) + 1;\n else\n throw new Error(`invalid character in sat name: ${n}`);\n }\n if (e > A)\n throw new Error(\"sat name out of range\");\n return new ot(A - e);\n }\n get height() {\n return a(this, O) === void 0 && p(this, O, new $(\n Math.floor(\n this.epoch.startingHeight.n + this.epochPosition / this.epoch.subsidy\n )\n )), a(this, O);\n }\n get cycle() {\n return a(this, x) === void 0 && p(this, x, Math.floor(this.epoch.n / ft)), a(this, x);\n }\n get percentile() {\n return a(this, v) === void 0 && p(this, v, `${this.n / kt * 100}%`), a(this, v);\n }\n get degree() {\n return a(this, U) === void 0 && p(this, U, new Xt(this)), a(this, U);\n }\n get third() {\n return a(this, E) === void 0 && p(this, E, Math.floor(this.epochPosition % this.epoch.subsidy)), a(this, E);\n }\n get epoch() {\n return a(this, N) === void 0 && p(this, N, Y.from(this)), a(this, N);\n }\n get period() {\n return a(this, P) === void 0 && p(this, P, Math.floor(this.height.n / it)), a(this, P);\n }\n get rarity() {\n return a(this, M) === void 0 && p(this, M, I.from(this)), a(this, M);\n }\n get epochPosition() {\n return a(this, j) === void 0 && p(this, j, Math.floor(this.n - this.epoch.startingSat.n)), a(this, j);\n }\n get decimal() {\n return a(this, B) === void 0 && p(this, B, rt.from(this)), a(this, B);\n }\n get name() {\n if (a(this, k) === void 0) {\n let t = A - this.n, e = \"\";\n for (; t > 0; )\n e += \"abcdefghijklmnopqrstuvwxyz\".charAt((t - 1) % 26), t = Math.floor((t - 1) / 26);\n p(this, k, e.split(\"\").reverse().join(\"\"));\n }\n return a(this, k);\n }\n get sattributes() {\n return a(this, X) === void 0 && p(this, X, V.from(this)), a(this, X);\n }\n toJSON() {\n return {\n number: this.n,\n decimal: this.decimal.toString(),\n degree: this.degree.toString(),\n name: this.name,\n block: this.height.n,\n cycle: this.cycle,\n epoch: this.epoch.n,\n period: this.period,\n offset: this.third,\n rarity: this.rarity.toString(),\n percentile: this.percentile,\n sattributes: this.sattributes.toList()\n };\n }\n};\nO = new WeakMap(), x = new WeakMap(), v = new WeakMap(), U = new WeakMap(), E = new WeakMap(), N = new WeakMap(), P = new WeakMap(), M = new WeakMap(), j = new WeakMap(), B = new WeakMap(), k = new WeakMap(), X = new WeakMap();\nlet o = ot;\nconst D = [\n new o(0),\n // epoch 1 - 2009\n new o(105e13),\n // epoch 2 - 2012\n new o(1575e12),\n // epoch 3 - 2016\n new o(18375e11),\n // epoch 4 - 2020\n new o(196875e10),\n // epoch 5 - 2024\n new o(2034375e9),\n new o(20671875e8),\n new o(208359375e7),\n new o(2091796875e6),\n new o(20958984375e5),\n new o(209794921875e4),\n new o(209897460927e4),\n new o(209948730453e4),\n new o(209974365216e4),\n new o(209987182587e4),\n new o(209993591262e4),\n new o(209996795589e4),\n new o(209998397742e4),\n new o(209999198808e4),\n new o(209999599341e4),\n new o(209999799597e4),\n new o(209999899725e4),\n new o(209999949789e4),\n new o(209999974821e4),\n new o(209999987337e4),\n new o(209999993595e4),\n new o(209999996724e4),\n new o(209999998278e4),\n new o(209999999055e4),\n new o(209999999433e4),\n new o(209999999622e4),\n new o(209999999706e4),\n new o(209999999748e4),\n new o(A)\n];\nvar R, C;\nconst W = class W {\n constructor(t) {\n l(this, R, void 0);\n l(this, C, void 0);\n this.n = t;\n }\n get startingSat() {\n if (a(this, R) === void 0) {\n const t = Y.fromHeight(this), { startingSat: e } = t, { startingHeight: s } = t;\n p(this, R, new o(\n e.n + (this.n - s.n) * t.subsidy\n ));\n }\n return a(this, R);\n }\n get periodOffset() {\n return a(this, C) === void 0 && p(this, C, Math.floor(this.n % it)), a(this, C);\n }\n add(t) {\n return new W(this.n + t);\n }\n sub(t) {\n return new W(this.n - t);\n }\n eq(t) {\n return this.n === t;\n }\n};\nR = new WeakMap(), C = new WeakMap();\nlet $ = W;\nvar y, z, H;\nconst S = class S {\n constructor(t) {\n l(this, y, void 0);\n l(this, z, void 0);\n l(this, H, void 0);\n this.n = t;\n }\n static from(t) {\n let e = 1;\n for (; e <= 33; ) {\n if (t.n < D[e].n)\n return new S(e - 1);\n e += 1;\n }\n return new S(33);\n }\n static fromHeight(t) {\n return new S(Math.floor(t.n / G));\n }\n /**\n * subsidy refers to how much satoshis will be created/mined per block\n */\n get subsidy() {\n return a(this, y) === void 0 && (this.n < S.FIRST_POST_SUBSIDY.n ? p(this, y, Math.floor(50 * Bt / 2 ** this.n)) : p(this, y, 0)), a(this, y);\n }\n get startingSat() {\n return a(this, z) === void 0 && p(this, z, D[this.n] || D[D.length - 1]), a(this, z);\n }\n get startingHeight() {\n return a(this, H) === void 0 && p(this, H, new $(this.n * G)), a(this, H);\n }\n};\ny = new WeakMap(), z = new WeakMap(), H = new WeakMap(), /**\n * First epoch where no new bitcoin will be mined\n */\nh(S, \"FIRST_POST_SUBSIDY\", new S(33));\nlet Y = S;\nconst Rt = 10.5;\nfunction pt(i) {\n switch (i) {\n case \"taproot\":\n return { input: 42, output: 43, witness: 66 };\n case \"segwit\":\n return { input: 41, output: 31, witness: 105 };\n case \"p2sh-p2wpkh\":\n return { input: 64, output: 32, witness: 105 };\n case \"legacy\":\n return { input: 148, output: 34, witness: 0 };\n default:\n throw new f(\"Invalid type\");\n }\n}\nclass Ct {\n constructor({ feeRate: t, network: e, psbt: s, witness: n }) {\n /**\n * Fee in satoshis\n */\n h(this, \"fee\", 0);\n /**\n * Fee rate in satoshis\n */\n h(this, \"feeRate\");\n h(this, \"network\");\n h(this, \"psbt\");\n h(this, \"witness\", []);\n h(this, \"virtualSize\", 0);\n h(this, \"weight\", 0);\n if (t < 0 || !Number.isSafeInteger(t))\n throw new f(\"Invalid feeRate\");\n this.feeRate = t, this.network = e, this.witness = n || [], this.psbt = s || new nt({ network: K(this.network) });\n }\n get data() {\n return {\n fee: this.fee,\n virtualSize: this.virtualSize,\n weight: this.weight\n };\n }\n /**\n * Calculates network fee based on virtual size of transaction and fee rate.\n *\n * @returns Estimated network fee\n * @throws {OrditSDKError} Fee is above MAXIMUM_FEE (5,000,000 satoshis)\n */\n calculateNetworkFee() {\n if (this.fee = this.calculateVirtualSize() * this.feeRate, this.fee > Tt)\n throw new f(\"Error while calculating fees\");\n return this.fee;\n }\n getInputAndOutputScriptTypes() {\n const { inputs: t } = this.psbt.data, e = this.psbt.txOutputs;\n if (t.length === 0)\n throw new f(\"PSBT must have at least one input\");\n if (e.length === 0)\n throw new f(\"PSBT must have at least one output\");\n return {\n inputTypes: t.map((s) => {\n const n = s.witnessUtxo && s.witnessUtxo.script ? s.witnessUtxo.script : null;\n if (!n)\n throw new f(\"Invalid script\");\n return ht(n, this.network).format;\n }),\n outputTypes: e.map(\n (s) => ht(s.script, this.network).format\n )\n };\n }\n calculateScriptWitnessSize() {\n var e;\n const { inputTypes: t } = this.getInputAndOutputScriptTypes();\n return t.includes(\"taproot\") && ((e = this.witness) != null && e.length) ? this.witness.reduce((s, n) => s + n.byteLength, 0) : 0;\n }\n getBaseSize() {\n var d, m;\n const { inputTypes: t, outputTypes: e } = this.getInputAndOutputScriptTypes(), s = 2, n = t.reduce(\n (g, b) => {\n const { input: F, witness: J } = pt(b);\n return g.input += F, g.witness += J, g;\n },\n {\n input: 0,\n witness: 0\n }\n ), r = e.reduce((g, b) => {\n const { output: F } = pt(b);\n return g + F;\n }, 0), u = n.witness + ((d = this.witness) != null && d.length ? this.calculateScriptWitnessSize() : 0);\n let c = 0;\n return (m = this.witness) != null && m.length ? c = u : u > 0 && (c = s + u), {\n baseSize: n.input + Rt + r,\n witnessSize: c\n };\n }\n calculateVirtualSize() {\n const { baseSize: t, witnessSize: e } = this.getBaseSize();\n return this.weight = t * 3 + (t + e), this.virtualSize = Math.ceil(this.weight / 4), this.virtualSize;\n }\n}\nfunction zt({\n utxo: i,\n pubKey: t,\n network: e,\n sighashType: s,\n witness: n\n}) {\n const r = yt.fromPublicKey(\n _.from(t, \"hex\"),\n At,\n K(e)\n ), u = dt(r.publicKey);\n if (!i.scriptPubKey.hex)\n throw new Error(\"Unable to process p2tr input\");\n return {\n type: \"taproot\",\n hash: i.txid,\n index: i.n,\n tapInternalKey: u,\n witnessUtxo: {\n script: _.from(i.scriptPubKey.hex, \"hex\"),\n value: i.sats\n },\n witness: n,\n ...s ? { sighashType: s } : void 0\n };\n}\nfunction Ht({\n utxo: i,\n sighashType: t\n}) {\n if (!i.scriptPubKey.hex)\n throw new Error(\"Unable to process Segwit input\");\n return {\n type: \"segwit\",\n hash: i.txid,\n index: i.n,\n witnessUtxo: {\n script: _.from(i.scriptPubKey.hex, \"hex\"),\n value: i.sats\n },\n ...t ? { sighashType: t } : void 0\n };\n}\nfunction _t({\n utxo: i,\n pubKey: t,\n network: e,\n sighashType: s\n}) {\n const n = lt(_.from(t, \"hex\"), \"p2sh\", e);\n if (!n || !n.output || !n.redeem)\n throw new Error(\"Unable to process P2SH input\");\n return {\n type: \"p2sh-p2wpkh\",\n hash: i.txid,\n index: i.n,\n redeemScript: n.redeem.output,\n witnessUtxo: {\n script: _.from(i.scriptPubKey.hex, \"hex\"),\n value: i.sats\n },\n ...s ? { sighashType: s } : void 0\n };\n}\nasync function Ft({\n utxo: i,\n sighashType: t,\n network: e,\n pubKey: s,\n datasource: n\n}) {\n const { rawTx: r } = await n.getTransaction({\n txId: i.txid,\n hex: !0\n });\n if (!r)\n throw new Error(\"Unable to process legacy input\");\n const u = lt(_.from(s, \"hex\"), \"p2pkh\", e);\n return {\n type: \"legacy\",\n hash: i.txid,\n index: i.n,\n nonWitnessUtxo: r == null ? void 0 : r.toBuffer(),\n witnessUtxo: {\n script: u.output,\n value: i.sats\n },\n ...t ? { sighashType: t } : void 0\n };\n}\nasync function Lt({\n utxo: i,\n pubKey: t,\n network: e,\n sighashType: s,\n witness: n,\n datasource: r\n}) {\n const u = r || new wt({ network: e });\n switch (i.scriptPubKey.type) {\n case \"witness_v1_taproot\":\n return zt({\n utxo: i,\n pubKey: t,\n network: e,\n sighashType: s,\n witness: n\n });\n case \"witness_v0_scripthash\":\n case \"witness_v0_keyhash\":\n return Ht({ utxo: i, sighashType: s });\n case \"scripthash\":\n return _t({ utxo: i, pubKey: t, network: e, sighashType: s });\n case \"pubkeyhash\":\n return Ft({\n utxo: i,\n sighashType: s,\n network: e,\n pubKey: t,\n datasource: u\n });\n default:\n throw new Error(\"invalid script pub type\");\n }\n}\nclass Jt extends Ct {\n constructor({\n address: e,\n changeAddress: s,\n datasource: n,\n feeRate: r,\n network: u = \"mainnet\",\n publicKey: c,\n outputs: d,\n autoAdjustment: m = !0,\n instantTradeMode: g = !1\n }) {\n super({\n feeRate: r,\n network: u\n });\n h(this, \"address\");\n h(this, \"changeAddress\");\n /**\n * Change amount in satoshis\n */\n h(this, \"changeAmount\", 0);\n h(this, \"datasource\");\n h(this, \"injectableInputs\", []);\n h(this, \"injectableOutputs\", []);\n /**\n * Input amount in satoshis\n */\n h(this, \"inputAmount\", 0);\n h(this, \"inputs\", []);\n /**\n * Output amount in satoshis\n */\n h(this, \"outputAmount\", 0);\n h(this, \"outputs\", []);\n h(this, \"psbt\");\n h(this, \"publicKey\");\n /**\n * Replace-by-fee (RBF) is a feature that allows users to replace one version of an unconfirmed transaction\n * with a different version of the transaction that pays a higher transaction fee.\n * This can be done multiple times while the transaction is unconfirmed.\n *\n * Reference: [BIP-125](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki)\n */\n h(this, \"rbf\", !0);\n h(this, \"utxos\", []);\n h(this, \"usedUTXOs\", []);\n /**\n * Enable auto adjustment.\n *\n * When `true`, change is calculated and UTXOs will be added as required to account for network fees.\n *\n * Otherwise, change is not calculated and no UTXOs will be added.\n */\n h(this, \"autoAdjustment\");\n h(this, \"instantTradeMode\");\n h(this, \"noMoreUTXOS\", !1);\n this.address = e, this.changeAddress = s, this.datasource = n || new wt({ network: this.network }), this.outputs = d, this.publicKey = c, this.autoAdjustment = m, this.instantTradeMode = g, this.psbt = new nt({ network: K(u) });\n }\n get data() {\n return {\n fee: this.fee,\n virtualSize: this.virtualSize,\n weight: this.weight,\n changeAmount: this.changeAmount,\n inputAmount: this.inputAmount,\n outputAmount: this.outputAmount\n };\n }\n toPSBT() {\n return this.psbt;\n }\n toHex() {\n return this.psbt.toHex();\n }\n toBase64() {\n return this.psbt.toBase64();\n }\n /**\n * Set Replace-by-fee (RBF) value\n *\n * Replace-by-fee (RBF) is a feature that allows users to replace one version of an unconfirmed transaction\n * with a different version of the transaction that pays a higher transaction fee.\n * This can be done multiple times while the transaction is unconfirmed.\n *\n * Reference: [BIP-125](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki)\n */\n setRBF(e) {\n this.rbf = e, this.addInputs();\n }\n /**\n * Gets the x-coordinate of the public key.\n */\n get xKey() {\n return dt(Ot.from(this.publicKey, \"hex\")).toString(\"hex\");\n }\n get inputsToSign() {\n const e = this.instantTradeMode && !this.autoAdjustment;\n return this.psbt.txInputs.reduce(\n (s, n, r) => ((!this.instantTradeMode || this.instantTradeMode && r !== xt) && (s.signingIndexes = s.signingIndexes.concat(r)), e && (s.sigHash = // eslint-disable-next-line no-bitwise\n st.SIGHASH_SINGLE | st.SIGHASH_ANYONECANPAY), s),\n {\n address: this.address,\n signingIndexes: []\n }\n );\n }\n initPSBT() {\n this.psbt = new nt({ network: K(this.network) }), this.psbt.setMaximumFeeRate(this.feeRate);\n }\n getInputSequence() {\n return this.rbf ? 4294967293 : 4294967295;\n }\n injectInput(e) {\n this.psbt.data.globalMap.unsignedTx.tx.ins[e.injectionIndex] = e.txInput, this.psbt.data.inputs[e.injectionIndex] = e.standardInput;\n }\n injectOutput(e) {\n let s = e.injectionIndex;\n do {\n if (!!!this.psbt.data.globalMap.unsignedTx.tx.outs[s]) {\n this.psbt.data.globalMap.unsignedTx.tx.outs[s] = e.txOutput, this.psbt.data.outputs[s] = // TODO: remove hack\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n e.standardOutput;\n break;\n }\n s += 1;\n } while (s);\n }\n addInputs() {\n const e = this.injectableInputs.map(\n (n) => n.injectionIndex\n ), s = [];\n this.inputs.forEach((n, r) => {\n const u = e.includes(r);\n if (u) {\n const d = this.injectableInputs.find(\n (m) => m.injectionIndex === r\n );\n this.injectInput(d), s.push(d.injectionIndex);\n }\n this.psbt.txInputs.map((d) => {\n const m = Ut(d.hash);\n return L(m.toString(\"hex\"), d.index);\n }).includes(\n L(n.hash, n.index)\n ) || (this.psbt.addInput(n), this.psbt.setInputSequence(\n u ? r + 1 : r,\n this.getInputSequence()\n ));\n }), this.injectableInputs.forEach((n) => {\n s.includes(n.injectionIndex) || (this.injectInput(n), s.push(n.injectionIndex));\n });\n }\n addOutputs() {\n const e = this.injectableOutputs.map((n) => n.injectionIndex), s = [];\n this.outputs.forEach((n, r) => {\n if (e.includes(r)) {\n const u = this.injectableOutputs.find(\n (c) => c.injectionIndex === r\n );\n this.injectOutput(u), s.push(u.injectionIndex);\n }\n this.psbt.addOutput({\n address: n.address,\n value: n.value\n });\n }), this.injectableOutputs.forEach((n) => {\n s.includes(n.injectionIndex) || (this.injectOutput(n), s.push(n.injectionIndex));\n }), this.changeAmount >= Z && this.psbt.addOutput({\n address: this.changeAddress || this.address,\n value: this.changeAmount\n });\n }\n calculateOutputAmount() {\n if (this.outputAmount = Math.floor(\n this.outputs.reduce((e, s) => e + s.value, 0) + this.injectableOutputs.reduce((e, s) => e + s.sats, 0)\n ), this.outputAmount < Z)\n throw new Error(\n `Output amount too low. Minimum output amount needs to be ${Z} sats`\n );\n }\n /**\n * Calculates change amount from transaction and fetches additional UTXOs as required to cover output and network fees, if change is negative.\n */\n async recursivelyCalculateChangeAmount() {\n if (this.autoAdjustment && (this.changeAmount = Math.floor(\n this.inputAmount - this.outputAmount - this.fee\n ), this.changeAmount < 0 && (await this.prepare(), this.noMoreUTXOS)))\n throw new Error(\n `Insufficient balance. Decrease the output amount by ${this.changeAmount * -1} sats`\n );\n }\n getRetrievedUTXOsValue() {\n return this.utxos.reduce((e, s) => e + s.sats, 0);\n }\n getReservedUTXOs() {\n return this.utxos.map(\n (e) => L(e.txid, e.n)\n );\n }\n getUTXOAmountToRequestFromChangeAmount() {\n return this.changeAmount < 0 ? Math.abs(this.changeAmount) : this.outputAmount - this.getRetrievedUTXOsValue();\n }\n /**\n * Retrieves UTXOs using `getSpendables` RPC.\n *\n * @param address Address\n * @param amount Amount in satoshis\n */\n async retrieveUTXOs(e, s) {\n if (!this.autoAdjustment && !e)\n return;\n const n = s && s > 0 ? s : this.getUTXOAmountToRequestFromChangeAmount();\n if (s && this.getRetrievedUTXOsValue() >= s || n <= 0)\n return;\n const r = await this.datasource.getSpendables({\n address: e || this.address,\n value: vt(n),\n filter: this.getReservedUTXOs()\n });\n this.noMoreUTXOS = r.length === 0, this.utxos.push(...r);\n }\n async retrieveSelectedUTXOs(e, s) {\n await this.retrieveUTXOs(e, s);\n const n = this.utxos.find((r) => r.sats >= s);\n return this.utxos = n ? [n] : [], this.utxos;\n }\n /**\n * Prepares inputs from UTXOs.\n */\n async prepareInputs() {\n if (!this.autoAdjustment)\n return;\n const e = [];\n this.utxos.forEach((n) => {\n if (this.usedUTXOs.includes(L(n.txid, n.n)))\n return;\n this.inputAmount += n.sats;\n const r = Lt({\n utxo: n,\n pubKey: this.publicKey,\n network: this.network,\n datasource: this.datasource\n });\n e.push(r);\n });\n const s = await Promise.all(e);\n this.inputAmount += this.injectableInputs.reduce(\n (n, r) => n + r.sats,\n 0\n ), s.forEach((n) => {\n const r = L(\n n.hash,\n n.index\n );\n this.usedUTXOs.includes(r) || this.usedUTXOs.push(r);\n }), this.inputs = this.inputs.concat(s);\n }\n /**\n * Prepares PSBT to be set to a network, calculating and validating both inputs and outputs.\n */\n async prepare() {\n this.calculateOutputAmount(), await this.retrieveUTXOs(), await this.prepareInputs(), await this.recursivelyCalculateChangeAmount(), this.process(), await this.recursivelyCalculateChangeAmount(), this.calculateOutputAmount(), this.process();\n }\n /**\n * Initializes PSBT instance, adding all inputs and outputs and calculates network fees.\n *\n * @returns PSBTBuilder instance\n */\n process() {\n return this.initPSBT(), this.addInputs(), this.addOutputs(), this.calculateNetworkFee(), this;\n }\n}\nSt(It);\nexport {\n te as ADDRESS_FORMAT_TO_TYPE,\n ee as ADDRESS_TYPE_TO_FORMAT,\n Et as BaseDatasource,\n se as BrowserWalletExtractTxFromNonFinalizedPsbtError,\n ne as BrowserWalletNotInstalledError,\n ie as BrowserWalletRequestCancelledByUserError,\n re as BrowserWalletSigningError,\n Bt as COIN_VALUE,\n ft as CYCLE_EPOCHS,\n it as DIFFCHANGE_INTERVAL,\n q as DatasourceUtility,\n rt as Decimal,\n Xt as Degree,\n Y as Epoch,\n $ as Height,\n wt as JsonRpcDatasource,\n kt as LAST_SAT,\n f as OrditSDKError,\n Jt as PSBTBuilder,\n I as Rarity,\n A as SAT_SUPPLY,\n D as STARTING_SATS,\n G as SUBSIDY_HALVING_INTERVAL,\n o as Sat,\n T as Sattribute,\n V as Sattributes,\n oe as getAddressFormat,\n ae as getAddressesFromPublicKey\n};\n","(function(){\"use strict\";try{if(typeof document<\"u\"){var o=document.createElement(\"style\");o.appendChild(document.createTextNode('@import\"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap\";.ord-connect-wallet-button{color:#000;background-color:#fff;font-weight:700;font-size:14px;line-height:20px;border-radius:40px;padding:10px 16px;border:0px}.ord-connect-wallet-button span:before{content:\"Connect\"}@media screen and (min-width: 768px){.ord-connect-wallet-button{padding:10px 24px}.ord-connect-wallet-button span:before{content:\"Connect wallet\"}}.ord-connect-wallet-button:hover{background-color:#f2f2f2}.ord-connect-wallet-button:active{opacity:.7}.ord-wallet-connected-container{position:relative;display:inline-block}.ord-wallet-connected-button{border-radius:52px;border:1px solid #8c8c8c;background-color:transparent;padding:8px 12px 8px 8px;display:flex;align-items:center;cursor:pointer}.ord-wallet-connected-button .address-container{display:none}@media screen and (min-width: 768px){.ord-wallet-connected-button .address-container{display:block;margin-left:8px}}.ord-wallet-connected-button .address{color:#fff;font-size:14px;font-weight:700;line-height:20px;margin:0}.ord-wallet-connected-button .network-container{display:flex;align-items:center}.ord-wallet-connected-button .status-indicator{width:8px;height:8px;background:#00ad1d;border-radius:999px;margin-right:8px}.ord-wallet-connected-button .network{color:#ffffff80;margin:0;font-size:12px;font-weight:600;line-height:16px}.ord-wallet-connected-button .wallet-profile-icon{width:28px;height:28px;border-radius:999px;background-color:pink;margin-right:8px}.ord-wallet-connected-button .dropdown-button{transition:transform .3s ease;margin-left:16px}.ord-wallet-connected-button .expand-dropdown-button{width:20px;transform:rotate(0)}.ord-wallet-connected-button .close-dropdown-button{transform:rotate(-180deg)}.ord-wallet-connection-dropdown{background:#121212;border-radius:15px;border:.5px solid rgba(255,255,255,.5);width:256px;position:absolute;top:54px;right:0}.ord-wallet-connection-dropdown .dropdown-button{display:flex;align-items:center;background:transparent;border:0px;cursor:pointer;width:100%;justify-content:space-between}.ord-wallet-connection-dropdown .dropdown-button:hover{background:#ffffff1a}.ord-wallet-connection-dropdown .dropdown-button:hover:first-child{border-top-left-radius:15px;border-top-right-radius:15px}.ord-wallet-connection-dropdown .dropdown-button:hover:last-child{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.ord-wallet-connection-dropdown .dropdown-button:active{background:#ffffff1a;opacity:.7}.ord-wallet-connection-dropdown .dropdown-button:first-child{padding:26px 16px 18px}.ord-wallet-connection-dropdown .dropdown-button:not(:first-child):not(:last-child){padding:9px 16px}.ord-wallet-connection-dropdown .dropdown-button:last-child{padding:18px 16px 26px}.ord-wallet-connection-dropdown .label{color:#fff;font-size:14px;font-weight:600;flex:1 1 0%;text-align:left}.ord-wallet-connection-dropdown .value{color:#a6a6a6}.ord-wallet-connection-dropdown .change-wallet-label{color:#ffffffb3;font-size:14px;font-weight:700;flex:1 1 0%;text-align:right}.ord-wallet-connection-dropdown .profile-item-container{width:100%;display:flex;flex-direction:column}.ord-wallet-connection-dropdown .profile-item-inner-container{display:flex;justify-content:space-between}.ord-wallet-connection-dropdown .offers{font-size:10px;font-weight:700;line-height:12px;letter-spacing:.08em;color:#fff;padding:4px 12px;border-radius:16px;background:#ffffff1a}.ord-wallet-connection-dropdown .horizontal-separator{margin:6px 16px;border:0px;border-top:.5px solid rgba(255,255,255,.1)}.ord-connect-wallet-modal{position:relative;z-index:10}.ord-connect-wallet-modal .backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ord-connect-wallet-modal .outer-container{position:fixed;top:0;left:0;overflow-y:auto;width:100%;height:100%}@media screen and (min-width: 768px){.ord-connect-wallet-modal .outer-container{top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:auto;border-radius:20px}}.ord-connect-wallet-modal .inner-container{display:flex;align-items:center;justify-content:center;text-align:center;height:100%}.ord-connect-wallet-modal .panel{width:100%;background-color:#121212;overflow:hidden;text-align:left;height:100%}@media screen and (min-width: 768px){.ord-connect-wallet-modal .panel{border:1px solid rgba(51,51,51,.5);border-radius:20px}}.ord-connect-wallet-modal .panel-title-container{display:flex;justify-content:space-between;padding:32px 24px 0;align-items:center}@media screen and (min-width: 768px){.ord-connect-wallet-modal .panel-title-container{padding:24px 32px 0;border-bottom:0px}.ord-connect-wallet-modal .unsupported-browser-message{font-size:16px;padding-left:24px}}.ord-connect-wallet-modal .panel-title{font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin:0}@media screen and (min-width: 768px){.ord-connect-wallet-modal .panel-title{font-size:20px;font-style:normal;font-weight:600;line-height:28px;letter-spacing:.2px}}.ord-connect-wallet-modal .unsupported-browser-message{color:#fff}.ord-connect-wallet-modal .close-button{display:inline-flex;background:transparent;border:0px;cursor:pointer}.ord-connect-wallet-modal .panel-content-container{margin:32px 24px 0}@media screen and (min-width: 768px){.ord-connect-wallet-modal .panel-content-container{margin:48px 32px 32px}}@media screen and (min-width: 1080px){.ord-connect-wallet-modal .panel-content-container{margin:48px 32px 32px}}.ord-connect-wallet-modal .panel-content-inner-container{border-radius:20px;border:1px solid rgba(255,255,255,.1)}.ord-connect-wallet-modal .wallet-option-button{margin-bottom:8px;display:flex;align-items:center;background:transparent;border:0px;color:#fff;font-size:18px;font-weight:600;line-height:24px;border-bottom:.5px solid rgba(255,255,255,.1);width:100%;cursor:pointer}.ord-connect-wallet-modal .wallet-option-button:disabled .chveron-btn{opacity:.3}.waiting-cursor{cursor:wait!important}.wallet-identifier-container{position:relative;display:inline-block}.wallet-identifier-container img{position:absolute;bottom:4px;right:0;width:12px;border-radius:50%;background-color:#000;object-fit:cover}.ord-connect-wallet-modal .option-wrapper{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;width:100%}@media screen and (min-width: 1080px){.ord-connect-wallet-modal .option-wrapper{padding:16px}}.ord-connect-wallet-modal .wallet-option-button{padding:8px 16px}.ord-connect-wallet-modal .wallet-option-button:hover{background:#ffffff1a}.ord-connect-wallet-modal .wallet-option-button:active{background:#ffffff1a;opacity:.7}.ord-connect-wallet-modal .wallet-option-button:first-child{padding:16px 16px 8px;border:0px;margin-bottom:0;border-radius:20px 20px 0 0}@media screen and (min-width: 1080px){.ord-connect-wallet-modal .wallet-option-button:first-child{padding:16px 16px 8px;border:0px;margin-bottom:0;border-radius:20px 20px 0 0}}.ord-connect-wallet-modal .wallet-option-button:nth-of-type(2){border:0px;margin-bottom:0;border-radius:0 0 20px 20px}.ord-connect-wallet-modal .wallet-option-button:last-child{padding:8px 16px 16px}.ord-connect-wallet-modal .wallet-icon{width:32px}@media (min-width: 768px){.ord-connect-wallet-modal .wallet-icon{width:40px}}.ord-connect-wallet-modal .wallet-option{flex-grow:1;margin-left:16px;text-align:left}.ord-connect-wallet-modal .wallet-option-connected-address{display:flex;padding:4px 12px 4px 8px;align-items:center;margin-left:16px;margin-right:16px;text-align:left;background-color:#00000080;border-radius:20px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.ord-connect-wallet-modal .wallet-option-connected-address .label{margin-left:4px;font-size:16px;font-weight:400}.ord-connect-wallet-modal .wallet-option-label{font-size:16px;font-weight:600;line-height:20px}@media screen and (min-width: 1079px){.ord-connect-wallet-modal .wallet-option-label{font-size:18px;font-weight:600;line-height:24px}}.ord-connect-wallet-modal .wallet-option-subtitle{font-size:12px;font-weight:400;line-height:16px;color:#8c8c8c}.ord-connect-wallet-modal .horizontal-separator{margin:2px 16px;border:0px;border-top:.5px solid rgba(255,255,255,.1)}.ord-connect-wallet-modal .error-message{margin:16px 0 0;color:#e54545;font-size:14px;line-height:20px}.ord-connect-font *{font-family:Space Grotesk,sans-serif}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.duration-300{transition-duration:.3s}.duration-200{transition-duration:.2s}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}')),document.head.appendChild(o)}}catch(t){console.error(\"vite-plugin-css-injected-by-js\",t)}})();\nimport * as Er from \"react\";\nimport q, { useState as Ee, useCallback as Ue, createContext as _t, useMemo as Be, useContext as at, useEffect as be, useLayoutEffect as ll, useRef as ie, forwardRef as fl, Fragment as ft, isValidElement as hl, cloneElement as dl, createElement as pl, useReducer as Xa, createRef as Mo } from \"react\";\nimport { BrowserWalletNotInstalledError as gl, ADDRESS_FORMAT_TO_TYPE as yl, getAddressesFromPublicKey as ml, JsonRpcDatasource as qa, PSBTBuilder as wl } from \"@ordzaar/ordit-sdk\";\nimport { getAddresses as El, signPsbt as bl, signMessage as Sl } from \"@ordzaar/ordit-sdk/unisat\";\nimport { getAddresses as vl, signPsbt as _l, signMessage as Tl } from \"@ordzaar/ordit-sdk/xverse\";\nimport { createPortal as Il } from \"react-dom\";\nfunction Pl(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar za = { exports: {} }, Te = za.exports = {}, Ct, Bt;\nfunction Do() {\n throw new Error(\"setTimeout has not been defined\");\n}\nfunction jo() {\n throw new Error(\"clearTimeout has not been defined\");\n}\n(function() {\n try {\n typeof setTimeout == \"function\" ? Ct = setTimeout : Ct = Do;\n } catch {\n Ct = Do;\n }\n try {\n typeof clearTimeout == \"function\" ? Bt = clearTimeout : Bt = jo;\n } catch {\n Bt = jo;\n }\n})();\nfunction Ya(e) {\n if (Ct === setTimeout)\n return setTimeout(e, 0);\n if ((Ct === Do || !Ct) && setTimeout)\n return Ct = setTimeout, setTimeout(e, 0);\n try {\n return Ct(e, 0);\n } catch {\n try {\n return Ct.call(null, e, 0);\n } catch {\n return Ct.call(this, e, 0);\n }\n }\n}\nfunction Ol(e) {\n if (Bt === clearTimeout)\n return clearTimeout(e);\n if ((Bt === jo || !Bt) && clearTimeout)\n return Bt = clearTimeout, clearTimeout(e);\n try {\n return Bt(e);\n } catch {\n try {\n return Bt.call(null, e);\n } catch {\n return Bt.call(this, e);\n }\n }\n}\nvar zt = [], dn = !1, Br, bi = -1;\nfunction kl() {\n !dn || !Br || (dn = !1, Br.length ? zt = Br.concat(zt) : bi = -1, zt.length && Ja());\n}\nfunction Ja() {\n if (!dn) {\n var e = Ya(kl);\n dn = !0;\n for (var t = zt.length; t; ) {\n for (Br = zt, zt = []; ++bi < t; )\n Br && Br[bi].run();\n bi = -1, t = zt.length;\n }\n Br = null, dn = !1, Ol(e);\n }\n}\nTe.nextTick = function(e) {\n var t = new Array(arguments.length - 1);\n if (arguments.length > 1)\n for (var r = 1; r < arguments.length; r++)\n t[r - 1] = arguments[r];\n zt.push(new Qa(e, t)), zt.length === 1 && !dn && Ya(Ja);\n};\nfunction Qa(e, t) {\n this.fun = e, this.array = t;\n}\nQa.prototype.run = function() {\n this.fun.apply(null, this.array);\n};\nTe.title = \"browser\";\nTe.browser = !0;\nTe.env = {};\nTe.argv = [];\nTe.version = \"\";\nTe.versions = {};\nfunction rr() {\n}\nTe.on = rr;\nTe.addListener = rr;\nTe.once = rr;\nTe.off = rr;\nTe.removeListener = rr;\nTe.removeAllListeners = rr;\nTe.emit = rr;\nTe.prependListener = rr;\nTe.prependOnceListener = rr;\nTe.listeners = function(e) {\n return [];\n};\nTe.binding = function(e) {\n throw new Error(\"process.binding is not supported\");\n};\nTe.cwd = function() {\n return \"/\";\n};\nTe.chdir = function(e) {\n throw new Error(\"process.chdir is not supported\");\n};\nTe.umask = function() {\n return 0;\n};\nvar Al = za.exports;\nconst Za = /* @__PURE__ */ Pl(Al);\nvar xl = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction Cl(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nfunction Bl(e) {\n if (e.__esModule)\n return e;\n var t = e.default;\n if (typeof t == \"function\") {\n var r = function n() {\n return this instanceof n ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);\n };\n r.prototype = t.prototype;\n } else\n r = {};\n return Object.defineProperty(r, \"__esModule\", { value: !0 }), Object.keys(e).forEach(function(n) {\n var i = Object.getOwnPropertyDescriptor(e, n);\n Object.defineProperty(r, n, i.get ? i : {\n enumerable: !0,\n get: function() {\n return e[n];\n }\n });\n }), r;\n}\nvar Ko = { exports: {} }, kn = {}, Gs;\nfunction Nl() {\n return Gs || (Gs = 1, Za.env.NODE_ENV !== \"production\" && function() {\n var e = q, t = Symbol.for(\"react.element\"), r = Symbol.for(\"react.portal\"), n = Symbol.for(\"react.fragment\"), i = Symbol.for(\"react.strict_mode\"), s = Symbol.for(\"react.profiler\"), o = Symbol.for(\"react.provider\"), a = Symbol.for(\"react.context\"), f = Symbol.for(\"react.forward_ref\"), h = Symbol.for(\"react.suspense\"), l = Symbol.for(\"react.suspense_list\"), p = Symbol.for(\"react.memo\"), E = Symbol.for(\"react.lazy\"), y = Symbol.for(\"react.offscreen\"), v = Symbol.iterator, S = \"@@iterator\";\n function T(w) {\n if (w === null || typeof w != \"object\")\n return null;\n var F = v && w[v] || w[S];\n return typeof F == \"function\" ? F : null;\n }\n var C = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function O(w) {\n {\n for (var F = arguments.length, $ = new Array(F > 1 ? F - 1 : 0), V = 1; V < F; V++)\n $[V - 1] = arguments[V];\n B(\"error\", w, $);\n }\n }\n function B(w, F, $) {\n {\n var V = C.ReactDebugCurrentFrame, oe = V.getStackAddendum();\n oe !== \"\" && (F += \"%s\", $ = $.concat([oe]));\n var ce = $.map(function(te) {\n return String(te);\n });\n ce.unshift(\"Warning: \" + F), Function.prototype.apply.call(console[w], console, ce);\n }\n }\n var U = !1, R = !1, k = !1, j = !1, A = !1, b;\n b = Symbol.for(\"react.module.reference\");\n function m(w) {\n return !!(typeof w == \"string\" || typeof w == \"function\" || w === n || w === s || A || w === i || w === h || w === l || j || w === y || U || R || k || typeof w == \"object\" && w !== null && (w.$$typeof === E || w.$$typeof === p || w.$$typeof === o || w.$$typeof === a || w.$$typeof === f || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n w.$$typeof === b || w.getModuleId !== void 0));\n }\n function N(w, F, $) {\n var V = w.displayName;\n if (V)\n return V;\n var oe = F.displayName || F.name || \"\";\n return oe !== \"\" ? $ + \"(\" + oe + \")\" : $;\n }\n function H(w) {\n return w.displayName || \"Context\";\n }\n function L(w) {\n if (w == null)\n return null;\n if (typeof w.tag == \"number\" && O(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof w == \"function\")\n return w.displayName || w.name || null;\n if (typeof w == \"string\")\n return w;\n switch (w) {\n case n:\n return \"Fragment\";\n case r:\n return \"Portal\";\n case s:\n return \"Profiler\";\n case i:\n return \"StrictMode\";\n case h:\n return \"Suspense\";\n case l:\n return \"SuspenseList\";\n }\n if (typeof w == \"object\")\n switch (w.$$typeof) {\n case a:\n var F = w;\n return H(F) + \".Consumer\";\n case o:\n var $ = w;\n return H($._context) + \".Provider\";\n case f:\n return N(w, w.render, \"ForwardRef\");\n case p:\n var V = w.displayName || null;\n return V !== null ? V : L(w.type) || \"Memo\";\n case E: {\n var oe = w, ce = oe._payload, te = oe._init;\n try {\n return L(te(ce));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var M = Object.assign, K = 0, re, W, le, ke, Se, ve, Ne;\n function ut() {\n }\n ut.__reactDisabledLog = !0;\n function Y() {\n {\n if (K === 0) {\n re = console.log, W = console.info, le = console.warn, ke = console.error, Se = console.group, ve = console.groupCollapsed, Ne = console.groupEnd;\n var w = {\n configurable: !0,\n enumerable: !0,\n value: ut,\n writable: !0\n };\n Object.defineProperties(console, {\n info: w,\n log: w,\n warn: w,\n error: w,\n group: w,\n groupCollapsed: w,\n groupEnd: w\n });\n }\n K++;\n }\n }\n function me() {\n {\n if (K--, K === 0) {\n var w = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: M({}, w, {\n value: re\n }),\n info: M({}, w, {\n value: W\n }),\n warn: M({}, w, {\n value: le\n }),\n error: M({}, w, {\n value: ke\n }),\n group: M({}, w, {\n value: Se\n }),\n groupCollapsed: M({}, w, {\n value: ve\n }),\n groupEnd: M({}, w, {\n value: Ne\n })\n });\n }\n K < 0 && O(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var ir = C.ReactCurrentDispatcher, or;\n function Lt(w, F, $) {\n {\n if (or === void 0)\n try {\n throw Error();\n } catch (oe) {\n var V = oe.stack.trim().match(/\\n( *(at )?)/);\n or = V && V[1] || \"\";\n }\n return `\n` + or + w;\n }\n }\n var Ht = !1, $t;\n {\n var se = typeof WeakMap == \"function\" ? WeakMap : Map;\n $t = new se();\n }\n function ze(w, F) {\n if (!w || Ht)\n return \"\";\n {\n var $ = $t.get(w);\n if ($ !== void 0)\n return $;\n }\n var V;\n Ht = !0;\n var oe = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var ce;\n ce = ir.current, ir.current = null, Y();\n try {\n if (F) {\n var te = function() {\n throw Error();\n };\n if (Object.defineProperty(te.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(te, []);\n } catch (Mt) {\n V = Mt;\n }\n Reflect.construct(w, [], te);\n } else {\n try {\n te.call();\n } catch (Mt) {\n V = Mt;\n }\n w.call(te.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (Mt) {\n V = Mt;\n }\n w();\n }\n } catch (Mt) {\n if (Mt && V && typeof Mt.stack == \"string\") {\n for (var Z = Mt.stack.split(`\n`), Je = V.stack.split(`\n`), _e = Z.length - 1, Ie = Je.length - 1; _e >= 1 && Ie >= 0 && Z[_e] !== Je[Ie]; )\n Ie--;\n for (; _e >= 1 && Ie >= 0; _e--, Ie--)\n if (Z[_e] !== Je[Ie]) {\n if (_e !== 1 || Ie !== 1)\n do\n if (_e--, Ie--, Ie < 0 || Z[_e] !== Je[Ie]) {\n var dt = `\n` + Z[_e].replace(\" at new \", \" at \");\n return w.displayName && dt.includes(\"\") && (dt = dt.replace(\"\", w.displayName)), typeof w == \"function\" && $t.set(w, dt), dt;\n }\n while (_e >= 1 && Ie >= 0);\n break;\n }\n }\n } finally {\n Ht = !1, ir.current = ce, me(), Error.prepareStackTrace = oe;\n }\n var rn = w ? w.displayName || w.name : \"\", Vs = rn ? Lt(rn) : \"\";\n return typeof w == \"function\" && $t.set(w, Vs), Vs;\n }\n function Me(w, F, $) {\n return ze(w, !1);\n }\n function sr(w) {\n var F = w.prototype;\n return !!(F && F.isReactComponent);\n }\n function kr(w, F, $) {\n if (w == null)\n return \"\";\n if (typeof w == \"function\")\n return ze(w, sr(w));\n if (typeof w == \"string\")\n return Lt(w);\n switch (w) {\n case h:\n return Lt(\"Suspense\");\n case l:\n return Lt(\"SuspenseList\");\n }\n if (typeof w == \"object\")\n switch (w.$$typeof) {\n case f:\n return Me(w.render);\n case p:\n return kr(w.type, F, $);\n case E: {\n var V = w, oe = V._payload, ce = V._init;\n try {\n return kr(ce(oe), F, $);\n } catch {\n }\n }\n }\n return \"\";\n }\n var Et = Object.prototype.hasOwnProperty, ar = {}, ti = C.ReactDebugCurrentFrame;\n function Zr(w) {\n if (w) {\n var F = w._owner, $ = kr(w.type, w._source, F ? F.type : null);\n ti.setExtraStackFrame($);\n } else\n ti.setExtraStackFrame(null);\n }\n function Pn(w, F, $, V, oe) {\n {\n var ce = Function.call.bind(Et);\n for (var te in w)\n if (ce(w, te)) {\n var Z = void 0;\n try {\n if (typeof w[te] != \"function\") {\n var Je = Error((V || \"React class\") + \": \" + $ + \" type `\" + te + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof w[te] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw Je.name = \"Invariant Violation\", Je;\n }\n Z = w[te](F, te, V, $, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (_e) {\n Z = _e;\n }\n Z && !(Z instanceof Error) && (Zr(oe), O(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", V || \"React class\", $, te, typeof Z), Zr(null)), Z instanceof Error && !(Z.message in ar) && (ar[Z.message] = !0, Zr(oe), O(\"Failed %s type: %s\", $, Z.message), Zr(null));\n }\n }\n }\n var fo = Array.isArray;\n function On(w) {\n return fo(w);\n }\n function ri(w) {\n {\n var F = typeof Symbol == \"function\" && Symbol.toStringTag, $ = F && w[Symbol.toStringTag] || w.constructor.name || \"Object\";\n return $;\n }\n }\n function en(w) {\n try {\n return ct(w), !1;\n } catch {\n return !0;\n }\n }\n function ct(w) {\n return \"\" + w;\n }\n function tn(w) {\n if (en(w))\n return O(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", ri(w)), ct(w);\n }\n var Ar = C.ReactCurrentOwner, It = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, ni, d, u;\n u = {};\n function c(w) {\n if (Et.call(w, \"ref\")) {\n var F = Object.getOwnPropertyDescriptor(w, \"ref\").get;\n if (F && F.isReactWarning)\n return !1;\n }\n return w.ref !== void 0;\n }\n function g(w) {\n if (Et.call(w, \"key\")) {\n var F = Object.getOwnPropertyDescriptor(w, \"key\").get;\n if (F && F.isReactWarning)\n return !1;\n }\n return w.key !== void 0;\n }\n function _(w, F) {\n if (typeof w.ref == \"string\" && Ar.current && F && Ar.current.stateNode !== F) {\n var $ = L(Ar.current.type);\n u[$] || (O('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', L(Ar.current.type), w.ref), u[$] = !0);\n }\n }\n function P(w, F) {\n {\n var $ = function() {\n ni || (ni = !0, O(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", F));\n };\n $.isReactWarning = !0, Object.defineProperty(w, \"key\", {\n get: $,\n configurable: !0\n });\n }\n }\n function x(w, F) {\n {\n var $ = function() {\n d || (d = !0, O(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", F));\n };\n $.isReactWarning = !0, Object.defineProperty(w, \"ref\", {\n get: $,\n configurable: !0\n });\n }\n }\n var X = function(w, F, $, V, oe, ce, te) {\n var Z = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: t,\n // Built-in properties that belong on the element\n type: w,\n key: F,\n ref: $,\n props: te,\n // Record the component responsible for creating this element.\n _owner: ce\n };\n return Z._store = {}, Object.defineProperty(Z._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(Z, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: V\n }), Object.defineProperty(Z, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: oe\n }), Object.freeze && (Object.freeze(Z.props), Object.freeze(Z)), Z;\n };\n function pe(w, F, $, V, oe) {\n {\n var ce, te = {}, Z = null, Je = null;\n $ !== void 0 && (tn($), Z = \"\" + $), g(F) && (tn(F.key), Z = \"\" + F.key), c(F) && (Je = F.ref, _(F, oe));\n for (ce in F)\n Et.call(F, ce) && !It.hasOwnProperty(ce) && (te[ce] = F[ce]);\n if (w && w.defaultProps) {\n var _e = w.defaultProps;\n for (ce in _e)\n te[ce] === void 0 && (te[ce] = _e[ce]);\n }\n if (Z || Je) {\n var Ie = typeof w == \"function\" ? w.displayName || w.name || \"Unknown\" : w;\n Z && P(te, Ie), Je && x(te, Ie);\n }\n return X(w, Z, Je, oe, V, Ar.current, te);\n }\n }\n var ae = C.ReactCurrentOwner, fe = C.ReactDebugCurrentFrame;\n function ee(w) {\n if (w) {\n var F = w._owner, $ = kr(w.type, w._source, F ? F.type : null);\n fe.setExtraStackFrame($);\n } else\n fe.setExtraStackFrame(null);\n }\n var ho;\n ho = !1;\n function po(w) {\n return typeof w == \"object\" && w !== null && w.$$typeof === t;\n }\n function Ms() {\n {\n if (ae.current) {\n var w = L(ae.current.type);\n if (w)\n return `\n\nCheck the render method of \\`` + w + \"`.\";\n }\n return \"\";\n }\n }\n function rl(w) {\n {\n if (w !== void 0) {\n var F = w.fileName.replace(/^.*[\\\\\\/]/, \"\"), $ = w.lineNumber;\n return `\n\nCheck your code at ` + F + \":\" + $ + \".\";\n }\n return \"\";\n }\n }\n var Ds = {};\n function nl(w) {\n {\n var F = Ms();\n if (!F) {\n var $ = typeof w == \"string\" ? w : w.displayName || w.name;\n $ && (F = `\n\nCheck the top-level render call using <` + $ + \">.\");\n }\n return F;\n }\n }\n function js(w, F) {\n {\n if (!w._store || w._store.validated || w.key != null)\n return;\n w._store.validated = !0;\n var $ = nl(F);\n if (Ds[$])\n return;\n Ds[$] = !0;\n var V = \"\";\n w && w._owner && w._owner !== ae.current && (V = \" It was passed a child from \" + L(w._owner.type) + \".\"), ee(w), O('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', $, V), ee(null);\n }\n }\n function Ks(w, F) {\n {\n if (typeof w != \"object\")\n return;\n if (On(w))\n for (var $ = 0; $ < w.length; $++) {\n var V = w[$];\n po(V) && js(V, F);\n }\n else if (po(w))\n w._store && (w._store.validated = !0);\n else if (w) {\n var oe = T(w);\n if (typeof oe == \"function\" && oe !== w.entries)\n for (var ce = oe.call(w), te; !(te = ce.next()).done; )\n po(te.value) && js(te.value, F);\n }\n }\n }\n function il(w) {\n {\n var F = w.type;\n if (F == null || typeof F == \"string\")\n return;\n var $;\n if (typeof F == \"function\")\n $ = F.propTypes;\n else if (typeof F == \"object\" && (F.$$typeof === f || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n F.$$typeof === p))\n $ = F.propTypes;\n else\n return;\n if ($) {\n var V = L(F);\n Pn($, w.props, \"prop\", V, w);\n } else if (F.PropTypes !== void 0 && !ho) {\n ho = !0;\n var oe = L(F);\n O(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", oe || \"Unknown\");\n }\n typeof F.getDefaultProps == \"function\" && !F.getDefaultProps.isReactClassApproved && O(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function ol(w) {\n {\n for (var F = Object.keys(w.props), $ = 0; $ < F.length; $++) {\n var V = F[$];\n if (V !== \"children\" && V !== \"key\") {\n ee(w), O(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", V), ee(null);\n break;\n }\n }\n w.ref !== null && (ee(w), O(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), ee(null));\n }\n }\n function Ws(w, F, $, V, oe, ce) {\n {\n var te = m(w);\n if (!te) {\n var Z = \"\";\n (w === void 0 || typeof w == \"object\" && w !== null && Object.keys(w).length === 0) && (Z += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var Je = rl(oe);\n Je ? Z += Je : Z += Ms();\n var _e;\n w === null ? _e = \"null\" : On(w) ? _e = \"array\" : w !== void 0 && w.$$typeof === t ? (_e = \"<\" + (L(w.type) || \"Unknown\") + \" />\", Z = \" Did you accidentally export a JSX literal instead of a component?\") : _e = typeof w, O(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", _e, Z);\n }\n var Ie = pe(w, F, $, oe, ce);\n if (Ie == null)\n return Ie;\n if (te) {\n var dt = F.children;\n if (dt !== void 0)\n if (V)\n if (On(dt)) {\n for (var rn = 0; rn < dt.length; rn++)\n Ks(dt[rn], w);\n Object.freeze && Object.freeze(dt);\n } else\n O(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n Ks(dt, w);\n }\n return w === n ? ol(Ie) : il(Ie), Ie;\n }\n }\n function sl(w, F, $) {\n return Ws(w, F, $, !0);\n }\n function al(w, F, $) {\n return Ws(w, F, $, !1);\n }\n var ul = al, cl = sl;\n kn.Fragment = n, kn.jsx = ul, kn.jsxs = cl;\n }()), kn;\n}\nvar An = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar Xs;\nfunction Fl() {\n if (Xs)\n return An;\n Xs = 1;\n var e = q, t = Symbol.for(\"react.element\"), r = Symbol.for(\"react.fragment\"), n = Object.prototype.hasOwnProperty, i = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, s = { key: !0, ref: !0, __self: !0, __source: !0 };\n function o(a, f, h) {\n var l, p = {}, E = null, y = null;\n h !== void 0 && (E = \"\" + h), f.key !== void 0 && (E = \"\" + f.key), f.ref !== void 0 && (y = f.ref);\n for (l in f)\n n.call(f, l) && !s.hasOwnProperty(l) && (p[l] = f[l]);\n if (a && a.defaultProps)\n for (l in f = a.defaultProps, f)\n p[l] === void 0 && (p[l] = f[l]);\n return { $$typeof: t, type: a, key: E, ref: y, props: p, _owner: i.current };\n }\n return An.Fragment = r, An.jsx = o, An.jsxs = o, An;\n}\nZa.env.NODE_ENV === \"production\" ? Ko.exports = Fl() : Ko.exports = Nl();\nvar D = Ko.exports;\nconst eu = \"ord-connect\";\nfunction Ul(e) {\n const t = `${eu}_${e}`;\n try {\n const r = localStorage.getItem(t);\n return r != null ? JSON.parse(r) : null;\n } catch (r) {\n return console.error(`Error retrieving ${t} from localStorage`, r), null;\n }\n}\nfunction qs(e, t) {\n const r = `${eu}_${e}`;\n try {\n t ? localStorage.setItem(r, JSON.stringify(t)) : localStorage.removeItem(r);\n } catch (n) {\n console.error(`Error saving ${r} to localStorage`, n);\n }\n}\nfunction xn(e, t) {\n const [r, n] = Ee(() => {\n const s = Ul(e);\n return s || (qs(e, t), t);\n }), i = Ue(\n (s) => {\n qs(e, s), n(s);\n },\n [e]\n );\n return [r, i];\n}\nvar Rl = /* @__PURE__ */ ((e) => (e.MAINNET = \"mainnet\", e.TESTNET = \"testnet\", e))(Rl || {}), Ve = /* @__PURE__ */ ((e) => (e.UNISAT = \"unisat\", e.XVERSE = \"xverse\", e))(Ve || {});\nconst nn = {\n payments: null,\n ordinals: null\n}, tu = _t(\n void 0\n), Ll = \"address\", Hl = \"wallet\", $l = \"publicKey\", Ml = \"format\", Dl = \"network\";\nfunction sg({\n children: e,\n initialNetwork: t\n}) {\n if (!t)\n throw new Error(\"Initial network cannot be empty\");\n const [r, n] = xn(\n Ll,\n nn\n ), [i, s] = xn(\n Dl,\n t\n ), [o, a] = xn(Hl, null), [f, h] = xn(\n $l,\n nn\n ), [l, p] = xn(\n Ml,\n nn\n ), [E, y] = Ee(!1), v = Ue(() => y(!0), []), S = Ue(() => y(!1), []), T = Ue(() => {\n n(nn), h(nn), p(nn), a(null);\n }, [n, p, h, a]), C = Be(\n () => ({\n address: r,\n updateAddress: n,\n publicKey: f,\n updatePublicKey: h,\n network: i,\n updateNetwork: s,\n wallet: o,\n updateWallet: a,\n isModalOpen: E,\n openModal: v,\n closeModal: S,\n format: l,\n updateFormat: p,\n disconnectWallet: T\n }),\n [\n r,\n n,\n f,\n h,\n i,\n s,\n o,\n a,\n E,\n v,\n S,\n l,\n p,\n T\n ]\n );\n return /* @__PURE__ */ D.jsx(tu.Provider, { value: C, children: e });\n}\nfunction Pr() {\n const e = at(tu);\n if (!e)\n throw new Error(\"useOrdConnect must be used within OrdConnectProvider\");\n return e;\n}\nvar ru = { exports: {} };\n(function(e, t) {\n (function(r, n) {\n e.exports = n(q);\n })(xl, function(r) {\n return function(n) {\n var i = {};\n function s(o) {\n if (i[o])\n return i[o].exports;\n var a = i[o] = { i: o, l: !1, exports: {} };\n return n[o].call(a.exports, a, a.exports, s), a.l = !0, a.exports;\n }\n return s.m = n, s.c = i, s.d = function(o, a, f) {\n s.o(o, a) || Object.defineProperty(o, a, { enumerable: !0, get: f });\n }, s.r = function(o) {\n typeof Symbol < \"u\" && Symbol.toStringTag && Object.defineProperty(o, Symbol.toStringTag, { value: \"Module\" }), Object.defineProperty(o, \"__esModule\", { value: !0 });\n }, s.t = function(o, a) {\n if (1 & a && (o = s(o)), 8 & a || 4 & a && typeof o == \"object\" && o && o.__esModule)\n return o;\n var f = /* @__PURE__ */ Object.create(null);\n if (s.r(f), Object.defineProperty(f, \"default\", { enumerable: !0, value: o }), 2 & a && typeof o != \"string\")\n for (var h in o)\n s.d(f, h, (function(l) {\n return o[l];\n }).bind(null, h));\n return f;\n }, s.n = function(o) {\n var a = o && o.__esModule ? function() {\n return o.default;\n } : function() {\n return o;\n };\n return s.d(a, \"a\", a), a;\n }, s.o = function(o, a) {\n return Object.prototype.hasOwnProperty.call(o, a);\n }, s.p = \"/\", s(s.s = 1);\n }([function(n, i) {\n n.exports = r;\n }, function(n, i, s) {\n n.exports = s(2);\n }, function(n, i, s) {\n function o(b, m, N) {\n return m in b ? Object.defineProperty(b, m, { value: N, enumerable: !0, configurable: !0, writable: !0 }) : b[m] = N, b;\n }\n function a(b, m) {\n var N = Object.keys(b);\n if (Object.getOwnPropertySymbols) {\n var H = Object.getOwnPropertySymbols(b);\n m && (H = H.filter(function(L) {\n return Object.getOwnPropertyDescriptor(b, L).enumerable;\n })), N.push.apply(N, H);\n }\n return N;\n }\n function f(b, m) {\n if (b == null)\n return {};\n var N, H, L = function(K, re) {\n if (K == null)\n return {};\n var W, le, ke = {}, Se = Object.keys(K);\n for (le = 0; le < Se.length; le++)\n W = Se[le], re.indexOf(W) >= 0 || (ke[W] = K[W]);\n return ke;\n }(b, m);\n if (Object.getOwnPropertySymbols) {\n var M = Object.getOwnPropertySymbols(b);\n for (H = 0; H < M.length; H++)\n N = M[H], m.indexOf(N) >= 0 || Object.prototype.propertyIsEnumerable.call(b, N) && (L[N] = b[N]);\n }\n return L;\n }\n s.r(i);\n var h = s(0), l = s.n(h), p = function(b) {\n for (var m = 0, N = 0; N < b.length; N++)\n m = (m << 5) - m + b.charCodeAt(N), m &= m;\n return Math.abs(m);\n }, E = function(b, m) {\n return Math.floor(b / Math.pow(10, m) % 10);\n }, y = function(b, m) {\n return !(E(b, m) % 2);\n }, v = function(b, m, N) {\n var H = b % m;\n return N && E(b, N) % 2 === 0 ? -H : H;\n }, S = function(b, m, N) {\n return m[b % N];\n }, T = function(b) {\n var m = function(H, L) {\n var M = p(H), K = L && L.length;\n return Array.from({ length: 4 }, function(re, W) {\n return { color: S(M + W, L, K), translateX: v(M * (W + 1), 40 - (W + 17), 1), translateY: v(M * (W + 1), 40 - (W + 17), 2), rotate: v(M * (W + 1), 360), isSquare: y(M, 2) };\n });\n }(b.name, b.colors), N = h.useId();\n return h.createElement(\"svg\", { viewBox: \"0 0 80 80\", fill: \"none\", role: \"img\", xmlns: \"http://www.w3.org/2000/svg\", width: b.size, height: b.size }, b.title && h.createElement(\"title\", null, b.name), h.createElement(\"mask\", { id: N, maskUnits: \"userSpaceOnUse\", x: 0, y: 0, width: 80, height: 80 }, h.createElement(\"rect\", { width: 80, height: 80, rx: b.square ? void 0 : 160, fill: \"#FFFFFF\" })), h.createElement(\"g\", { mask: \"url(#\".concat(N, \")\") }, h.createElement(\"rect\", { width: 80, height: 80, fill: m[0].color }), h.createElement(\"rect\", { x: 10, y: 30, width: 80, height: m[1].isSquare ? 80 : 10, fill: m[1].color, transform: \"translate(\" + m[1].translateX + \" \" + m[1].translateY + \") rotate(\" + m[1].rotate + \" 40 40)\" }), h.createElement(\"circle\", { cx: 40, cy: 40, fill: m[2].color, r: 16, transform: \"translate(\" + m[2].translateX + \" \" + m[2].translateY + \")\" }), h.createElement(\"line\", { x1: 0, y1: 40, x2: 80, y2: 40, strokeWidth: 2, stroke: m[3].color, transform: \"translate(\" + m[3].translateX + \" \" + m[3].translateY + \") rotate(\" + m[3].rotate + \" 40 40)\" })));\n }, C = function(b) {\n var m = function(H, L) {\n var M = p(L), K = H && H.length, re = Array.from({ length: 5 }, function(le, ke) {\n return S(M + ke, H, K);\n }), W = [];\n return W[0] = re[0], W[1] = re[1], W[2] = re[1], W[3] = re[2], W[4] = re[2], W[5] = re[3], W[6] = re[3], W[7] = re[0], W[8] = re[4], W;\n }(b.colors, b.name), N = l.a.useId();\n return l.a.createElement(\"svg\", { viewBox: \"0 0 90 90\", fill: \"none\", role: \"img\", xmlns: \"http://www.w3.org/2000/svg\", width: b.size, height: b.size }, b.title && l.a.createElement(\"title\", null, b.name), l.a.createElement(\"mask\", { id: N, maskUnits: \"userSpaceOnUse\", x: 0, y: 0, width: 90, height: 90 }, l.a.createElement(\"rect\", { width: 90, height: 90, rx: b.square ? void 0 : 180, fill: \"#FFFFFF\" })), l.a.createElement(\"g\", { mask: \"url(#\".concat(N, \")\") }, l.a.createElement(\"path\", { d: \"M0 0h90v45H0z\", fill: m[0] }), l.a.createElement(\"path\", { d: \"M0 45h90v45H0z\", fill: m[1] }), l.a.createElement(\"path\", { d: \"M83 45a38 38 0 00-76 0h76z\", fill: m[2] }), l.a.createElement(\"path\", { d: \"M83 45a38 38 0 01-76 0h76z\", fill: m[3] }), l.a.createElement(\"path\", { d: \"M77 45a32 32 0 10-64 0h64z\", fill: m[4] }), l.a.createElement(\"path\", { d: \"M77 45a32 32 0 11-64 0h64z\", fill: m[5] }), l.a.createElement(\"path\", { d: \"M71 45a26 26 0 00-52 0h52z\", fill: m[6] }), l.a.createElement(\"path\", { d: \"M71 45a26 26 0 01-52 0h52z\", fill: m[7] }), l.a.createElement(\"circle\", { cx: 45, cy: 45, r: 23, fill: m[8] })));\n }, O = function(b) {\n var m = function(H, L) {\n var M = p(H), K = L && L.length;\n return Array.from({ length: 64 }, function(re, W) {\n return S(M % (W + 1), L, K);\n });\n }(b.name, b.colors), N = h.useId();\n return h.createElement(\"svg\", { viewBox: \"0 0 80 80\", fill: \"none\", role: \"img\", xmlns: \"http://www.w3.org/2000/svg\", width: b.size, height: b.size }, b.title && h.createElement(\"title\", null, b.name), h.createElement(\"mask\", { id: N, \"mask-type\": \"alpha\", maskUnits: \"userSpaceOnUse\", x: 0, y: 0, width: 80, height: 80 }, h.createElement(\"rect\", { width: 80, height: 80, rx: b.square ? void 0 : 160, fill: \"#FFFFFF\" })), h.createElement(\"g\", { mask: \"url(#\".concat(N, \")\") }, h.createElement(\"rect\", { width: 10, height: 10, fill: m[0] }), h.createElement(\"rect\", { x: 20, width: 10, height: 10, fill: m[1] }), h.createElement(\"rect\", { x: 40, width: 10, height: 10, fill: m[2] }), h.createElement(\"rect\", { x: 60, width: 10, height: 10, fill: m[3] }), h.createElement(\"rect\", { x: 10, width: 10, height: 10, fill: m[4] }), h.createElement(\"rect\", { x: 30, width: 10, height: 10, fill: m[5] }), h.createElement(\"rect\", { x: 50, width: 10, height: 10, fill: m[6] }), h.createElement(\"rect\", { x: 70, width: 10, height: 10, fill: m[7] }), h.createElement(\"rect\", { y: 10, width: 10, height: 10, fill: m[8] }), h.createElement(\"rect\", { y: 20, width: 10, height: 10, fill: m[9] }), h.createElement(\"rect\", { y: 30, width: 10, height: 10, fill: m[10] }), h.createElement(\"rect\", { y: 40, width: 10, height: 10, fill: m[11] }), h.createElement(\"rect\", { y: 50, width: 10, height: 10, fill: m[12] }), h.createElement(\"rect\", { y: 60, width: 10, height: 10, fill: m[13] }), h.createElement(\"rect\", { y: 70, width: 10, height: 10, fill: m[14] }), h.createElement(\"rect\", { x: 20, y: 10, width: 10, height: 10, fill: m[15] }), h.createElement(\"rect\", { x: 20, y: 20, width: 10, height: 10, fill: m[16] }), h.createElement(\"rect\", { x: 20, y: 30, width: 10, height: 10, fill: m[17] }), h.createElement(\"rect\", { x: 20, y: 40, width: 10, height: 10, fill: m[18] }), h.createElement(\"rect\", { x: 20, y: 50, width: 10, height: 10, fill: m[19] }), h.createElement(\"rect\", { x: 20, y: 60, width: 10, height: 10, fill: m[20] }), h.createElement(\"rect\", { x: 20, y: 70, width: 10, height: 10, fill: m[21] }), h.createElement(\"rect\", { x: 40, y: 10, width: 10, height: 10, fill: m[22] }), h.createElement(\"rect\", { x: 40, y: 20, width: 10, height: 10, fill: m[23] }), h.createElement(\"rect\", { x: 40, y: 30, width: 10, height: 10, fill: m[24] }), h.createElement(\"rect\", { x: 40, y: 40, width: 10, height: 10, fill: m[25] }), h.createElement(\"rect\", { x: 40, y: 50, width: 10, height: 10, fill: m[26] }), h.createElement(\"rect\", { x: 40, y: 60, width: 10, height: 10, fill: m[27] }), h.createElement(\"rect\", { x: 40, y: 70, width: 10, height: 10, fill: m[28] }), h.createElement(\"rect\", { x: 60, y: 10, width: 10, height: 10, fill: m[29] }), h.createElement(\"rect\", { x: 60, y: 20, width: 10, height: 10, fill: m[30] }), h.createElement(\"rect\", { x: 60, y: 30, width: 10, height: 10, fill: m[31] }), h.createElement(\"rect\", { x: 60, y: 40, width: 10, height: 10, fill: m[32] }), h.createElement(\"rect\", { x: 60, y: 50, width: 10, height: 10, fill: m[33] }), h.createElement(\"rect\", { x: 60, y: 60, width: 10, height: 10, fill: m[34] }), h.createElement(\"rect\", { x: 60, y: 70, width: 10, height: 10, fill: m[35] }), h.createElement(\"rect\", { x: 10, y: 10, width: 10, height: 10, fill: m[36] }), h.createElement(\"rect\", { x: 10, y: 20, width: 10, height: 10, fill: m[37] }), h.createElement(\"rect\", { x: 10, y: 30, width: 10, height: 10, fill: m[38] }), h.createElement(\"rect\", { x: 10, y: 40, width: 10, height: 10, fill: m[39] }), h.createElement(\"rect\", { x: 10, y: 50, width: 10, height: 10, fill: m[40] }), h.createElement(\"rect\", { x: 10, y: 60, width: 10, height: 10, fill: m[41] }), h.createElement(\"rect\", { x: 10, y: 70, width: 10, height: 10, fill: m[42] }), h.createElement(\"rect\", { x: 30, y: 10, width: 10, height: 10, fill: m[43] }), h.createElement(\"rect\", { x: 30, y: 20, width: 10, height: 10, fill: m[44] }), h.createElement(\"rect\", { x: 30, y: 30, width: 10, height: 10, fill: m[45] }), h.createElement(\"rect\", { x: 30, y: 40, width: 10, height: 10, fill: m[46] }), h.createElement(\"rect\", { x: 30, y: 50, width: 10, height: 10, fill: m[47] }), h.createElement(\"rect\", { x: 30, y: 60, width: 10, height: 10, fill: m[48] }), h.createElement(\"rect\", { x: 30, y: 70, width: 10, height: 10, fill: m[49] }), h.createElement(\"rect\", { x: 50, y: 10, width: 10, height: 10, fill: m[50] }), h.createElement(\"rect\", { x: 50, y: 20, width: 10, height: 10, fill: m[51] }), h.createElement(\"rect\", { x: 50, y: 30, width: 10, height: 10, fill: m[52] }), h.createElement(\"rect\", { x: 50, y: 40, width: 10, height: 10, fill: m[53] }), h.createElement(\"rect\", { x: 50, y: 50, width: 10, height: 10, fill: m[54] }), h.createElement(\"rect\", { x: 50, y: 60, width: 10, height: 10, fill: m[55] }), h.createElement(\"rect\", { x: 50, y: 70, width: 10, height: 10, fill: m[56] }), h.createElement(\"rect\", { x: 70, y: 10, width: 10, height: 10, fill: m[57] }), h.createElement(\"rect\", { x: 70, y: 20, width: 10, height: 10, fill: m[58] }), h.createElement(\"rect\", { x: 70, y: 30, width: 10, height: 10, fill: m[59] }), h.createElement(\"rect\", { x: 70, y: 40, width: 10, height: 10, fill: m[60] }), h.createElement(\"rect\", { x: 70, y: 50, width: 10, height: 10, fill: m[61] }), h.createElement(\"rect\", { x: 70, y: 60, width: 10, height: 10, fill: m[62] }), h.createElement(\"rect\", { x: 70, y: 70, width: 10, height: 10, fill: m[63] })));\n }, B = function(b) {\n var m = function(H, L) {\n var M, K = p(H), re = L && L.length, W = S(K, L, re), le = v(K, 10, 1), ke = le < 5 ? le + 4 : le, Se = v(K, 10, 2), ve = Se < 5 ? Se + 4 : Se;\n return { wrapperColor: W, faceColor: (M = W, M.slice(0, 1) === \"#\" && (M = M.slice(1)), (299 * parseInt(M.substr(0, 2), 16) + 587 * parseInt(M.substr(2, 2), 16) + 114 * parseInt(M.substr(4, 2), 16)) / 1e3 >= 128 ? \"#000000\" : \"#FFFFFF\"), backgroundColor: S(K + 13, L, re), wrapperTranslateX: ke, wrapperTranslateY: ve, wrapperRotate: v(K, 360), wrapperScale: 1 + v(K, 3) / 10, isMouthOpen: y(K, 2), isCircle: y(K, 1), eyeSpread: v(K, 5), mouthSpread: v(K, 3), faceRotate: v(K, 10, 3), faceTranslateX: ke > 6 ? ke / 2 : v(K, 8, 1), faceTranslateY: ve > 6 ? ve / 2 : v(K, 7, 2) };\n }(b.name, b.colors), N = h.useId();\n return h.createElement(\"svg\", { viewBox: \"0 0 36 36\", fill: \"none\", role: \"img\", xmlns: \"http://www.w3.org/2000/svg\", width: b.size, height: b.size }, b.title && h.createElement(\"title\", null, b.name), h.createElement(\"mask\", { id: N, maskUnits: \"userSpaceOnUse\", x: 0, y: 0, width: 36, height: 36 }, h.createElement(\"rect\", { width: 36, height: 36, rx: b.square ? void 0 : 72, fill: \"#FFFFFF\" })), h.createElement(\"g\", { mask: \"url(#\".concat(N, \")\") }, h.createElement(\"rect\", { width: 36, height: 36, fill: m.backgroundColor }), h.createElement(\"rect\", { x: \"0\", y: \"0\", width: 36, height: 36, transform: \"translate(\" + m.wrapperTranslateX + \" \" + m.wrapperTranslateY + \") rotate(\" + m.wrapperRotate + \" 18 18) scale(\" + m.wrapperScale + \")\", fill: m.wrapperColor, rx: m.isCircle ? 36 : 6 }), h.createElement(\"g\", { transform: \"translate(\" + m.faceTranslateX + \" \" + m.faceTranslateY + \") rotate(\" + m.faceRotate + \" 18 18)\" }, m.isMouthOpen ? h.createElement(\"path\", { d: \"M15 \" + (19 + m.mouthSpread) + \"c2 1 4 1 6 0\", stroke: m.faceColor, fill: \"none\", strokeLinecap: \"round\" }) : h.createElement(\"path\", { d: \"M13,\" + (19 + m.mouthSpread) + \" a1,0.75 0 0,0 10,0\", fill: m.faceColor }), h.createElement(\"rect\", { x: 14 - m.eyeSpread, y: 14, width: 1.5, height: 2, rx: 1, stroke: \"none\", fill: m.faceColor }), h.createElement(\"rect\", { x: 20 + m.eyeSpread, y: 14, width: 1.5, height: 2, rx: 1, stroke: \"none\", fill: m.faceColor }))));\n }, U = function(b) {\n var m = function(L, M) {\n var K = p(L), re = M && M.length;\n return Array.from({ length: 4 }, function(W, le) {\n return S(K + le, M, re);\n });\n }(b.name, b.colors), N = b.name.replace(/\\s/g, \"\"), H = h.useId();\n return h.createElement(\"svg\", { viewBox: \"0 0 80 80\", fill: \"none\", role: \"img\", xmlns: \"http://www.w3.org/2000/svg\", width: b.size, height: b.size }, b.title && h.createElement(\"title\", null, b.name), h.createElement(\"mask\", { id: H, maskUnits: \"userSpaceOnUse\", x: 0, y: 0, width: 80, height: 80 }, h.createElement(\"rect\", { width: 80, height: 80, rx: b.square ? void 0 : 160, fill: \"#FFFFFF\" })), h.createElement(\"g\", { mask: \"url(#\".concat(H, \")\") }, h.createElement(\"path\", { fill: \"url(#gradient_paint0_linear_\" + N + \")\", d: \"M0 0h80v40H0z\" }), h.createElement(\"path\", { fill: \"url(#gradient_paint1_linear_\" + N + \")\", d: \"M0 40h80v40H0z\" })), h.createElement(\"defs\", null, h.createElement(\"linearGradient\", { id: \"gradient_paint0_linear_\" + N, x1: 40, y1: 0, x2: 40, y2: 40, gradientUnits: \"userSpaceOnUse\" }, h.createElement(\"stop\", { stopColor: m[0] }), h.createElement(\"stop\", { offset: 1, stopColor: m[1] })), h.createElement(\"linearGradient\", { id: \"gradient_paint1_linear_\" + N, x1: 40, y1: 40, x2: 40, y2: 80, gradientUnits: \"userSpaceOnUse\" }, h.createElement(\"stop\", { stopColor: m[2] }), h.createElement(\"stop\", { offset: 1, stopColor: m[3] }))));\n }, R = function(b) {\n var m = function(H, L) {\n var M = p(H), K = L && L.length;\n return Array.from({ length: 3 }, function(re, W) {\n return { color: S(M + W, L, K), translateX: v(M * (W + 1), 8, 1), translateY: v(M * (W + 1), 8, 2), scale: 1.2 + v(M * (W + 1), 4) / 10, rotate: v(M * (W + 1), 360, 1) };\n });\n }(b.name, b.colors), N = h.useId();\n return h.createElement(\"svg\", { viewBox: \"0 0 80 80\", fill: \"none\", role: \"img\", xmlns: \"http://www.w3.org/2000/svg\", width: b.size, height: b.size }, b.title && h.createElement(\"title\", null, b.name), h.createElement(\"mask\", { id: N, maskUnits: \"userSpaceOnUse\", x: 0, y: 0, width: 80, height: 80 }, h.createElement(\"rect\", { width: 80, height: 80, rx: b.square ? void 0 : 160, fill: \"#FFFFFF\" })), h.createElement(\"g\", { mask: \"url(#\".concat(N, \")\") }, h.createElement(\"rect\", { width: 80, height: 80, fill: m[0].color }), h.createElement(\"path\", { filter: \"url(#prefix__filter0_f)\", d: \"M32.414 59.35L50.376 70.5H72.5v-71H33.728L26.5 13.381l19.057 27.08L32.414 59.35z\", fill: m[1].color, transform: \"translate(\" + m[1].translateX + \" \" + m[1].translateY + \") rotate(\" + m[1].rotate + \" 40 40) scale(\" + m[2].scale + \")\" }), h.createElement(\"path\", { filter: \"url(#prefix__filter0_f)\", style: { mixBlendMode: \"overlay\" }, d: \"M22.216 24L0 46.75l14.108 38.129L78 86l-3.081-59.276-22.378 4.005 12.972 20.186-23.35 27.395L22.215 24z\", fill: m[2].color, transform: \"translate(\" + m[2].translateX + \" \" + m[2].translateY + \") rotate(\" + m[2].rotate + \" 40 40) scale(\" + m[2].scale + \")\" })), h.createElement(\"defs\", null, h.createElement(\"filter\", { id: \"prefix__filter0_f\", filterUnits: \"userSpaceOnUse\", colorInterpolationFilters: \"sRGB\" }, h.createElement(\"feFlood\", { floodOpacity: 0, result: \"BackgroundImageFix\" }), h.createElement(\"feBlend\", { in: \"SourceGraphic\", in2: \"BackgroundImageFix\", result: \"shape\" }), h.createElement(\"feGaussianBlur\", { stdDeviation: 7, result: \"effect1_foregroundBlur\" }))));\n }, k = [\"pixel\", \"bauhaus\", \"ring\", \"beam\", \"sunset\", \"marble\"], j = { geometric: \"beam\", abstract: \"bauhaus\" }, A = function(b) {\n var m = b.variant, N = m === void 0 ? \"marble\" : m, H = b.colors, L = H === void 0 ? [\"#92A1C6\", \"#146A7C\", \"#F0AB3D\", \"#C271B4\", \"#C20D90\"] : H, M = b.name, K = M === void 0 ? \"Clara Barton\" : M, re = b.square, W = re !== void 0 && re, le = b.title, ke = le !== void 0 && le, Se = b.size, ve = function(Ne) {\n for (var ut = 1; ut < arguments.length; ut++) {\n var Y = arguments[ut] != null ? arguments[ut] : {};\n ut % 2 ? a(Object(Y), !0).forEach(function(me) {\n o(Ne, me, Y[me]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(Ne, Object.getOwnPropertyDescriptors(Y)) : a(Object(Y)).forEach(function(me) {\n Object.defineProperty(Ne, me, Object.getOwnPropertyDescriptor(Y, me));\n });\n }\n return Ne;\n }({ colors: L, name: K, title: ke, size: Se === void 0 ? 40 : Se, square: W }, f(b, [\"variant\", \"colors\", \"name\", \"square\", \"title\", \"size\"]));\n return { pixel: l.a.createElement(O, ve), bauhaus: l.a.createElement(T, ve), ring: l.a.createElement(C, ve), beam: l.a.createElement(B, ve), sunset: l.a.createElement(U, ve), marble: l.a.createElement(R, ve) }[Object.keys(j).includes(N) ? j[N] : k.includes(N) ? N : \"marble\"];\n };\n i.default = A;\n }]);\n });\n})(ru);\nvar jl = ru.exports;\nconst nu = /* @__PURE__ */ Cl(jl);\nvar Kl = Object.defineProperty, Wl = (e, t, r) => t in e ? Kl(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, go = (e, t, r) => (Wl(e, typeof t != \"symbol\" ? t + \"\" : t, r), r);\nlet Vl = class {\n constructor() {\n go(this, \"current\", this.detect()), go(this, \"handoffState\", \"pending\"), go(this, \"currentId\", 0);\n }\n set(t) {\n this.current !== t && (this.handoffState = \"pending\", this.currentId = 0, this.current = t);\n }\n reset() {\n this.set(this.detect());\n }\n nextId() {\n return ++this.currentId;\n }\n get isServer() {\n return this.current === \"server\";\n }\n get isClient() {\n return this.current === \"client\";\n }\n detect() {\n return typeof window > \"u\" || typeof document > \"u\" ? \"server\" : \"client\";\n }\n handoff() {\n this.handoffState === \"pending\" && (this.handoffState = \"complete\");\n }\n get isHandoffComplete() {\n return this.handoffState === \"complete\";\n }\n}, Yt = new Vl(), Le = (e, t) => {\n Yt.isServer ? be(e, t) : ll(e, t);\n};\nfunction Jt(e) {\n let t = ie(e);\n return Le(() => {\n t.current = e;\n }, [e]), t;\n}\nlet Q = function(e) {\n let t = Jt(e);\n return q.useCallback((...r) => t.current(...r), [t]);\n};\nfunction Li(e) {\n typeof queueMicrotask == \"function\" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {\n throw t;\n }));\n}\nfunction vt() {\n let e = [], t = { addEventListener(r, n, i, s) {\n return r.addEventListener(n, i, s), t.add(() => r.removeEventListener(n, i, s));\n }, requestAnimationFrame(...r) {\n let n = requestAnimationFrame(...r);\n return t.add(() => cancelAnimationFrame(n));\n }, nextFrame(...r) {\n return t.requestAnimationFrame(() => t.requestAnimationFrame(...r));\n }, setTimeout(...r) {\n let n = setTimeout(...r);\n return t.add(() => clearTimeout(n));\n }, microTask(...r) {\n let n = { current: !0 };\n return Li(() => {\n n.current && r[0]();\n }), t.add(() => {\n n.current = !1;\n });\n }, style(r, n, i) {\n let s = r.style.getPropertyValue(n);\n return Object.assign(r.style, { [n]: i }), this.add(() => {\n Object.assign(r.style, { [n]: s });\n });\n }, group(r) {\n let n = vt();\n return r(n), this.add(() => n.dispose());\n }, add(r) {\n return e.push(r), () => {\n let n = e.indexOf(r);\n if (n >= 0)\n for (let i of e.splice(n, 1))\n i();\n };\n }, dispose() {\n for (let r of e.splice(0))\n r();\n } };\n return t;\n}\nfunction zn() {\n let [e] = Ee(vt);\n return be(() => () => e.dispose(), [e]), e;\n}\nfunction Gl() {\n let e = typeof document > \"u\";\n return \"useSyncExternalStore\" in Er ? ((t) => t.useSyncExternalStore)(Er)(() => () => {\n }, () => !1, () => !e) : !1;\n}\nfunction vn() {\n let e = Gl(), [t, r] = Er.useState(Yt.isHandoffComplete);\n return t && Yt.isHandoffComplete === !1 && r(!1), Er.useEffect(() => {\n t !== !0 && r(!0);\n }, [t]), Er.useEffect(() => Yt.handoff(), []), e ? !1 : t;\n}\nvar zs;\nlet nr = (zs = q.useId) != null ? zs : function() {\n let e = vn(), [t, r] = q.useState(e ? () => Yt.nextId() : null);\n return Le(() => {\n t === null && r(Yt.nextId());\n }, [t]), t != null ? \"\" + t : void 0;\n};\nfunction Re(e, t, ...r) {\n if (e in t) {\n let i = t[e];\n return typeof i == \"function\" ? i(...r) : i;\n }\n let n = new Error(`Tried to handle \"${e}\" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((i) => `\"${i}\"`).join(\", \")}.`);\n throw Error.captureStackTrace && Error.captureStackTrace(n, Re), n;\n}\nfunction Hi(e) {\n return Yt.isServer ? null : e instanceof Node ? e.ownerDocument : e != null && e.hasOwnProperty(\"current\") && e.current instanceof Node ? e.current.ownerDocument : document;\n}\nlet Wo = [\"[contentEditable=true]\", \"[tabindex]\", \"a[href]\", \"area[href]\", \"button:not([disabled])\", \"iframe\", \"input:not([disabled])\", \"select:not([disabled])\", \"textarea:not([disabled])\"].map((e) => `${e}:not([tabindex='-1'])`).join(\",\");\nvar Xt = ((e) => (e[e.First = 1] = \"First\", e[e.Previous = 2] = \"Previous\", e[e.Next = 4] = \"Next\", e[e.Last = 8] = \"Last\", e[e.WrapAround = 16] = \"WrapAround\", e[e.NoScroll = 32] = \"NoScroll\", e))(Xt || {}), iu = ((e) => (e[e.Error = 0] = \"Error\", e[e.Overflow = 1] = \"Overflow\", e[e.Success = 2] = \"Success\", e[e.Underflow = 3] = \"Underflow\", e))(iu || {}), Xl = ((e) => (e[e.Previous = -1] = \"Previous\", e[e.Next = 1] = \"Next\", e))(Xl || {});\nfunction ou(e = document.body) {\n return e == null ? [] : Array.from(e.querySelectorAll(Wo)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER)));\n}\nvar us = ((e) => (e[e.Strict = 0] = \"Strict\", e[e.Loose = 1] = \"Loose\", e))(us || {});\nfunction cs(e, t = 0) {\n var r;\n return e === ((r = Hi(e)) == null ? void 0 : r.body) ? !1 : Re(t, { 0() {\n return e.matches(Wo);\n }, 1() {\n let n = e;\n for (; n !== null; ) {\n if (n.matches(Wo))\n return !0;\n n = n.parentElement;\n }\n return !1;\n } });\n}\nfunction su(e) {\n let t = Hi(e);\n vt().nextFrame(() => {\n t && !cs(t.activeElement, 0) && br(e);\n });\n}\nvar ql = ((e) => (e[e.Keyboard = 0] = \"Keyboard\", e[e.Mouse = 1] = \"Mouse\", e))(ql || {});\ntypeof window < \"u\" && typeof document < \"u\" && (document.addEventListener(\"keydown\", (e) => {\n e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = \"\");\n}, !0), document.addEventListener(\"click\", (e) => {\n e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = \"\");\n}, !0));\nfunction br(e) {\n e == null || e.focus({ preventScroll: !0 });\n}\nlet zl = [\"textarea\", \"input\"].join(\",\");\nfunction Yl(e) {\n var t, r;\n return (r = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, zl)) != null ? r : !1;\n}\nfunction au(e, t = (r) => r) {\n return e.slice().sort((r, n) => {\n let i = t(r), s = t(n);\n if (i === null || s === null)\n return 0;\n let o = i.compareDocumentPosition(s);\n return o & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : o & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;\n });\n}\nfunction Jl(e, t) {\n return Wn(ou(), t, { relativeTo: e });\n}\nfunction Wn(e, t, { sorted: r = !0, relativeTo: n = null, skipElements: i = [] } = {}) {\n let s = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, o = Array.isArray(e) ? r ? au(e) : e : ou(e);\n i.length > 0 && o.length > 1 && (o = o.filter((y) => !i.includes(y))), n = n ?? s.activeElement;\n let a = (() => {\n if (t & 5)\n return 1;\n if (t & 10)\n return -1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), f = (() => {\n if (t & 1)\n return 0;\n if (t & 2)\n return Math.max(0, o.indexOf(n)) - 1;\n if (t & 4)\n return Math.max(0, o.indexOf(n)) + 1;\n if (t & 8)\n return o.length - 1;\n throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\");\n })(), h = t & 32 ? { preventScroll: !0 } : {}, l = 0, p = o.length, E;\n do {\n if (l >= p || l + p <= 0)\n return 0;\n let y = f + l;\n if (t & 16)\n y = (y + p) % p;\n else {\n if (y < 0)\n return 3;\n if (y >= p)\n return 1;\n }\n E = o[y], E == null || E.focus(h), l += a;\n } while (E !== s.activeElement);\n return t & 6 && Yl(E) && E.select(), 2;\n}\nfunction uu() {\n return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0;\n}\nfunction Ql() {\n return /Android/gi.test(window.navigator.userAgent);\n}\nfunction Zl() {\n return uu() || Ql();\n}\nfunction ii(e, t, r) {\n let n = Jt(t);\n be(() => {\n function i(s) {\n n.current(s);\n }\n return document.addEventListener(e, i, r), () => document.removeEventListener(e, i, r);\n }, [e, r]);\n}\nfunction cu(e, t, r) {\n let n = Jt(t);\n be(() => {\n function i(s) {\n n.current(s);\n }\n return window.addEventListener(e, i, r), () => window.removeEventListener(e, i, r);\n }, [e, r]);\n}\nfunction lu(e, t, r = !0) {\n let n = ie(!1);\n be(() => {\n requestAnimationFrame(() => {\n n.current = r;\n });\n }, [r]);\n function i(o, a) {\n if (!n.current || o.defaultPrevented)\n return;\n let f = a(o);\n if (f === null || !f.getRootNode().contains(f) || !f.isConnected)\n return;\n let h = function l(p) {\n return typeof p == \"function\" ? l(p()) : Array.isArray(p) || p instanceof Set ? p : [p];\n }(e);\n for (let l of h) {\n if (l === null)\n continue;\n let p = l instanceof HTMLElement ? l : l.current;\n if (p != null && p.contains(f) || o.composed && o.composedPath().includes(p))\n return;\n }\n return !cs(f, us.Loose) && f.tabIndex !== -1 && o.preventDefault(), t(o, f);\n }\n let s = ie(null);\n ii(\"pointerdown\", (o) => {\n var a, f;\n n.current && (s.current = ((f = (a = o.composedPath) == null ? void 0 : a.call(o)) == null ? void 0 : f[0]) || o.target);\n }, !0), ii(\"mousedown\", (o) => {\n var a, f;\n n.current && (s.current = ((f = (a = o.composedPath) == null ? void 0 : a.call(o)) == null ? void 0 : f[0]) || o.target);\n }, !0), ii(\"click\", (o) => {\n Zl() || s.current && (i(o, () => s.current), s.current = null);\n }, !0), ii(\"touchend\", (o) => i(o, () => o.target instanceof HTMLElement ? o.target : null), !0), cu(\"blur\", (o) => i(o, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0);\n}\nfunction _n(...e) {\n return Be(() => Hi(...e), [...e]);\n}\nfunction Ys(e) {\n var t;\n if (e.type)\n return e.type;\n let r = (t = e.as) != null ? t : \"button\";\n if (typeof r == \"string\" && r.toLowerCase() === \"button\")\n return \"button\";\n}\nfunction ef(e, t) {\n let [r, n] = Ee(() => Ys(e));\n return Le(() => {\n n(Ys(e));\n }, [e.type, e.as]), Le(() => {\n r || t.current && t.current instanceof HTMLButtonElement && !t.current.hasAttribute(\"type\") && n(\"button\");\n }, [r, t]), r;\n}\nlet fu = Symbol();\nfunction tf(e, t = !0) {\n return Object.assign(e, { [fu]: t });\n}\nfunction it(...e) {\n let t = ie(e);\n be(() => {\n t.current = e;\n }, [e]);\n let r = Q((n) => {\n for (let i of t.current)\n i != null && (typeof i == \"function\" ? i(n) : i.current = n);\n });\n return e.every((n) => n == null || (n == null ? void 0 : n[fu])) ? void 0 : r;\n}\nfunction Js(e) {\n return [e.screenX, e.screenY];\n}\nfunction rf() {\n let e = ie([-1, -1]);\n return { wasMoved(t) {\n let r = Js(t);\n return e.current[0] === r[0] && e.current[1] === r[1] ? !1 : (e.current = r, !0);\n }, update(t) {\n e.current = Js(t);\n } };\n}\nfunction nf({ container: e, accept: t, walk: r, enabled: n = !0 }) {\n let i = ie(t), s = ie(r);\n be(() => {\n i.current = t, s.current = r;\n }, [t, r]), Le(() => {\n if (!e || !n)\n return;\n let o = Hi(e);\n if (!o)\n return;\n let a = i.current, f = s.current, h = Object.assign((p) => a(p), { acceptNode: a }), l = o.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, h, !1);\n for (; l.nextNode(); )\n f(l.currentNode);\n }, [e, n, i, s]);\n}\nfunction ls(e, t) {\n let r = ie([]), n = Q(e);\n be(() => {\n let i = [...r.current];\n for (let [s, o] of t.entries())\n if (r.current[s] !== o) {\n let a = n(t, i);\n return r.current = t, a;\n }\n }, [n, ...t]);\n}\nfunction Pi(...e) {\n return Array.from(new Set(e.flatMap((t) => typeof t == \"string\" ? t.split(\" \") : []))).filter(Boolean).join(\" \");\n}\nvar wn = ((e) => (e[e.None = 0] = \"None\", e[e.RenderStrategy = 1] = \"RenderStrategy\", e[e.Static = 2] = \"Static\", e))(wn || {}), mr = ((e) => (e[e.Unmount = 0] = \"Unmount\", e[e.Hidden = 1] = \"Hidden\", e))(mr || {});\nfunction Ye({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: i, visible: s = !0, name: o, mergeRefs: a }) {\n a = a ?? of;\n let f = hu(t, e);\n if (s)\n return oi(f, r, n, o, a);\n let h = i ?? 0;\n if (h & 2) {\n let { static: l = !1, ...p } = f;\n if (l)\n return oi(p, r, n, o, a);\n }\n if (h & 1) {\n let { unmount: l = !0, ...p } = f;\n return Re(l ? 0 : 1, { 0() {\n return null;\n }, 1() {\n return oi({ ...p, hidden: !0, style: { display: \"none\" } }, r, n, o, a);\n } });\n }\n return oi(f, r, n, o, a);\n}\nfunction oi(e, t = {}, r, n, i) {\n let { as: s = r, children: o, refName: a = \"ref\", ...f } = yo(e, [\"unmount\", \"static\"]), h = e.ref !== void 0 ? { [a]: e.ref } : {}, l = typeof o == \"function\" ? o(t) : o;\n \"className\" in f && f.className && typeof f.className == \"function\" && (f.className = f.className(t));\n let p = {};\n if (t) {\n let E = !1, y = [];\n for (let [v, S] of Object.entries(t))\n typeof S == \"boolean\" && (E = !0), S === !0 && y.push(v);\n E && (p[\"data-headlessui-state\"] = y.join(\" \"));\n }\n if (s === ft && Object.keys(Qs(f)).length > 0) {\n if (!hl(l) || Array.isArray(l) && l.length > 1)\n throw new Error(['Passing props on \"Fragment\"!', \"\", `The current component <${n} /> is rendering a \"Fragment\".`, \"However we need to passthrough the following props:\", Object.keys(f).map((S) => ` - ${S}`).join(`\n`), \"\", \"You can apply a few solutions:\", ['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".', \"Render a single element as the child so that we can forward the props onto that element.\"].map((S) => ` - ${S}`).join(`\n`)].join(`\n`));\n let E = l.props, y = typeof (E == null ? void 0 : E.className) == \"function\" ? (...S) => Pi(E == null ? void 0 : E.className(...S), f.className) : Pi(E == null ? void 0 : E.className, f.className), v = y ? { className: y } : {};\n return dl(l, Object.assign({}, hu(l.props, Qs(yo(f, [\"ref\"]))), p, h, { ref: i(l.ref, h.ref) }, v));\n }\n return pl(s, Object.assign({}, yo(f, [\"ref\"]), s !== ft && h, s !== ft && p), l);\n}\nfunction of(...e) {\n return e.every((t) => t == null) ? void 0 : (t) => {\n for (let r of e)\n r != null && (typeof r == \"function\" ? r(t) : r.current = t);\n };\n}\nfunction hu(...e) {\n if (e.length === 0)\n return {};\n if (e.length === 1)\n return e[0];\n let t = {}, r = {};\n for (let n of e)\n for (let i in n)\n i.startsWith(\"on\") && typeof n[i] == \"function\" ? (r[i] != null || (r[i] = []), r[i].push(n[i])) : t[i] = n[i];\n if (t.disabled || t[\"aria-disabled\"])\n return Object.assign(t, Object.fromEntries(Object.keys(r).map((n) => [n, void 0])));\n for (let n in r)\n Object.assign(t, { [n](i, ...s) {\n let o = r[n];\n for (let a of o) {\n if ((i instanceof Event || (i == null ? void 0 : i.nativeEvent) instanceof Event) && i.defaultPrevented)\n return;\n a(i, ...s);\n }\n } });\n return t;\n}\nfunction Xe(e) {\n var t;\n return Object.assign(fl(e), { displayName: (t = e.displayName) != null ? t : e.name });\n}\nfunction Qs(e) {\n let t = Object.assign({}, e);\n for (let r in t)\n t[r] === void 0 && delete t[r];\n return t;\n}\nfunction yo(e, t = []) {\n let r = Object.assign({}, e);\n for (let n of t)\n n in r && delete r[n];\n return r;\n}\nlet sf = \"div\";\nvar Oi = ((e) => (e[e.None = 1] = \"None\", e[e.Focusable = 2] = \"Focusable\", e[e.Hidden = 4] = \"Hidden\", e))(Oi || {});\nfunction af(e, t) {\n var r;\n let { features: n = 1, ...i } = e, s = { ref: t, \"aria-hidden\": (n & 2) === 2 ? !0 : (r = i[\"aria-hidden\"]) != null ? r : void 0, style: { position: \"fixed\", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: \"hidden\", clip: \"rect(0, 0, 0, 0)\", whiteSpace: \"nowrap\", borderWidth: \"0\", ...(n & 4) === 4 && (n & 2) !== 2 && { display: \"none\" } } };\n return Ye({ ourProps: s, theirProps: i, slot: {}, defaultTag: sf, name: \"Hidden\" });\n}\nlet Vo = Xe(af), fs = _t(null);\nfs.displayName = \"OpenClosedContext\";\nvar Ge = ((e) => (e[e.Open = 1] = \"Open\", e[e.Closed = 2] = \"Closed\", e[e.Closing = 4] = \"Closing\", e[e.Opening = 8] = \"Opening\", e))(Ge || {});\nfunction $i() {\n return at(fs);\n}\nfunction du({ value: e, children: t }) {\n return q.createElement(fs.Provider, { value: e }, t);\n}\nfunction uf(e) {\n function t() {\n document.readyState !== \"loading\" && (e(), document.removeEventListener(\"DOMContentLoaded\", t));\n }\n typeof window < \"u\" && typeof document < \"u\" && (document.addEventListener(\"DOMContentLoaded\", t), t());\n}\nlet yr = [];\nuf(() => {\n function e(t) {\n t.target instanceof HTMLElement && t.target !== document.body && yr[0] !== t.target && (yr.unshift(t.target), yr = yr.filter((r) => r != null && r.isConnected), yr.splice(10));\n }\n window.addEventListener(\"click\", e, { capture: !0 }), window.addEventListener(\"mousedown\", e, { capture: !0 }), window.addEventListener(\"focus\", e, { capture: !0 }), document.body.addEventListener(\"click\", e, { capture: !0 }), document.body.addEventListener(\"mousedown\", e, { capture: !0 }), document.body.addEventListener(\"focus\", e, { capture: !0 });\n});\nfunction pu(e) {\n let t = e.parentElement, r = null;\n for (; t && !(t instanceof HTMLFieldSetElement); )\n t instanceof HTMLLegendElement && (r = t), t = t.parentElement;\n let n = (t == null ? void 0 : t.getAttribute(\"disabled\")) === \"\";\n return n && cf(r) ? !1 : n;\n}\nfunction cf(e) {\n if (!e)\n return !1;\n let t = e.previousElementSibling;\n for (; t !== null; ) {\n if (t instanceof HTMLLegendElement)\n return !1;\n t = t.previousElementSibling;\n }\n return !0;\n}\nfunction lf(e) {\n throw new Error(\"Unexpected object: \" + e);\n}\nvar St = ((e) => (e[e.First = 0] = \"First\", e[e.Previous = 1] = \"Previous\", e[e.Next = 2] = \"Next\", e[e.Last = 3] = \"Last\", e[e.Specific = 4] = \"Specific\", e[e.Nothing = 5] = \"Nothing\", e))(St || {});\nfunction ff(e, t) {\n let r = t.resolveItems();\n if (r.length <= 0)\n return null;\n let n = t.resolveActiveIndex(), i = n ?? -1;\n switch (e.focus) {\n case 0: {\n for (let s = 0; s < r.length; ++s)\n if (!t.resolveDisabled(r[s], s, r))\n return s;\n return n;\n }\n case 1: {\n for (let s = i - 1; s >= 0; --s)\n if (!t.resolveDisabled(r[s], s, r))\n return s;\n return n;\n }\n case 2: {\n for (let s = i + 1; s < r.length; ++s)\n if (!t.resolveDisabled(r[s], s, r))\n return s;\n return n;\n }\n case 3: {\n for (let s = r.length - 1; s >= 0; --s)\n if (!t.resolveDisabled(r[s], s, r))\n return s;\n return n;\n }\n case 4: {\n for (let s = 0; s < r.length; ++s)\n if (t.resolveId(r[s], s, r) === e.id)\n return s;\n return n;\n }\n case 5:\n return null;\n default:\n lf(e);\n }\n}\nvar Fe = ((e) => (e.Space = \" \", e.Enter = \"Enter\", e.Escape = \"Escape\", e.Backspace = \"Backspace\", e.Delete = \"Delete\", e.ArrowLeft = \"ArrowLeft\", e.ArrowUp = \"ArrowUp\", e.ArrowRight = \"ArrowRight\", e.ArrowDown = \"ArrowDown\", e.Home = \"Home\", e.End = \"End\", e.PageUp = \"PageUp\", e.PageDown = \"PageDown\", e.Tab = \"Tab\", e))(Fe || {});\nfunction gu(e, t, r, n) {\n let i = Jt(r);\n be(() => {\n e = e ?? window;\n function s(o) {\n i.current(o);\n }\n return e.addEventListener(t, s, n), () => e.removeEventListener(t, s, n);\n }, [e, t, n]);\n}\nfunction Yn() {\n let e = ie(!1);\n return Le(() => (e.current = !0, () => {\n e.current = !1;\n }), []), e;\n}\nfunction yu(e) {\n let t = Q(e), r = ie(!1);\n be(() => (r.current = !1, () => {\n r.current = !0, Li(() => {\n r.current && t();\n });\n }), [t]);\n}\nvar $n = ((e) => (e[e.Forwards = 0] = \"Forwards\", e[e.Backwards = 1] = \"Backwards\", e))($n || {});\nfunction hf() {\n let e = ie(0);\n return cu(\"keydown\", (t) => {\n t.key === \"Tab\" && (e.current = t.shiftKey ? 1 : 0);\n }, !0), e;\n}\nfunction mu(e) {\n if (!e)\n return /* @__PURE__ */ new Set();\n if (typeof e == \"function\")\n return new Set(e());\n let t = /* @__PURE__ */ new Set();\n for (let r of e.current)\n r.current instanceof HTMLElement && t.add(r.current);\n return t;\n}\nlet df = \"div\";\nvar wu = ((e) => (e[e.None = 1] = \"None\", e[e.InitialFocus = 2] = \"InitialFocus\", e[e.TabLock = 4] = \"TabLock\", e[e.FocusLock = 8] = \"FocusLock\", e[e.RestoreFocus = 16] = \"RestoreFocus\", e[e.All = 30] = \"All\", e))(wu || {});\nfunction pf(e, t) {\n let r = ie(null), n = it(r, t), { initialFocus: i, containers: s, features: o = 30, ...a } = e;\n vn() || (o = 1);\n let f = _n(r);\n mf({ ownerDocument: f }, !!(o & 16));\n let h = wf({ ownerDocument: f, container: r, initialFocus: i }, !!(o & 2));\n Ef({ ownerDocument: f, container: r, containers: s, previousActiveElement: h }, !!(o & 8));\n let l = hf(), p = Q((S) => {\n let T = r.current;\n T && ((C) => C())(() => {\n Re(l.current, { [$n.Forwards]: () => {\n Wn(T, Xt.First, { skipElements: [S.relatedTarget] });\n }, [$n.Backwards]: () => {\n Wn(T, Xt.Last, { skipElements: [S.relatedTarget] });\n } });\n });\n }), E = zn(), y = ie(!1), v = { ref: n, onKeyDown(S) {\n S.key == \"Tab\" && (y.current = !0, E.requestAnimationFrame(() => {\n y.current = !1;\n }));\n }, onBlur(S) {\n let T = mu(s);\n r.current instanceof HTMLElement && T.add(r.current);\n let C = S.relatedTarget;\n C instanceof HTMLElement && C.dataset.headlessuiFocusGuard !== \"true\" && (Eu(T, C) || (y.current ? Wn(r.current, Re(l.current, { [$n.Forwards]: () => Xt.Next, [$n.Backwards]: () => Xt.Previous }) | Xt.WrapAround, { relativeTo: S.target }) : S.target instanceof HTMLElement && br(S.target)));\n } };\n return q.createElement(q.Fragment, null, !!(o & 4) && q.createElement(Vo, { as: \"button\", type: \"button\", \"data-headlessui-focus-guard\": !0, onFocus: p, features: Oi.Focusable }), Ye({ ourProps: v, theirProps: a, defaultTag: df, name: \"FocusTrap\" }), !!(o & 4) && q.createElement(Vo, { as: \"button\", type: \"button\", \"data-headlessui-focus-guard\": !0, onFocus: p, features: Oi.Focusable }));\n}\nlet gf = Xe(pf), Cn = Object.assign(gf, { features: wu });\nfunction yf(e = !0) {\n let t = ie(yr.slice());\n return ls(([r], [n]) => {\n n === !0 && r === !1 && Li(() => {\n t.current.splice(0);\n }), n === !1 && r === !0 && (t.current = yr.slice());\n }, [e, yr, t]), Q(() => {\n var r;\n return (r = t.current.find((n) => n != null && n.isConnected)) != null ? r : null;\n });\n}\nfunction mf({ ownerDocument: e }, t) {\n let r = yf(t);\n ls(() => {\n t || (e == null ? void 0 : e.activeElement) === (e == null ? void 0 : e.body) && br(r());\n }, [t]), yu(() => {\n t && br(r());\n });\n}\nfunction wf({ ownerDocument: e, container: t, initialFocus: r }, n) {\n let i = ie(null), s = Yn();\n return ls(() => {\n if (!n)\n return;\n let o = t.current;\n o && Li(() => {\n if (!s.current)\n return;\n let a = e == null ? void 0 : e.activeElement;\n if (r != null && r.current) {\n if ((r == null ? void 0 : r.current) === a) {\n i.current = a;\n return;\n }\n } else if (o.contains(a)) {\n i.current = a;\n return;\n }\n r != null && r.current ? br(r.current) : Wn(o, Xt.First) === iu.Error && console.warn(\"There are no focusable elements inside the \"), i.current = e == null ? void 0 : e.activeElement;\n });\n }, [n]), i;\n}\nfunction Ef({ ownerDocument: e, container: t, containers: r, previousActiveElement: n }, i) {\n let s = Yn();\n gu(e == null ? void 0 : e.defaultView, \"focus\", (o) => {\n if (!i || !s.current)\n return;\n let a = mu(r);\n t.current instanceof HTMLElement && a.add(t.current);\n let f = n.current;\n if (!f)\n return;\n let h = o.target;\n h && h instanceof HTMLElement ? Eu(a, h) ? (n.current = h, br(h)) : (o.preventDefault(), o.stopPropagation(), br(f)) : br(n.current);\n }, !0);\n}\nfunction Eu(e, t) {\n for (let r of e)\n if (r.contains(t))\n return !0;\n return !1;\n}\nlet bu = _t(!1);\nfunction bf() {\n return at(bu);\n}\nfunction Go(e) {\n return q.createElement(bu.Provider, { value: e.force }, e.children);\n}\nfunction Sf(e) {\n let t = bf(), r = at(Su), n = _n(e), [i, s] = Ee(() => {\n if (!t && r !== null || Yt.isServer)\n return null;\n let o = n == null ? void 0 : n.getElementById(\"headlessui-portal-root\");\n if (o)\n return o;\n if (n === null)\n return null;\n let a = n.createElement(\"div\");\n return a.setAttribute(\"id\", \"headlessui-portal-root\"), n.body.appendChild(a);\n });\n return be(() => {\n i !== null && (n != null && n.body.contains(i) || n == null || n.body.appendChild(i));\n }, [i, n]), be(() => {\n t || r !== null && s(r.current);\n }, [r, s, t]), i;\n}\nlet vf = ft;\nfunction _f(e, t) {\n let r = e, n = ie(null), i = it(tf((l) => {\n n.current = l;\n }), t), s = _n(n), o = Sf(n), [a] = Ee(() => {\n var l;\n return Yt.isServer ? null : (l = s == null ? void 0 : s.createElement(\"div\")) != null ? l : null;\n }), f = at(Xo), h = vn();\n return Le(() => {\n !o || !a || o.contains(a) || (a.setAttribute(\"data-headlessui-portal\", \"\"), o.appendChild(a));\n }, [o, a]), Le(() => {\n if (a && f)\n return f.register(a);\n }, [f, a]), yu(() => {\n var l;\n !o || !a || (a instanceof Node && o.contains(a) && o.removeChild(a), o.childNodes.length <= 0 && ((l = o.parentElement) == null || l.removeChild(o)));\n }), h ? !o || !a ? null : Il(Ye({ ourProps: { ref: i }, theirProps: r, defaultTag: vf, name: \"Portal\" }), a) : null;\n}\nlet Tf = ft, Su = _t(null);\nfunction If(e, t) {\n let { target: r, ...n } = e, i = { ref: it(t) };\n return q.createElement(Su.Provider, { value: r }, Ye({ ourProps: i, theirProps: n, defaultTag: Tf, name: \"Popover.Group\" }));\n}\nlet Xo = _t(null);\nfunction Pf() {\n let e = at(Xo), t = ie([]), r = Q((s) => (t.current.push(s), e && e.register(s), () => n(s))), n = Q((s) => {\n let o = t.current.indexOf(s);\n o !== -1 && t.current.splice(o, 1), e && e.unregister(s);\n }), i = Be(() => ({ register: r, unregister: n, portals: t }), [r, n, t]);\n return [t, Be(() => function({ children: s }) {\n return q.createElement(Xo.Provider, { value: i }, s);\n }, [i])];\n}\nlet Of = Xe(_f), kf = Xe(If), qo = Object.assign(Of, { Group: kf });\nfunction Af(e, t) {\n return e === t && (e !== 0 || 1 / e === 1 / t) || e !== e && t !== t;\n}\nconst xf = typeof Object.is == \"function\" ? Object.is : Af, { useState: Cf, useEffect: Bf, useLayoutEffect: Nf, useDebugValue: Ff } = Er;\nfunction Uf(e, t, r) {\n const n = t(), [{ inst: i }, s] = Cf({ inst: { value: n, getSnapshot: t } });\n return Nf(() => {\n i.value = n, i.getSnapshot = t, mo(i) && s({ inst: i });\n }, [e, n, t]), Bf(() => (mo(i) && s({ inst: i }), e(() => {\n mo(i) && s({ inst: i });\n })), [e]), Ff(n), n;\n}\nfunction mo(e) {\n const t = e.getSnapshot, r = e.value;\n try {\n const n = t();\n return !xf(r, n);\n } catch {\n return !0;\n }\n}\nfunction Rf(e, t, r) {\n return t();\n}\nconst Lf = typeof window < \"u\" && typeof window.document < \"u\" && typeof window.document.createElement < \"u\", Hf = !Lf, $f = Hf ? Rf : Uf, Mf = \"useSyncExternalStore\" in Er ? ((e) => e.useSyncExternalStore)(Er) : $f;\nfunction Df(e) {\n return Mf(e.subscribe, e.getSnapshot, e.getSnapshot);\n}\nfunction jf(e, t) {\n let r = e(), n = /* @__PURE__ */ new Set();\n return { getSnapshot() {\n return r;\n }, subscribe(i) {\n return n.add(i), () => n.delete(i);\n }, dispatch(i, ...s) {\n let o = t[i].call(r, ...s);\n o && (r = o, n.forEach((a) => a()));\n } };\n}\nfunction Kf() {\n let e;\n return { before({ doc: t }) {\n var r;\n let n = t.documentElement;\n e = ((r = t.defaultView) != null ? r : window).innerWidth - n.clientWidth;\n }, after({ doc: t, d: r }) {\n let n = t.documentElement, i = n.clientWidth - n.offsetWidth, s = e - i;\n r.style(n, \"paddingRight\", `${s}px`);\n } };\n}\nfunction Wf() {\n return uu() ? { before({ doc: e, d: t, meta: r }) {\n function n(i) {\n return r.containers.flatMap((s) => s()).some((s) => s.contains(i));\n }\n t.microTask(() => {\n var i;\n if (window.getComputedStyle(e.documentElement).scrollBehavior !== \"auto\") {\n let a = vt();\n a.style(e.documentElement, \"scrollBehavior\", \"auto\"), t.add(() => t.microTask(() => a.dispose()));\n }\n let s = (i = window.scrollY) != null ? i : window.pageYOffset, o = null;\n t.addEventListener(e, \"click\", (a) => {\n if (a.target instanceof HTMLElement)\n try {\n let f = a.target.closest(\"a\");\n if (!f)\n return;\n let { hash: h } = new URL(f.href), l = e.querySelector(h);\n l && !n(l) && (o = l);\n } catch {\n }\n }, !0), t.addEventListener(e, \"touchstart\", (a) => {\n if (a.target instanceof HTMLElement)\n if (n(a.target)) {\n let f = a.target;\n for (; f.parentElement && n(f.parentElement); )\n f = f.parentElement;\n t.style(f, \"overscrollBehavior\", \"contain\");\n } else\n t.style(a.target, \"touchAction\", \"none\");\n }), t.addEventListener(e, \"touchmove\", (a) => {\n if (a.target instanceof HTMLElement)\n if (n(a.target)) {\n let f = a.target;\n for (; f.parentElement && f.dataset.headlessuiPortal !== \"\" && !(f.scrollHeight > f.clientHeight || f.scrollWidth > f.clientWidth); )\n f = f.parentElement;\n f.dataset.headlessuiPortal === \"\" && a.preventDefault();\n } else\n a.preventDefault();\n }, { passive: !1 }), t.add(() => {\n var a;\n let f = (a = window.scrollY) != null ? a : window.pageYOffset;\n s !== f && window.scrollTo(0, s), o && o.isConnected && (o.scrollIntoView({ block: \"nearest\" }), o = null);\n });\n });\n } } : {};\n}\nfunction Vf() {\n return { before({ doc: e, d: t }) {\n t.style(e.documentElement, \"overflow\", \"hidden\");\n } };\n}\nfunction Gf(e) {\n let t = {};\n for (let r of e)\n Object.assign(t, r(t));\n return t;\n}\nlet Nr = jf(() => /* @__PURE__ */ new Map(), { PUSH(e, t) {\n var r;\n let n = (r = this.get(e)) != null ? r : { doc: e, count: 0, d: vt(), meta: /* @__PURE__ */ new Set() };\n return n.count++, n.meta.add(t), this.set(e, n), this;\n}, POP(e, t) {\n let r = this.get(e);\n return r && (r.count--, r.meta.delete(t)), this;\n}, SCROLL_PREVENT({ doc: e, d: t, meta: r }) {\n let n = { doc: e, d: t, meta: Gf(r) }, i = [Wf(), Kf(), Vf()];\n i.forEach(({ before: s }) => s == null ? void 0 : s(n)), i.forEach(({ after: s }) => s == null ? void 0 : s(n));\n}, SCROLL_ALLOW({ d: e }) {\n e.dispose();\n}, TEARDOWN({ doc: e }) {\n this.delete(e);\n} });\nNr.subscribe(() => {\n let e = Nr.getSnapshot(), t = /* @__PURE__ */ new Map();\n for (let [r] of e)\n t.set(r, r.documentElement.style.overflow);\n for (let r of e.values()) {\n let n = t.get(r.doc) === \"hidden\", i = r.count !== 0;\n (i && !n || !i && n) && Nr.dispatch(r.count > 0 ? \"SCROLL_PREVENT\" : \"SCROLL_ALLOW\", r), r.count === 0 && Nr.dispatch(\"TEARDOWN\", r);\n }\n});\nfunction Xf(e, t, r) {\n let n = Df(Nr), i = e ? n.get(e) : void 0, s = i ? i.count > 0 : !1;\n return Le(() => {\n if (!(!e || !t))\n return Nr.dispatch(\"PUSH\", e, r), () => Nr.dispatch(\"POP\", e, r);\n }, [t, e]), s;\n}\nlet wo = /* @__PURE__ */ new Map(), Bn = /* @__PURE__ */ new Map();\nfunction Zs(e, t = !0) {\n Le(() => {\n var r;\n if (!t)\n return;\n let n = typeof e == \"function\" ? e() : e.current;\n if (!n)\n return;\n function i() {\n var o;\n if (!n)\n return;\n let a = (o = Bn.get(n)) != null ? o : 1;\n if (a === 1 ? Bn.delete(n) : Bn.set(n, a - 1), a !== 1)\n return;\n let f = wo.get(n);\n f && (f[\"aria-hidden\"] === null ? n.removeAttribute(\"aria-hidden\") : n.setAttribute(\"aria-hidden\", f[\"aria-hidden\"]), n.inert = f.inert, wo.delete(n));\n }\n let s = (r = Bn.get(n)) != null ? r : 0;\n return Bn.set(n, s + 1), s !== 0 || (wo.set(n, { \"aria-hidden\": n.getAttribute(\"aria-hidden\"), inert: n.inert }), n.setAttribute(\"aria-hidden\", \"true\"), n.inert = !0), i;\n }, [e, t]);\n}\nfunction qf({ defaultContainers: e = [], portals: t, mainTreeNodeRef: r } = {}) {\n var n;\n let i = ie((n = r == null ? void 0 : r.current) != null ? n : null), s = _n(i), o = Q(() => {\n var a, f, h;\n let l = [];\n for (let p of e)\n p !== null && (p instanceof HTMLElement ? l.push(p) : \"current\" in p && p.current instanceof HTMLElement && l.push(p.current));\n if (t != null && t.current)\n for (let p of t.current)\n l.push(p);\n for (let p of (a = s == null ? void 0 : s.querySelectorAll(\"html > *, body > *\")) != null ? a : [])\n p !== document.body && p !== document.head && p instanceof HTMLElement && p.id !== \"headlessui-portal-root\" && (p.contains(i.current) || p.contains((h = (f = i.current) == null ? void 0 : f.getRootNode()) == null ? void 0 : h.host) || l.some((E) => p.contains(E)) || l.push(p));\n return l;\n });\n return { resolveContainers: o, contains: Q((a) => o().some((f) => f.contains(a))), mainTreeNodeRef: i, MainTreeNode: Be(() => function() {\n return r != null ? null : q.createElement(Vo, { features: Oi.Hidden, ref: i });\n }, [i, r]) };\n}\nlet hs = _t(() => {\n});\nhs.displayName = \"StackContext\";\nvar zo = ((e) => (e[e.Add = 0] = \"Add\", e[e.Remove = 1] = \"Remove\", e))(zo || {});\nfunction zf() {\n return at(hs);\n}\nfunction Yf({ children: e, onUpdate: t, type: r, element: n, enabled: i }) {\n let s = zf(), o = Q((...a) => {\n t == null || t(...a), s(...a);\n });\n return Le(() => {\n let a = i === void 0 || i === !0;\n return a && o(0, r, n), () => {\n a && o(1, r, n);\n };\n }, [o, r, n, i]), q.createElement(hs.Provider, { value: o }, e);\n}\nlet vu = _t(null);\nfunction _u() {\n let e = at(vu);\n if (e === null) {\n let t = new Error(\"You used a component, but it is not inside a relevant parent.\");\n throw Error.captureStackTrace && Error.captureStackTrace(t, _u), t;\n }\n return e;\n}\nfunction Jf() {\n let [e, t] = Ee([]);\n return [e.length > 0 ? e.join(\" \") : void 0, Be(() => function(r) {\n let n = Q((s) => (t((o) => [...o, s]), () => t((o) => {\n let a = o.slice(), f = a.indexOf(s);\n return f !== -1 && a.splice(f, 1), a;\n }))), i = Be(() => ({ register: n, slot: r.slot, name: r.name, props: r.props }), [n, r.slot, r.name, r.props]);\n return q.createElement(vu.Provider, { value: i }, r.children);\n }, [t])];\n}\nlet Qf = \"p\";\nfunction Zf(e, t) {\n let r = nr(), { id: n = `headlessui-description-${r}`, ...i } = e, s = _u(), o = it(t);\n Le(() => s.register(n), [n, s.register]);\n let a = { ref: o, ...s.props, id: n };\n return Ye({ ourProps: a, theirProps: i, slot: s.slot || {}, defaultTag: Qf, name: s.name || \"Description\" });\n}\nlet eh = Xe(Zf), th = Object.assign(eh, {});\nvar rh = ((e) => (e[e.Open = 0] = \"Open\", e[e.Closed = 1] = \"Closed\", e))(rh || {}), nh = ((e) => (e[e.SetTitleId = 0] = \"SetTitleId\", e))(nh || {});\nlet ih = { 0(e, t) {\n return e.titleId === t.id ? e : { ...e, titleId: t.id };\n} }, ki = _t(null);\nki.displayName = \"DialogContext\";\nfunction Jn(e) {\n let t = at(ki);\n if (t === null) {\n let r = new Error(`<${e} /> is missing a parent component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(r, Jn), r;\n }\n return t;\n}\nfunction oh(e, t, r = () => [document.body]) {\n Xf(e, t, (n) => {\n var i;\n return { containers: [...(i = n.containers) != null ? i : [], r] };\n });\n}\nfunction sh(e, t) {\n return Re(t.type, ih, e, t);\n}\nlet ah = \"div\", uh = wn.RenderStrategy | wn.Static;\nfunction ch(e, t) {\n let r = nr(), { id: n = `headlessui-dialog-${r}`, open: i, onClose: s, initialFocus: o, role: a = \"dialog\", __demoMode: f = !1, ...h } = e, [l, p] = Ee(0), E = ie(!1);\n a = function() {\n return a === \"dialog\" || a === \"alertdialog\" ? a : (E.current || (E.current = !0, console.warn(`Invalid role [${a}] passed to . Only \\`dialog\\` and and \\`alertdialog\\` are supported. Using \\`dialog\\` instead.`)), \"dialog\");\n }();\n let y = $i();\n i === void 0 && y !== null && (i = (y & Ge.Open) === Ge.Open);\n let v = ie(null), S = it(v, t), T = _n(v), C = e.hasOwnProperty(\"open\") || y !== null, O = e.hasOwnProperty(\"onClose\");\n if (!C && !O)\n throw new Error(\"You have to provide an `open` and an `onClose` prop to the `Dialog` component.\");\n if (!C)\n throw new Error(\"You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.\");\n if (!O)\n throw new Error(\"You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.\");\n if (typeof i != \"boolean\")\n throw new Error(`You provided an \\`open\\` prop to the \\`Dialog\\`, but the value is not a boolean. Received: ${i}`);\n if (typeof s != \"function\")\n throw new Error(`You provided an \\`onClose\\` prop to the \\`Dialog\\`, but the value is not a function. Received: ${s}`);\n let B = i ? 0 : 1, [U, R] = Xa(sh, { titleId: null, descriptionId: null, panelRef: Mo() }), k = Q(() => s(!1)), j = Q((se) => R({ type: 0, id: se })), A = vn() ? f ? !1 : B === 0 : !1, b = l > 1, m = at(ki) !== null, [N, H] = Pf(), L = { get current() {\n var se;\n return (se = U.panelRef.current) != null ? se : v.current;\n } }, { resolveContainers: M, mainTreeNodeRef: K, MainTreeNode: re } = qf({ portals: N, defaultContainers: [L] }), W = b ? \"parent\" : \"leaf\", le = y !== null ? (y & Ge.Closing) === Ge.Closing : !1, ke = m || le ? !1 : A, Se = Ue(() => {\n var se, ze;\n return (ze = Array.from((se = T == null ? void 0 : T.querySelectorAll(\"body > *\")) != null ? se : []).find((Me) => Me.id === \"headlessui-portal-root\" ? !1 : Me.contains(K.current) && Me instanceof HTMLElement)) != null ? ze : null;\n }, [K]);\n Zs(Se, ke);\n let ve = b ? !0 : A, Ne = Ue(() => {\n var se, ze;\n return (ze = Array.from((se = T == null ? void 0 : T.querySelectorAll(\"[data-headlessui-portal]\")) != null ? se : []).find((Me) => Me.contains(K.current) && Me instanceof HTMLElement)) != null ? ze : null;\n }, [K]);\n Zs(Ne, ve), lu(M, k, !(!A || b));\n let Y = !(b || B !== 0);\n gu(T == null ? void 0 : T.defaultView, \"keydown\", (se) => {\n Y && (se.defaultPrevented || se.key === Fe.Escape && (se.preventDefault(), se.stopPropagation(), k()));\n }), oh(T, !(le || B !== 0 || m), M), be(() => {\n if (B !== 0 || !v.current)\n return;\n let se = new ResizeObserver((ze) => {\n for (let Me of ze) {\n let sr = Me.target.getBoundingClientRect();\n sr.x === 0 && sr.y === 0 && sr.width === 0 && sr.height === 0 && k();\n }\n });\n return se.observe(v.current), () => se.disconnect();\n }, [B, v, k]);\n let [ir, or] = Jf(), Lt = Be(() => [{ dialogState: B, close: k, setTitleId: j }, U], [B, U, k, j]), Ht = Be(() => ({ open: B === 0 }), [B]), $t = { ref: S, id: n, role: a, \"aria-modal\": B === 0 ? !0 : void 0, \"aria-labelledby\": U.titleId, \"aria-describedby\": ir };\n return q.createElement(Yf, { type: \"Dialog\", enabled: B === 0, element: v, onUpdate: Q((se, ze) => {\n ze === \"Dialog\" && Re(se, { [zo.Add]: () => p((Me) => Me + 1), [zo.Remove]: () => p((Me) => Me - 1) });\n }) }, q.createElement(Go, { force: !0 }, q.createElement(qo, null, q.createElement(ki.Provider, { value: Lt }, q.createElement(qo.Group, { target: v }, q.createElement(Go, { force: !1 }, q.createElement(or, { slot: Ht, name: \"Dialog.Description\" }, q.createElement(Cn, { initialFocus: o, containers: M, features: A ? Re(W, { parent: Cn.features.RestoreFocus, leaf: Cn.features.All & ~Cn.features.FocusLock }) : Cn.features.None }, q.createElement(H, null, Ye({ ourProps: $t, theirProps: h, slot: Ht, defaultTag: ah, features: uh, visible: B === 0, name: \"Dialog\" }))))))))), q.createElement(re, null));\n}\nlet lh = \"div\";\nfunction fh(e, t) {\n let r = nr(), { id: n = `headlessui-dialog-overlay-${r}`, ...i } = e, [{ dialogState: s, close: o }] = Jn(\"Dialog.Overlay\"), a = it(t), f = Q((l) => {\n if (l.target === l.currentTarget) {\n if (pu(l.currentTarget))\n return l.preventDefault();\n l.preventDefault(), l.stopPropagation(), o();\n }\n }), h = Be(() => ({ open: s === 0 }), [s]);\n return Ye({ ourProps: { ref: a, id: n, \"aria-hidden\": !0, onClick: f }, theirProps: i, slot: h, defaultTag: lh, name: \"Dialog.Overlay\" });\n}\nlet hh = \"div\";\nfunction dh(e, t) {\n let r = nr(), { id: n = `headlessui-dialog-backdrop-${r}`, ...i } = e, [{ dialogState: s }, o] = Jn(\"Dialog.Backdrop\"), a = it(t);\n be(() => {\n if (o.panelRef.current === null)\n throw new Error(\"A component is being used, but a component is missing.\");\n }, [o.panelRef]);\n let f = Be(() => ({ open: s === 0 }), [s]);\n return q.createElement(Go, { force: !0 }, q.createElement(qo, null, Ye({ ourProps: { ref: a, id: n, \"aria-hidden\": !0 }, theirProps: i, slot: f, defaultTag: hh, name: \"Dialog.Backdrop\" })));\n}\nlet ph = \"div\";\nfunction gh(e, t) {\n let r = nr(), { id: n = `headlessui-dialog-panel-${r}`, ...i } = e, [{ dialogState: s }, o] = Jn(\"Dialog.Panel\"), a = it(t, o.panelRef), f = Be(() => ({ open: s === 0 }), [s]), h = Q((l) => {\n l.stopPropagation();\n });\n return Ye({ ourProps: { ref: a, id: n, onClick: h }, theirProps: i, slot: f, defaultTag: ph, name: \"Dialog.Panel\" });\n}\nlet yh = \"h2\";\nfunction mh(e, t) {\n let r = nr(), { id: n = `headlessui-dialog-title-${r}`, ...i } = e, [{ dialogState: s, setTitleId: o }] = Jn(\"Dialog.Title\"), a = it(t);\n be(() => (o(n), () => o(null)), [n, o]);\n let f = Be(() => ({ open: s === 0 }), [s]);\n return Ye({ ourProps: { ref: a, id: n }, theirProps: i, slot: f, defaultTag: yh, name: \"Dialog.Title\" });\n}\nlet wh = Xe(ch), Eh = Xe(dh), bh = Xe(gh), Sh = Xe(fh), vh = Xe(mh), si = Object.assign(wh, { Backdrop: Eh, Panel: bh, Overlay: Sh, Title: vh, Description: th }), ea = /([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])/g;\nfunction ta(e) {\n var t, r;\n let n = (t = e.innerText) != null ? t : \"\", i = e.cloneNode(!0);\n if (!(i instanceof HTMLElement))\n return n;\n let s = !1;\n for (let a of i.querySelectorAll('[hidden],[aria-hidden],[role=\"img\"]'))\n a.remove(), s = !0;\n let o = s ? (r = i.innerText) != null ? r : \"\" : n;\n return ea.test(o) && (o = o.replace(ea, \"\")), o;\n}\nfunction _h(e) {\n let t = e.getAttribute(\"aria-label\");\n if (typeof t == \"string\")\n return t.trim();\n let r = e.getAttribute(\"aria-labelledby\");\n if (r) {\n let n = r.split(\" \").map((i) => {\n let s = document.getElementById(i);\n if (s) {\n let o = s.getAttribute(\"aria-label\");\n return typeof o == \"string\" ? o.trim() : ta(s).trim();\n }\n return null;\n }).filter(Boolean);\n if (n.length > 0)\n return n.join(\", \");\n }\n return ta(e).trim();\n}\nfunction Th(e) {\n let t = ie(\"\"), r = ie(\"\");\n return Q(() => {\n let n = e.current;\n if (!n)\n return \"\";\n let i = n.innerText;\n if (t.current === i)\n return r.current;\n let s = _h(n).trim().toLowerCase();\n return t.current = i, r.current = s, s;\n });\n}\nvar Ih = ((e) => (e[e.Open = 0] = \"Open\", e[e.Closed = 1] = \"Closed\", e))(Ih || {}), Ph = ((e) => (e[e.Pointer = 0] = \"Pointer\", e[e.Other = 1] = \"Other\", e))(Ph || {}), Oh = ((e) => (e[e.OpenMenu = 0] = \"OpenMenu\", e[e.CloseMenu = 1] = \"CloseMenu\", e[e.GoToItem = 2] = \"GoToItem\", e[e.Search = 3] = \"Search\", e[e.ClearSearch = 4] = \"ClearSearch\", e[e.RegisterItem = 5] = \"RegisterItem\", e[e.UnregisterItem = 6] = \"UnregisterItem\", e))(Oh || {});\nfunction Eo(e, t = (r) => r) {\n let r = e.activeItemIndex !== null ? e.items[e.activeItemIndex] : null, n = au(t(e.items.slice()), (s) => s.dataRef.current.domRef.current), i = r ? n.indexOf(r) : null;\n return i === -1 && (i = null), { items: n, activeItemIndex: i };\n}\nlet kh = { 1(e) {\n return e.menuState === 1 ? e : { ...e, activeItemIndex: null, menuState: 1 };\n}, 0(e) {\n return e.menuState === 0 ? e : { ...e, __demoMode: !1, menuState: 0 };\n}, 2: (e, t) => {\n var r;\n let n = Eo(e), i = ff(t, { resolveItems: () => n.items, resolveActiveIndex: () => n.activeItemIndex, resolveId: (s) => s.id, resolveDisabled: (s) => s.dataRef.current.disabled });\n return { ...e, ...n, searchQuery: \"\", activeItemIndex: i, activationTrigger: (r = t.trigger) != null ? r : 1 };\n}, 3: (e, t) => {\n let r = e.searchQuery !== \"\" ? 0 : 1, n = e.searchQuery + t.value.toLowerCase(), i = (e.activeItemIndex !== null ? e.items.slice(e.activeItemIndex + r).concat(e.items.slice(0, e.activeItemIndex + r)) : e.items).find((o) => {\n var a;\n return ((a = o.dataRef.current.textValue) == null ? void 0 : a.startsWith(n)) && !o.dataRef.current.disabled;\n }), s = i ? e.items.indexOf(i) : -1;\n return s === -1 || s === e.activeItemIndex ? { ...e, searchQuery: n } : { ...e, searchQuery: n, activeItemIndex: s, activationTrigger: 1 };\n}, 4(e) {\n return e.searchQuery === \"\" ? e : { ...e, searchQuery: \"\", searchActiveItemIndex: null };\n}, 5: (e, t) => {\n let r = Eo(e, (n) => [...n, { id: t.id, dataRef: t.dataRef }]);\n return { ...e, ...r };\n}, 6: (e, t) => {\n let r = Eo(e, (n) => {\n let i = n.findIndex((s) => s.id === t.id);\n return i !== -1 && n.splice(i, 1), n;\n });\n return { ...e, ...r, activationTrigger: 1 };\n} }, ds = _t(null);\nds.displayName = \"MenuContext\";\nfunction Mi(e) {\n let t = at(ds);\n if (t === null) {\n let r = new Error(`<${e} /> is missing a parent component.`);\n throw Error.captureStackTrace && Error.captureStackTrace(r, Mi), r;\n }\n return t;\n}\nfunction Ah(e, t) {\n return Re(t.type, kh, e, t);\n}\nlet xh = ft;\nfunction Ch(e, t) {\n let { __demoMode: r = !1, ...n } = e, i = Xa(Ah, { __demoMode: r, menuState: r ? 0 : 1, buttonRef: Mo(), itemsRef: Mo(), items: [], searchQuery: \"\", activeItemIndex: null, activationTrigger: 1 }), [{ menuState: s, itemsRef: o, buttonRef: a }, f] = i, h = it(t);\n lu([a, o], (y, v) => {\n var S;\n f({ type: 1 }), cs(v, us.Loose) || (y.preventDefault(), (S = a.current) == null || S.focus());\n }, s === 0);\n let l = Q(() => {\n f({ type: 1 });\n }), p = Be(() => ({ open: s === 0, close: l }), [s, l]), E = { ref: h };\n return q.createElement(ds.Provider, { value: i }, q.createElement(du, { value: Re(s, { 0: Ge.Open, 1: Ge.Closed }) }, Ye({ ourProps: E, theirProps: n, slot: p, defaultTag: xh, name: \"Menu\" })));\n}\nlet Bh = \"button\";\nfunction Nh(e, t) {\n var r;\n let n = nr(), { id: i = `headlessui-menu-button-${n}`, ...s } = e, [o, a] = Mi(\"Menu.Button\"), f = it(o.buttonRef, t), h = zn(), l = Q((S) => {\n switch (S.key) {\n case Fe.Space:\n case Fe.Enter:\n case Fe.ArrowDown:\n S.preventDefault(), S.stopPropagation(), a({ type: 0 }), h.nextFrame(() => a({ type: 2, focus: St.First }));\n break;\n case Fe.ArrowUp:\n S.preventDefault(), S.stopPropagation(), a({ type: 0 }), h.nextFrame(() => a({ type: 2, focus: St.Last }));\n break;\n }\n }), p = Q((S) => {\n switch (S.key) {\n case Fe.Space:\n S.preventDefault();\n break;\n }\n }), E = Q((S) => {\n if (pu(S.currentTarget))\n return S.preventDefault();\n e.disabled || (o.menuState === 0 ? (a({ type: 1 }), h.nextFrame(() => {\n var T;\n return (T = o.buttonRef.current) == null ? void 0 : T.focus({ preventScroll: !0 });\n })) : (S.preventDefault(), a({ type: 0 })));\n }), y = Be(() => ({ open: o.menuState === 0 }), [o]), v = { ref: f, id: i, type: ef(e, o.buttonRef), \"aria-haspopup\": \"menu\", \"aria-controls\": (r = o.itemsRef.current) == null ? void 0 : r.id, \"aria-expanded\": o.menuState === 0, onKeyDown: l, onKeyUp: p, onClick: E };\n return Ye({ ourProps: v, theirProps: s, slot: y, defaultTag: Bh, name: \"Menu.Button\" });\n}\nlet Fh = \"div\", Uh = wn.RenderStrategy | wn.Static;\nfunction Rh(e, t) {\n var r, n;\n let i = nr(), { id: s = `headlessui-menu-items-${i}`, ...o } = e, [a, f] = Mi(\"Menu.Items\"), h = it(a.itemsRef, t), l = _n(a.itemsRef), p = zn(), E = $i(), y = E !== null ? (E & Ge.Open) === Ge.Open : a.menuState === 0;\n be(() => {\n let O = a.itemsRef.current;\n O && a.menuState === 0 && O !== (l == null ? void 0 : l.activeElement) && O.focus({ preventScroll: !0 });\n }, [a.menuState, a.itemsRef, l]), nf({ container: a.itemsRef.current, enabled: a.menuState === 0, accept(O) {\n return O.getAttribute(\"role\") === \"menuitem\" ? NodeFilter.FILTER_REJECT : O.hasAttribute(\"role\") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;\n }, walk(O) {\n O.setAttribute(\"role\", \"none\");\n } });\n let v = Q((O) => {\n var B, U;\n switch (p.dispose(), O.key) {\n case Fe.Space:\n if (a.searchQuery !== \"\")\n return O.preventDefault(), O.stopPropagation(), f({ type: 3, value: O.key });\n case Fe.Enter:\n if (O.preventDefault(), O.stopPropagation(), f({ type: 1 }), a.activeItemIndex !== null) {\n let { dataRef: R } = a.items[a.activeItemIndex];\n (U = (B = R.current) == null ? void 0 : B.domRef.current) == null || U.click();\n }\n su(a.buttonRef.current);\n break;\n case Fe.ArrowDown:\n return O.preventDefault(), O.stopPropagation(), f({ type: 2, focus: St.Next });\n case Fe.ArrowUp:\n return O.preventDefault(), O.stopPropagation(), f({ type: 2, focus: St.Previous });\n case Fe.Home:\n case Fe.PageUp:\n return O.preventDefault(), O.stopPropagation(), f({ type: 2, focus: St.First });\n case Fe.End:\n case Fe.PageDown:\n return O.preventDefault(), O.stopPropagation(), f({ type: 2, focus: St.Last });\n case Fe.Escape:\n O.preventDefault(), O.stopPropagation(), f({ type: 1 }), vt().nextFrame(() => {\n var R;\n return (R = a.buttonRef.current) == null ? void 0 : R.focus({ preventScroll: !0 });\n });\n break;\n case Fe.Tab:\n O.preventDefault(), O.stopPropagation(), f({ type: 1 }), vt().nextFrame(() => {\n Jl(a.buttonRef.current, O.shiftKey ? Xt.Previous : Xt.Next);\n });\n break;\n default:\n O.key.length === 1 && (f({ type: 3, value: O.key }), p.setTimeout(() => f({ type: 4 }), 350));\n break;\n }\n }), S = Q((O) => {\n switch (O.key) {\n case Fe.Space:\n O.preventDefault();\n break;\n }\n }), T = Be(() => ({ open: a.menuState === 0 }), [a]), C = { \"aria-activedescendant\": a.activeItemIndex === null || (r = a.items[a.activeItemIndex]) == null ? void 0 : r.id, \"aria-labelledby\": (n = a.buttonRef.current) == null ? void 0 : n.id, id: s, onKeyDown: v, onKeyUp: S, role: \"menu\", tabIndex: 0, ref: h };\n return Ye({ ourProps: C, theirProps: o, slot: T, defaultTag: Fh, features: Uh, visible: y, name: \"Menu.Items\" });\n}\nlet Lh = ft;\nfunction Hh(e, t) {\n let r = nr(), { id: n = `headlessui-menu-item-${r}`, disabled: i = !1, ...s } = e, [o, a] = Mi(\"Menu.Item\"), f = o.activeItemIndex !== null ? o.items[o.activeItemIndex].id === n : !1, h = ie(null), l = it(t, h);\n Le(() => {\n if (o.__demoMode || o.menuState !== 0 || !f || o.activationTrigger === 0)\n return;\n let R = vt();\n return R.requestAnimationFrame(() => {\n var k, j;\n (j = (k = h.current) == null ? void 0 : k.scrollIntoView) == null || j.call(k, { block: \"nearest\" });\n }), R.dispose;\n }, [o.__demoMode, h, f, o.menuState, o.activationTrigger, o.activeItemIndex]);\n let p = Th(h), E = ie({ disabled: i, domRef: h, get textValue() {\n return p();\n } });\n Le(() => {\n E.current.disabled = i;\n }, [E, i]), Le(() => (a({ type: 5, id: n, dataRef: E }), () => a({ type: 6, id: n })), [E, n]);\n let y = Q(() => {\n a({ type: 1 });\n }), v = Q((R) => {\n if (i)\n return R.preventDefault();\n a({ type: 1 }), su(o.buttonRef.current);\n }), S = Q(() => {\n if (i)\n return a({ type: 2, focus: St.Nothing });\n a({ type: 2, focus: St.Specific, id: n });\n }), T = rf(), C = Q((R) => T.update(R)), O = Q((R) => {\n T.wasMoved(R) && (i || f || a({ type: 2, focus: St.Specific, id: n, trigger: 0 }));\n }), B = Q((R) => {\n T.wasMoved(R) && (i || f && a({ type: 2, focus: St.Nothing }));\n }), U = Be(() => ({ active: f, disabled: i, close: y }), [f, i, y]);\n return Ye({ ourProps: { id: n, ref: l, role: \"menuitem\", tabIndex: i === !0 ? void 0 : -1, \"aria-disabled\": i === !0 ? !0 : void 0, disabled: void 0, onClick: v, onFocus: S, onPointerEnter: C, onMouseEnter: C, onPointerMove: O, onMouseMove: O, onPointerLeave: B, onMouseLeave: B }, theirProps: s, slot: U, defaultTag: Lh, name: \"Menu.Item\" });\n}\nlet $h = Xe(Ch), Mh = Xe(Nh), Dh = Xe(Rh), jh = Xe(Hh), on = Object.assign($h, { Button: Mh, Items: Dh, Item: jh });\nfunction Kh(e = 0) {\n let [t, r] = Ee(e), n = Yn(), i = Ue((f) => {\n n.current && r((h) => h | f);\n }, [t, n]), s = Ue((f) => !!(t & f), [t]), o = Ue((f) => {\n n.current && r((h) => h & ~f);\n }, [r, n]), a = Ue((f) => {\n n.current && r((h) => h ^ f);\n }, [r]);\n return { flags: t, addFlag: i, hasFlag: s, removeFlag: o, toggleFlag: a };\n}\nfunction Wh(e) {\n let t = { called: !1 };\n return (...r) => {\n if (!t.called)\n return t.called = !0, e(...r);\n };\n}\nfunction bo(e, ...t) {\n e && t.length > 0 && e.classList.add(...t);\n}\nfunction So(e, ...t) {\n e && t.length > 0 && e.classList.remove(...t);\n}\nfunction Vh(e, t) {\n let r = vt();\n if (!e)\n return r.dispose;\n let { transitionDuration: n, transitionDelay: i } = getComputedStyle(e), [s, o] = [n, i].map((f) => {\n let [h = 0] = f.split(\",\").filter(Boolean).map((l) => l.includes(\"ms\") ? parseFloat(l) : parseFloat(l) * 1e3).sort((l, p) => p - l);\n return h;\n }), a = s + o;\n if (a !== 0) {\n r.group((h) => {\n h.setTimeout(() => {\n t(), h.dispose();\n }, a), h.addEventListener(e, \"transitionrun\", (l) => {\n l.target === l.currentTarget && h.dispose();\n });\n });\n let f = r.addEventListener(e, \"transitionend\", (h) => {\n h.target === h.currentTarget && (t(), f());\n });\n } else\n t();\n return r.add(() => t()), r.dispose;\n}\nfunction Gh(e, t, r, n) {\n let i = r ? \"enter\" : \"leave\", s = vt(), o = n !== void 0 ? Wh(n) : () => {\n };\n i === \"enter\" && (e.removeAttribute(\"hidden\"), e.style.display = \"\");\n let a = Re(i, { enter: () => t.enter, leave: () => t.leave }), f = Re(i, { enter: () => t.enterTo, leave: () => t.leaveTo }), h = Re(i, { enter: () => t.enterFrom, leave: () => t.leaveFrom });\n return So(e, ...t.base, ...t.enter, ...t.enterTo, ...t.enterFrom, ...t.leave, ...t.leaveFrom, ...t.leaveTo, ...t.entered), bo(e, ...t.base, ...a, ...h), s.nextFrame(() => {\n So(e, ...t.base, ...a, ...h), bo(e, ...t.base, ...a, ...f), Vh(e, () => (So(e, ...t.base, ...a), bo(e, ...t.base, ...t.entered), o()));\n }), s.dispose;\n}\nfunction Xh({ immediate: e, container: t, direction: r, classes: n, onStart: i, onStop: s }) {\n let o = Yn(), a = zn(), f = Jt(r);\n Le(() => {\n e && (f.current = \"enter\");\n }, [e]), Le(() => {\n let h = vt();\n a.add(h.dispose);\n let l = t.current;\n if (l && f.current !== \"idle\" && o.current)\n return h.dispose(), i.current(f.current), h.add(Gh(l, n.current, f.current === \"enter\", () => {\n h.dispose(), s.current(f.current);\n })), h.dispose;\n }, [r]);\n}\nfunction ur(e = \"\") {\n return e.split(/\\s+/).filter((t) => t.length > 1);\n}\nlet Di = _t(null);\nDi.displayName = \"TransitionContext\";\nvar qh = ((e) => (e.Visible = \"visible\", e.Hidden = \"hidden\", e))(qh || {});\nfunction zh() {\n let e = at(Di);\n if (e === null)\n throw new Error(\"A is used but it is missing a parent or .\");\n return e;\n}\nfunction Yh() {\n let e = at(ji);\n if (e === null)\n throw new Error(\"A is used but it is missing a parent or .\");\n return e;\n}\nlet ji = _t(null);\nji.displayName = \"NestingContext\";\nfunction Ki(e) {\n return \"children\" in e ? Ki(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === \"visible\").length > 0;\n}\nfunction Tu(e, t) {\n let r = Jt(e), n = ie([]), i = Yn(), s = zn(), o = Q((y, v = mr.Hidden) => {\n let S = n.current.findIndex(({ el: T }) => T === y);\n S !== -1 && (Re(v, { [mr.Unmount]() {\n n.current.splice(S, 1);\n }, [mr.Hidden]() {\n n.current[S].state = \"hidden\";\n } }), s.microTask(() => {\n var T;\n !Ki(n) && i.current && ((T = r.current) == null || T.call(r));\n }));\n }), a = Q((y) => {\n let v = n.current.find(({ el: S }) => S === y);\n return v ? v.state !== \"visible\" && (v.state = \"visible\") : n.current.push({ el: y, state: \"visible\" }), () => o(y, mr.Unmount);\n }), f = ie([]), h = ie(Promise.resolve()), l = ie({ enter: [], leave: [], idle: [] }), p = Q((y, v, S) => {\n f.current.splice(0), t && (t.chains.current[v] = t.chains.current[v].filter(([T]) => T !== y)), t == null || t.chains.current[v].push([y, new Promise((T) => {\n f.current.push(T);\n })]), t == null || t.chains.current[v].push([y, new Promise((T) => {\n Promise.all(l.current[v].map(([C, O]) => O)).then(() => T());\n })]), v === \"enter\" ? h.current = h.current.then(() => t == null ? void 0 : t.wait.current).then(() => S(v)) : S(v);\n }), E = Q((y, v, S) => {\n Promise.all(l.current[v].splice(0).map(([T, C]) => C)).then(() => {\n var T;\n (T = f.current.shift()) == null || T();\n }).then(() => S(v));\n });\n return Be(() => ({ children: n, register: a, unregister: o, onStart: p, onStop: E, wait: h, chains: l }), [a, o, n, p, E, l, h]);\n}\nfunction Jh() {\n}\nlet Qh = [\"beforeEnter\", \"afterEnter\", \"beforeLeave\", \"afterLeave\"];\nfunction ra(e) {\n var t;\n let r = {};\n for (let n of Qh)\n r[n] = (t = e[n]) != null ? t : Jh;\n return r;\n}\nfunction Zh(e) {\n let t = ie(ra(e));\n return be(() => {\n t.current = ra(e);\n }, [e]), t;\n}\nlet e0 = \"div\", Iu = wn.RenderStrategy;\nfunction t0(e, t) {\n var r, n;\n let { beforeEnter: i, afterEnter: s, beforeLeave: o, afterLeave: a, enter: f, enterFrom: h, enterTo: l, entered: p, leave: E, leaveFrom: y, leaveTo: v, ...S } = e, T = ie(null), C = it(T, t), O = (r = S.unmount) == null || r ? mr.Unmount : mr.Hidden, { show: B, appear: U, initial: R } = zh(), [k, j] = Ee(B ? \"visible\" : \"hidden\"), A = Yh(), { register: b, unregister: m } = A;\n be(() => b(T), [b, T]), be(() => {\n if (O === mr.Hidden && T.current) {\n if (B && k !== \"visible\") {\n j(\"visible\");\n return;\n }\n return Re(k, { hidden: () => m(T), visible: () => b(T) });\n }\n }, [k, T, b, m, B, O]);\n let N = Jt({ base: ur(S.className), enter: ur(f), enterFrom: ur(h), enterTo: ur(l), entered: ur(p), leave: ur(E), leaveFrom: ur(y), leaveTo: ur(v) }), H = Zh({ beforeEnter: i, afterEnter: s, beforeLeave: o, afterLeave: a }), L = vn();\n be(() => {\n if (L && k === \"visible\" && T.current === null)\n throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\");\n }, [T, k, L]);\n let M = R && !U, K = U && B && R, re = !L || M ? \"idle\" : B ? \"enter\" : \"leave\", W = Kh(0), le = Q((Y) => Re(Y, { enter: () => {\n W.addFlag(Ge.Opening), H.current.beforeEnter();\n }, leave: () => {\n W.addFlag(Ge.Closing), H.current.beforeLeave();\n }, idle: () => {\n } })), ke = Q((Y) => Re(Y, { enter: () => {\n W.removeFlag(Ge.Opening), H.current.afterEnter();\n }, leave: () => {\n W.removeFlag(Ge.Closing), H.current.afterLeave();\n }, idle: () => {\n } })), Se = Tu(() => {\n j(\"hidden\"), m(T);\n }, A), ve = ie(!1);\n Xh({ immediate: K, container: T, classes: N, direction: re, onStart: Jt((Y) => {\n ve.current = !0, Se.onStart(T, Y, le);\n }), onStop: Jt((Y) => {\n ve.current = !1, Se.onStop(T, Y, ke), Y === \"leave\" && !Ki(Se) && (j(\"hidden\"), m(T));\n }) });\n let Ne = S, ut = { ref: C };\n return K ? Ne = { ...Ne, className: Pi(S.className, ...N.current.enter, ...N.current.enterFrom) } : ve.current && (Ne.className = Pi(S.className, (n = T.current) == null ? void 0 : n.className), Ne.className === \"\" && delete Ne.className), q.createElement(ji.Provider, { value: Se }, q.createElement(du, { value: Re(k, { visible: Ge.Open, hidden: Ge.Closed }) | W.flags }, Ye({ ourProps: ut, theirProps: Ne, defaultTag: e0, features: Iu, visible: k === \"visible\", name: \"Transition.Child\" })));\n}\nfunction r0(e, t) {\n let { show: r, appear: n = !1, unmount: i = !0, ...s } = e, o = ie(null), a = it(o, t);\n vn();\n let f = $i();\n if (r === void 0 && f !== null && (r = (f & Ge.Open) === Ge.Open), ![!0, !1].includes(r))\n throw new Error(\"A is used but it is missing a `show={true | false}` prop.\");\n let [h, l] = Ee(r ? \"visible\" : \"hidden\"), p = Tu(() => {\n l(\"hidden\");\n }), [E, y] = Ee(!0), v = ie([r]);\n Le(() => {\n E !== !1 && v.current[v.current.length - 1] !== r && (v.current.push(r), y(!1));\n }, [v, r]);\n let S = Be(() => ({ show: r, appear: n, initial: E }), [r, n, E]);\n be(() => {\n if (r)\n l(\"visible\");\n else if (!Ki(p))\n l(\"hidden\");\n else {\n let B = o.current;\n if (!B)\n return;\n let U = B.getBoundingClientRect();\n U.x === 0 && U.y === 0 && U.width === 0 && U.height === 0 && l(\"hidden\");\n }\n }, [r, p]);\n let T = { unmount: i }, C = Q(() => {\n var B;\n E && y(!1), (B = e.beforeEnter) == null || B.call(e);\n }), O = Q(() => {\n var B;\n E && y(!1), (B = e.beforeLeave) == null || B.call(e);\n });\n return q.createElement(ji.Provider, { value: p }, q.createElement(Di.Provider, { value: S }, Ye({ ourProps: { ...T, as: ft, children: q.createElement(Pu, { ref: a, ...T, ...s, beforeEnter: C, beforeLeave: O }) }, theirProps: {}, defaultTag: ft, features: Iu, visible: h === \"visible\", name: \"Transition\" })));\n}\nfunction n0(e, t) {\n let r = at(Di) !== null, n = $i() !== null;\n return q.createElement(q.Fragment, null, !r && n ? q.createElement(Yo, { ref: t, ...e }) : q.createElement(Pu, { ref: t, ...e }));\n}\nlet Yo = Xe(r0), Pu = Xe(t0), i0 = Xe(n0), Si = Object.assign(Yo, { Child: i0, Root: Yo });\nconst o0 = \"data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5%207.5L10%2012.5L15%207.5'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e\", s0 = \"data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%2017.5H4.16667C3.72464%2017.5%203.30072%2017.3244%202.98816%2017.0118C2.67559%2016.6993%202.5%2016.2754%202.5%2015.8333V4.16667C2.5%203.72464%202.67559%203.30072%202.98816%202.98816C3.30072%202.67559%203.72464%202.5%204.16667%202.5H7.5'%20stroke='white'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.333%2014.1667L17.4997%2010L13.333%205.83337'%20stroke='white'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M17.5%2010H7.5'%20stroke='white'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e\", Ou = \"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14.8742%204.5804L18.5392%208.15088C18.8511%208.45416%2019.0047%208.76103%2018.9999%209.07026C18.995%209.3795%2018.8608%209.66136%2018.5984%209.91707C18.3239%2010.1847%2018.0277%2010.3203%2017.7109%2010.3262C17.3941%2010.331%2017.0797%2010.1811%2016.7677%209.87785L13.0193%206.22648C12.5937%205.8114%2012.1825%205.51762%2011.7872%205.34516C11.3917%205.1727%2010.9758%205.14535%2010.5405%205.26428C10.104%205.38203%209.63603%205.68532%209.13422%206.17295C8.44258%206.84733%208.11246%207.48007%208.14634%208.0712C8.18018%208.6623%208.52358%209.27602%209.17534%209.90996L12.954%2013.5922C13.2696%2013.8991%2013.4244%2014.2059%2013.4195%2014.5104C13.4147%2014.8161%2013.2793%2015.098%2013.012%2015.3584C12.746%2015.6177%2012.4522%2015.7533%2012.133%2015.764C11.8137%2015.7747%2011.4957%2015.6261%2011.1813%2015.3192L7.51634%2011.7487C6.92022%2011.1683%206.48975%2010.6188%206.22495%2010.1002C5.96014%209.58168%205.86099%208.99533%205.92991%208.34118C5.99158%207.78099%206.17416%207.23864%206.47887%206.71294C6.78237%206.18723%207.21768%205.64964%207.78237%205.09896C8.45466%204.44362%209.09673%203.94171%209.70858%203.59203C10.3192%203.24236%2010.9105%203.04849%2011.4812%203.00806C12.0532%202.96762%2012.6166%203.07942%2013.1741%203.34346C13.7315%203.6075%2014.2974%204.01902%2014.873%204.5804H14.8742Z'%20fill='url(%23paint0_linear_4212_6487)'/%3e%3cpath%20d='M9.12459%2018.9872L5.46081%2015.4167C5.14884%2015.1122%204.99527%2014.8066%205.00011%2014.4973C5.00495%2014.1881%205.13917%2013.9062%205.40156%2013.6505C5.67604%2013.3829%205.97229%2013.2473%206.28909%2013.2414C6.60589%2013.2366%206.92028%2013.3853%207.23225%2013.6897L10.9795%2017.3411C11.4063%2017.7562%2011.8162%2018.05%2012.2116%2018.2224C12.607%2018.3949%2013.023%2018.421%2013.4595%2018.3033C13.896%2018.1856%2014.3639%2017.8823%2014.8657%2017.3934C15.5574%2016.7191%2015.8875%2016.0863%2015.8537%2015.4952C15.8198%2014.9041%2015.4764%2014.2904%2014.8247%2013.6553L12.8114%2011.7106C12.4958%2011.4038%2012.341%2011.0969%2012.3458%2010.7925C12.3507%2010.4868%2012.4861%2010.2049%2012.7533%209.94445C13.0194%209.68514%2013.3132%209.54957%2013.6324%209.53887C13.9516%209.52816%2014.2696%209.67682%2014.584%209.9837L16.4824%2011.8165C17.0785%2012.3969%2017.509%2012.9464%2017.7738%2013.465C18.0386%2013.9835%2018.1378%2014.5699%2018.0688%2015.224C18.0072%2015.7842%2017.8246%2016.3266%2017.5199%2016.8523C17.2164%2017.378%2016.7811%2017.9156%2016.2164%2018.4663C15.5441%2019.1216%2014.902%2019.6235%2014.2902%2019.9732C13.6783%2020.3229%2013.0871%2020.5179%2012.5151%2020.5583C11.9432%2020.5988%2011.3797%2020.487%2010.8223%2020.2229C10.2648%2019.9589%209.69894%2019.5474%209.12338%2018.986L9.12459%2018.9872Z'%20fill='url(%23paint1_linear_4212_6487)'/%3e%3cpath%20d='M11.4098%209.77448C12.153%209.77448%2012.7556%209.18182%2012.7556%208.4507C12.7556%207.71962%2012.153%207.12695%2011.4098%207.12695C10.6665%207.12695%2010.064%207.71962%2010.064%208.4507C10.064%209.18182%2010.6665%209.77448%2011.4098%209.77448Z'%20fill='url(%23paint2_radial_4212_6487)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_4212_6487'%20x1='17.9364'%20y1='6.66057'%20x2='6.64095'%20y2='11.7639'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23201C1B'/%3e%3cstop%20offset='0.36'%20stop-color='%2377390D'/%3e%3cstop%20offset='0.67'%20stop-color='%23EA8101'/%3e%3cstop%20offset='1'%20stop-color='%23F4B852'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_4212_6487'%20x1='6.3763'%20y1='17.0541'%20x2='19.5023'%20y2='13.0825'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%231F1D1C'/%3e%3cstop%20offset='0.37'%20stop-color='%2377390D'/%3e%3cstop%20offset='0.67'%20stop-color='%23EA8101'/%3e%3cstop%20offset='1'%20stop-color='%23F4FB52'/%3e%3c/linearGradient%3e%3cradialGradient%20id='paint2_radial_4212_6487'%20cx='0'%20cy='0'%20r='1'%20gradientUnits='userSpaceOnUse'%20gradientTransform='translate(11.4098%208.45191)%20scale(1.34581%201.32377)'%3e%3cstop%20stop-color='%23F4B852'/%3e%3cstop%20offset='0.33'%20stop-color='%23EA8101'/%3e%3cstop%20offset='0.64'%20stop-color='%2377390D'/%3e%3cstop%20offset='1'%20stop-color='%23211C1D'/%3e%3c/radialGradient%3e%3c/defs%3e%3c/svg%3e\", ku = \"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.4283%2019.185V16.4677C19.4283%2016.36%2019.3855%2016.2572%2019.3092%2016.1809L7.74741%204.61916C7.67106%204.54281%207.56829%204.5%207.46055%204.5H4.74332C4.60917%204.5%204.5%204.60917%204.5%204.74332V7.26787C4.5%207.37562%204.54281%207.47837%204.61916%207.55472L8.76923%2011.7047C8.86412%2011.7997%208.86412%2011.9538%208.76923%2012.0487L4.57136%2016.2465C4.52569%2016.2922%204.5%2016.3543%204.5%2016.4185V19.185C4.5%2019.319%204.60917%2019.4283%204.74332%2019.4283H9.28369C9.41784%2019.4283%209.527%2019.319%209.527%2019.185V17.5552C9.527%2017.491%209.55271%2017.4289%209.59838%2017.3832L11.8504%2015.1312C11.9453%2015.0363%2012.0994%2015.0363%2012.1943%2015.1312L16.3729%2019.3099C16.4492%2019.3862%2016.552%2019.429%2016.6597%2019.429H19.1843C19.3185%2019.429%2019.4276%2019.3198%2019.4276%2019.1857L19.4283%2019.185Z'%20fill='white'/%3e%3cpath%20d='M13.372%208.09816H15.6461C15.781%208.09816%2015.8909%208.20805%2015.8909%208.34292V10.617C15.8909%2010.8353%2016.1549%2010.9445%2016.309%2010.7897L19.4287%207.66505C19.4743%207.61937%2019.5001%207.5573%2019.5001%207.49236V4.75588C19.5001%204.62102%2019.3908%204.51114%2019.2553%204.51114L16.4781%204.50757C16.4132%204.50757%2016.3511%204.53326%2016.3047%204.57892L13.1986%207.68003C13.0445%207.83415%2013.1537%208.09816%2013.3713%208.09816H13.372Z'%20fill='%23EE7A30'/%3e%3c/svg%3e\";\nfunction Jo(e, t = 4, r = 5) {\n if (e.length <= t + r)\n return e;\n const n = e.slice(0, t), i = e.slice(e.length - r);\n return `${n}...${i}`;\n}\nfunction a0({\n address: e,\n network: t,\n onViewProfile: r,\n onChangeWallet: n,\n renderAvatar: i\n}) {\n const { disconnectWallet: s, wallet: o } = Pr();\n return /* @__PURE__ */ D.jsx(\n on,\n {\n as: \"section\",\n className: \"ord-connect-font ord-wallet-connected-container relative inline-block text-left\",\n children: ({ open: a }) => /* @__PURE__ */ D.jsxs(D.Fragment, { children: [\n /* @__PURE__ */ D.jsxs(on.Button, { className: \"ord-wallet-connected-button\", children: [\n /* @__PURE__ */ D.jsxs(\"div\", { className: \"wallet-identifier-container\", children: [\n i ? i(e, \"large\") : /* @__PURE__ */ D.jsx(\n nu,\n {\n size: 28,\n variant: \"beam\",\n name: e,\n colors: [\"#1C2DCB\", \"#F226B8\"]\n }\n ),\n /* @__PURE__ */ D.jsx(\n \"img\",\n {\n src: o === Ve.XVERSE ? ku : Ou,\n alt: `${o} is connected`\n }\n )\n ] }),\n /* @__PURE__ */ D.jsxs(\"section\", { className: \"address-container\", children: [\n /* @__PURE__ */ D.jsx(\"p\", { className: \"address\", children: Jo(e) }),\n /* @__PURE__ */ D.jsxs(\"section\", { className: \"network-container\", children: [\n /* @__PURE__ */ D.jsx(\"div\", { className: \"status-indicator\" }),\n /* @__PURE__ */ D.jsx(\"p\", { className: \"network\", children: t === \"mainnet\" ? \"MainNet\" : \"TestNet\" })\n ] })\n ] }),\n /* @__PURE__ */ D.jsx(\n \"img\",\n {\n src: o0,\n className: `dropdown-button ${a ? \"close-dropdown-button\" : \"expand-dropdown-button\"}`,\n alt: \"ord connect dropdown\"\n }\n )\n ] }),\n /* @__PURE__ */ D.jsx(\n Si,\n {\n as: ft,\n enter: \"transition ease-out duration-100\",\n enterFrom: \"transform opacity-0 scale-95\",\n enterTo: \"transform opacity-100 scale-100\",\n leave: \"transition ease-in duration-75\",\n leaveFrom: \"transform opacity-100 scale-100\",\n leaveTo: \"transform opacity-0 scale-95\",\n children: /* @__PURE__ */ D.jsxs(on.Items, { className: \"ord-wallet-connection-dropdown\", children: [\n /* @__PURE__ */ D.jsxs(\n on.Item,\n {\n as: \"button\",\n className: \"dropdown-button\",\n onClick: () => {\n r == null || r();\n },\n children: [\n /* @__PURE__ */ D.jsx(\"span\", { className: \"label\", children: \"View profile\" }),\n /* @__PURE__ */ D.jsx(\"span\", { className: \"value\", children: Jo(e) })\n ]\n }\n ),\n /* @__PURE__ */ D.jsx(\n on.Item,\n {\n as: \"button\",\n className: \"dropdown-button\",\n onClick: () => {\n n == null || n();\n },\n children: /* @__PURE__ */ D.jsx(\"span\", { className: \"change-wallet-label\", children: \"Change wallet\" })\n }\n ),\n /* @__PURE__ */ D.jsx(\"hr\", { className: \"horizontal-separator\" }),\n /* @__PURE__ */ D.jsxs(\n on.Item,\n {\n as: \"button\",\n className: \"dropdown-button\",\n onClick: s,\n children: [\n /* @__PURE__ */ D.jsx(\"span\", { className: \"label\", children: \"Disconnect wallet\" }),\n /* @__PURE__ */ D.jsx(\"img\", { src: s0, className: \"logout-icon\", alt: \"logout\" })\n ]\n }\n )\n ] })\n }\n )\n ] })\n }\n );\n}\nfunction u0({\n openModal: e,\n customStyle: t\n}) {\n return /* @__PURE__ */ D.jsx(\n \"button\",\n {\n type: \"button\",\n onClick: e,\n \"data-testid\": \"connect-wallet-button\",\n className: `ord-connect-font ord-connect-wallet-button ${t ?? \"\"}`,\n children: /* @__PURE__ */ D.jsx(\"span\", {})\n }\n );\n}\nconst c0 = \"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12%2022C17.5228%2022%2022%2017.5228%2022%2012C22%206.47715%2017.5228%202%2012%202C6.47715%202%202%206.47715%202%2012C2%2017.5228%206.47715%2022%2012%2022Z'%20stroke='%23F2F2F2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M15%209L9%2015'%20stroke='%23F2F2F2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M9%209L15%2015'%20stroke='%23F2F2F2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e\";\nfunction l0() {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n}\nasync function f0() {\n let e = 0;\n const t = 20;\n for (; e < t; ) {\n if (typeof window < \"u\" && window.unisat)\n try {\n const r = await window.unisat.getAccounts();\n if (r && r.length > 0)\n return !0;\n } catch {\n break;\n }\n e += 1, await new Promise((r) => {\n setTimeout(r, 100);\n });\n }\n return !1;\n}\nconst h0 = \"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9%2018L15%2012L9%206'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e\", d0 = \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='44'%20height='44'%20viewBox='0%200%2044%2044'%20stroke='%23fff'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke-width='2'%3e%3ccircle%20cx='22'%20cy='22'%20r='1'%3e%3canimate%20attributeName='r'%20begin='0s'%20dur='1.8s'%20values='1;%2020'%20calcMode='spline'%20keyTimes='0;%201'%20keySplines='0.165,%200.84,%200.44,%201'%20repeatCount='indefinite'/%3e%3canimate%20attributeName='stroke-opacity'%20begin='0s'%20dur='1.8s'%20values='1;%200'%20calcMode='spline'%20keyTimes='0;%201'%20keySplines='0.3,%200.61,%200.355,%201'%20repeatCount='indefinite'/%3e%3c/circle%3e%3ccircle%20cx='22'%20cy='22'%20r='1'%3e%3canimate%20attributeName='r'%20begin='-0.9s'%20dur='1.8s'%20values='1;%2020'%20calcMode='spline'%20keyTimes='0;%201'%20keySplines='0.165,%200.84,%200.44,%201'%20repeatCount='indefinite'/%3e%3canimate%20attributeName='stroke-opacity'%20begin='-0.9s'%20dur='1.8s'%20values='1;%200'%20calcMode='spline'%20keyTimes='0;%201'%20keySplines='0.3,%200.61,%200.355,%201'%20repeatCount='indefinite'/%3e%3c/circle%3e%3c/g%3e%3c/svg%3e\", p0 = {\n [Ve.UNISAT]: \"UniSat Wallet\",\n [Ve.XVERSE]: \"Xverse\"\n};\nfunction na({\n wallet: e,\n subtitle: t,\n onConnect: r,\n icon: n,\n setErrorMessage: i,\n isDisabled: s,\n isMobileDevice: o,\n renderAvatar: a\n}) {\n const { wallet: f, address: h } = Pr(), [{ connectedWallet: l, connectedAddress: p }] = Ee({\n connectedWallet: f,\n connectedAddress: h\n }), [E, y] = Ee(!1), v = p0[e], S = Ue(async () => {\n y(!0), await Promise.race([\n r().then(() => y(!1)).catch(() => y(!1)),\n new Promise((C) => {\n setTimeout(() => C(\"timeout\"), 5e3);\n })\n ]) === \"timeout\" ? i(\n \"No wallet pop-up? The extension is not responding. Try reloading your browser.\"\n ) : y(!1);\n }, [r, i]);\n return /* @__PURE__ */ D.jsx(\n \"button\",\n {\n type: \"button\",\n className: \"wallet-option-button\",\n onClick: S,\n disabled: s,\n children: /* @__PURE__ */ D.jsxs(\"div\", { className: \"option-wrapper\", children: [\n /* @__PURE__ */ D.jsx(\"img\", { className: \"wallet-icon\", src: n, alt: \"\" }),\n /* @__PURE__ */ D.jsxs(\"div\", { className: \"wallet-option\", children: [\n /* @__PURE__ */ D.jsx(\"span\", { className: \"wallet-option-label\", children: v }),\n /* @__PURE__ */ D.jsx(\n \"span\",\n {\n className: \"wallet-option-subtitle\",\n style: { display: o ? \"block\" : \"none\" },\n children: t\n }\n )\n ] }),\n l === e && p.ordinals ? /* @__PURE__ */ D.jsxs(\"div\", { className: \"wallet-option-connected-address\", children: [\n a ? a(p.ordinals, \"small\") : /* @__PURE__ */ D.jsx(\n nu,\n {\n size: 16,\n variant: \"beam\",\n name: p.ordinals,\n colors: [\"#1C2DCB\", \"#F226B8\"]\n }\n ),\n /* @__PURE__ */ D.jsx(\"span\", { className: \"label\", children: Jo(p.ordinals) })\n ] }) : null,\n E ? /* @__PURE__ */ D.jsx(\n \"img\",\n {\n src: d0,\n width: 24,\n alt: `${v} extension is loading`\n }\n ) : /* @__PURE__ */ D.jsx(\n \"img\",\n {\n src: h0,\n alt: \"Chevron Right\",\n width: 24,\n height: 24,\n className: \"chveron-btn\"\n }\n )\n ] })\n }\n );\n}\nconst g0 = {\n [Ve.UNISAT]: \"https://unisat.io/download\",\n // their www subdomain doesn't work\n [Ve.XVERSE]: \"https://www.xverse.app/download\"\n};\nfunction y0({\n isOpen: e,\n closeModal: t,\n disableMobile: r,\n renderAvatar: n\n}) {\n const {\n updateAddress: i,\n network: s,\n updateWallet: o,\n updatePublicKey: a,\n updateFormat: f,\n wallet: h,\n format: l,\n address: p,\n publicKey: E,\n disconnectWallet: y\n } = Pr(), [v, S] = Ee(\"\"), T = l0(), C = !r || !T, O = Ue(\n (R, k) => {\n k instanceof gl && window.open(\n g0[R],\n \"_blank\",\n \"noopener,noreferrer\"\n ), S(k.message ?? k.toString()), console.error(`Error while connecting to ${R} wallet`, k), y();\n },\n [y]\n ), B = Ue(\n async ({ readOnly: R } = {}) => {\n try {\n S(\"\");\n const k = await El(s, R);\n if (!k || k.length < 1)\n throw y(), new Error(\"Unisat via Ordit returned no addresses.\");\n const j = k[0];\n return i({\n ordinals: j.address,\n payments: j.address\n }), a({\n ordinals: j.publicKey,\n payments: j.publicKey\n }), o(Ve.UNISAT), f({\n ordinals: j.format,\n payments: j.format\n }), t(), !0;\n } catch (k) {\n return O(Ve.UNISAT, k), !1;\n }\n },\n [\n t,\n y,\n s,\n O,\n i,\n f,\n a,\n o\n ]\n ), U = Ue(async () => {\n try {\n S(\"\");\n const R = await vl(s);\n if (!R || R.length < 1)\n throw y(), new Error(\"Xverse via Ordit returned no addresses.\");\n const k = R.find(\n (A) => A.format === \"p2sh-p2wpkh\"\n ), j = R.find(\n (A) => A.format === \"taproot\"\n );\n if (!k || !j)\n throw new Error(\n \"Xverse via Ordit did not return P2SH or Taproot addresses.\"\n );\n return i({\n ordinals: j.address,\n payments: k.address\n }), a({\n ordinals: j.publicKey,\n payments: k.publicKey\n }), o(Ve.XVERSE), f({\n ordinals: j.format,\n payments: k.format\n }), t(), !0;\n } catch (R) {\n return O(Ve.XVERSE, R), !1;\n }\n }, [\n t,\n y,\n s,\n O,\n i,\n f,\n a,\n o\n ]);\n return be(() => {\n if (h !== Ve.UNISAT)\n return;\n let R = !0, k = !1;\n const j = () => B();\n return p && E && l && (async () => {\n const b = await f0();\n if (R) {\n if (!b) {\n y();\n return;\n }\n k = await B({ readOnly: !0 }), R && k && window.unisat.addListener(\"accountsChanged\", j);\n }\n })(), () => {\n R = !1, k && window.unisat.removeListener(\"accountsChanged\", j);\n };\n }, [h, B, y]), /* @__PURE__ */ D.jsx(Si, { appear: !0, show: e, as: ft, children: /* @__PURE__ */ D.jsxs(\n si,\n {\n as: \"div\",\n className: \"ord-connect-font ord-connect-wallet-modal\",\n onClose: t,\n children: [\n /* @__PURE__ */ D.jsx(\n Si.Child,\n {\n as: ft,\n enter: \"ease-out duration-300\",\n enterFrom: \"opacity-0\",\n enterTo: \"opacity-100\",\n leave: \"ease-in duration-200\",\n leaveFrom: \"opacity-100\",\n leaveTo: \"opacity-0\",\n children: /* @__PURE__ */ D.jsx(\"section\", { className: \"backdrop\" })\n }\n ),\n /* @__PURE__ */ D.jsx(\"section\", { className: \"outer-container\", children: /* @__PURE__ */ D.jsx(\"div\", { className: \"inner-container\", children: /* @__PURE__ */ D.jsx(\n Si.Child,\n {\n as: ft,\n enter: \"ease-out duration-300\",\n enterFrom: \"opacity-0 scale-95\",\n enterTo: \"opacity-100 scale-100\",\n leave: \"ease-in duration-200\",\n leaveFrom: \"opacity-100 scale-100\",\n leaveTo: \"opacity-0 scale-95\",\n children: /* @__PURE__ */ D.jsxs(si.Panel, { className: \"panel\", children: [\n /* @__PURE__ */ D.jsxs(\"section\", { className: \"panel-title-container\", children: [\n /* @__PURE__ */ D.jsx(si.Title, { as: \"h3\", className: \"panel-title\", children: C ? \"Choose wallet to connect\" : \"Unsupported device\" }),\n /* @__PURE__ */ D.jsx(\n \"button\",\n {\n type: \"button\",\n onClick: t,\n className: \"close-button\",\n children: /* @__PURE__ */ D.jsx(\"img\", { src: c0, alt: \"close modal\" })\n }\n )\n ] }),\n /* @__PURE__ */ D.jsxs(\"section\", { className: \"panel-content-container\", children: [\n C ? /* @__PURE__ */ D.jsxs(\"section\", { className: \"panel-content-inner-container\", children: [\n !T && // TODO:: remove this once unisat supported on mobile devices\n /* @__PURE__ */ D.jsxs(D.Fragment, { children: [\n /* @__PURE__ */ D.jsx(\n na,\n {\n wallet: Ve.UNISAT,\n subtitle: \"Coming soon on mobile browsing\",\n onConnect: B,\n icon: Ou,\n setErrorMessage: S,\n isDisabled: T,\n isMobileDevice: T,\n renderAvatar: n\n }\n ),\n /* @__PURE__ */ D.jsx(\"hr\", { className: \"horizontal-separator\" })\n ] }),\n /* @__PURE__ */ D.jsx(\n na,\n {\n wallet: Ve.XVERSE,\n subtitle: \"Available on Xverse app\",\n onConnect: U,\n icon: ku,\n setErrorMessage: S,\n isMobileDevice: T,\n renderAvatar: n\n }\n )\n ] }) : /* @__PURE__ */ D.jsx(si.Description, { className: \"unsupported-browser-message\", children: \"This website does not support mobile devices.\" }),\n /* @__PURE__ */ D.jsx(\"p\", { className: \"error-message\", children: v })\n ] })\n ] })\n }\n ) }) })\n ]\n }\n ) });\n}\nfunction ug({\n customStyle: e,\n onViewProfile: t,\n disableMobile: r,\n renderAvatar: n\n}) {\n const { address: i, network: s, isModalOpen: o, openModal: a, closeModal: f } = Pr();\n return /* @__PURE__ */ D.jsxs(D.Fragment, { children: [\n i != null && i.ordinals ? /* @__PURE__ */ D.jsx(\n a0,\n {\n address: i.ordinals,\n network: s,\n onViewProfile: t,\n onChangeWallet: a,\n renderAvatar: n\n }\n ) : /* @__PURE__ */ D.jsx(u0, { openModal: a, customStyle: e }),\n /* @__PURE__ */ D.jsx(\n y0,\n {\n isOpen: o,\n closeModal: f,\n disableMobile: r,\n renderAvatar: n\n }\n )\n ] });\n}\nfunction cg() {\n const { network: e, publicKey: t, format: r } = Pr(), [n, i] = Ee(null), [s, o] = Ee(!1);\n return { getBalance: Ue(async () => {\n o(!0);\n try {\n if (i(null), !r || !r.payments || !t || !t.payments)\n throw new Error(\"No wallet is connected\");\n const { address: f } = ml(\n t.payments,\n e,\n yl[r.payments]\n )[0], h = new qa({ network: e }), { spendableUTXOs: l } = await h.getUnspents({\n address: f,\n type: \"spendable\"\n }), p = l.reduce(\n (E, y) => y.safeToSpend ? E + y.sats : E,\n 0\n );\n return o(!1), p;\n } catch (f) {\n return i(f.message), o(!1), 0;\n }\n }, [r, e, t]), error: n, loading: s };\n}\nasync function Au({\n address: e,\n wallet: t,\n network: r,\n psbt: n,\n options: i\n}) {\n const s = (i == null ? void 0 : i.finalize) ?? !0, o = (i == null ? void 0 : i.extractTx) ?? !0;\n if (t === Ve.UNISAT)\n return await bl(n, {\n finalize: s,\n extractTx: o\n });\n if (t === Ve.XVERSE) {\n const a = () => n.data.inputs.map((h, l) => l);\n return await _l(n, {\n network: r,\n inputsToSign: [\n {\n address: e,\n signingIndexes: (i == null ? void 0 : i.signingIndexes) ?? a(),\n // If signingIndexes is not provided, just sign everything\n sigHash: i == null ? void 0 : i.sigHash\n }\n ],\n finalize: s,\n extractTx: o\n });\n }\n throw new Error(\"Invalid wallet selected\");\n}\nfunction lg() {\n const { wallet: e, network: t, address: r, publicKey: n } = Pr(), [i, s] = Ee(null), [o, a] = Ee(!1);\n return { send: Ue(\n async (h, l, p, E = !0) => {\n a(!0);\n try {\n if (s(null), !r || !r.payments || !n || !n.payments || !e)\n throw new Error(\"No wallet is connected\");\n const y = new wl({\n address: r.payments,\n feeRate: p,\n network: t,\n publicKey: n.payments,\n outputs: [\n {\n address: h,\n value: l\n }\n ]\n });\n await y.prepare();\n const v = await Au({\n address: r.payments,\n wallet: e,\n network: t,\n psbt: y.toPSBT()\n });\n if (E) {\n const T = await new qa({ network: t }).relay({ hex: v.hex });\n return a(!1), T;\n }\n return a(!1), v.hex;\n } catch (y) {\n return s(y.message), a(!1), null;\n }\n },\n [r, t, n, e]\n ), error: i, loading: o };\n}\nvar xu = {}, ps = {}, Wi = {};\nWi.byteLength = E0;\nWi.toByteArray = S0;\nWi.fromByteArray = T0;\nvar Nt = [], mt = [], m0 = typeof Uint8Array < \"u\" ? Uint8Array : Array, vo = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var sn = 0, w0 = vo.length; sn < w0; ++sn)\n Nt[sn] = vo[sn], mt[vo.charCodeAt(sn)] = sn;\nmt[45] = 62;\nmt[95] = 63;\nfunction Cu(e) {\n var t = e.length;\n if (t % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var r = e.indexOf(\"=\");\n r === -1 && (r = t);\n var n = r === t ? 0 : 4 - r % 4;\n return [r, n];\n}\nfunction E0(e) {\n var t = Cu(e), r = t[0], n = t[1];\n return (r + n) * 3 / 4 - n;\n}\nfunction b0(e, t, r) {\n return (t + r) * 3 / 4 - r;\n}\nfunction S0(e) {\n var t, r = Cu(e), n = r[0], i = r[1], s = new m0(b0(e, n, i)), o = 0, a = i > 0 ? n - 4 : n, f;\n for (f = 0; f < a; f += 4)\n t = mt[e.charCodeAt(f)] << 18 | mt[e.charCodeAt(f + 1)] << 12 | mt[e.charCodeAt(f + 2)] << 6 | mt[e.charCodeAt(f + 3)], s[o++] = t >> 16 & 255, s[o++] = t >> 8 & 255, s[o++] = t & 255;\n return i === 2 && (t = mt[e.charCodeAt(f)] << 2 | mt[e.charCodeAt(f + 1)] >> 4, s[o++] = t & 255), i === 1 && (t = mt[e.charCodeAt(f)] << 10 | mt[e.charCodeAt(f + 1)] << 4 | mt[e.charCodeAt(f + 2)] >> 2, s[o++] = t >> 8 & 255, s[o++] = t & 255), s;\n}\nfunction v0(e) {\n return Nt[e >> 18 & 63] + Nt[e >> 12 & 63] + Nt[e >> 6 & 63] + Nt[e & 63];\n}\nfunction _0(e, t, r) {\n for (var n, i = [], s = t; s < r; s += 3)\n n = (e[s] << 16 & 16711680) + (e[s + 1] << 8 & 65280) + (e[s + 2] & 255), i.push(v0(n));\n return i.join(\"\");\n}\nfunction T0(e) {\n for (var t, r = e.length, n = r % 3, i = [], s = 16383, o = 0, a = r - n; o < a; o += s)\n i.push(_0(e, o, o + s > a ? a : o + s));\n return n === 1 ? (t = e[r - 1], i.push(\n Nt[t >> 2] + Nt[t << 4 & 63] + \"==\"\n )) : n === 2 && (t = (e[r - 2] << 8) + e[r - 1], i.push(\n Nt[t >> 10] + Nt[t >> 4 & 63] + Nt[t << 2 & 63] + \"=\"\n )), i.join(\"\");\n}\nvar gs = {};\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\ngs.read = function(e, t, r, n, i) {\n var s, o, a = i * 8 - n - 1, f = (1 << a) - 1, h = f >> 1, l = -7, p = r ? i - 1 : 0, E = r ? -1 : 1, y = e[t + p];\n for (p += E, s = y & (1 << -l) - 1, y >>= -l, l += a; l > 0; s = s * 256 + e[t + p], p += E, l -= 8)\n ;\n for (o = s & (1 << -l) - 1, s >>= -l, l += n; l > 0; o = o * 256 + e[t + p], p += E, l -= 8)\n ;\n if (s === 0)\n s = 1 - h;\n else {\n if (s === f)\n return o ? NaN : (y ? -1 : 1) * (1 / 0);\n o = o + Math.pow(2, n), s = s - h;\n }\n return (y ? -1 : 1) * o * Math.pow(2, s - n);\n};\ngs.write = function(e, t, r, n, i, s) {\n var o, a, f, h = s * 8 - i - 1, l = (1 << h) - 1, p = l >> 1, E = i === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, y = n ? 0 : s - 1, v = n ? 1 : -1, S = t < 0 || t === 0 && 1 / t < 0 ? 1 : 0;\n for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (a = isNaN(t) ? 1 : 0, o = l) : (o = Math.floor(Math.log(t) / Math.LN2), t * (f = Math.pow(2, -o)) < 1 && (o--, f *= 2), o + p >= 1 ? t += E / f : t += E * Math.pow(2, 1 - p), t * f >= 2 && (o++, f /= 2), o + p >= l ? (a = 0, o = l) : o + p >= 1 ? (a = (t * f - 1) * Math.pow(2, i), o = o + p) : (a = t * Math.pow(2, p - 1) * Math.pow(2, i), o = 0)); i >= 8; e[r + y] = a & 255, y += v, a /= 256, i -= 8)\n ;\n for (o = o << i | a, h += i; h > 0; e[r + y] = o & 255, y += v, o /= 256, h -= 8)\n ;\n e[r + y - v] |= S * 128;\n};\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n(function(e) {\n const t = Wi, r = gs, n = typeof Symbol == \"function\" && typeof Symbol.for == \"function\" ? Symbol.for(\"nodejs.util.inspect.custom\") : null;\n e.Buffer = l, e.SlowBuffer = R, e.INSPECT_MAX_BYTES = 50;\n const i = 2147483647;\n e.kMaxLength = i;\n const { Uint8Array: s, ArrayBuffer: o, SharedArrayBuffer: a } = globalThis;\n l.TYPED_ARRAY_SUPPORT = f(), !l.TYPED_ARRAY_SUPPORT && typeof console < \"u\" && typeof console.error == \"function\" && console.error(\n \"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"\n );\n function f() {\n try {\n const d = new s(1), u = { foo: function() {\n return 42;\n } };\n return Object.setPrototypeOf(u, s.prototype), Object.setPrototypeOf(d, u), d.foo() === 42;\n } catch {\n return !1;\n }\n }\n Object.defineProperty(l.prototype, \"parent\", {\n enumerable: !0,\n get: function() {\n if (l.isBuffer(this))\n return this.buffer;\n }\n }), Object.defineProperty(l.prototype, \"offset\", {\n enumerable: !0,\n get: function() {\n if (l.isBuffer(this))\n return this.byteOffset;\n }\n });\n function h(d) {\n if (d > i)\n throw new RangeError('The value \"' + d + '\" is invalid for option \"size\"');\n const u = new s(d);\n return Object.setPrototypeOf(u, l.prototype), u;\n }\n function l(d, u, c) {\n if (typeof d == \"number\") {\n if (typeof u == \"string\")\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n );\n return v(d);\n }\n return p(d, u, c);\n }\n l.poolSize = 8192;\n function p(d, u, c) {\n if (typeof d == \"string\")\n return S(d, u);\n if (o.isView(d))\n return C(d);\n if (d == null)\n throw new TypeError(\n \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof d\n );\n if (ct(d, o) || d && ct(d.buffer, o) || typeof a < \"u\" && (ct(d, a) || d && ct(d.buffer, a)))\n return O(d, u, c);\n if (typeof d == \"number\")\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n );\n const g = d.valueOf && d.valueOf();\n if (g != null && g !== d)\n return l.from(g, u, c);\n const _ = B(d);\n if (_)\n return _;\n if (typeof Symbol < \"u\" && Symbol.toPrimitive != null && typeof d[Symbol.toPrimitive] == \"function\")\n return l.from(d[Symbol.toPrimitive](\"string\"), u, c);\n throw new TypeError(\n \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof d\n );\n }\n l.from = function(d, u, c) {\n return p(d, u, c);\n }, Object.setPrototypeOf(l.prototype, s.prototype), Object.setPrototypeOf(l, s);\n function E(d) {\n if (typeof d != \"number\")\n throw new TypeError('\"size\" argument must be of type number');\n if (d < 0)\n throw new RangeError('The value \"' + d + '\" is invalid for option \"size\"');\n }\n function y(d, u, c) {\n return E(d), d <= 0 ? h(d) : u !== void 0 ? typeof c == \"string\" ? h(d).fill(u, c) : h(d).fill(u) : h(d);\n }\n l.alloc = function(d, u, c) {\n return y(d, u, c);\n };\n function v(d) {\n return E(d), h(d < 0 ? 0 : U(d) | 0);\n }\n l.allocUnsafe = function(d) {\n return v(d);\n }, l.allocUnsafeSlow = function(d) {\n return v(d);\n };\n function S(d, u) {\n if ((typeof u != \"string\" || u === \"\") && (u = \"utf8\"), !l.isEncoding(u))\n throw new TypeError(\"Unknown encoding: \" + u);\n const c = k(d, u) | 0;\n let g = h(c);\n const _ = g.write(d, u);\n return _ !== c && (g = g.slice(0, _)), g;\n }\n function T(d) {\n const u = d.length < 0 ? 0 : U(d.length) | 0, c = h(u);\n for (let g = 0; g < u; g += 1)\n c[g] = d[g] & 255;\n return c;\n }\n function C(d) {\n if (ct(d, s)) {\n const u = new s(d);\n return O(u.buffer, u.byteOffset, u.byteLength);\n }\n return T(d);\n }\n function O(d, u, c) {\n if (u < 0 || d.byteLength < u)\n throw new RangeError('\"offset\" is outside of buffer bounds');\n if (d.byteLength < u + (c || 0))\n throw new RangeError('\"length\" is outside of buffer bounds');\n let g;\n return u === void 0 && c === void 0 ? g = new s(d) : c === void 0 ? g = new s(d, u) : g = new s(d, u, c), Object.setPrototypeOf(g, l.prototype), g;\n }\n function B(d) {\n if (l.isBuffer(d)) {\n const u = U(d.length) | 0, c = h(u);\n return c.length === 0 || d.copy(c, 0, 0, u), c;\n }\n if (d.length !== void 0)\n return typeof d.length != \"number\" || tn(d.length) ? h(0) : T(d);\n if (d.type === \"Buffer\" && Array.isArray(d.data))\n return T(d.data);\n }\n function U(d) {\n if (d >= i)\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + i.toString(16) + \" bytes\");\n return d | 0;\n }\n function R(d) {\n return +d != d && (d = 0), l.alloc(+d);\n }\n l.isBuffer = function(u) {\n return u != null && u._isBuffer === !0 && u !== l.prototype;\n }, l.compare = function(u, c) {\n if (ct(u, s) && (u = l.from(u, u.offset, u.byteLength)), ct(c, s) && (c = l.from(c, c.offset, c.byteLength)), !l.isBuffer(u) || !l.isBuffer(c))\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n );\n if (u === c)\n return 0;\n let g = u.length, _ = c.length;\n for (let P = 0, x = Math.min(g, _); P < x; ++P)\n if (u[P] !== c[P]) {\n g = u[P], _ = c[P];\n break;\n }\n return g < _ ? -1 : _ < g ? 1 : 0;\n }, l.isEncoding = function(u) {\n switch (String(u).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return !0;\n default:\n return !1;\n }\n }, l.concat = function(u, c) {\n if (!Array.isArray(u))\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (u.length === 0)\n return l.alloc(0);\n let g;\n if (c === void 0)\n for (c = 0, g = 0; g < u.length; ++g)\n c += u[g].length;\n const _ = l.allocUnsafe(c);\n let P = 0;\n for (g = 0; g < u.length; ++g) {\n let x = u[g];\n if (ct(x, s))\n P + x.length > _.length ? (l.isBuffer(x) || (x = l.from(x)), x.copy(_, P)) : s.prototype.set.call(\n _,\n x,\n P\n );\n else if (l.isBuffer(x))\n x.copy(_, P);\n else\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n P += x.length;\n }\n return _;\n };\n function k(d, u) {\n if (l.isBuffer(d))\n return d.length;\n if (o.isView(d) || ct(d, o))\n return d.byteLength;\n if (typeof d != \"string\")\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof d\n );\n const c = d.length, g = arguments.length > 2 && arguments[2] === !0;\n if (!g && c === 0)\n return 0;\n let _ = !1;\n for (; ; )\n switch (u) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return c;\n case \"utf8\":\n case \"utf-8\":\n return Pn(d).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return c * 2;\n case \"hex\":\n return c >>> 1;\n case \"base64\":\n return ri(d).length;\n default:\n if (_)\n return g ? -1 : Pn(d).length;\n u = (\"\" + u).toLowerCase(), _ = !0;\n }\n }\n l.byteLength = k;\n function j(d, u, c) {\n let g = !1;\n if ((u === void 0 || u < 0) && (u = 0), u > this.length || ((c === void 0 || c > this.length) && (c = this.length), c <= 0) || (c >>>= 0, u >>>= 0, c <= u))\n return \"\";\n for (d || (d = \"utf8\"); ; )\n switch (d) {\n case \"hex\":\n return Ne(this, u, c);\n case \"utf8\":\n case \"utf-8\":\n return W(this, u, c);\n case \"ascii\":\n return Se(this, u, c);\n case \"latin1\":\n case \"binary\":\n return ve(this, u, c);\n case \"base64\":\n return re(this, u, c);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return ut(this, u, c);\n default:\n if (g)\n throw new TypeError(\"Unknown encoding: \" + d);\n d = (d + \"\").toLowerCase(), g = !0;\n }\n }\n l.prototype._isBuffer = !0;\n function A(d, u, c) {\n const g = d[u];\n d[u] = d[c], d[c] = g;\n }\n l.prototype.swap16 = function() {\n const u = this.length;\n if (u % 2 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for (let c = 0; c < u; c += 2)\n A(this, c, c + 1);\n return this;\n }, l.prototype.swap32 = function() {\n const u = this.length;\n if (u % 4 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for (let c = 0; c < u; c += 4)\n A(this, c, c + 3), A(this, c + 1, c + 2);\n return this;\n }, l.prototype.swap64 = function() {\n const u = this.length;\n if (u % 8 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for (let c = 0; c < u; c += 8)\n A(this, c, c + 7), A(this, c + 1, c + 6), A(this, c + 2, c + 5), A(this, c + 3, c + 4);\n return this;\n }, l.prototype.toString = function() {\n const u = this.length;\n return u === 0 ? \"\" : arguments.length === 0 ? W(this, 0, u) : j.apply(this, arguments);\n }, l.prototype.toLocaleString = l.prototype.toString, l.prototype.equals = function(u) {\n if (!l.isBuffer(u))\n throw new TypeError(\"Argument must be a Buffer\");\n return this === u ? !0 : l.compare(this, u) === 0;\n }, l.prototype.inspect = function() {\n let u = \"\";\n const c = e.INSPECT_MAX_BYTES;\n return u = this.toString(\"hex\", 0, c).replace(/(.{2})/g, \"$1 \").trim(), this.length > c && (u += \" ... \"), \"\";\n }, n && (l.prototype[n] = l.prototype.inspect), l.prototype.compare = function(u, c, g, _, P) {\n if (ct(u, s) && (u = l.from(u, u.offset, u.byteLength)), !l.isBuffer(u))\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. Received type ' + typeof u\n );\n if (c === void 0 && (c = 0), g === void 0 && (g = u ? u.length : 0), _ === void 0 && (_ = 0), P === void 0 && (P = this.length), c < 0 || g > u.length || _ < 0 || P > this.length)\n throw new RangeError(\"out of range index\");\n if (_ >= P && c >= g)\n return 0;\n if (_ >= P)\n return -1;\n if (c >= g)\n return 1;\n if (c >>>= 0, g >>>= 0, _ >>>= 0, P >>>= 0, this === u)\n return 0;\n let x = P - _, X = g - c;\n const pe = Math.min(x, X), ae = this.slice(_, P), fe = u.slice(c, g);\n for (let ee = 0; ee < pe; ++ee)\n if (ae[ee] !== fe[ee]) {\n x = ae[ee], X = fe[ee];\n break;\n }\n return x < X ? -1 : X < x ? 1 : 0;\n };\n function b(d, u, c, g, _) {\n if (d.length === 0)\n return -1;\n if (typeof c == \"string\" ? (g = c, c = 0) : c > 2147483647 ? c = 2147483647 : c < -2147483648 && (c = -2147483648), c = +c, tn(c) && (c = _ ? 0 : d.length - 1), c < 0 && (c = d.length + c), c >= d.length) {\n if (_)\n return -1;\n c = d.length - 1;\n } else if (c < 0)\n if (_)\n c = 0;\n else\n return -1;\n if (typeof u == \"string\" && (u = l.from(u, g)), l.isBuffer(u))\n return u.length === 0 ? -1 : m(d, u, c, g, _);\n if (typeof u == \"number\")\n return u = u & 255, typeof s.prototype.indexOf == \"function\" ? _ ? s.prototype.indexOf.call(d, u, c) : s.prototype.lastIndexOf.call(d, u, c) : m(d, [u], c, g, _);\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n function m(d, u, c, g, _) {\n let P = 1, x = d.length, X = u.length;\n if (g !== void 0 && (g = String(g).toLowerCase(), g === \"ucs2\" || g === \"ucs-2\" || g === \"utf16le\" || g === \"utf-16le\")) {\n if (d.length < 2 || u.length < 2)\n return -1;\n P = 2, x /= 2, X /= 2, c /= 2;\n }\n function pe(fe, ee) {\n return P === 1 ? fe[ee] : fe.readUInt16BE(ee * P);\n }\n let ae;\n if (_) {\n let fe = -1;\n for (ae = c; ae < x; ae++)\n if (pe(d, ae) === pe(u, fe === -1 ? 0 : ae - fe)) {\n if (fe === -1 && (fe = ae), ae - fe + 1 === X)\n return fe * P;\n } else\n fe !== -1 && (ae -= ae - fe), fe = -1;\n } else\n for (c + X > x && (c = x - X), ae = c; ae >= 0; ae--) {\n let fe = !0;\n for (let ee = 0; ee < X; ee++)\n if (pe(d, ae + ee) !== pe(u, ee)) {\n fe = !1;\n break;\n }\n if (fe)\n return ae;\n }\n return -1;\n }\n l.prototype.includes = function(u, c, g) {\n return this.indexOf(u, c, g) !== -1;\n }, l.prototype.indexOf = function(u, c, g) {\n return b(this, u, c, g, !0);\n }, l.prototype.lastIndexOf = function(u, c, g) {\n return b(this, u, c, g, !1);\n };\n function N(d, u, c, g) {\n c = Number(c) || 0;\n const _ = d.length - c;\n g ? (g = Number(g), g > _ && (g = _)) : g = _;\n const P = u.length;\n g > P / 2 && (g = P / 2);\n let x;\n for (x = 0; x < g; ++x) {\n const X = parseInt(u.substr(x * 2, 2), 16);\n if (tn(X))\n return x;\n d[c + x] = X;\n }\n return x;\n }\n function H(d, u, c, g) {\n return en(Pn(u, d.length - c), d, c, g);\n }\n function L(d, u, c, g) {\n return en(fo(u), d, c, g);\n }\n function M(d, u, c, g) {\n return en(ri(u), d, c, g);\n }\n function K(d, u, c, g) {\n return en(On(u, d.length - c), d, c, g);\n }\n l.prototype.write = function(u, c, g, _) {\n if (c === void 0)\n _ = \"utf8\", g = this.length, c = 0;\n else if (g === void 0 && typeof c == \"string\")\n _ = c, g = this.length, c = 0;\n else if (isFinite(c))\n c = c >>> 0, isFinite(g) ? (g = g >>> 0, _ === void 0 && (_ = \"utf8\")) : (_ = g, g = void 0);\n else\n throw new Error(\n \"Buffer.write(string, encoding, offset[, length]) is no longer supported\"\n );\n const P = this.length - c;\n if ((g === void 0 || g > P) && (g = P), u.length > 0 && (g < 0 || c < 0) || c > this.length)\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n _ || (_ = \"utf8\");\n let x = !1;\n for (; ; )\n switch (_) {\n case \"hex\":\n return N(this, u, c, g);\n case \"utf8\":\n case \"utf-8\":\n return H(this, u, c, g);\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return L(this, u, c, g);\n case \"base64\":\n return M(this, u, c, g);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return K(this, u, c, g);\n default:\n if (x)\n throw new TypeError(\"Unknown encoding: \" + _);\n _ = (\"\" + _).toLowerCase(), x = !0;\n }\n }, l.prototype.toJSON = function() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function re(d, u, c) {\n return u === 0 && c === d.length ? t.fromByteArray(d) : t.fromByteArray(d.slice(u, c));\n }\n function W(d, u, c) {\n c = Math.min(d.length, c);\n const g = [];\n let _ = u;\n for (; _ < c; ) {\n const P = d[_];\n let x = null, X = P > 239 ? 4 : P > 223 ? 3 : P > 191 ? 2 : 1;\n if (_ + X <= c) {\n let pe, ae, fe, ee;\n switch (X) {\n case 1:\n P < 128 && (x = P);\n break;\n case 2:\n pe = d[_ + 1], (pe & 192) === 128 && (ee = (P & 31) << 6 | pe & 63, ee > 127 && (x = ee));\n break;\n case 3:\n pe = d[_ + 1], ae = d[_ + 2], (pe & 192) === 128 && (ae & 192) === 128 && (ee = (P & 15) << 12 | (pe & 63) << 6 | ae & 63, ee > 2047 && (ee < 55296 || ee > 57343) && (x = ee));\n break;\n case 4:\n pe = d[_ + 1], ae = d[_ + 2], fe = d[_ + 3], (pe & 192) === 128 && (ae & 192) === 128 && (fe & 192) === 128 && (ee = (P & 15) << 18 | (pe & 63) << 12 | (ae & 63) << 6 | fe & 63, ee > 65535 && ee < 1114112 && (x = ee));\n }\n }\n x === null ? (x = 65533, X = 1) : x > 65535 && (x -= 65536, g.push(x >>> 10 & 1023 | 55296), x = 56320 | x & 1023), g.push(x), _ += X;\n }\n return ke(g);\n }\n const le = 4096;\n function ke(d) {\n const u = d.length;\n if (u <= le)\n return String.fromCharCode.apply(String, d);\n let c = \"\", g = 0;\n for (; g < u; )\n c += String.fromCharCode.apply(\n String,\n d.slice(g, g += le)\n );\n return c;\n }\n function Se(d, u, c) {\n let g = \"\";\n c = Math.min(d.length, c);\n for (let _ = u; _ < c; ++_)\n g += String.fromCharCode(d[_] & 127);\n return g;\n }\n function ve(d, u, c) {\n let g = \"\";\n c = Math.min(d.length, c);\n for (let _ = u; _ < c; ++_)\n g += String.fromCharCode(d[_]);\n return g;\n }\n function Ne(d, u, c) {\n const g = d.length;\n (!u || u < 0) && (u = 0), (!c || c < 0 || c > g) && (c = g);\n let _ = \"\";\n for (let P = u; P < c; ++P)\n _ += Ar[d[P]];\n return _;\n }\n function ut(d, u, c) {\n const g = d.slice(u, c);\n let _ = \"\";\n for (let P = 0; P < g.length - 1; P += 2)\n _ += String.fromCharCode(g[P] + g[P + 1] * 256);\n return _;\n }\n l.prototype.slice = function(u, c) {\n const g = this.length;\n u = ~~u, c = c === void 0 ? g : ~~c, u < 0 ? (u += g, u < 0 && (u = 0)) : u > g && (u = g), c < 0 ? (c += g, c < 0 && (c = 0)) : c > g && (c = g), c < u && (c = u);\n const _ = this.subarray(u, c);\n return Object.setPrototypeOf(_, l.prototype), _;\n };\n function Y(d, u, c) {\n if (d % 1 !== 0 || d < 0)\n throw new RangeError(\"offset is not uint\");\n if (d + u > c)\n throw new RangeError(\"Trying to access beyond buffer length\");\n }\n l.prototype.readUintLE = l.prototype.readUIntLE = function(u, c, g) {\n u = u >>> 0, c = c >>> 0, g || Y(u, c, this.length);\n let _ = this[u], P = 1, x = 0;\n for (; ++x < c && (P *= 256); )\n _ += this[u + x] * P;\n return _;\n }, l.prototype.readUintBE = l.prototype.readUIntBE = function(u, c, g) {\n u = u >>> 0, c = c >>> 0, g || Y(u, c, this.length);\n let _ = this[u + --c], P = 1;\n for (; c > 0 && (P *= 256); )\n _ += this[u + --c] * P;\n return _;\n }, l.prototype.readUint8 = l.prototype.readUInt8 = function(u, c) {\n return u = u >>> 0, c || Y(u, 1, this.length), this[u];\n }, l.prototype.readUint16LE = l.prototype.readUInt16LE = function(u, c) {\n return u = u >>> 0, c || Y(u, 2, this.length), this[u] | this[u + 1] << 8;\n }, l.prototype.readUint16BE = l.prototype.readUInt16BE = function(u, c) {\n return u = u >>> 0, c || Y(u, 2, this.length), this[u] << 8 | this[u + 1];\n }, l.prototype.readUint32LE = l.prototype.readUInt32LE = function(u, c) {\n return u = u >>> 0, c || Y(u, 4, this.length), (this[u] | this[u + 1] << 8 | this[u + 2] << 16) + this[u + 3] * 16777216;\n }, l.prototype.readUint32BE = l.prototype.readUInt32BE = function(u, c) {\n return u = u >>> 0, c || Y(u, 4, this.length), this[u] * 16777216 + (this[u + 1] << 16 | this[u + 2] << 8 | this[u + 3]);\n }, l.prototype.readBigUInt64LE = It(function(u) {\n u = u >>> 0, Et(u, \"offset\");\n const c = this[u], g = this[u + 7];\n (c === void 0 || g === void 0) && ar(u, this.length - 8);\n const _ = c + this[++u] * 2 ** 8 + this[++u] * 2 ** 16 + this[++u] * 2 ** 24, P = this[++u] + this[++u] * 2 ** 8 + this[++u] * 2 ** 16 + g * 2 ** 24;\n return BigInt(_) + (BigInt(P) << BigInt(32));\n }), l.prototype.readBigUInt64BE = It(function(u) {\n u = u >>> 0, Et(u, \"offset\");\n const c = this[u], g = this[u + 7];\n (c === void 0 || g === void 0) && ar(u, this.length - 8);\n const _ = c * 2 ** 24 + this[++u] * 2 ** 16 + this[++u] * 2 ** 8 + this[++u], P = this[++u] * 2 ** 24 + this[++u] * 2 ** 16 + this[++u] * 2 ** 8 + g;\n return (BigInt(_) << BigInt(32)) + BigInt(P);\n }), l.prototype.readIntLE = function(u, c, g) {\n u = u >>> 0, c = c >>> 0, g || Y(u, c, this.length);\n let _ = this[u], P = 1, x = 0;\n for (; ++x < c && (P *= 256); )\n _ += this[u + x] * P;\n return P *= 128, _ >= P && (_ -= Math.pow(2, 8 * c)), _;\n }, l.prototype.readIntBE = function(u, c, g) {\n u = u >>> 0, c = c >>> 0, g || Y(u, c, this.length);\n let _ = c, P = 1, x = this[u + --_];\n for (; _ > 0 && (P *= 256); )\n x += this[u + --_] * P;\n return P *= 128, x >= P && (x -= Math.pow(2, 8 * c)), x;\n }, l.prototype.readInt8 = function(u, c) {\n return u = u >>> 0, c || Y(u, 1, this.length), this[u] & 128 ? (255 - this[u] + 1) * -1 : this[u];\n }, l.prototype.readInt16LE = function(u, c) {\n u = u >>> 0, c || Y(u, 2, this.length);\n const g = this[u] | this[u + 1] << 8;\n return g & 32768 ? g | 4294901760 : g;\n }, l.prototype.readInt16BE = function(u, c) {\n u = u >>> 0, c || Y(u, 2, this.length);\n const g = this[u + 1] | this[u] << 8;\n return g & 32768 ? g | 4294901760 : g;\n }, l.prototype.readInt32LE = function(u, c) {\n return u = u >>> 0, c || Y(u, 4, this.length), this[u] | this[u + 1] << 8 | this[u + 2] << 16 | this[u + 3] << 24;\n }, l.prototype.readInt32BE = function(u, c) {\n return u = u >>> 0, c || Y(u, 4, this.length), this[u] << 24 | this[u + 1] << 16 | this[u + 2] << 8 | this[u + 3];\n }, l.prototype.readBigInt64LE = It(function(u) {\n u = u >>> 0, Et(u, \"offset\");\n const c = this[u], g = this[u + 7];\n (c === void 0 || g === void 0) && ar(u, this.length - 8);\n const _ = this[u + 4] + this[u + 5] * 2 ** 8 + this[u + 6] * 2 ** 16 + (g << 24);\n return (BigInt(_) << BigInt(32)) + BigInt(c + this[++u] * 2 ** 8 + this[++u] * 2 ** 16 + this[++u] * 2 ** 24);\n }), l.prototype.readBigInt64BE = It(function(u) {\n u = u >>> 0, Et(u, \"offset\");\n const c = this[u], g = this[u + 7];\n (c === void 0 || g === void 0) && ar(u, this.length - 8);\n const _ = (c << 24) + // Overflow\n this[++u] * 2 ** 16 + this[++u] * 2 ** 8 + this[++u];\n return (BigInt(_) << BigInt(32)) + BigInt(this[++u] * 2 ** 24 + this[++u] * 2 ** 16 + this[++u] * 2 ** 8 + g);\n }), l.prototype.readFloatLE = function(u, c) {\n return u = u >>> 0, c || Y(u, 4, this.length), r.read(this, u, !0, 23, 4);\n }, l.prototype.readFloatBE = function(u, c) {\n return u = u >>> 0, c || Y(u, 4, this.length), r.read(this, u, !1, 23, 4);\n }, l.prototype.readDoubleLE = function(u, c) {\n return u = u >>> 0, c || Y(u, 8, this.length), r.read(this, u, !0, 52, 8);\n }, l.prototype.readDoubleBE = function(u, c) {\n return u = u >>> 0, c || Y(u, 8, this.length), r.read(this, u, !1, 52, 8);\n };\n function me(d, u, c, g, _, P) {\n if (!l.isBuffer(d))\n throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (u > _ || u < P)\n throw new RangeError('\"value\" argument is out of bounds');\n if (c + g > d.length)\n throw new RangeError(\"Index out of range\");\n }\n l.prototype.writeUintLE = l.prototype.writeUIntLE = function(u, c, g, _) {\n if (u = +u, c = c >>> 0, g = g >>> 0, !_) {\n const X = Math.pow(2, 8 * g) - 1;\n me(this, u, c, g, X, 0);\n }\n let P = 1, x = 0;\n for (this[c] = u & 255; ++x < g && (P *= 256); )\n this[c + x] = u / P & 255;\n return c + g;\n }, l.prototype.writeUintBE = l.prototype.writeUIntBE = function(u, c, g, _) {\n if (u = +u, c = c >>> 0, g = g >>> 0, !_) {\n const X = Math.pow(2, 8 * g) - 1;\n me(this, u, c, g, X, 0);\n }\n let P = g - 1, x = 1;\n for (this[c + P] = u & 255; --P >= 0 && (x *= 256); )\n this[c + P] = u / x & 255;\n return c + g;\n }, l.prototype.writeUint8 = l.prototype.writeUInt8 = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 1, 255, 0), this[c] = u & 255, c + 1;\n }, l.prototype.writeUint16LE = l.prototype.writeUInt16LE = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 2, 65535, 0), this[c] = u & 255, this[c + 1] = u >>> 8, c + 2;\n }, l.prototype.writeUint16BE = l.prototype.writeUInt16BE = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 2, 65535, 0), this[c] = u >>> 8, this[c + 1] = u & 255, c + 2;\n }, l.prototype.writeUint32LE = l.prototype.writeUInt32LE = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 4, 4294967295, 0), this[c + 3] = u >>> 24, this[c + 2] = u >>> 16, this[c + 1] = u >>> 8, this[c] = u & 255, c + 4;\n }, l.prototype.writeUint32BE = l.prototype.writeUInt32BE = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 4, 4294967295, 0), this[c] = u >>> 24, this[c + 1] = u >>> 16, this[c + 2] = u >>> 8, this[c + 3] = u & 255, c + 4;\n };\n function ir(d, u, c, g, _) {\n kr(u, g, _, d, c, 7);\n let P = Number(u & BigInt(4294967295));\n d[c++] = P, P = P >> 8, d[c++] = P, P = P >> 8, d[c++] = P, P = P >> 8, d[c++] = P;\n let x = Number(u >> BigInt(32) & BigInt(4294967295));\n return d[c++] = x, x = x >> 8, d[c++] = x, x = x >> 8, d[c++] = x, x = x >> 8, d[c++] = x, c;\n }\n function or(d, u, c, g, _) {\n kr(u, g, _, d, c, 7);\n let P = Number(u & BigInt(4294967295));\n d[c + 7] = P, P = P >> 8, d[c + 6] = P, P = P >> 8, d[c + 5] = P, P = P >> 8, d[c + 4] = P;\n let x = Number(u >> BigInt(32) & BigInt(4294967295));\n return d[c + 3] = x, x = x >> 8, d[c + 2] = x, x = x >> 8, d[c + 1] = x, x = x >> 8, d[c] = x, c + 8;\n }\n l.prototype.writeBigUInt64LE = It(function(u, c = 0) {\n return ir(this, u, c, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n }), l.prototype.writeBigUInt64BE = It(function(u, c = 0) {\n return or(this, u, c, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n }), l.prototype.writeIntLE = function(u, c, g, _) {\n if (u = +u, c = c >>> 0, !_) {\n const pe = Math.pow(2, 8 * g - 1);\n me(this, u, c, g, pe - 1, -pe);\n }\n let P = 0, x = 1, X = 0;\n for (this[c] = u & 255; ++P < g && (x *= 256); )\n u < 0 && X === 0 && this[c + P - 1] !== 0 && (X = 1), this[c + P] = (u / x >> 0) - X & 255;\n return c + g;\n }, l.prototype.writeIntBE = function(u, c, g, _) {\n if (u = +u, c = c >>> 0, !_) {\n const pe = Math.pow(2, 8 * g - 1);\n me(this, u, c, g, pe - 1, -pe);\n }\n let P = g - 1, x = 1, X = 0;\n for (this[c + P] = u & 255; --P >= 0 && (x *= 256); )\n u < 0 && X === 0 && this[c + P + 1] !== 0 && (X = 1), this[c + P] = (u / x >> 0) - X & 255;\n return c + g;\n }, l.prototype.writeInt8 = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 1, 127, -128), u < 0 && (u = 255 + u + 1), this[c] = u & 255, c + 1;\n }, l.prototype.writeInt16LE = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 2, 32767, -32768), this[c] = u & 255, this[c + 1] = u >>> 8, c + 2;\n }, l.prototype.writeInt16BE = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 2, 32767, -32768), this[c] = u >>> 8, this[c + 1] = u & 255, c + 2;\n }, l.prototype.writeInt32LE = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 4, 2147483647, -2147483648), this[c] = u & 255, this[c + 1] = u >>> 8, this[c + 2] = u >>> 16, this[c + 3] = u >>> 24, c + 4;\n }, l.prototype.writeInt32BE = function(u, c, g) {\n return u = +u, c = c >>> 0, g || me(this, u, c, 4, 2147483647, -2147483648), u < 0 && (u = 4294967295 + u + 1), this[c] = u >>> 24, this[c + 1] = u >>> 16, this[c + 2] = u >>> 8, this[c + 3] = u & 255, c + 4;\n }, l.prototype.writeBigInt64LE = It(function(u, c = 0) {\n return ir(this, u, c, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n }), l.prototype.writeBigInt64BE = It(function(u, c = 0) {\n return or(this, u, c, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n function Lt(d, u, c, g, _, P) {\n if (c + g > d.length)\n throw new RangeError(\"Index out of range\");\n if (c < 0)\n throw new RangeError(\"Index out of range\");\n }\n function Ht(d, u, c, g, _) {\n return u = +u, c = c >>> 0, _ || Lt(d, u, c, 4), r.write(d, u, c, g, 23, 4), c + 4;\n }\n l.prototype.writeFloatLE = function(u, c, g) {\n return Ht(this, u, c, !0, g);\n }, l.prototype.writeFloatBE = function(u, c, g) {\n return Ht(this, u, c, !1, g);\n };\n function $t(d, u, c, g, _) {\n return u = +u, c = c >>> 0, _ || Lt(d, u, c, 8), r.write(d, u, c, g, 52, 8), c + 8;\n }\n l.prototype.writeDoubleLE = function(u, c, g) {\n return $t(this, u, c, !0, g);\n }, l.prototype.writeDoubleBE = function(u, c, g) {\n return $t(this, u, c, !1, g);\n }, l.prototype.copy = function(u, c, g, _) {\n if (!l.isBuffer(u))\n throw new TypeError(\"argument should be a Buffer\");\n if (g || (g = 0), !_ && _ !== 0 && (_ = this.length), c >= u.length && (c = u.length), c || (c = 0), _ > 0 && _ < g && (_ = g), _ === g || u.length === 0 || this.length === 0)\n return 0;\n if (c < 0)\n throw new RangeError(\"targetStart out of bounds\");\n if (g < 0 || g >= this.length)\n throw new RangeError(\"Index out of range\");\n if (_ < 0)\n throw new RangeError(\"sourceEnd out of bounds\");\n _ > this.length && (_ = this.length), u.length - c < _ - g && (_ = u.length - c + g);\n const P = _ - g;\n return this === u && typeof s.prototype.copyWithin == \"function\" ? this.copyWithin(c, g, _) : s.prototype.set.call(\n u,\n this.subarray(g, _),\n c\n ), P;\n }, l.prototype.fill = function(u, c, g, _) {\n if (typeof u == \"string\") {\n if (typeof c == \"string\" ? (_ = c, c = 0, g = this.length) : typeof g == \"string\" && (_ = g, g = this.length), _ !== void 0 && typeof _ != \"string\")\n throw new TypeError(\"encoding must be a string\");\n if (typeof _ == \"string\" && !l.isEncoding(_))\n throw new TypeError(\"Unknown encoding: \" + _);\n if (u.length === 1) {\n const x = u.charCodeAt(0);\n (_ === \"utf8\" && x < 128 || _ === \"latin1\") && (u = x);\n }\n } else\n typeof u == \"number\" ? u = u & 255 : typeof u == \"boolean\" && (u = Number(u));\n if (c < 0 || this.length < c || this.length < g)\n throw new RangeError(\"Out of range index\");\n if (g <= c)\n return this;\n c = c >>> 0, g = g === void 0 ? this.length : g >>> 0, u || (u = 0);\n let P;\n if (typeof u == \"number\")\n for (P = c; P < g; ++P)\n this[P] = u;\n else {\n const x = l.isBuffer(u) ? u : l.from(u, _), X = x.length;\n if (X === 0)\n throw new TypeError('The value \"' + u + '\" is invalid for argument \"value\"');\n for (P = 0; P < g - c; ++P)\n this[P + c] = x[P % X];\n }\n return this;\n };\n const se = {};\n function ze(d, u, c) {\n se[d] = class extends c {\n constructor() {\n super(), Object.defineProperty(this, \"message\", {\n value: u.apply(this, arguments),\n writable: !0,\n configurable: !0\n }), this.name = `${this.name} [${d}]`, this.stack, delete this.name;\n }\n get code() {\n return d;\n }\n set code(_) {\n Object.defineProperty(this, \"code\", {\n configurable: !0,\n enumerable: !0,\n value: _,\n writable: !0\n });\n }\n toString() {\n return `${this.name} [${d}]: ${this.message}`;\n }\n };\n }\n ze(\n \"ERR_BUFFER_OUT_OF_BOUNDS\",\n function(d) {\n return d ? `${d} is outside of buffer bounds` : \"Attempt to access memory outside buffer bounds\";\n },\n RangeError\n ), ze(\n \"ERR_INVALID_ARG_TYPE\",\n function(d, u) {\n return `The \"${d}\" argument must be of type number. Received type ${typeof u}`;\n },\n TypeError\n ), ze(\n \"ERR_OUT_OF_RANGE\",\n function(d, u, c) {\n let g = `The value of \"${d}\" is out of range.`, _ = c;\n return Number.isInteger(c) && Math.abs(c) > 2 ** 32 ? _ = Me(String(c)) : typeof c == \"bigint\" && (_ = String(c), (c > BigInt(2) ** BigInt(32) || c < -(BigInt(2) ** BigInt(32))) && (_ = Me(_)), _ += \"n\"), g += ` It must be ${u}. Received ${_}`, g;\n },\n RangeError\n );\n function Me(d) {\n let u = \"\", c = d.length;\n const g = d[0] === \"-\" ? 1 : 0;\n for (; c >= g + 4; c -= 3)\n u = `_${d.slice(c - 3, c)}${u}`;\n return `${d.slice(0, c)}${u}`;\n }\n function sr(d, u, c) {\n Et(u, \"offset\"), (d[u] === void 0 || d[u + c] === void 0) && ar(u, d.length - (c + 1));\n }\n function kr(d, u, c, g, _, P) {\n if (d > c || d < u) {\n const x = typeof u == \"bigint\" ? \"n\" : \"\";\n let X;\n throw P > 3 ? u === 0 || u === BigInt(0) ? X = `>= 0${x} and < 2${x} ** ${(P + 1) * 8}${x}` : X = `>= -(2${x} ** ${(P + 1) * 8 - 1}${x}) and < 2 ** ${(P + 1) * 8 - 1}${x}` : X = `>= ${u}${x} and <= ${c}${x}`, new se.ERR_OUT_OF_RANGE(\"value\", X, d);\n }\n sr(g, _, P);\n }\n function Et(d, u) {\n if (typeof d != \"number\")\n throw new se.ERR_INVALID_ARG_TYPE(u, \"number\", d);\n }\n function ar(d, u, c) {\n throw Math.floor(d) !== d ? (Et(d, c), new se.ERR_OUT_OF_RANGE(c || \"offset\", \"an integer\", d)) : u < 0 ? new se.ERR_BUFFER_OUT_OF_BOUNDS() : new se.ERR_OUT_OF_RANGE(\n c || \"offset\",\n `>= ${c ? 1 : 0} and <= ${u}`,\n d\n );\n }\n const ti = /[^+/0-9A-Za-z-_]/g;\n function Zr(d) {\n if (d = d.split(\"=\")[0], d = d.trim().replace(ti, \"\"), d.length < 2)\n return \"\";\n for (; d.length % 4 !== 0; )\n d = d + \"=\";\n return d;\n }\n function Pn(d, u) {\n u = u || 1 / 0;\n let c;\n const g = d.length;\n let _ = null;\n const P = [];\n for (let x = 0; x < g; ++x) {\n if (c = d.charCodeAt(x), c > 55295 && c < 57344) {\n if (!_) {\n if (c > 56319) {\n (u -= 3) > -1 && P.push(239, 191, 189);\n continue;\n } else if (x + 1 === g) {\n (u -= 3) > -1 && P.push(239, 191, 189);\n continue;\n }\n _ = c;\n continue;\n }\n if (c < 56320) {\n (u -= 3) > -1 && P.push(239, 191, 189), _ = c;\n continue;\n }\n c = (_ - 55296 << 10 | c - 56320) + 65536;\n } else\n _ && (u -= 3) > -1 && P.push(239, 191, 189);\n if (_ = null, c < 128) {\n if ((u -= 1) < 0)\n break;\n P.push(c);\n } else if (c < 2048) {\n if ((u -= 2) < 0)\n break;\n P.push(\n c >> 6 | 192,\n c & 63 | 128\n );\n } else if (c < 65536) {\n if ((u -= 3) < 0)\n break;\n P.push(\n c >> 12 | 224,\n c >> 6 & 63 | 128,\n c & 63 | 128\n );\n } else if (c < 1114112) {\n if ((u -= 4) < 0)\n break;\n P.push(\n c >> 18 | 240,\n c >> 12 & 63 | 128,\n c >> 6 & 63 | 128,\n c & 63 | 128\n );\n } else\n throw new Error(\"Invalid code point\");\n }\n return P;\n }\n function fo(d) {\n const u = [];\n for (let c = 0; c < d.length; ++c)\n u.push(d.charCodeAt(c) & 255);\n return u;\n }\n function On(d, u) {\n let c, g, _;\n const P = [];\n for (let x = 0; x < d.length && !((u -= 2) < 0); ++x)\n c = d.charCodeAt(x), g = c >> 8, _ = c % 256, P.push(_), P.push(g);\n return P;\n }\n function ri(d) {\n return t.toByteArray(Zr(d));\n }\n function en(d, u, c, g) {\n let _;\n for (_ = 0; _ < g && !(_ + c >= u.length || _ >= d.length); ++_)\n u[_ + c] = d[_];\n return _;\n }\n function ct(d, u) {\n return d instanceof u || d != null && d.constructor != null && d.constructor.name != null && d.constructor.name === u.name;\n }\n function tn(d) {\n return d !== d;\n }\n const Ar = function() {\n const d = \"0123456789abcdef\", u = new Array(256);\n for (let c = 0; c < 16; ++c) {\n const g = c * 16;\n for (let _ = 0; _ < 16; ++_)\n u[g + _] = d[c] + d[_];\n }\n return u;\n }();\n function It(d) {\n return typeof BigInt > \"u\" ? ni : d;\n }\n function ni() {\n throw new Error(\"BigInt not supported\");\n }\n})(ps);\nconst I = ps.Buffer, I0 = ps.Buffer, P0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Buffer: I0,\n default: I\n}, Symbol.toStringTag, { value: \"Module\" }));\nvar rt = {}, He = {};\nObject.defineProperty(He, \"__esModule\", { value: !0 });\nHe.testnet = He.regtest = He.bitcoin = void 0;\nHe.bitcoin = {\n messagePrefix: `\u0018Bitcoin Signed Message:\n`,\n bech32: \"bc\",\n bip32: {\n public: 76067358,\n private: 76066276\n },\n pubKeyHash: 0,\n scriptHash: 5,\n wif: 128\n};\nHe.regtest = {\n messagePrefix: `\u0018Bitcoin Signed Message:\n`,\n bech32: \"bcrt\",\n bip32: {\n public: 70617039,\n private: 70615956\n },\n pubKeyHash: 111,\n scriptHash: 196,\n wif: 239\n};\nHe.testnet = {\n messagePrefix: `\u0018Bitcoin Signed Message:\n`,\n bech32: \"tb\",\n bip32: {\n public: 70617039,\n private: 70615956\n },\n pubKeyHash: 111,\n scriptHash: 196,\n wif: 239\n};\nvar Tn = {}, Vi = {}, ot = {}, Qt = {};\nObject.defineProperty(Qt, \"__esModule\", { value: !0 });\nQt.encode = Qt.decode = Qt.check = void 0;\nfunction O0(e) {\n if (e.length < 8 || e.length > 72 || e[0] !== 48 || e[1] !== e.length - 2 || e[2] !== 2)\n return !1;\n const t = e[3];\n if (t === 0 || 5 + t >= e.length || e[4 + t] !== 2)\n return !1;\n const r = e[5 + t];\n return !(r === 0 || 6 + t + r !== e.length || e[4] & 128 || t > 1 && e[4] === 0 && !(e[5] & 128) || e[t + 6] & 128 || r > 1 && e[t + 6] === 0 && !(e[t + 7] & 128));\n}\nQt.check = O0;\nfunction k0(e) {\n if (e.length < 8)\n throw new Error(\"DER sequence length is too short\");\n if (e.length > 72)\n throw new Error(\"DER sequence length is too long\");\n if (e[0] !== 48)\n throw new Error(\"Expected DER sequence\");\n if (e[1] !== e.length - 2)\n throw new Error(\"DER sequence length is invalid\");\n if (e[2] !== 2)\n throw new Error(\"Expected DER integer\");\n const t = e[3];\n if (t === 0)\n throw new Error(\"R length is zero\");\n if (5 + t >= e.length)\n throw new Error(\"R length is too long\");\n if (e[4 + t] !== 2)\n throw new Error(\"Expected DER integer (2)\");\n const r = e[5 + t];\n if (r === 0)\n throw new Error(\"S length is zero\");\n if (6 + t + r !== e.length)\n throw new Error(\"S length is invalid\");\n if (e[4] & 128)\n throw new Error(\"R value is negative\");\n if (t > 1 && e[4] === 0 && !(e[5] & 128))\n throw new Error(\"R value excessively padded\");\n if (e[t + 6] & 128)\n throw new Error(\"S value is negative\");\n if (r > 1 && e[t + 6] === 0 && !(e[t + 7] & 128))\n throw new Error(\"S value excessively padded\");\n return {\n r: e.slice(4, 4 + t),\n s: e.slice(6 + t)\n };\n}\nQt.decode = k0;\nfunction A0(e, t) {\n const r = e.length, n = t.length;\n if (r === 0)\n throw new Error(\"R length is zero\");\n if (n === 0)\n throw new Error(\"S length is zero\");\n if (r > 33)\n throw new Error(\"R length is too long\");\n if (n > 33)\n throw new Error(\"S length is too long\");\n if (e[0] & 128)\n throw new Error(\"R value is negative\");\n if (t[0] & 128)\n throw new Error(\"S value is negative\");\n if (r > 1 && e[0] === 0 && !(e[1] & 128))\n throw new Error(\"R value excessively padded\");\n if (n > 1 && t[0] === 0 && !(t[1] & 128))\n throw new Error(\"S value excessively padded\");\n const i = I.allocUnsafe(6 + r + n);\n return i[0] = 48, i[1] = i.length - 2, i[2] = 2, i[3] = e.length, e.copy(i, 4), i[4 + r] = 2, i[5 + r] = t.length, t.copy(i, 6 + r), i;\n}\nQt.encode = A0;\nvar _r = {};\nObject.defineProperty(_r, \"__esModule\", { value: !0 });\n_r.REVERSE_OPS = _r.OPS = void 0;\nconst Qo = {\n OP_FALSE: 0,\n OP_0: 0,\n OP_PUSHDATA1: 76,\n OP_PUSHDATA2: 77,\n OP_PUSHDATA4: 78,\n OP_1NEGATE: 79,\n OP_RESERVED: 80,\n OP_TRUE: 81,\n OP_1: 81,\n OP_2: 82,\n OP_3: 83,\n OP_4: 84,\n OP_5: 85,\n OP_6: 86,\n OP_7: 87,\n OP_8: 88,\n OP_9: 89,\n OP_10: 90,\n OP_11: 91,\n OP_12: 92,\n OP_13: 93,\n OP_14: 94,\n OP_15: 95,\n OP_16: 96,\n OP_NOP: 97,\n OP_VER: 98,\n OP_IF: 99,\n OP_NOTIF: 100,\n OP_VERIF: 101,\n OP_VERNOTIF: 102,\n OP_ELSE: 103,\n OP_ENDIF: 104,\n OP_VERIFY: 105,\n OP_RETURN: 106,\n OP_TOALTSTACK: 107,\n OP_FROMALTSTACK: 108,\n OP_2DROP: 109,\n OP_2DUP: 110,\n OP_3DUP: 111,\n OP_2OVER: 112,\n OP_2ROT: 113,\n OP_2SWAP: 114,\n OP_IFDUP: 115,\n OP_DEPTH: 116,\n OP_DROP: 117,\n OP_DUP: 118,\n OP_NIP: 119,\n OP_OVER: 120,\n OP_PICK: 121,\n OP_ROLL: 122,\n OP_ROT: 123,\n OP_SWAP: 124,\n OP_TUCK: 125,\n OP_CAT: 126,\n OP_SUBSTR: 127,\n OP_LEFT: 128,\n OP_RIGHT: 129,\n OP_SIZE: 130,\n OP_INVERT: 131,\n OP_AND: 132,\n OP_OR: 133,\n OP_XOR: 134,\n OP_EQUAL: 135,\n OP_EQUALVERIFY: 136,\n OP_RESERVED1: 137,\n OP_RESERVED2: 138,\n OP_1ADD: 139,\n OP_1SUB: 140,\n OP_2MUL: 141,\n OP_2DIV: 142,\n OP_NEGATE: 143,\n OP_ABS: 144,\n OP_NOT: 145,\n OP_0NOTEQUAL: 146,\n OP_ADD: 147,\n OP_SUB: 148,\n OP_MUL: 149,\n OP_DIV: 150,\n OP_MOD: 151,\n OP_LSHIFT: 152,\n OP_RSHIFT: 153,\n OP_BOOLAND: 154,\n OP_BOOLOR: 155,\n OP_NUMEQUAL: 156,\n OP_NUMEQUALVERIFY: 157,\n OP_NUMNOTEQUAL: 158,\n OP_LESSTHAN: 159,\n OP_GREATERTHAN: 160,\n OP_LESSTHANOREQUAL: 161,\n OP_GREATERTHANOREQUAL: 162,\n OP_MIN: 163,\n OP_MAX: 164,\n OP_WITHIN: 165,\n OP_RIPEMD160: 166,\n OP_SHA1: 167,\n OP_SHA256: 168,\n OP_HASH160: 169,\n OP_HASH256: 170,\n OP_CODESEPARATOR: 171,\n OP_CHECKSIG: 172,\n OP_CHECKSIGVERIFY: 173,\n OP_CHECKMULTISIG: 174,\n OP_CHECKMULTISIGVERIFY: 175,\n OP_NOP1: 176,\n OP_NOP2: 177,\n OP_CHECKLOCKTIMEVERIFY: 177,\n OP_NOP3: 178,\n OP_CHECKSEQUENCEVERIFY: 178,\n OP_NOP4: 179,\n OP_NOP5: 180,\n OP_NOP6: 181,\n OP_NOP7: 182,\n OP_NOP8: 183,\n OP_NOP9: 184,\n OP_NOP10: 185,\n OP_CHECKSIGADD: 186,\n OP_PUBKEYHASH: 253,\n OP_PUBKEY: 254,\n OP_INVALIDOPCODE: 255\n};\n_r.OPS = Qo;\nconst Bu = {};\n_r.REVERSE_OPS = Bu;\nfor (const e of Object.keys(Qo)) {\n const t = Qo[e];\n Bu[t] = e;\n}\nvar Sr = {};\nObject.defineProperty(Sr, \"__esModule\", { value: !0 });\nSr.decode = Sr.encode = Sr.encodingLength = void 0;\nconst wr = _r;\nfunction Nu(e) {\n return e < wr.OPS.OP_PUSHDATA1 ? 1 : e <= 255 ? 2 : e <= 65535 ? 3 : 5;\n}\nSr.encodingLength = Nu;\nfunction x0(e, t, r) {\n const n = Nu(t);\n return n === 1 ? e.writeUInt8(t, r) : n === 2 ? (e.writeUInt8(wr.OPS.OP_PUSHDATA1, r), e.writeUInt8(t, r + 1)) : n === 3 ? (e.writeUInt8(wr.OPS.OP_PUSHDATA2, r), e.writeUInt16LE(t, r + 1)) : (e.writeUInt8(wr.OPS.OP_PUSHDATA4, r), e.writeUInt32LE(t, r + 1)), n;\n}\nSr.encode = x0;\nfunction C0(e, t) {\n const r = e.readUInt8(t);\n let n, i;\n if (r < wr.OPS.OP_PUSHDATA1)\n n = r, i = 1;\n else if (r === wr.OPS.OP_PUSHDATA1) {\n if (t + 2 > e.length)\n return null;\n n = e.readUInt8(t + 1), i = 2;\n } else if (r === wr.OPS.OP_PUSHDATA2) {\n if (t + 3 > e.length)\n return null;\n n = e.readUInt16LE(t + 1), i = 3;\n } else {\n if (t + 5 > e.length)\n return null;\n if (r !== wr.OPS.OP_PUSHDATA4)\n throw new Error(\"Unexpected opcode\");\n n = e.readUInt32LE(t + 1), i = 5;\n }\n return {\n opcode: r,\n number: n,\n size: i\n };\n}\nSr.decode = C0;\nvar En = {};\nObject.defineProperty(En, \"__esModule\", { value: !0 });\nEn.encode = En.decode = void 0;\nfunction B0(e, t, r) {\n t = t || 4, r = r === void 0 ? !0 : r;\n const n = e.length;\n if (n === 0)\n return 0;\n if (n > t)\n throw new TypeError(\"Script number overflow\");\n if (r && !(e[n - 1] & 127) && (n <= 1 || !(e[n - 2] & 128)))\n throw new Error(\"Non-minimally encoded script number\");\n if (n === 5) {\n const s = e.readUInt32LE(0), o = e.readUInt8(4);\n return o & 128 ? -((o & -129) * 4294967296 + s) : o * 4294967296 + s;\n }\n let i = 0;\n for (let s = 0; s < n; ++s)\n i |= e[s] << 8 * s;\n return e[n - 1] & 128 ? -(i & ~(128 << 8 * (n - 1))) : i;\n}\nEn.decode = B0;\nfunction N0(e) {\n return e > 2147483647 ? 5 : e > 8388607 ? 4 : e > 32767 ? 3 : e > 127 ? 2 : e > 0 ? 1 : 0;\n}\nfunction F0(e) {\n let t = Math.abs(e);\n const r = N0(t), n = I.allocUnsafe(r), i = e < 0;\n for (let s = 0; s < r; ++s)\n n.writeUInt8(t & 255, s), t >>= 8;\n return n[r - 1] & 128 ? n.writeUInt8(i ? 128 : 0, r - 1) : i && (n[r - 1] |= 128), n;\n}\nEn.encode = F0;\nvar bn = {}, qe = {};\nconst Gi = /* @__PURE__ */ Bl(P0);\nvar Xn = {\n Array: function(e) {\n return e != null && e.constructor === Array;\n },\n Boolean: function(e) {\n return typeof e == \"boolean\";\n },\n Function: function(e) {\n return typeof e == \"function\";\n },\n Nil: function(e) {\n return e == null;\n },\n Number: function(e) {\n return typeof e == \"number\";\n },\n Object: function(e) {\n return typeof e == \"object\";\n },\n String: function(e) {\n return typeof e == \"string\";\n },\n \"\": function() {\n return !0;\n }\n};\nXn.Null = Xn.Nil;\nfor (var ia in Xn)\n Xn[ia].toJSON = (function(e) {\n return e;\n }).bind(null, ia);\nvar ys = Xn, Fr = ys;\nfunction Fu(e) {\n return e.name || e.toString().match(/function (.*?)\\s*\\(/)[1];\n}\nfunction ms(e) {\n return Fr.Nil(e) ? \"\" : Fu(e.constructor);\n}\nfunction U0(e) {\n return Fr.Function(e) ? \"\" : Fr.String(e) ? JSON.stringify(e) : e && Fr.Object(e) ? \"\" : e;\n}\nfunction ws(e, t) {\n Error.captureStackTrace && Error.captureStackTrace(e, t);\n}\nfunction Ai(e) {\n return Fr.Function(e) ? e.toJSON ? e.toJSON() : Fu(e) : Fr.Array(e) ? \"Array\" : e && Fr.Object(e) ? \"Object\" : e !== void 0 ? e : \"\";\n}\nfunction Uu(e, t, r) {\n var n = U0(t);\n return \"Expected \" + Ai(e) + \", got\" + (r !== \"\" ? \" \" + r : \"\") + (n !== \"\" ? \" \" + n : \"\");\n}\nfunction er(e, t, r) {\n r = r || ms(t), this.message = Uu(e, t, r), ws(this, er), this.__type = e, this.__value = t, this.__valueTypeName = r;\n}\ner.prototype = Object.create(Error.prototype);\ner.prototype.constructor = er;\nfunction R0(e, t, r, n, i) {\n var s = '\" of type ';\n return t === \"key\" && (s = '\" with key type '), Uu('property \"' + Ai(r) + s + Ai(e), n, i);\n}\nfunction pn(e, t, r, n, i) {\n e ? (i = i || ms(n), this.message = R0(e, r, t, n, i)) : this.message = 'Unexpected property \"' + t + '\"', ws(this, er), this.__label = r, this.__property = t, this.__type = e, this.__value = n, this.__valueTypeName = i;\n}\npn.prototype = Object.create(Error.prototype);\npn.prototype.constructor = er;\nfunction L0(e, t) {\n return new er(e, {}, t);\n}\nfunction H0(e, t, r) {\n return e instanceof pn ? (t = t + \".\" + e.__property, e = new pn(\n e.__type,\n t,\n e.__label,\n e.__value,\n e.__valueTypeName\n )) : e instanceof er && (e = new pn(\n e.__type,\n t,\n r,\n e.__value,\n e.__valueTypeName\n )), ws(e), e;\n}\nvar Ru = {\n TfTypeError: er,\n TfPropertyTypeError: pn,\n tfCustomError: L0,\n tfSubError: H0,\n tfJSON: Ai,\n getValueTypeName: ms\n}, _o, oa;\nfunction $0() {\n if (oa)\n return _o;\n oa = 1;\n var e = ys, t = Ru;\n function r(k) {\n return I.isBuffer(k);\n }\n function n(k) {\n return typeof k == \"string\" && /^([0-9a-f]{2})+$/i.test(k);\n }\n function i(k, j) {\n var A = k.toJSON();\n function b(m) {\n if (!k(m))\n return !1;\n if (m.length === j)\n return !0;\n throw t.tfCustomError(A + \"(Length: \" + j + \")\", A + \"(Length: \" + m.length + \")\");\n }\n return b.toJSON = function() {\n return A;\n }, b;\n }\n var s = i.bind(null, e.Array), o = i.bind(null, r), a = i.bind(null, n), f = i.bind(null, e.String);\n function h(k, j, A) {\n A = A || e.Number;\n function b(m, N) {\n return A(m, N) && m > k && m < j;\n }\n return b.toJSON = function() {\n return `${A.toJSON()} between [${k}, ${j}]`;\n }, b;\n }\n var l = Math.pow(2, 53) - 1;\n function p(k) {\n return typeof k == \"number\" && isFinite(k);\n }\n function E(k) {\n return k << 24 >> 24 === k;\n }\n function y(k) {\n return k << 16 >> 16 === k;\n }\n function v(k) {\n return (k | 0) === k;\n }\n function S(k) {\n return typeof k == \"number\" && k >= -l && k <= l && Math.floor(k) === k;\n }\n function T(k) {\n return (k & 255) === k;\n }\n function C(k) {\n return (k & 65535) === k;\n }\n function O(k) {\n return k >>> 0 === k;\n }\n function B(k) {\n return typeof k == \"number\" && k >= 0 && k <= l && Math.floor(k) === k;\n }\n var U = {\n ArrayN: s,\n Buffer: r,\n BufferN: o,\n Finite: p,\n Hex: n,\n HexN: a,\n Int8: E,\n Int16: y,\n Int32: v,\n Int53: S,\n Range: h,\n StringN: f,\n UInt8: T,\n UInt16: C,\n UInt32: O,\n UInt53: B\n };\n for (var R in U)\n U[R].toJSON = (function(k) {\n return k;\n }).bind(null, R);\n return _o = U, _o;\n}\nvar Qn = Ru, Ke = ys, Dt = Qn.tfJSON, Lu = Qn.TfTypeError, Hu = Qn.TfPropertyTypeError, Nn = Qn.tfSubError, M0 = Qn.getValueTypeName, qt = {\n arrayOf: function(t, r) {\n t = xt(t), r = r || {};\n function n(i, s) {\n return !Ke.Array(i) || Ke.Nil(i) || r.minLength !== void 0 && i.length < r.minLength || r.maxLength !== void 0 && i.length > r.maxLength || r.length !== void 0 && i.length !== r.length ? !1 : i.every(function(o, a) {\n try {\n return tt(t, o, s);\n } catch (f) {\n throw Nn(f, a);\n }\n });\n }\n return n.toJSON = function() {\n var i = \"[\" + Dt(t) + \"]\";\n return r.length !== void 0 ? i += \"{\" + r.length + \"}\" : (r.minLength !== void 0 || r.maxLength !== void 0) && (i += \"{\" + (r.minLength === void 0 ? 0 : r.minLength) + \",\" + (r.maxLength === void 0 ? 1 / 0 : r.maxLength) + \"}\"), i;\n }, n;\n },\n maybe: function e(t) {\n t = xt(t);\n function r(n, i) {\n return Ke.Nil(n) || t(n, i, e);\n }\n return r.toJSON = function() {\n return \"?\" + Dt(t);\n }, r;\n },\n map: function(t, r) {\n t = xt(t), r && (r = xt(r));\n function n(i, s) {\n if (!Ke.Object(i) || Ke.Nil(i))\n return !1;\n for (var o in i) {\n try {\n r && tt(r, o, s);\n } catch (f) {\n throw Nn(f, o, \"key\");\n }\n try {\n var a = i[o];\n tt(t, a, s);\n } catch (f) {\n throw Nn(f, o);\n }\n }\n return !0;\n }\n return r ? n.toJSON = function() {\n return \"{\" + Dt(r) + \": \" + Dt(t) + \"}\";\n } : n.toJSON = function() {\n return \"{\" + Dt(t) + \"}\";\n }, n;\n },\n object: function(t) {\n var r = {};\n for (var n in t)\n r[n] = xt(t[n]);\n function i(s, o) {\n if (!Ke.Object(s) || Ke.Nil(s))\n return !1;\n var a;\n try {\n for (a in r) {\n var f = r[a], h = s[a];\n tt(f, h, o);\n }\n } catch (l) {\n throw Nn(l, a);\n }\n if (o) {\n for (a in s)\n if (!r[a])\n throw new Hu(void 0, a);\n }\n return !0;\n }\n return i.toJSON = function() {\n return Dt(r);\n }, i;\n },\n anyOf: function() {\n var t = [].slice.call(arguments).map(xt);\n function r(n, i) {\n return t.some(function(s) {\n try {\n return tt(s, n, i);\n } catch {\n return !1;\n }\n });\n }\n return r.toJSON = function() {\n return t.map(Dt).join(\"|\");\n }, r;\n },\n allOf: function() {\n var t = [].slice.call(arguments).map(xt);\n function r(n, i) {\n return t.every(function(s) {\n try {\n return tt(s, n, i);\n } catch {\n return !1;\n }\n });\n }\n return r.toJSON = function() {\n return t.map(Dt).join(\" & \");\n }, r;\n },\n quacksLike: function(t) {\n function r(n) {\n return t === M0(n);\n }\n return r.toJSON = function() {\n return t;\n }, r;\n },\n tuple: function() {\n var t = [].slice.call(arguments).map(xt);\n function r(n, i) {\n return Ke.Nil(n) || Ke.Nil(n.length) || i && n.length !== t.length ? !1 : t.every(function(s, o) {\n try {\n return tt(s, n[o], i);\n } catch (a) {\n throw Nn(a, o);\n }\n });\n }\n return r.toJSON = function() {\n return \"(\" + t.map(Dt).join(\", \") + \")\";\n }, r;\n },\n value: function(t) {\n function r(n) {\n return n === t;\n }\n return r.toJSON = function() {\n return t;\n }, r;\n }\n};\nqt.oneOf = qt.anyOf;\nfunction xt(e) {\n if (Ke.String(e))\n return e[0] === \"?\" ? qt.maybe(e.slice(1)) : Ke[e] || qt.quacksLike(e);\n if (e && Ke.Object(e)) {\n if (Ke.Array(e)) {\n if (e.length !== 1)\n throw new TypeError(\"Expected compile() parameter of type Array of length 1\");\n return qt.arrayOf(e[0]);\n }\n return qt.object(e);\n } else if (Ke.Function(e))\n return e;\n return qt.value(e);\n}\nfunction tt(e, t, r, n) {\n if (Ke.Function(e)) {\n if (e(t, r))\n return !0;\n throw new Lu(n || e, t);\n }\n return tt(xt(e), t, r);\n}\nfor (var vr in Ke)\n tt[vr] = Ke[vr];\nfor (vr in qt)\n tt[vr] = qt[vr];\nvar sa = $0();\nfor (vr in sa)\n tt[vr] = sa[vr];\ntt.compile = xt;\ntt.TfTypeError = Lu;\ntt.TfPropertyTypeError = Hu;\nvar D0 = tt;\n(function(e) {\n Object.defineProperty(e, \"__esModule\", { value: !0 }), e.oneOf = e.Null = e.BufferN = e.Function = e.UInt32 = e.UInt8 = e.tuple = e.maybe = e.Hex = e.Buffer = e.String = e.Boolean = e.Array = e.Number = e.Hash256bit = e.Hash160bit = e.Buffer256bit = e.isTaptree = e.isTapleaf = e.TAPLEAF_VERSION_MASK = e.Network = e.ECPoint = e.Satoshi = e.Signer = e.BIP32Path = e.UInt31 = e.isPoint = e.typeforce = void 0;\n const t = Gi;\n e.typeforce = D0;\n const r = t.Buffer.alloc(32, 0), n = t.Buffer.from(\n \"fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f\",\n \"hex\"\n );\n function i(y) {\n if (!t.Buffer.isBuffer(y) || y.length < 33)\n return !1;\n const v = y[0], S = y.slice(1, 33);\n if (S.compare(r) === 0 || S.compare(n) >= 0)\n return !1;\n if ((v === 2 || v === 3) && y.length === 33)\n return !0;\n const T = y.slice(33);\n return T.compare(r) === 0 || T.compare(n) >= 0 ? !1 : v === 4 && y.length === 65;\n }\n e.isPoint = i;\n const s = Math.pow(2, 31) - 1;\n function o(y) {\n return e.typeforce.UInt32(y) && y <= s;\n }\n e.UInt31 = o;\n function a(y) {\n return e.typeforce.String(y) && !!y.match(/^(m\\/)?(\\d+'?\\/)*\\d+'?$/);\n }\n e.BIP32Path = a, a.toJSON = () => \"BIP32 derivation path\";\n function f(y) {\n return (e.typeforce.Buffer(y.publicKey) || typeof y.getPublicKey == \"function\") && typeof y.sign == \"function\";\n }\n e.Signer = f;\n const h = 21 * 1e14;\n function l(y) {\n return e.typeforce.UInt53(y) && y <= h;\n }\n e.Satoshi = l, e.ECPoint = e.typeforce.quacksLike(\"Point\"), e.Network = e.typeforce.compile({\n messagePrefix: e.typeforce.oneOf(\n e.typeforce.Buffer,\n e.typeforce.String\n ),\n bip32: {\n public: e.typeforce.UInt32,\n private: e.typeforce.UInt32\n },\n pubKeyHash: e.typeforce.UInt8,\n scriptHash: e.typeforce.UInt8,\n wif: e.typeforce.UInt8\n }), e.TAPLEAF_VERSION_MASK = 254;\n function p(y) {\n return !y || !(\"output\" in y) || !t.Buffer.isBuffer(y.output) ? !1 : y.version !== void 0 ? (y.version & e.TAPLEAF_VERSION_MASK) === y.version : !0;\n }\n e.isTapleaf = p;\n function E(y) {\n return (0, e.Array)(y) ? y.length !== 2 ? !1 : y.every((v) => E(v)) : p(y);\n }\n e.isTaptree = E, e.Buffer256bit = e.typeforce.BufferN(32), e.Hash160bit = e.typeforce.BufferN(20), e.Hash256bit = e.typeforce.BufferN(32), e.Number = e.typeforce.Number, e.Array = e.typeforce.Array, e.Boolean = e.typeforce.Boolean, e.String = e.typeforce.String, e.Buffer = e.typeforce.Buffer, e.Hex = e.typeforce.Hex, e.maybe = e.typeforce.maybe, e.tuple = e.typeforce.tuple, e.UInt8 = e.typeforce.UInt8, e.UInt32 = e.typeforce.UInt32, e.Function = e.typeforce.Function, e.BufferN = e.typeforce.BufferN, e.Null = e.typeforce.Null, e.oneOf = e.typeforce.oneOf;\n})(qe);\nObject.defineProperty(bn, \"__esModule\", { value: !0 });\nbn.encode = bn.decode = void 0;\nconst $u = Qt, Zo = qe, { typeforce: j0 } = Zo, aa = I.alloc(1, 0);\nfunction ua(e) {\n let t = 0;\n for (; e[t] === 0; )\n ++t;\n return t === e.length ? aa : (e = e.slice(t), e[0] & 128 ? I.concat([aa, e], 1 + e.length) : e);\n}\nfunction ca(e) {\n e[0] === 0 && (e = e.slice(1));\n const t = I.alloc(32, 0), r = Math.max(0, 32 - e.length);\n return e.copy(t, r), t;\n}\nfunction K0(e) {\n const t = e.readUInt8(e.length - 1), r = t & -129;\n if (r <= 0 || r >= 4)\n throw new Error(\"Invalid hashType \" + t);\n const n = $u.decode(e.slice(0, -1)), i = ca(n.r), s = ca(n.s);\n return { signature: I.concat([i, s], 64), hashType: t };\n}\nbn.decode = K0;\nfunction W0(e, t) {\n j0(\n {\n signature: Zo.BufferN(64),\n hashType: Zo.UInt8\n },\n { signature: e, hashType: t }\n );\n const r = t & -129;\n if (r <= 0 || r >= 4)\n throw new Error(\"Invalid hashType \" + t);\n const n = I.allocUnsafe(1);\n n.writeUInt8(t, 0);\n const i = ua(e.slice(0, 32)), s = ua(e.slice(32, 64));\n return I.concat([$u.encode(i, s), n]);\n}\nbn.encode = W0;\n(function(e) {\n Object.defineProperty(e, \"__esModule\", { value: !0 }), e.signature = e.number = e.isCanonicalScriptSignature = e.isDefinedHashType = e.isCanonicalPubKey = e.toStack = e.fromASM = e.toASM = e.decompile = e.compile = e.countNonPushOnlyOPs = e.isPushOnly = e.OPS = void 0;\n const t = Qt, r = _r;\n Object.defineProperty(e, \"OPS\", {\n enumerable: !0,\n get: function() {\n return r.OPS;\n }\n });\n const n = Sr, i = En, s = bn, o = qe, { typeforce: a } = o, f = r.OPS.OP_RESERVED;\n function h(b) {\n return o.Number(b) && (b === r.OPS.OP_0 || b >= r.OPS.OP_1 && b <= r.OPS.OP_16 || b === r.OPS.OP_1NEGATE);\n }\n function l(b) {\n return o.Buffer(b) || h(b);\n }\n function p(b) {\n return o.Array(b) && b.every(l);\n }\n e.isPushOnly = p;\n function E(b) {\n return b.length - b.filter(l).length;\n }\n e.countNonPushOnlyOPs = E;\n function y(b) {\n if (b.length === 0)\n return r.OPS.OP_0;\n if (b.length === 1) {\n if (b[0] >= 1 && b[0] <= 16)\n return f + b[0];\n if (b[0] === 129)\n return r.OPS.OP_1NEGATE;\n }\n }\n function v(b) {\n return I.isBuffer(b);\n }\n function S(b) {\n return o.Array(b);\n }\n function T(b) {\n return I.isBuffer(b);\n }\n function C(b) {\n if (v(b))\n return b;\n a(o.Array, b);\n const m = b.reduce((L, M) => T(M) ? M.length === 1 && y(M) !== void 0 ? L + 1 : L + n.encodingLength(M.length) + M.length : L + 1, 0), N = I.allocUnsafe(m);\n let H = 0;\n if (b.forEach((L) => {\n if (T(L)) {\n const M = y(L);\n if (M !== void 0) {\n N.writeUInt8(M, H), H += 1;\n return;\n }\n H += n.encode(N, L.length, H), L.copy(N, H), H += L.length;\n } else\n N.writeUInt8(L, H), H += 1;\n }), H !== N.length)\n throw new Error(\"Could not decode chunks\");\n return N;\n }\n e.compile = C;\n function O(b) {\n if (S(b))\n return b;\n a(o.Buffer, b);\n const m = [];\n let N = 0;\n for (; N < b.length; ) {\n const H = b[N];\n if (H > r.OPS.OP_0 && H <= r.OPS.OP_PUSHDATA4) {\n const L = n.decode(b, N);\n if (L === null || (N += L.size, N + L.number > b.length))\n return null;\n const M = b.slice(N, N + L.number);\n N += L.number;\n const K = y(M);\n K !== void 0 ? m.push(K) : m.push(M);\n } else\n m.push(H), N += 1;\n }\n return m;\n }\n e.decompile = O;\n function B(b) {\n return v(b) && (b = O(b)), b.map((m) => {\n if (T(m)) {\n const N = y(m);\n if (N === void 0)\n return m.toString(\"hex\");\n m = N;\n }\n return r.REVERSE_OPS[m];\n }).join(\" \");\n }\n e.toASM = B;\n function U(b) {\n return a(o.String, b), C(\n b.split(\" \").map((m) => r.OPS[m] !== void 0 ? r.OPS[m] : (a(o.Hex, m), I.from(m, \"hex\")))\n );\n }\n e.fromASM = U;\n function R(b) {\n return b = O(b), a(p, b), b.map((m) => T(m) ? m : m === r.OPS.OP_0 ? I.allocUnsafe(0) : i.encode(m - f));\n }\n e.toStack = R;\n function k(b) {\n return o.isPoint(b);\n }\n e.isCanonicalPubKey = k;\n function j(b) {\n const m = b & -129;\n return m > 0 && m < 4;\n }\n e.isDefinedHashType = j;\n function A(b) {\n return !I.isBuffer(b) || !j(b[b.length - 1]) ? !1 : t.check(b.slice(0, -1));\n }\n e.isCanonicalScriptSignature = A, e.number = i, e.signature = s;\n})(ot);\nvar ht = {};\nObject.defineProperty(ht, \"__esModule\", { value: !0 });\nht.value = ht.prop = void 0;\nfunction V0(e, t, r) {\n Object.defineProperty(e, t, {\n configurable: !0,\n enumerable: !0,\n get() {\n const n = r.call(this);\n return this[t] = n, n;\n },\n set(n) {\n Object.defineProperty(this, t, {\n configurable: !0,\n enumerable: !0,\n value: n,\n writable: !0\n });\n }\n });\n}\nht.prop = V0;\nfunction G0(e) {\n let t;\n return () => (t !== void 0 || (t = e()), t);\n}\nht.value = G0;\nObject.defineProperty(Vi, \"__esModule\", { value: !0 });\nVi.p2data = void 0;\nconst X0 = He, vi = ot, jt = qe, la = ht, fa = vi.OPS;\nfunction q0(e, t) {\n return e.length !== t.length ? !1 : e.every((r, n) => r.equals(t[n]));\n}\nfunction z0(e, t) {\n if (!e.data && !e.output)\n throw new TypeError(\"Not enough data\");\n t = Object.assign({ validate: !0 }, t || {}), (0, jt.typeforce)(\n {\n network: jt.typeforce.maybe(jt.typeforce.Object),\n output: jt.typeforce.maybe(jt.typeforce.Buffer),\n data: jt.typeforce.maybe(\n jt.typeforce.arrayOf(jt.typeforce.Buffer)\n )\n },\n e\n );\n const n = { name: \"embed\", network: e.network || X0.bitcoin };\n if (la.prop(n, \"output\", () => {\n if (e.data)\n return vi.compile([fa.OP_RETURN].concat(e.data));\n }), la.prop(n, \"data\", () => {\n if (e.output)\n return vi.decompile(e.output).slice(1);\n }), t.validate && e.output) {\n const i = vi.decompile(e.output);\n if (i[0] !== fa.OP_RETURN)\n throw new TypeError(\"Output is invalid\");\n if (!i.slice(1).every(jt.typeforce.Buffer))\n throw new TypeError(\"Output is invalid\");\n if (e.data && !q0(e.data, n.data))\n throw new TypeError(\"Data mismatch\");\n }\n return Object.assign(n, e);\n}\nVi.p2data = z0;\nvar Xi = {};\nObject.defineProperty(Xi, \"__esModule\", { value: !0 });\nXi.p2ms = void 0;\nconst Y0 = He, cn = ot, Ae = qe, cr = ht, ln = cn.OPS, ai = ln.OP_RESERVED;\nfunction ha(e, t) {\n return e.length !== t.length ? !1 : e.every((r, n) => r.equals(t[n]));\n}\nfunction J0(e, t) {\n if (!e.input && !e.output && !(e.pubkeys && e.m !== void 0) && !e.signatures)\n throw new TypeError(\"Not enough data\");\n t = Object.assign({ validate: !0 }, t || {});\n function r(f) {\n return cn.isCanonicalScriptSignature(f) || (t.allowIncomplete && f === ln.OP_0) !== void 0;\n }\n (0, Ae.typeforce)(\n {\n network: Ae.typeforce.maybe(Ae.typeforce.Object),\n m: Ae.typeforce.maybe(Ae.typeforce.Number),\n n: Ae.typeforce.maybe(Ae.typeforce.Number),\n output: Ae.typeforce.maybe(Ae.typeforce.Buffer),\n pubkeys: Ae.typeforce.maybe(\n Ae.typeforce.arrayOf(Ae.isPoint)\n ),\n signatures: Ae.typeforce.maybe(\n Ae.typeforce.arrayOf(r)\n ),\n input: Ae.typeforce.maybe(Ae.typeforce.Buffer)\n },\n e\n );\n const i = { network: e.network || Y0.bitcoin };\n let s = [], o = !1;\n function a(f) {\n o || (o = !0, s = cn.decompile(f), i.m = s[0] - ai, i.n = s[s.length - 2] - ai, i.pubkeys = s.slice(1, -2));\n }\n if (cr.prop(i, \"output\", () => {\n if (e.m && i.n && e.pubkeys)\n return cn.compile(\n [].concat(\n ai + e.m,\n e.pubkeys,\n ai + i.n,\n ln.OP_CHECKMULTISIG\n )\n );\n }), cr.prop(i, \"m\", () => {\n if (i.output)\n return a(i.output), i.m;\n }), cr.prop(i, \"n\", () => {\n if (i.pubkeys)\n return i.pubkeys.length;\n }), cr.prop(i, \"pubkeys\", () => {\n if (e.output)\n return a(e.output), i.pubkeys;\n }), cr.prop(i, \"signatures\", () => {\n if (e.input)\n return cn.decompile(e.input).slice(1);\n }), cr.prop(i, \"input\", () => {\n if (e.signatures)\n return cn.compile([ln.OP_0].concat(e.signatures));\n }), cr.prop(i, \"witness\", () => {\n if (i.input)\n return [];\n }), cr.prop(i, \"name\", () => {\n if (!(!i.m || !i.n))\n return `p2ms(${i.m} of ${i.n})`;\n }), t.validate) {\n if (e.output) {\n if (a(e.output), !Ae.typeforce.Number(s[0]))\n throw new TypeError(\"Output is invalid\");\n if (!Ae.typeforce.Number(s[s.length - 2]))\n throw new TypeError(\"Output is invalid\");\n if (s[s.length - 1] !== ln.OP_CHECKMULTISIG)\n throw new TypeError(\"Output is invalid\");\n if (i.m <= 0 || i.n > 16 || i.m > i.n || i.n !== s.length - 3)\n throw new TypeError(\"Output is invalid\");\n if (!i.pubkeys.every((f) => (0, Ae.isPoint)(f)))\n throw new TypeError(\"Output is invalid\");\n if (e.m !== void 0 && e.m !== i.m)\n throw new TypeError(\"m mismatch\");\n if (e.n !== void 0 && e.n !== i.n)\n throw new TypeError(\"n mismatch\");\n if (e.pubkeys && !ha(e.pubkeys, i.pubkeys))\n throw new TypeError(\"Pubkeys mismatch\");\n }\n if (e.pubkeys) {\n if (e.n !== void 0 && e.n !== e.pubkeys.length)\n throw new TypeError(\"Pubkey count mismatch\");\n if (i.n = e.pubkeys.length, i.n < i.m)\n throw new TypeError(\"Pubkey count cannot be less than m\");\n }\n if (e.signatures) {\n if (e.signatures.length < i.m)\n throw new TypeError(\"Not enough signatures provided\");\n if (e.signatures.length > i.m)\n throw new TypeError(\"Too many signatures provided\");\n }\n if (e.input) {\n if (e.input[0] !== ln.OP_0)\n throw new TypeError(\"Input is invalid\");\n if (i.signatures.length === 0 || !i.signatures.every(r))\n throw new TypeError(\"Input has invalid signature(s)\");\n if (e.signatures && !ha(e.signatures, i.signatures))\n throw new TypeError(\"Signature mismatch\");\n if (e.m !== void 0 && e.m !== e.signatures.length)\n throw new TypeError(\"Signature count mismatch\");\n }\n }\n return Object.assign(i, e);\n}\nXi.p2ms = J0;\nvar qi = {};\nObject.defineProperty(qi, \"__esModule\", { value: !0 });\nqi.p2pk = void 0;\nconst Q0 = He, fn = ot, bt = qe, an = ht, da = fn.OPS;\nfunction Z0(e, t) {\n if (!e.input && !e.output && !e.pubkey && !e.input && !e.signature)\n throw new TypeError(\"Not enough data\");\n t = Object.assign({ validate: !0 }, t || {}), (0, bt.typeforce)(\n {\n network: bt.typeforce.maybe(bt.typeforce.Object),\n output: bt.typeforce.maybe(bt.typeforce.Buffer),\n pubkey: bt.typeforce.maybe(bt.isPoint),\n signature: bt.typeforce.maybe(fn.isCanonicalScriptSignature),\n input: bt.typeforce.maybe(bt.typeforce.Buffer)\n },\n e\n );\n const r = an.value(() => fn.decompile(e.input)), i = { name: \"p2pk\", network: e.network || Q0.bitcoin };\n if (an.prop(i, \"output\", () => {\n if (e.pubkey)\n return fn.compile([e.pubkey, da.OP_CHECKSIG]);\n }), an.prop(i, \"pubkey\", () => {\n if (e.output)\n return e.output.slice(1, -1);\n }), an.prop(i, \"signature\", () => {\n if (e.input)\n return r()[0];\n }), an.prop(i, \"input\", () => {\n if (e.signature)\n return fn.compile([e.signature]);\n }), an.prop(i, \"witness\", () => {\n if (i.input)\n return [];\n }), t.validate) {\n if (e.output) {\n if (e.output[e.output.length - 1] !== da.OP_CHECKSIG)\n throw new TypeError(\"Output is invalid\");\n if (!(0, bt.isPoint)(i.pubkey))\n throw new TypeError(\"Output pubkey is invalid\");\n if (e.pubkey && !e.pubkey.equals(i.pubkey))\n throw new TypeError(\"Pubkey mismatch\");\n }\n if (e.signature && e.input && !e.input.equals(i.input))\n throw new TypeError(\"Signature mismatch\");\n if (e.input) {\n if (r().length !== 1)\n throw new TypeError(\"Input is invalid\");\n if (!fn.isCanonicalScriptSignature(i.signature))\n throw new TypeError(\"Input has invalid signature\");\n }\n }\n return Object.assign(i, e);\n}\nqi.p2pk = Z0;\nvar zi = {}, Ut = {}, Sn = {}, In = {}, nt = {};\nObject.defineProperty(nt, \"__esModule\", { value: !0 });\nnt.output = nt.exists = nt.hash = nt.bytes = nt.bool = nt.number = void 0;\nfunction xi(e) {\n if (!Number.isSafeInteger(e) || e < 0)\n throw new Error(`Wrong positive integer: ${e}`);\n}\nnt.number = xi;\nfunction Mu(e) {\n if (typeof e != \"boolean\")\n throw new Error(`Expected boolean, not ${e}`);\n}\nnt.bool = Mu;\nfunction ed(e) {\n return e instanceof Uint8Array || e != null && typeof e == \"object\" && e.constructor.name === \"Uint8Array\";\n}\nfunction Es(e, ...t) {\n if (!ed(e))\n throw new Error(\"Expected Uint8Array\");\n if (t.length > 0 && !t.includes(e.length))\n throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`);\n}\nnt.bytes = Es;\nfunction Du(e) {\n if (typeof e != \"function\" || typeof e.create != \"function\")\n throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");\n xi(e.outputLen), xi(e.blockLen);\n}\nnt.hash = Du;\nfunction ju(e, t = !0) {\n if (e.destroyed)\n throw new Error(\"Hash instance has been destroyed\");\n if (t && e.finished)\n throw new Error(\"Hash#digest() has already been called\");\n}\nnt.exists = ju;\nfunction Ku(e, t) {\n Es(e);\n const r = t.outputLen;\n if (e.length < r)\n throw new Error(`digestInto() expects output buffer of length at least ${r}`);\n}\nnt.output = Ku;\nconst td = { number: xi, bool: Mu, bytes: Es, hash: Du, exists: ju, output: Ku };\nnt.default = td;\nvar Zn = {}, Yi = {};\nObject.defineProperty(Yi, \"__esModule\", { value: !0 });\nYi.crypto = void 0;\nYi.crypto = typeof globalThis == \"object\" && \"crypto\" in globalThis ? globalThis.crypto : void 0;\n(function(e) {\n /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n Object.defineProperty(e, \"__esModule\", { value: !0 }), e.randomBytes = e.wrapXOFConstructorWithOpts = e.wrapConstructorWithOpts = e.wrapConstructor = e.checkOpts = e.Hash = e.concatBytes = e.toBytes = e.utf8ToBytes = e.asyncLoop = e.nextTick = e.hexToBytes = e.bytesToHex = e.isLE = e.rotr = e.createView = e.u32 = e.u8 = void 0;\n const t = Yi, r = (A) => new Uint8Array(A.buffer, A.byteOffset, A.byteLength);\n e.u8 = r;\n const n = (A) => new Uint32Array(A.buffer, A.byteOffset, Math.floor(A.byteLength / 4));\n e.u32 = n;\n function i(A) {\n return A instanceof Uint8Array || A != null && typeof A == \"object\" && A.constructor.name === \"Uint8Array\";\n }\n const s = (A) => new DataView(A.buffer, A.byteOffset, A.byteLength);\n e.createView = s;\n const o = (A, b) => A << 32 - b | A >>> b;\n if (e.rotr = o, e.isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68, !e.isLE)\n throw new Error(\"Non little-endian hardware is not supported\");\n const a = /* @__PURE__ */ Array.from({ length: 256 }, (A, b) => b.toString(16).padStart(2, \"0\"));\n function f(A) {\n if (!i(A))\n throw new Error(\"Uint8Array expected\");\n let b = \"\";\n for (let m = 0; m < A.length; m++)\n b += a[A[m]];\n return b;\n }\n e.bytesToHex = f;\n const h = { _0: 48, _9: 57, _A: 65, _F: 70, _a: 97, _f: 102 };\n function l(A) {\n if (A >= h._0 && A <= h._9)\n return A - h._0;\n if (A >= h._A && A <= h._F)\n return A - (h._A - 10);\n if (A >= h._a && A <= h._f)\n return A - (h._a - 10);\n }\n function p(A) {\n if (typeof A != \"string\")\n throw new Error(\"hex string expected, got \" + typeof A);\n const b = A.length, m = b / 2;\n if (b % 2)\n throw new Error(\"padded hex string expected, got unpadded hex of length \" + b);\n const N = new Uint8Array(m);\n for (let H = 0, L = 0; H < m; H++, L += 2) {\n const M = l(A.charCodeAt(L)), K = l(A.charCodeAt(L + 1));\n if (M === void 0 || K === void 0) {\n const re = A[L] + A[L + 1];\n throw new Error('hex string expected, got non-hex character \"' + re + '\" at index ' + L);\n }\n N[H] = M * 16 + K;\n }\n return N;\n }\n e.hexToBytes = p;\n const E = async () => {\n };\n e.nextTick = E;\n async function y(A, b, m) {\n let N = Date.now();\n for (let H = 0; H < A; H++) {\n m(H);\n const L = Date.now() - N;\n L >= 0 && L < b || (await (0, e.nextTick)(), N += L);\n }\n }\n e.asyncLoop = y;\n function v(A) {\n if (typeof A != \"string\")\n throw new Error(`utf8ToBytes expected string, got ${typeof A}`);\n return new Uint8Array(new TextEncoder().encode(A));\n }\n e.utf8ToBytes = v;\n function S(A) {\n if (typeof A == \"string\" && (A = v(A)), !i(A))\n throw new Error(`expected Uint8Array, got ${typeof A}`);\n return A;\n }\n e.toBytes = S;\n function T(...A) {\n let b = 0;\n for (let N = 0; N < A.length; N++) {\n const H = A[N];\n if (!i(H))\n throw new Error(\"Uint8Array expected\");\n b += H.length;\n }\n const m = new Uint8Array(b);\n for (let N = 0, H = 0; N < A.length; N++) {\n const L = A[N];\n m.set(L, H), H += L.length;\n }\n return m;\n }\n e.concatBytes = T;\n class C {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n }\n e.Hash = C;\n const O = {}.toString;\n function B(A, b) {\n if (b !== void 0 && O.call(b) !== \"[object Object]\")\n throw new Error(\"Options should be object or undefined\");\n return Object.assign(A, b);\n }\n e.checkOpts = B;\n function U(A) {\n const b = (N) => A().update(S(N)).digest(), m = A();\n return b.outputLen = m.outputLen, b.blockLen = m.blockLen, b.create = () => A(), b;\n }\n e.wrapConstructor = U;\n function R(A) {\n const b = (N, H) => A(H).update(S(N)).digest(), m = A({});\n return b.outputLen = m.outputLen, b.blockLen = m.blockLen, b.create = (N) => A(N), b;\n }\n e.wrapConstructorWithOpts = R;\n function k(A) {\n const b = (N, H) => A(H).update(S(N)).digest(), m = A({});\n return b.outputLen = m.outputLen, b.blockLen = m.blockLen, b.create = (N) => A(N), b;\n }\n e.wrapXOFConstructorWithOpts = k;\n function j(A = 32) {\n if (t.crypto && typeof t.crypto.getRandomValues == \"function\")\n return t.crypto.getRandomValues(new Uint8Array(A));\n throw new Error(\"crypto.getRandomValues must be defined\");\n }\n e.randomBytes = j;\n})(Zn);\nObject.defineProperty(In, \"__esModule\", { value: !0 });\nIn.SHA2 = void 0;\nconst To = nt, Fn = Zn;\nfunction rd(e, t, r, n) {\n if (typeof e.setBigUint64 == \"function\")\n return e.setBigUint64(t, r, n);\n const i = BigInt(32), s = BigInt(4294967295), o = Number(r >> i & s), a = Number(r & s), f = n ? 4 : 0, h = n ? 0 : 4;\n e.setUint32(t + f, o, n), e.setUint32(t + h, a, n);\n}\nclass nd extends Fn.Hash {\n constructor(t, r, n, i) {\n super(), this.blockLen = t, this.outputLen = r, this.padOffset = n, this.isLE = i, this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.buffer = new Uint8Array(t), this.view = (0, Fn.createView)(this.buffer);\n }\n update(t) {\n (0, To.exists)(this);\n const { view: r, buffer: n, blockLen: i } = this;\n t = (0, Fn.toBytes)(t);\n const s = t.length;\n for (let o = 0; o < s; ) {\n const a = Math.min(i - this.pos, s - o);\n if (a === i) {\n const f = (0, Fn.createView)(t);\n for (; i <= s - o; o += i)\n this.process(f, o);\n continue;\n }\n n.set(t.subarray(o, o + a), this.pos), this.pos += a, o += a, this.pos === i && (this.process(r, 0), this.pos = 0);\n }\n return this.length += t.length, this.roundClean(), this;\n }\n digestInto(t) {\n (0, To.exists)(this), (0, To.output)(t, this), this.finished = !0;\n const { buffer: r, view: n, blockLen: i, isLE: s } = this;\n let { pos: o } = this;\n r[o++] = 128, this.buffer.subarray(o).fill(0), this.padOffset > i - o && (this.process(n, 0), o = 0);\n for (let p = o; p < i; p++)\n r[p] = 0;\n rd(n, i - 8, BigInt(this.length * 8), s), this.process(n, 0);\n const a = (0, Fn.createView)(t), f = this.outputLen;\n if (f % 4)\n throw new Error(\"_sha2: outputLen should be aligned to 32bit\");\n const h = f / 4, l = this.get();\n if (h > l.length)\n throw new Error(\"_sha2: outputLen bigger than state\");\n for (let p = 0; p < h; p++)\n a.setUint32(4 * p, l[p], s);\n }\n digest() {\n const { buffer: t, outputLen: r } = this;\n this.digestInto(t);\n const n = t.slice(0, r);\n return this.destroy(), n;\n }\n _cloneInto(t) {\n t || (t = new this.constructor()), t.set(...this.get());\n const { blockLen: r, buffer: n, length: i, finished: s, destroyed: o, pos: a } = this;\n return t.length = i, t.pos = a, t.finished = s, t.destroyed = o, i % r && t.buffer.set(n), t;\n }\n}\nIn.SHA2 = nd;\nObject.defineProperty(Sn, \"__esModule\", { value: !0 });\nSn.ripemd160 = Sn.RIPEMD160 = void 0;\nconst id = In, od = Zn, sd = /* @__PURE__ */ new Uint8Array([7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8]), Wu = /* @__PURE__ */ Uint8Array.from({ length: 16 }, (e, t) => t), ad = /* @__PURE__ */ Wu.map((e) => (9 * e + 5) % 16);\nlet bs = [Wu], Ss = [ad];\nfor (let e = 0; e < 4; e++)\n for (let t of [bs, Ss])\n t.push(t[e].map((r) => sd[r]));\nconst Vu = /* @__PURE__ */ [\n [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8],\n [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7],\n [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9],\n [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6],\n [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5]\n].map((e) => new Uint8Array(e)), ud = /* @__PURE__ */ bs.map((e, t) => e.map((r) => Vu[t][r])), cd = /* @__PURE__ */ Ss.map((e, t) => e.map((r) => Vu[t][r])), ld = /* @__PURE__ */ new Uint32Array([\n 0,\n 1518500249,\n 1859775393,\n 2400959708,\n 2840853838\n]), fd = /* @__PURE__ */ new Uint32Array([\n 1352829926,\n 1548603684,\n 1836072691,\n 2053994217,\n 0\n]), ui = (e, t) => e << t | e >>> 32 - t;\nfunction pa(e, t, r, n) {\n return e === 0 ? t ^ r ^ n : e === 1 ? t & r | ~t & n : e === 2 ? (t | ~r) ^ n : e === 3 ? t & n | r & ~n : t ^ (r | ~n);\n}\nconst ci = /* @__PURE__ */ new Uint32Array(16);\nclass Gu extends id.SHA2 {\n constructor() {\n super(64, 20, 8, !0), this.h0 = 1732584193, this.h1 = -271733879, this.h2 = -1732584194, this.h3 = 271733878, this.h4 = -1009589776;\n }\n get() {\n const { h0: t, h1: r, h2: n, h3: i, h4: s } = this;\n return [t, r, n, i, s];\n }\n set(t, r, n, i, s) {\n this.h0 = t | 0, this.h1 = r | 0, this.h2 = n | 0, this.h3 = i | 0, this.h4 = s | 0;\n }\n process(t, r) {\n for (let y = 0; y < 16; y++, r += 4)\n ci[y] = t.getUint32(r, !0);\n let n = this.h0 | 0, i = n, s = this.h1 | 0, o = s, a = this.h2 | 0, f = a, h = this.h3 | 0, l = h, p = this.h4 | 0, E = p;\n for (let y = 0; y < 5; y++) {\n const v = 4 - y, S = ld[y], T = fd[y], C = bs[y], O = Ss[y], B = ud[y], U = cd[y];\n for (let R = 0; R < 16; R++) {\n const k = ui(n + pa(y, s, a, h) + ci[C[R]] + S, B[R]) + p | 0;\n n = p, p = h, h = ui(a, 10) | 0, a = s, s = k;\n }\n for (let R = 0; R < 16; R++) {\n const k = ui(i + pa(v, o, f, l) + ci[O[R]] + T, U[R]) + E | 0;\n i = E, E = l, l = ui(f, 10) | 0, f = o, o = k;\n }\n }\n this.set(this.h1 + a + l | 0, this.h2 + h + E | 0, this.h3 + p + i | 0, this.h4 + n + o | 0, this.h0 + s + f | 0);\n }\n roundClean() {\n ci.fill(0);\n }\n destroy() {\n this.destroyed = !0, this.buffer.fill(0), this.set(0, 0, 0, 0, 0);\n }\n}\nSn.RIPEMD160 = Gu;\nSn.ripemd160 = (0, od.wrapConstructor)(() => new Gu());\nvar Ji = {};\nObject.defineProperty(Ji, \"__esModule\", { value: !0 });\nJi.sha1 = void 0;\nconst hd = In, dd = Zn, Io = (e, t) => e << t | e >>> 32 - t >>> 0, pd = (e, t, r) => e & t ^ ~e & r, gd = (e, t, r) => e & t ^ e & r ^ t & r, Un = /* @__PURE__ */ new Uint32Array([\n 1732584193,\n 4023233417,\n 2562383102,\n 271733878,\n 3285377520\n]), lr = /* @__PURE__ */ new Uint32Array(80);\nclass yd extends hd.SHA2 {\n constructor() {\n super(64, 20, 8, !1), this.A = Un[0] | 0, this.B = Un[1] | 0, this.C = Un[2] | 0, this.D = Un[3] | 0, this.E = Un[4] | 0;\n }\n get() {\n const { A: t, B: r, C: n, D: i, E: s } = this;\n return [t, r, n, i, s];\n }\n set(t, r, n, i, s) {\n this.A = t | 0, this.B = r | 0, this.C = n | 0, this.D = i | 0, this.E = s | 0;\n }\n process(t, r) {\n for (let f = 0; f < 16; f++, r += 4)\n lr[f] = t.getUint32(r, !1);\n for (let f = 16; f < 80; f++)\n lr[f] = Io(lr[f - 3] ^ lr[f - 8] ^ lr[f - 14] ^ lr[f - 16], 1);\n let { A: n, B: i, C: s, D: o, E: a } = this;\n for (let f = 0; f < 80; f++) {\n let h, l;\n f < 20 ? (h = pd(i, s, o), l = 1518500249) : f < 40 ? (h = i ^ s ^ o, l = 1859775393) : f < 60 ? (h = gd(i, s, o), l = 2400959708) : (h = i ^ s ^ o, l = 3395469782);\n const p = Io(n, 5) + h + a + l + lr[f] | 0;\n a = o, o = s, s = Io(i, 30), i = n, n = p;\n }\n n = n + this.A | 0, i = i + this.B | 0, s = s + this.C | 0, o = o + this.D | 0, a = a + this.E | 0, this.set(n, i, s, o, a);\n }\n roundClean() {\n lr.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0), this.buffer.fill(0);\n }\n}\nJi.sha1 = (0, dd.wrapConstructor)(() => new yd());\nvar Rr = {};\nObject.defineProperty(Rr, \"__esModule\", { value: !0 });\nRr.sha224 = Rr.sha256 = void 0;\nconst md = In, yt = Zn, wd = (e, t, r) => e & t ^ ~e & r, Ed = (e, t, r) => e & t ^ e & r ^ t & r, bd = /* @__PURE__ */ new Uint32Array([\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n]), fr = /* @__PURE__ */ new Uint32Array([\n 1779033703,\n 3144134277,\n 1013904242,\n 2773480762,\n 1359893119,\n 2600822924,\n 528734635,\n 1541459225\n]), hr = /* @__PURE__ */ new Uint32Array(64);\nclass Xu extends md.SHA2 {\n constructor() {\n super(64, 32, 8, !1), this.A = fr[0] | 0, this.B = fr[1] | 0, this.C = fr[2] | 0, this.D = fr[3] | 0, this.E = fr[4] | 0, this.F = fr[5] | 0, this.G = fr[6] | 0, this.H = fr[7] | 0;\n }\n get() {\n const { A: t, B: r, C: n, D: i, E: s, F: o, G: a, H: f } = this;\n return [t, r, n, i, s, o, a, f];\n }\n // prettier-ignore\n set(t, r, n, i, s, o, a, f) {\n this.A = t | 0, this.B = r | 0, this.C = n | 0, this.D = i | 0, this.E = s | 0, this.F = o | 0, this.G = a | 0, this.H = f | 0;\n }\n process(t, r) {\n for (let p = 0; p < 16; p++, r += 4)\n hr[p] = t.getUint32(r, !1);\n for (let p = 16; p < 64; p++) {\n const E = hr[p - 15], y = hr[p - 2], v = (0, yt.rotr)(E, 7) ^ (0, yt.rotr)(E, 18) ^ E >>> 3, S = (0, yt.rotr)(y, 17) ^ (0, yt.rotr)(y, 19) ^ y >>> 10;\n hr[p] = S + hr[p - 7] + v + hr[p - 16] | 0;\n }\n let { A: n, B: i, C: s, D: o, E: a, F: f, G: h, H: l } = this;\n for (let p = 0; p < 64; p++) {\n const E = (0, yt.rotr)(a, 6) ^ (0, yt.rotr)(a, 11) ^ (0, yt.rotr)(a, 25), y = l + E + wd(a, f, h) + bd[p] + hr[p] | 0, S = ((0, yt.rotr)(n, 2) ^ (0, yt.rotr)(n, 13) ^ (0, yt.rotr)(n, 22)) + Ed(n, i, s) | 0;\n l = h, h = f, f = a, a = o + y | 0, o = s, s = i, i = n, n = y + S | 0;\n }\n n = n + this.A | 0, i = i + this.B | 0, s = s + this.C | 0, o = o + this.D | 0, a = a + this.E | 0, f = f + this.F | 0, h = h + this.G | 0, l = l + this.H | 0, this.set(n, i, s, o, a, f, h, l);\n }\n roundClean() {\n hr.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0), this.buffer.fill(0);\n }\n}\nclass Sd extends Xu {\n constructor() {\n super(), this.A = -1056596264, this.B = 914150663, this.C = 812702999, this.D = -150054599, this.E = -4191439, this.F = 1750603025, this.G = 1694076839, this.H = -1090891868, this.outputLen = 28;\n }\n}\nRr.sha256 = (0, yt.wrapConstructor)(() => new Xu());\nRr.sha224 = (0, yt.wrapConstructor)(() => new Sd());\n(function(e) {\n Object.defineProperty(e, \"__esModule\", { value: !0 }), e.taggedHash = e.TAGGED_HASH_PREFIXES = e.TAGS = e.hash256 = e.hash160 = e.sha256 = e.sha1 = e.ripemd160 = void 0;\n const t = Sn, r = Ji, n = Rr;\n function i(l) {\n return I.from((0, t.ripemd160)(Uint8Array.from(l)));\n }\n e.ripemd160 = i;\n function s(l) {\n return I.from((0, r.sha1)(Uint8Array.from(l)));\n }\n e.sha1 = s;\n function o(l) {\n return I.from((0, n.sha256)(Uint8Array.from(l)));\n }\n e.sha256 = o;\n function a(l) {\n return I.from(\n (0, t.ripemd160)((0, n.sha256)(Uint8Array.from(l)))\n );\n }\n e.hash160 = a;\n function f(l) {\n return I.from(\n (0, n.sha256)((0, n.sha256)(Uint8Array.from(l)))\n );\n }\n e.hash256 = f, e.TAGS = [\n \"BIP0340/challenge\",\n \"BIP0340/aux\",\n \"BIP0340/nonce\",\n \"TapLeaf\",\n \"TapBranch\",\n \"TapSighash\",\n \"TapTweak\",\n \"KeyAgg list\",\n \"KeyAgg coefficient\"\n ], e.TAGGED_HASH_PREFIXES = {\n \"BIP0340/challenge\": I.from([\n 123,\n 181,\n 45,\n 122,\n 159,\n 239,\n 88,\n 50,\n 62,\n 177,\n 191,\n 122,\n 64,\n 125,\n 179,\n 130,\n 210,\n 243,\n 242,\n 216,\n 27,\n 177,\n 34,\n 79,\n 73,\n 254,\n 81,\n 143,\n 109,\n 72,\n 211,\n 124,\n 123,\n 181,\n 45,\n 122,\n 159,\n 239,\n 88,\n 50,\n 62,\n 177,\n 191,\n 122,\n 64,\n 125,\n 179,\n 130,\n 210,\n 243,\n 242,\n 216,\n 27,\n 177,\n 34,\n 79,\n 73,\n 254,\n 81,\n 143,\n 109,\n 72,\n 211,\n 124\n ]),\n \"BIP0340/aux\": I.from([\n 241,\n 239,\n 78,\n 94,\n 192,\n 99,\n 202,\n 218,\n 109,\n 148,\n 202,\n 250,\n 157,\n 152,\n 126,\n 160,\n 105,\n 38,\n 88,\n 57,\n 236,\n 193,\n 31,\n 151,\n 45,\n 119,\n 165,\n 46,\n 216,\n 193,\n 204,\n 144,\n 241,\n 239,\n 78,\n 94,\n 192,\n 99,\n 202,\n 218,\n 109,\n 148,\n 202,\n 250,\n 157,\n 152,\n 126,\n 160,\n 105,\n 38,\n 88,\n 57,\n 236,\n 193,\n 31,\n 151,\n 45,\n 119,\n 165,\n 46,\n 216,\n 193,\n 204,\n 144\n ]),\n \"BIP0340/nonce\": I.from([\n 7,\n 73,\n 119,\n 52,\n 167,\n 155,\n 203,\n 53,\n 91,\n 155,\n 140,\n 125,\n 3,\n 79,\n 18,\n 28,\n 244,\n 52,\n 215,\n 62,\n 247,\n 45,\n 218,\n 25,\n 135,\n 0,\n 97,\n 251,\n 82,\n 191,\n 235,\n 47,\n 7,\n 73,\n 119,\n 52,\n 167,\n 155,\n 203,\n 53,\n 91,\n 155,\n 140,\n 125,\n 3,\n 79,\n 18,\n 28,\n 244,\n 52,\n 215,\n 62,\n 247,\n 45,\n 218,\n 25,\n 135,\n 0,\n 97,\n 251,\n 82,\n 191,\n 235,\n 47\n ]),\n TapLeaf: I.from([\n 174,\n 234,\n 143,\n 220,\n 66,\n 8,\n 152,\n 49,\n 5,\n 115,\n 75,\n 88,\n 8,\n 29,\n 30,\n 38,\n 56,\n 211,\n 95,\n 28,\n 181,\n 64,\n 8,\n 212,\n 211,\n 87,\n 202,\n 3,\n 190,\n 120,\n 233,\n 238,\n 174,\n 234,\n 143,\n 220,\n 66,\n 8,\n 152,\n 49,\n 5,\n 115,\n 75,\n 88,\n 8,\n 29,\n 30,\n 38,\n 56,\n 211,\n 95,\n 28,\n 181,\n 64,\n 8,\n 212,\n 211,\n 87,\n 202,\n 3,\n 190,\n 120,\n 233,\n 238\n ]),\n TapBranch: I.from([\n 25,\n 65,\n 161,\n 242,\n 229,\n 110,\n 185,\n 95,\n 162,\n 169,\n 241,\n 148,\n 190,\n 92,\n 1,\n 247,\n 33,\n 111,\n 51,\n 237,\n 130,\n 176,\n 145,\n 70,\n 52,\n 144,\n 208,\n 91,\n 245,\n 22,\n 160,\n 21,\n 25,\n 65,\n 161,\n 242,\n 229,\n 110,\n 185,\n 95,\n 162,\n 169,\n 241,\n 148,\n 190,\n 92,\n 1,\n 247,\n 33,\n 111,\n 51,\n 237,\n 130,\n 176,\n 145,\n 70,\n 52,\n 144,\n 208,\n 91,\n 245,\n 22,\n 160,\n 21\n ]),\n TapSighash: I.from([\n 244,\n 10,\n 72,\n 223,\n 75,\n 42,\n 112,\n 200,\n 180,\n 146,\n 75,\n 242,\n 101,\n 70,\n 97,\n 237,\n 61,\n 149,\n 253,\n 102,\n 163,\n 19,\n 235,\n 135,\n 35,\n 117,\n 151,\n 198,\n 40,\n 228,\n 160,\n 49,\n 244,\n 10,\n 72,\n 223,\n 75,\n 42,\n 112,\n 200,\n 180,\n 146,\n 75,\n 242,\n 101,\n 70,\n 97,\n 237,\n 61,\n 149,\n 253,\n 102,\n 163,\n 19,\n 235,\n 135,\n 35,\n 117,\n 151,\n 198,\n 40,\n 228,\n 160,\n 49\n ]),\n TapTweak: I.from([\n 232,\n 15,\n 225,\n 99,\n 156,\n 156,\n 160,\n 80,\n 227,\n 175,\n 27,\n 57,\n 193,\n 67,\n 198,\n 62,\n 66,\n 156,\n 188,\n 235,\n 21,\n 217,\n 64,\n 251,\n 181,\n 197,\n 161,\n 244,\n 175,\n 87,\n 197,\n 233,\n 232,\n 15,\n 225,\n 99,\n 156,\n 156,\n 160,\n 80,\n 227,\n 175,\n 27,\n 57,\n 193,\n 67,\n 198,\n 62,\n 66,\n 156,\n 188,\n 235,\n 21,\n 217,\n 64,\n 251,\n 181,\n 197,\n 161,\n 244,\n 175,\n 87,\n 197,\n 233\n ]),\n \"KeyAgg list\": I.from([\n 72,\n 28,\n 151,\n 28,\n 60,\n 11,\n 70,\n 215,\n 240,\n 178,\n 117,\n 174,\n 89,\n 141,\n 78,\n 44,\n 126,\n 215,\n 49,\n 156,\n 89,\n 74,\n 92,\n 110,\n 199,\n 158,\n 160,\n 212,\n 153,\n 2,\n 148,\n 240,\n 72,\n 28,\n 151,\n 28,\n 60,\n 11,\n 70,\n 215,\n 240,\n 178,\n 117,\n 174,\n 89,\n 141,\n 78,\n 44,\n 126,\n 215,\n 49,\n 156,\n 89,\n 74,\n 92,\n 110,\n 199,\n 158,\n 160,\n 212,\n 153,\n 2,\n 148,\n 240\n ]),\n \"KeyAgg coefficient\": I.from([\n 191,\n 201,\n 4,\n 3,\n 77,\n 28,\n 136,\n 232,\n 200,\n 14,\n 34,\n 229,\n 61,\n 36,\n 86,\n 109,\n 100,\n 130,\n 78,\n 214,\n 66,\n 114,\n 129,\n 192,\n 145,\n 0,\n 249,\n 77,\n 205,\n 82,\n 201,\n 129,\n 191,\n 201,\n 4,\n 3,\n 77,\n 28,\n 136,\n 232,\n 200,\n 14,\n 34,\n 229,\n 61,\n 36,\n 86,\n 109,\n 100,\n 130,\n 78,\n 214,\n 66,\n 114,\n 129,\n 192,\n 145,\n 0,\n 249,\n 77,\n 205,\n 82,\n 201,\n 129\n ])\n };\n function h(l, p) {\n return o(I.concat([e.TAGGED_HASH_PREFIXES[l], p]));\n }\n e.taggedHash = h;\n})(Ut);\nfunction vd(e) {\n if (e.length >= 255)\n throw new TypeError(\"Alphabet too long\");\n for (var t = new Uint8Array(256), r = 0; r < t.length; r++)\n t[r] = 255;\n for (var n = 0; n < e.length; n++) {\n var i = e.charAt(n), s = i.charCodeAt(0);\n if (t[s] !== 255)\n throw new TypeError(i + \" is ambiguous\");\n t[s] = n;\n }\n var o = e.length, a = e.charAt(0), f = Math.log(o) / Math.log(256), h = Math.log(256) / Math.log(o);\n function l(y) {\n if (y instanceof Uint8Array || (ArrayBuffer.isView(y) ? y = new Uint8Array(y.buffer, y.byteOffset, y.byteLength) : Array.isArray(y) && (y = Uint8Array.from(y))), !(y instanceof Uint8Array))\n throw new TypeError(\"Expected Uint8Array\");\n if (y.length === 0)\n return \"\";\n for (var v = 0, S = 0, T = 0, C = y.length; T !== C && y[T] === 0; )\n T++, v++;\n for (var O = (C - T) * h + 1 >>> 0, B = new Uint8Array(O); T !== C; ) {\n for (var U = y[T], R = 0, k = O - 1; (U !== 0 || R < S) && k !== -1; k--, R++)\n U += 256 * B[k] >>> 0, B[k] = U % o >>> 0, U = U / o >>> 0;\n if (U !== 0)\n throw new Error(\"Non-zero carry\");\n S = R, T++;\n }\n for (var j = O - S; j !== O && B[j] === 0; )\n j++;\n for (var A = a.repeat(v); j < O; ++j)\n A += e.charAt(B[j]);\n return A;\n }\n function p(y) {\n if (typeof y != \"string\")\n throw new TypeError(\"Expected String\");\n if (y.length === 0)\n return new Uint8Array();\n for (var v = 0, S = 0, T = 0; y[v] === a; )\n S++, v++;\n for (var C = (y.length - v) * f + 1 >>> 0, O = new Uint8Array(C); y[v]; ) {\n var B = t[y.charCodeAt(v)];\n if (B === 255)\n return;\n for (var U = 0, R = C - 1; (B !== 0 || U < T) && R !== -1; R--, U++)\n B += o * O[R] >>> 0, O[R] = B % 256 >>> 0, B = B / 256 >>> 0;\n if (B !== 0)\n throw new Error(\"Non-zero carry\");\n T = U, v++;\n }\n for (var k = C - T; k !== C && O[k] === 0; )\n k++;\n for (var j = new Uint8Array(S + (C - k)), A = S; k !== C; )\n j[A++] = O[k++];\n return j;\n }\n function E(y) {\n var v = p(y);\n if (v)\n return v;\n throw new Error(\"Non-base\" + o + \" character\");\n }\n return {\n encode: l,\n decodeUnsafe: p,\n decode: E\n };\n}\nvar _d = vd;\nconst Td = _d, Id = \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\nvar Pd = Td(Id), Po = Pd, Od = function(e) {\n function t(s) {\n var o = Uint8Array.from(s), a = e(o), f = o.length + 4, h = new Uint8Array(f);\n return h.set(o, 0), h.set(a.subarray(0, 4), o.length), Po.encode(h, f);\n }\n function r(s) {\n var o = s.slice(0, -4), a = s.slice(-4), f = e(o);\n if (!(a[0] ^ f[0] | a[1] ^ f[1] | a[2] ^ f[2] | a[3] ^ f[3]))\n return o;\n }\n function n(s) {\n var o = Po.decodeUnsafe(s);\n if (o)\n return r(o);\n }\n function i(s) {\n var o = Po.decode(s), a = r(o);\n if (!a)\n throw new Error(\"Invalid checksum\");\n return a;\n }\n return {\n encode: t,\n decode: i,\n decodeUnsafe: n\n };\n}, { sha256: ga } = Rr, kd = Od;\nfunction Ad(e) {\n return ga(ga(e));\n}\nvar vs = kd(Ad);\nObject.defineProperty(zi, \"__esModule\", { value: !0 });\nzi.p2pkh = void 0;\nconst Oo = Ut, xd = He, hn = ot, Qe = qe, Kt = ht, ya = vs, dr = hn.OPS;\nfunction Cd(e, t) {\n if (!e.address && !e.hash && !e.output && !e.pubkey && !e.input)\n throw new TypeError(\"Not enough data\");\n t = Object.assign({ validate: !0 }, t || {}), (0, Qe.typeforce)(\n {\n network: Qe.typeforce.maybe(Qe.typeforce.Object),\n address: Qe.typeforce.maybe(Qe.typeforce.String),\n hash: Qe.typeforce.maybe(Qe.typeforce.BufferN(20)),\n output: Qe.typeforce.maybe(Qe.typeforce.BufferN(25)),\n pubkey: Qe.typeforce.maybe(Qe.isPoint),\n signature: Qe.typeforce.maybe(hn.isCanonicalScriptSignature),\n input: Qe.typeforce.maybe(Qe.typeforce.Buffer)\n },\n e\n );\n const r = Kt.value(() => {\n const o = I.from(ya.decode(e.address)), a = o.readUInt8(0), f = o.slice(1);\n return { version: a, hash: f };\n }), n = Kt.value(() => hn.decompile(e.input)), i = e.network || xd.bitcoin, s = { name: \"p2pkh\", network: i };\n if (Kt.prop(s, \"address\", () => {\n if (!s.hash)\n return;\n const o = I.allocUnsafe(21);\n return o.writeUInt8(i.pubKeyHash, 0), s.hash.copy(o, 1), ya.encode(o);\n }), Kt.prop(s, \"hash\", () => {\n if (e.output)\n return e.output.slice(3, 23);\n if (e.address)\n return r().hash;\n if (e.pubkey || s.pubkey)\n return Oo.hash160(e.pubkey || s.pubkey);\n }), Kt.prop(s, \"output\", () => {\n if (s.hash)\n return hn.compile([\n dr.OP_DUP,\n dr.OP_HASH160,\n s.hash,\n dr.OP_EQUALVERIFY,\n dr.OP_CHECKSIG\n ]);\n }), Kt.prop(s, \"pubkey\", () => {\n if (e.input)\n return n()[1];\n }), Kt.prop(s, \"signature\", () => {\n if (e.input)\n return n()[0];\n }), Kt.prop(s, \"input\", () => {\n if (e.pubkey && e.signature)\n return hn.compile([e.signature, e.pubkey]);\n }), Kt.prop(s, \"witness\", () => {\n if (s.input)\n return [];\n }), t.validate) {\n let o = I.from([]);\n if (e.address) {\n if (r().version !== i.pubKeyHash)\n throw new TypeError(\"Invalid version or Network mismatch\");\n if (r().hash.length !== 20)\n throw new TypeError(\"Invalid address\");\n o = r().hash;\n }\n if (e.hash) {\n if (o.length > 0 && !o.equals(e.hash))\n throw new TypeError(\"Hash mismatch\");\n o = e.hash;\n }\n if (e.output) {\n if (e.output.length !== 25 || e.output[0] !== dr.OP_DUP || e.output[1] !== dr.OP_HASH160 || e.output[2] !== 20 || e.output[23] !== dr.OP_EQUALVERIFY || e.output[24] !== dr.OP_CHECKSIG)\n throw new TypeError(\"Output is invalid\");\n const a = e.output.slice(3, 23);\n if (o.length > 0 && !o.equals(a))\n throw new TypeError(\"Hash mismatch\");\n o = a;\n }\n if (e.pubkey) {\n const a = Oo.hash160(e.pubkey);\n if (o.length > 0 && !o.equals(a))\n throw new TypeError(\"Hash mismatch\");\n o = a;\n }\n if (e.input) {\n const a = n();\n if (a.length !== 2)\n throw new TypeError(\"Input is invalid\");\n if (!hn.isCanonicalScriptSignature(a[0]))\n throw new TypeError(\"Input has invalid signature\");\n if (!(0, Qe.isPoint)(a[1]))\n throw new TypeError(\"Input has invalid pubkey\");\n if (e.signature && !e.signature.equals(a[0]))\n throw new TypeError(\"Signature mismatch\");\n if (e.pubkey && !e.pubkey.equals(a[1]))\n throw new TypeError(\"Pubkey mismatch\");\n const f = Oo.hash160(a[1]);\n if (o.length > 0 && !o.equals(f))\n throw new TypeError(\"Hash mismatch\");\n }\n }\n return Object.assign(s, e);\n}\nzi.p2pkh = Cd;\nvar Qi = {};\nObject.defineProperty(Qi, \"__esModule\", { value: !0 });\nQi.p2sh = void 0;\nconst ma = Ut, Bd = He, kt = ot, ge = qe, Pt = ht, wa = vs, Rn = kt.OPS;\nfunction Nd(e, t) {\n return e.length !== t.length ? !1 : e.every((r, n) => r.equals(t[n]));\n}\nfunction Fd(e, t) {\n if (!e.address && !e.hash && !e.output && !e.redeem && !e.input)\n throw new TypeError(\"Not enough data\");\n t = Object.assign({ validate: !0 }, t || {}), (0, ge.typeforce)(\n {\n network: ge.typeforce.maybe(ge.typeforce.Object),\n address: ge.typeforce.maybe(ge.typeforce.String),\n hash: ge.typeforce.maybe(ge.typeforce.BufferN(20)),\n output: ge.typeforce.maybe(ge.typeforce.BufferN(23)),\n redeem: ge.typeforce.maybe({\n network: ge.typeforce.maybe(ge.typeforce.Object),\n output: ge.typeforce.maybe(ge.typeforce.Buffer),\n input: ge.typeforce.maybe(ge.typeforce.Buffer),\n witness: ge.typeforce.maybe(\n ge.typeforce.arrayOf(ge.typeforce.Buffer)\n )\n }),\n input: ge.typeforce.maybe(ge.typeforce.Buffer),\n witness: ge.typeforce.maybe(\n ge.typeforce.arrayOf(ge.typeforce.Buffer)\n )\n },\n e\n );\n let r = e.network;\n r || (r = e.redeem && e.redeem.network || Bd.bitcoin);\n const n = { network: r }, i = Pt.value(() => {\n const a = I.from(wa.decode(e.address)), f = a.readUInt8(0), h = a.slice(1);\n return { version: f, hash: h };\n }), s = Pt.value(() => kt.decompile(e.input)), o = Pt.value(() => {\n const a = s(), f = a[a.length - 1];\n return {\n network: r,\n output: f === Rn.OP_FALSE ? I.from([]) : f,\n input: kt.compile(a.slice(0, -1)),\n witness: e.witness || []\n };\n });\n if (Pt.prop(n, \"address\", () => {\n if (!n.hash)\n return;\n const a = I.allocUnsafe(21);\n return a.writeUInt8(n.network.scriptHash, 0), n.hash.copy(a, 1), wa.encode(a);\n }), Pt.prop(n, \"hash\", () => {\n if (e.output)\n return e.output.slice(2, 22);\n if (e.address)\n return i().hash;\n if (n.redeem && n.redeem.output)\n return ma.hash160(n.redeem.output);\n }), Pt.prop(n, \"output\", () => {\n if (n.hash)\n return kt.compile([Rn.OP_HASH160, n.hash, Rn.OP_EQUAL]);\n }), Pt.prop(n, \"redeem\", () => {\n if (e.input)\n return o();\n }), Pt.prop(n, \"input\", () => {\n if (!(!e.redeem || !e.redeem.input || !e.redeem.output))\n return kt.compile(\n [].concat(kt.decompile(e.redeem.input), e.redeem.output)\n );\n }), Pt.prop(n, \"witness\", () => {\n if (n.redeem && n.redeem.witness)\n return n.redeem.witness;\n if (n.input)\n return [];\n }), Pt.prop(n, \"name\", () => {\n const a = [\"p2sh\"];\n return n.redeem !== void 0 && n.redeem.name !== void 0 && a.push(n.redeem.name), a.join(\"-\");\n }), t.validate) {\n let a = I.from([]);\n if (e.address) {\n if (i().version !== r.scriptHash)\n throw new TypeError(\"Invalid version or Network mismatch\");\n if (i().hash.length !== 20)\n throw new TypeError(\"Invalid address\");\n a = i().hash;\n }\n if (e.hash) {\n if (a.length > 0 && !a.equals(e.hash))\n throw new TypeError(\"Hash mismatch\");\n a = e.hash;\n }\n if (e.output) {\n if (e.output.length !== 23 || e.output[0] !== Rn.OP_HASH160 || e.output[1] !== 20 || e.output[22] !== Rn.OP_EQUAL)\n throw new TypeError(\"Output is invalid\");\n const h = e.output.slice(2, 22);\n if (a.length > 0 && !a.equals(h))\n throw new TypeError(\"Hash mismatch\");\n a = h;\n }\n const f = (h) => {\n if (h.output) {\n const l = kt.decompile(h.output);\n if (!l || l.length < 1)\n throw new TypeError(\"Redeem.output too short\");\n if (h.output.byteLength > 520)\n throw new TypeError(\n \"Redeem.output unspendable if larger than 520 bytes\"\n );\n if (kt.countNonPushOnlyOPs(l) > 201)\n throw new TypeError(\n \"Redeem.output unspendable with more than 201 non-push ops\"\n );\n const p = ma.hash160(h.output);\n if (a.length > 0 && !a.equals(p))\n throw new TypeError(\"Hash mismatch\");\n a = p;\n }\n if (h.input) {\n const l = h.input.length > 0, p = h.witness && h.witness.length > 0;\n if (!l && !p)\n throw new TypeError(\"Empty input\");\n if (l && p)\n throw new TypeError(\"Input and witness provided\");\n if (l) {\n const E = kt.decompile(h.input);\n if (!kt.isPushOnly(E))\n throw new TypeError(\"Non push-only scriptSig\");\n }\n }\n };\n if (e.input) {\n const h = s();\n if (!h || h.length < 1)\n throw new TypeError(\"Input too short\");\n if (!I.isBuffer(o().output))\n throw new TypeError(\"Input is invalid\");\n f(o());\n }\n if (e.redeem) {\n if (e.redeem.network && e.redeem.network !== r)\n throw new TypeError(\"Network mismatch\");\n if (e.input) {\n const h = o();\n if (e.redeem.output && !e.redeem.output.equals(h.output))\n throw new TypeError(\"Redeem.output mismatch\");\n if (e.redeem.input && !e.redeem.input.equals(h.input))\n throw new TypeError(\"Redeem.input mismatch\");\n }\n f(e.redeem);\n }\n if (e.witness && e.redeem && e.redeem.witness && !Nd(e.redeem.witness, e.witness))\n throw new TypeError(\"Witness and redeem.witness mismatch\");\n }\n return Object.assign(n, e);\n}\nQi.p2sh = Fd;\nvar Zi = {}, tr = {};\nObject.defineProperty(tr, \"__esModule\", { value: !0 });\ntr.bech32m = tr.bech32 = void 0;\nconst Ci = \"qpzry9x8gf2tvdw0s3jn54khce6mua7l\", qu = {};\nfor (let e = 0; e < Ci.length; e++) {\n const t = Ci.charAt(e);\n qu[t] = e;\n}\nfunction gn(e) {\n const t = e >> 25;\n return (e & 33554431) << 5 ^ -(t >> 0 & 1) & 996825010 ^ -(t >> 1 & 1) & 642813549 ^ -(t >> 2 & 1) & 513874426 ^ -(t >> 3 & 1) & 1027748829 ^ -(t >> 4 & 1) & 705979059;\n}\nfunction Ea(e) {\n let t = 1;\n for (let r = 0; r < e.length; ++r) {\n const n = e.charCodeAt(r);\n if (n < 33 || n > 126)\n return \"Invalid prefix (\" + e + \")\";\n t = gn(t) ^ n >> 5;\n }\n t = gn(t);\n for (let r = 0; r < e.length; ++r) {\n const n = e.charCodeAt(r);\n t = gn(t) ^ n & 31;\n }\n return t;\n}\nfunction _s(e, t, r, n) {\n let i = 0, s = 0;\n const o = (1 << r) - 1, a = [];\n for (let f = 0; f < e.length; ++f)\n for (i = i << t | e[f], s += t; s >= r; )\n s -= r, a.push(i >> s & o);\n if (n)\n s > 0 && a.push(i << r - s & o);\n else {\n if (s >= t)\n return \"Excess padding\";\n if (i << r - s & o)\n return \"Non-zero padding\";\n }\n return a;\n}\nfunction Ud(e) {\n return _s(e, 8, 5, !0);\n}\nfunction Rd(e) {\n const t = _s(e, 5, 8, !1);\n if (Array.isArray(t))\n return t;\n}\nfunction Ld(e) {\n const t = _s(e, 5, 8, !1);\n if (Array.isArray(t))\n return t;\n throw new Error(t);\n}\nfunction zu(e) {\n let t;\n e === \"bech32\" ? t = 1 : t = 734539939;\n function r(o, a, f) {\n if (f = f || 90, o.length + 7 + a.length > f)\n throw new TypeError(\"Exceeds length limit\");\n o = o.toLowerCase();\n let h = Ea(o);\n if (typeof h == \"string\")\n throw new Error(h);\n let l = o + \"1\";\n for (let p = 0; p < a.length; ++p) {\n const E = a[p];\n if (E >> 5)\n throw new Error(\"Non 5-bit word\");\n h = gn(h) ^ E, l += Ci.charAt(E);\n }\n for (let p = 0; p < 6; ++p)\n h = gn(h);\n h ^= t;\n for (let p = 0; p < 6; ++p) {\n const E = h >> (5 - p) * 5 & 31;\n l += Ci.charAt(E);\n }\n return l;\n }\n function n(o, a) {\n if (a = a || 90, o.length < 8)\n return o + \" too short\";\n if (o.length > a)\n return \"Exceeds length limit\";\n const f = o.toLowerCase(), h = o.toUpperCase();\n if (o !== f && o !== h)\n return \"Mixed-case string \" + o;\n o = f;\n const l = o.lastIndexOf(\"1\");\n if (l === -1)\n return \"No separator character for \" + o;\n if (l === 0)\n return \"Missing prefix for \" + o;\n const p = o.slice(0, l), E = o.slice(l + 1);\n if (E.length < 6)\n return \"Data too short\";\n let y = Ea(p);\n if (typeof y == \"string\")\n return y;\n const v = [];\n for (let S = 0; S < E.length; ++S) {\n const T = E.charAt(S), C = qu[T];\n if (C === void 0)\n return \"Unknown character \" + T;\n y = gn(y) ^ C, !(S + 6 >= E.length) && v.push(C);\n }\n return y !== t ? \"Invalid checksum for \" + o : { prefix: p, words: v };\n }\n function i(o, a) {\n const f = n(o, a);\n if (typeof f == \"object\")\n return f;\n }\n function s(o, a) {\n const f = n(o, a);\n if (typeof f == \"object\")\n return f;\n throw new Error(f);\n }\n return {\n decodeUnsafe: i,\n decode: s,\n encode: r,\n toWords: Ud,\n fromWordsUnsafe: Rd,\n fromWords: Ld\n };\n}\ntr.bech32 = zu(\"bech32\");\ntr.bech32m = zu(\"bech32m\");\nObject.defineProperty(Zi, \"__esModule\", { value: !0 });\nZi.p2wpkh = void 0;\nconst ko = Ut, Hd = He, _i = ot, xe = qe, pr = ht, li = tr, ba = _i.OPS, $d = I.alloc(0);\nfunction Md(e, t) {\n if (!e.address && !e.hash && !e.output && !e.pubkey && !e.witness)\n throw new TypeError(\"Not enough data\");\n t = Object.assign({ validate: !0 }, t || {}), (0, xe.typeforce)(\n {\n address: xe.typeforce.maybe(xe.typeforce.String),\n hash: xe.typeforce.maybe(xe.typeforce.BufferN(20)),\n input: xe.typeforce.maybe(xe.typeforce.BufferN(0)),\n network: xe.typeforce.maybe(xe.typeforce.Object),\n output: xe.typeforce.maybe(xe.typeforce.BufferN(22)),\n pubkey: xe.typeforce.maybe(xe.isPoint),\n signature: xe.typeforce.maybe(_i.isCanonicalScriptSignature),\n witness: xe.typeforce.maybe(\n xe.typeforce.arrayOf(xe.typeforce.Buffer)\n )\n },\n e\n );\n const r = pr.value(() => {\n const s = li.bech32.decode(e.address), o = s.words.shift(), a = li.bech32.fromWords(s.words);\n return {\n version: o,\n prefix: s.prefix,\n data: I.from(a)\n };\n }), n = e.network || Hd.bitcoin, i = { name: \"p2wpkh\", network: n };\n if (pr.prop(i, \"address\", () => {\n if (!i.hash)\n return;\n const s = li.bech32.toWords(i.hash);\n return s.unshift(0), li.bech32.encode(n.bech32, s);\n }), pr.prop(i, \"hash\", () => {\n if (e.output)\n return e.output.slice(2, 22);\n if (e.address)\n return r().data;\n if (e.pubkey || i.pubkey)\n return ko.hash160(e.pubkey || i.pubkey);\n }), pr.prop(i, \"output\", () => {\n if (i.hash)\n return _i.compile([ba.OP_0, i.hash]);\n }), pr.prop(i, \"pubkey\", () => {\n if (e.pubkey)\n return e.pubkey;\n if (e.witness)\n return e.witness[1];\n }), pr.prop(i, \"signature\", () => {\n if (e.witness)\n return e.witness[0];\n }), pr.prop(i, \"input\", () => {\n if (i.witness)\n return $d;\n }), pr.prop(i, \"witness\", () => {\n if (e.pubkey && e.signature)\n return [e.signature, e.pubkey];\n }), t.validate) {\n let s = I.from([]);\n if (e.address) {\n if (n && n.bech32 !== r().prefix)\n throw new TypeError(\"Invalid prefix or Network mismatch\");\n if (r().version !== 0)\n throw new TypeError(\"Invalid address version\");\n if (r().data.length !== 20)\n throw new TypeError(\"Invalid address data\");\n s = r().data;\n }\n if (e.hash) {\n if (s.length > 0 && !s.equals(e.hash))\n throw new TypeError(\"Hash mismatch\");\n s = e.hash;\n }\n if (e.output) {\n if (e.output.length !== 22 || e.output[0] !== ba.OP_0 || e.output[1] !== 20)\n throw new TypeError(\"Output is invalid\");\n if (s.length > 0 && !s.equals(e.output.slice(2)))\n throw new TypeError(\"Hash mismatch\");\n s = e.output.slice(2);\n }\n if (e.pubkey) {\n const o = ko.hash160(e.pubkey);\n if (s.length > 0 && !s.equals(o))\n throw new TypeError(\"Hash mismatch\");\n if (s = o, !(0, xe.isPoint)(e.pubkey) || e.pubkey.length !== 33)\n throw new TypeError(\"Invalid pubkey for p2wpkh\");\n }\n if (e.witness) {\n if (e.witness.length !== 2)\n throw new TypeError(\"Witness is invalid\");\n if (!_i.isCanonicalScriptSignature(e.witness[0]))\n throw new TypeError(\"Witness has invalid signature\");\n if (!(0, xe.isPoint)(e.witness[1]) || e.witness[1].length !== 33)\n throw new TypeError(\"Witness has invalid pubkey\");\n if (e.signature && !e.signature.equals(e.witness[0]))\n throw new TypeError(\"Signature mismatch\");\n if (e.pubkey && !e.pubkey.equals(e.witness[1]))\n throw new TypeError(\"Pubkey mismatch\");\n const o = ko.hash160(e.witness[1]);\n if (s.length > 0 && !s.equals(o))\n throw new TypeError(\"Hash mismatch\");\n }\n }\n return Object.assign(i, e);\n}\nZi.p2wpkh = Md;\nvar eo = {};\nObject.defineProperty(eo, \"__esModule\", { value: !0 });\neo.p2wsh = void 0;\nconst Sa = Ut, Dd = He, Gt = ot, de = qe, Wt = ht, fi = tr, va = Gt.OPS, Ao = I.alloc(0);\nfunction jd(e, t) {\n return e.length !== t.length ? !1 : e.every((r, n) => r.equals(t[n]));\n}\nfunction hi(e) {\n return !!(I.isBuffer(e) && e.length === 65 && e[0] === 4 && (0, de.isPoint)(e));\n}\nfunction Kd(e, t) {\n if (!e.address && !e.hash && !e.output && !e.redeem && !e.witness)\n throw new TypeError(\"Not enough data\");\n t = Object.assign({ validate: !0 }, t || {}), (0, de.typeforce)(\n {\n network: de.typeforce.maybe(de.typeforce.Object),\n address: de.typeforce.maybe(de.typeforce.String),\n hash: de.typeforce.maybe(de.typeforce.BufferN(32)),\n output: de.typeforce.maybe(de.typeforce.BufferN(34)),\n redeem: de.typeforce.maybe({\n input: de.typeforce.maybe(de.typeforce.Buffer),\n network: de.typeforce.maybe(de.typeforce.Object),\n output: de.typeforce.maybe(de.typeforce.Buffer),\n witness: de.typeforce.maybe(\n de.typeforce.arrayOf(de.typeforce.Buffer)\n )\n }),\n input: de.typeforce.maybe(de.typeforce.BufferN(0)),\n witness: de.typeforce.maybe(\n de.typeforce.arrayOf(de.typeforce.Buffer)\n )\n },\n e\n );\n const r = Wt.value(() => {\n const o = fi.bech32.decode(e.address), a = o.words.shift(), f = fi.bech32.fromWords(o.words);\n return {\n version: a,\n prefix: o.prefix,\n data: I.from(f)\n };\n }), n = Wt.value(() => Gt.decompile(e.redeem.input));\n let i = e.network;\n i || (i = e.redeem && e.redeem.network || Dd.bitcoin);\n const s = { network: i };\n if (Wt.prop(s, \"address\", () => {\n if (!s.hash)\n return;\n const o = fi.bech32.toWords(s.hash);\n return o.unshift(0), fi.bech32.encode(i.bech32, o);\n }), Wt.prop(s, \"hash\", () => {\n if (e.output)\n return e.output.slice(2);\n if (e.address)\n return r().data;\n if (s.redeem && s.redeem.output)\n return Sa.sha256(s.redeem.output);\n }), Wt.prop(s, \"output\", () => {\n if (s.hash)\n return Gt.compile([va.OP_0, s.hash]);\n }), Wt.prop(s, \"redeem\", () => {\n if (e.witness)\n return {\n output: e.witness[e.witness.length - 1],\n input: Ao,\n witness: e.witness.slice(0, -1)\n };\n }), Wt.prop(s, \"input\", () => {\n if (s.witness)\n return Ao;\n }), Wt.prop(s, \"witness\", () => {\n if (e.redeem && e.redeem.input && e.redeem.input.length > 0 && e.redeem.output && e.redeem.output.length > 0) {\n const o = Gt.toStack(n());\n return s.redeem = Object.assign({ witness: o }, e.redeem), s.redeem.input = Ao, [].concat(o, e.redeem.output);\n }\n if (e.redeem && e.redeem.output && e.redeem.witness)\n return [].concat(e.redeem.witness, e.redeem.output);\n }), Wt.prop(s, \"name\", () => {\n const o = [\"p2wsh\"];\n return s.redeem !== void 0 && s.redeem.name !== void 0 && o.push(s.redeem.name), o.join(\"-\");\n }), t.validate) {\n let o = I.from([]);\n if (e.address) {\n if (r().prefix !== i.bech32)\n throw new TypeError(\"Invalid prefix or Network mismatch\");\n if (r().version !== 0)\n throw new TypeError(\"Invalid address version\");\n if (r().data.length !== 32)\n throw new TypeError(\"Invalid address data\");\n o = r().data;\n }\n if (e.hash) {\n if (o.length > 0 && !o.equals(e.hash))\n throw new TypeError(\"Hash mismatch\");\n o = e.hash;\n }\n if (e.output) {\n if (e.output.length !== 34 || e.output[0] !== va.OP_0 || e.output[1] !== 32)\n throw new TypeError(\"Output is invalid\");\n const a = e.output.slice(2);\n if (o.length > 0 && !o.equals(a))\n throw new TypeError(\"Hash mismatch\");\n o = a;\n }\n if (e.redeem) {\n if (e.redeem.network && e.redeem.network !== i)\n throw new TypeError(\"Network mismatch\");\n if (e.redeem.input && e.redeem.input.length > 0 && e.redeem.witness && e.redeem.witness.length > 0)\n throw new TypeError(\"Ambiguous witness source\");\n if (e.redeem.output) {\n const a = Gt.decompile(e.redeem.output);\n if (!a || a.length < 1)\n throw new TypeError(\"Redeem.output is invalid\");\n if (e.redeem.output.byteLength > 3600)\n throw new TypeError(\n \"Redeem.output unspendable if larger than 3600 bytes\"\n );\n if (Gt.countNonPushOnlyOPs(a) > 201)\n throw new TypeError(\n \"Redeem.output unspendable with more than 201 non-push ops\"\n );\n const f = Sa.sha256(e.redeem.output);\n if (o.length > 0 && !o.equals(f))\n throw new TypeError(\"Hash mismatch\");\n o = f;\n }\n if (e.redeem.input && !Gt.isPushOnly(n()))\n throw new TypeError(\"Non push-only scriptSig\");\n if (e.witness && e.redeem.witness && !jd(e.witness, e.redeem.witness))\n throw new TypeError(\"Witness and redeem.witness mismatch\");\n if (e.redeem.input && n().some(hi) || e.redeem.output && (Gt.decompile(e.redeem.output) || []).some(\n hi\n ))\n throw new TypeError(\n \"redeem.input or redeem.output contains uncompressed pubkey\"\n );\n }\n if (e.witness && e.witness.length > 0) {\n const a = e.witness[e.witness.length - 1];\n if (e.redeem && e.redeem.output && !e.redeem.output.equals(a))\n throw new TypeError(\"Witness and redeem.output mismatch\");\n if (e.witness.some(hi) || (Gt.decompile(a) || []).some(hi))\n throw new TypeError(\"Witness contains uncompressed pubkey\");\n }\n }\n return Object.assign(s, e);\n}\neo.p2wsh = Kd;\nvar to = {}, Tr = {};\nObject.defineProperty(Tr, \"__esModule\", { value: !0 });\nTr.getEccLib = Tr.initEccLib = void 0;\nconst Vn = {};\nfunction Wd(e) {\n e ? e !== Vn.eccLib && (Gd(e), Vn.eccLib = e) : Vn.eccLib = e;\n}\nTr.initEccLib = Wd;\nfunction Vd() {\n if (!Vn.eccLib)\n throw new Error(\n \"No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance\"\n );\n return Vn.eccLib;\n}\nTr.getEccLib = Vd;\nconst Vt = (e) => I.from(e, \"hex\");\nfunction Gd(e) {\n pt(typeof e.isXOnlyPoint == \"function\"), pt(\n e.isXOnlyPoint(\n Vt(\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\")\n )\n ), pt(\n e.isXOnlyPoint(\n Vt(\"fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e\")\n )\n ), pt(\n e.isXOnlyPoint(\n Vt(\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\")\n )\n ), pt(\n e.isXOnlyPoint(\n Vt(\"0000000000000000000000000000000000000000000000000000000000000001\")\n )\n ), pt(\n !e.isXOnlyPoint(\n Vt(\"0000000000000000000000000000000000000000000000000000000000000000\")\n )\n ), pt(\n !e.isXOnlyPoint(\n Vt(\"fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f\")\n )\n ), pt(typeof e.xOnlyPointAddTweak == \"function\"), Xd.forEach((t) => {\n const r = e.xOnlyPointAddTweak(Vt(t.pubkey), Vt(t.tweak));\n t.result === null ? pt(r === null) : (pt(r !== null), pt(r.parity === t.parity), pt(I.from(r.xOnlyPubkey).equals(Vt(t.result))));\n });\n}\nfunction pt(e) {\n if (!e)\n throw new Error(\"ecc library invalid\");\n}\nconst Xd = [\n {\n pubkey: \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n tweak: \"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140\",\n parity: -1,\n result: null\n },\n {\n pubkey: \"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b\",\n tweak: \"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac\",\n parity: 1,\n result: \"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf\"\n },\n {\n pubkey: \"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991\",\n tweak: \"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47\",\n parity: 0,\n result: \"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c\"\n }\n];\nvar ro = {}, Ce = {}, es = { exports: {} };\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n(function(e, t) {\n var r = Gi, n = r.Buffer;\n function i(o, a) {\n for (var f in o)\n a[f] = o[f];\n }\n n.from && n.alloc && n.allocUnsafe && n.allocUnsafeSlow ? e.exports = r : (i(r, t), t.Buffer = s);\n function s(o, a, f) {\n return n(o, a, f);\n }\n s.prototype = Object.create(n.prototype), i(n, s), s.from = function(o, a, f) {\n if (typeof o == \"number\")\n throw new TypeError(\"Argument must not be a number\");\n return n(o, a, f);\n }, s.alloc = function(o, a, f) {\n if (typeof o != \"number\")\n throw new TypeError(\"Argument must be a number\");\n var h = n(o);\n return a !== void 0 ? typeof f == \"string\" ? h.fill(a, f) : h.fill(a) : h.fill(0), h;\n }, s.allocUnsafe = function(o) {\n if (typeof o != \"number\")\n throw new TypeError(\"Argument must be a number\");\n return n(o);\n }, s.allocUnsafeSlow = function(o) {\n if (typeof o != \"number\")\n throw new TypeError(\"Argument must be a number\");\n return r.SlowBuffer(o);\n };\n})(es, es.exports);\nvar qd = es.exports, ts = qd.Buffer, zd = 9007199254740991;\nfunction Ts(e) {\n if (e < 0 || e > zd || e % 1 !== 0)\n throw new RangeError(\"value out of range\");\n}\nfunction Mn(e, t, r) {\n if (Ts(e), t || (t = ts.allocUnsafe(Yu(e))), !ts.isBuffer(t))\n throw new TypeError(\"buffer must be a Buffer instance\");\n return r || (r = 0), e < 253 ? (t.writeUInt8(e, r), Mn.bytes = 1) : e <= 65535 ? (t.writeUInt8(253, r), t.writeUInt16LE(e, r + 1), Mn.bytes = 3) : e <= 4294967295 ? (t.writeUInt8(254, r), t.writeUInt32LE(e, r + 1), Mn.bytes = 5) : (t.writeUInt8(255, r), t.writeUInt32LE(e >>> 0, r + 1), t.writeUInt32LE(e / 4294967296 | 0, r + 5), Mn.bytes = 9), t;\n}\nfunction Dn(e, t) {\n if (!ts.isBuffer(e))\n throw new TypeError(\"buffer must be a Buffer instance\");\n t || (t = 0);\n var r = e.readUInt8(t);\n if (r < 253)\n return Dn.bytes = 1, r;\n if (r === 253)\n return Dn.bytes = 3, e.readUInt16LE(t + 1);\n if (r === 254)\n return Dn.bytes = 5, e.readUInt32LE(t + 1);\n Dn.bytes = 9;\n var n = e.readUInt32LE(t + 1), i = e.readUInt32LE(t + 5), s = i * 4294967296 + n;\n return Ts(s), s;\n}\nfunction Yu(e) {\n return Ts(e), e < 253 ? 1 : e <= 65535 ? 3 : e <= 4294967295 ? 5 : 9;\n}\nvar Yd = { encode: Mn, decode: Dn, encodingLength: Yu };\nObject.defineProperty(Ce, \"__esModule\", { value: !0 });\nCe.BufferReader = Ce.BufferWriter = Ce.cloneBuffer = Ce.reverseBuffer = Ce.writeUInt64LE = Ce.readUInt64LE = Ce.varuint = void 0;\nconst Ur = qe, { typeforce: Ju } = Ur, qn = Yd;\nCe.varuint = qn;\nfunction Qu(e, t) {\n if (typeof e != \"number\")\n throw new Error(\"cannot write a non-number as a number\");\n if (e < 0)\n throw new Error(\"specified a negative value for writing an unsigned value\");\n if (e > t)\n throw new Error(\"RangeError: value out of range\");\n if (Math.floor(e) !== e)\n throw new Error(\"value has a fractional component\");\n}\nfunction Zu(e, t) {\n const r = e.readUInt32LE(t);\n let n = e.readUInt32LE(t + 4);\n return n *= 4294967296, Qu(n + r, 9007199254740991), n + r;\n}\nCe.readUInt64LE = Zu;\nfunction ec(e, t, r) {\n return Qu(t, 9007199254740991), e.writeInt32LE(t & -1, r), e.writeUInt32LE(Math.floor(t / 4294967296), r + 4), r + 8;\n}\nCe.writeUInt64LE = ec;\nfunction Jd(e) {\n if (e.length < 1)\n return e;\n let t = e.length - 1, r = 0;\n for (let n = 0; n < e.length / 2; n++)\n r = e[n], e[n] = e[t], e[t] = r, t--;\n return e;\n}\nCe.reverseBuffer = Jd;\nfunction Qd(e) {\n const t = I.allocUnsafe(e.length);\n return e.copy(t), t;\n}\nCe.cloneBuffer = Qd;\nclass Is {\n static withCapacity(t) {\n return new Is(I.alloc(t));\n }\n constructor(t, r = 0) {\n this.buffer = t, this.offset = r, Ju(Ur.tuple(Ur.Buffer, Ur.UInt32), [t, r]);\n }\n writeUInt8(t) {\n this.offset = this.buffer.writeUInt8(t, this.offset);\n }\n writeInt32(t) {\n this.offset = this.buffer.writeInt32LE(t, this.offset);\n }\n writeUInt32(t) {\n this.offset = this.buffer.writeUInt32LE(t, this.offset);\n }\n writeUInt64(t) {\n this.offset = ec(this.buffer, t, this.offset);\n }\n writeVarInt(t) {\n qn.encode(t, this.buffer, this.offset), this.offset += qn.encode.bytes;\n }\n writeSlice(t) {\n if (this.buffer.length < this.offset + t.length)\n throw new Error(\"Cannot write slice out of bounds\");\n this.offset += t.copy(this.buffer, this.offset);\n }\n writeVarSlice(t) {\n this.writeVarInt(t.length), this.writeSlice(t);\n }\n writeVector(t) {\n this.writeVarInt(t.length), t.forEach((r) => this.writeVarSlice(r));\n }\n end() {\n if (this.buffer.length === this.offset)\n return this.buffer;\n throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`);\n }\n}\nCe.BufferWriter = Is;\nclass Zd {\n constructor(t, r = 0) {\n this.buffer = t, this.offset = r, Ju(Ur.tuple(Ur.Buffer, Ur.UInt32), [t, r]);\n }\n readUInt8() {\n const t = this.buffer.readUInt8(this.offset);\n return this.offset++, t;\n }\n readInt32() {\n const t = this.buffer.readInt32LE(this.offset);\n return this.offset += 4, t;\n }\n readUInt32() {\n const t = this.buffer.readUInt32LE(this.offset);\n return this.offset += 4, t;\n }\n readUInt64() {\n const t = Zu(this.buffer, this.offset);\n return this.offset += 8, t;\n }\n readVarInt() {\n const t = qn.decode(this.buffer, this.offset);\n return this.offset += qn.decode.bytes, t;\n }\n readSlice(t) {\n if (this.buffer.length < this.offset + t)\n throw new Error(\"Cannot read slice out of bounds\");\n const r = this.buffer.slice(this.offset, this.offset + t);\n return this.offset += t, r;\n }\n readVarSlice() {\n return this.readSlice(this.readVarInt());\n }\n readVector() {\n const t = this.readVarInt(), r = [];\n for (let n = 0; n < t; n++)\n r.push(this.readVarSlice());\n return r;\n }\n}\nCe.BufferReader = Zd;\n(function(e) {\n Object.defineProperty(e, \"__esModule\", { value: !0 }), e.tweakKey = e.tapTweakHash = e.tapleafHash = e.findScriptPath = e.toHashTree = e.rootHashFromPath = e.MAX_TAPTREE_DEPTH = e.LEAF_VERSION_TAPSCRIPT = void 0;\n const t = Gi, r = Tr, n = Ut, i = Ce, s = qe;\n e.LEAF_VERSION_TAPSCRIPT = 192, e.MAX_TAPTREE_DEPTH = 128;\n const o = (S) => \"left\" in S && \"right\" in S;\n function a(S, T) {\n if (S.length < 33)\n throw new TypeError(\n `The control-block length is too small. Got ${S.length}, expected min 33.`\n );\n const C = (S.length - 33) / 32;\n let O = T;\n for (let B = 0; B < C; B++) {\n const U = S.slice(33 + 32 * B, 65 + 32 * B);\n O.compare(U) < 0 ? O = y(O, U) : O = y(U, O);\n }\n return O;\n }\n e.rootHashFromPath = a;\n function f(S) {\n if ((0, s.isTapleaf)(S))\n return { hash: l(S) };\n const T = [f(S[0]), f(S[1])];\n T.sort((B, U) => B.hash.compare(U.hash));\n const [C, O] = T;\n return {\n hash: y(C.hash, O.hash),\n left: C,\n right: O\n };\n }\n e.toHashTree = f;\n function h(S, T) {\n if (o(S)) {\n const C = h(S.left, T);\n if (C !== void 0)\n return [...C, S.right.hash];\n const O = h(S.right, T);\n if (O !== void 0)\n return [...O, S.left.hash];\n } else if (S.hash.equals(T))\n return [];\n }\n e.findScriptPath = h;\n function l(S) {\n const T = S.version || e.LEAF_VERSION_TAPSCRIPT;\n return n.taggedHash(\n \"TapLeaf\",\n t.Buffer.concat([\n t.Buffer.from([T]),\n v(S.output)\n ])\n );\n }\n e.tapleafHash = l;\n function p(S, T) {\n return n.taggedHash(\n \"TapTweak\",\n t.Buffer.concat(T ? [S, T] : [S])\n );\n }\n e.tapTweakHash = p;\n function E(S, T) {\n if (!t.Buffer.isBuffer(S) || S.length !== 32 || T && T.length !== 32)\n return null;\n const C = p(S, T), O = (0, r.getEccLib)().xOnlyPointAddTweak(S, C);\n return !O || O.xOnlyPubkey === null ? null : {\n parity: O.parity,\n x: t.Buffer.from(O.xOnlyPubkey)\n };\n }\n e.tweakKey = E;\n function y(S, T) {\n return n.taggedHash(\"TapBranch\", t.Buffer.concat([S, T]));\n }\n function v(S) {\n const T = i.varuint.encodingLength(S.length), C = t.Buffer.allocUnsafe(T);\n return i.varuint.encode(S.length, C), t.Buffer.concat([C, S]);\n }\n})(ro);\nObject.defineProperty(to, \"__esModule\", { value: !0 });\nto.p2tr = void 0;\nconst di = Gi, ep = He, rs = ot, J = qe, _a = Tr, st = ro, gt = ht, pi = tr, Ta = rs.OPS, Ia = 1, tp = 80;\nfunction rp(e, t) {\n if (!e.address && !e.output && !e.pubkey && !e.internalPubkey && !(e.witness && e.witness.length > 1))\n throw new TypeError(\"Not enough data\");\n t = Object.assign({ validate: !0 }, t || {}), (0, J.typeforce)(\n {\n address: J.typeforce.maybe(J.typeforce.String),\n input: J.typeforce.maybe(J.typeforce.BufferN(0)),\n network: J.typeforce.maybe(J.typeforce.Object),\n output: J.typeforce.maybe(J.typeforce.BufferN(34)),\n internalPubkey: J.typeforce.maybe(J.typeforce.BufferN(32)),\n hash: J.typeforce.maybe(J.typeforce.BufferN(32)),\n pubkey: J.typeforce.maybe(J.typeforce.BufferN(32)),\n signature: J.typeforce.maybe(\n J.typeforce.anyOf(\n J.typeforce.BufferN(64),\n J.typeforce.BufferN(65)\n )\n ),\n witness: J.typeforce.maybe(\n J.typeforce.arrayOf(J.typeforce.Buffer)\n ),\n scriptTree: J.typeforce.maybe(J.isTaptree),\n redeem: J.typeforce.maybe({\n output: J.typeforce.maybe(J.typeforce.Buffer),\n redeemVersion: J.typeforce.maybe(J.typeforce.Number),\n witness: J.typeforce.maybe(\n J.typeforce.arrayOf(J.typeforce.Buffer)\n )\n }),\n redeemVersion: J.typeforce.maybe(J.typeforce.Number)\n },\n e\n );\n const r = gt.value(() => {\n const a = pi.bech32m.decode(e.address), f = a.words.shift(), h = pi.bech32m.fromWords(a.words);\n return {\n version: f,\n prefix: a.prefix,\n data: di.Buffer.from(h)\n };\n }), n = gt.value(() => {\n if (!(!e.witness || !e.witness.length))\n return e.witness.length >= 2 && e.witness[e.witness.length - 1][0] === tp ? e.witness.slice(0, -1) : e.witness.slice();\n }), i = gt.value(() => {\n if (e.scriptTree)\n return (0, st.toHashTree)(e.scriptTree);\n if (e.hash)\n return { hash: e.hash };\n }), s = e.network || ep.bitcoin, o = { name: \"p2tr\", network: s };\n if (gt.prop(o, \"address\", () => {\n if (!o.pubkey)\n return;\n const a = pi.bech32m.toWords(o.pubkey);\n return a.unshift(Ia), pi.bech32m.encode(s.bech32, a);\n }), gt.prop(o, \"hash\", () => {\n const a = i();\n if (a)\n return a.hash;\n const f = n();\n if (f && f.length > 1) {\n const h = f[f.length - 1], l = h[0] & J.TAPLEAF_VERSION_MASK, p = f[f.length - 2], E = (0, st.tapleafHash)({\n output: p,\n version: l\n });\n return (0, st.rootHashFromPath)(h, E);\n }\n return null;\n }), gt.prop(o, \"output\", () => {\n if (o.pubkey)\n return rs.compile([Ta.OP_1, o.pubkey]);\n }), gt.prop(o, \"redeemVersion\", () => e.redeemVersion ? e.redeemVersion : e.redeem && e.redeem.redeemVersion !== void 0 && e.redeem.redeemVersion !== null ? e.redeem.redeemVersion : st.LEAF_VERSION_TAPSCRIPT), gt.prop(o, \"redeem\", () => {\n const a = n();\n if (!(!a || a.length < 2))\n return {\n output: a[a.length - 2],\n witness: a.slice(0, -2),\n redeemVersion: a[a.length - 1][0] & J.TAPLEAF_VERSION_MASK\n };\n }), gt.prop(o, \"pubkey\", () => {\n if (e.pubkey)\n return e.pubkey;\n if (e.output)\n return e.output.slice(2);\n if (e.address)\n return r().data;\n if (o.internalPubkey) {\n const a = (0, st.tweakKey)(o.internalPubkey, o.hash);\n if (a)\n return a.x;\n }\n }), gt.prop(o, \"internalPubkey\", () => {\n if (e.internalPubkey)\n return e.internalPubkey;\n const a = n();\n if (a && a.length > 1)\n return a[a.length - 1].slice(1, 33);\n }), gt.prop(o, \"signature\", () => {\n if (e.signature)\n return e.signature;\n const a = n();\n if (!(!a || a.length !== 1))\n return a[0];\n }), gt.prop(o, \"witness\", () => {\n if (e.witness)\n return e.witness;\n const a = i();\n if (a && e.redeem && e.redeem.output && e.internalPubkey) {\n const f = (0, st.tapleafHash)({\n output: e.redeem.output,\n version: o.redeemVersion\n }), h = (0, st.findScriptPath)(a, f);\n if (!h)\n return;\n const l = (0, st.tweakKey)(e.internalPubkey, a.hash);\n if (!l)\n return;\n const p = di.Buffer.concat(\n [\n di.Buffer.from([o.redeemVersion | l.parity]),\n e.internalPubkey\n ].concat(h)\n );\n return [e.redeem.output, p];\n }\n if (e.signature)\n return [e.signature];\n }), t.validate) {\n let a = di.Buffer.from([]);\n if (e.address) {\n if (s && s.bech32 !== r().prefix)\n throw new TypeError(\"Invalid prefix or Network mismatch\");\n if (r().version !== Ia)\n throw new TypeError(\"Invalid address version\");\n if (r().data.length !== 32)\n throw new TypeError(\"Invalid address data\");\n a = r().data;\n }\n if (e.pubkey) {\n if (a.length > 0 && !a.equals(e.pubkey))\n throw new TypeError(\"Pubkey mismatch\");\n a = e.pubkey;\n }\n if (e.output) {\n if (e.output.length !== 34 || e.output[0] !== Ta.OP_1 || e.output[1] !== 32)\n throw new TypeError(\"Output is invalid\");\n if (a.length > 0 && !a.equals(e.output.slice(2)))\n throw new TypeError(\"Pubkey mismatch\");\n a = e.output.slice(2);\n }\n if (e.internalPubkey) {\n const l = (0, st.tweakKey)(e.internalPubkey, o.hash);\n if (a.length > 0 && !a.equals(l.x))\n throw new TypeError(\"Pubkey mismatch\");\n a = l.x;\n }\n if (a && a.length && !(0, _a.getEccLib)().isXOnlyPoint(a))\n throw new TypeError(\"Invalid pubkey for p2tr\");\n const f = i();\n if (e.hash && f && !e.hash.equals(f.hash))\n throw new TypeError(\"Hash mismatch\");\n if (e.redeem && e.redeem.output && f) {\n const l = (0, st.tapleafHash)({\n output: e.redeem.output,\n version: o.redeemVersion\n });\n if (!(0, st.findScriptPath)(f, l))\n throw new TypeError(\"Redeem script not in tree\");\n }\n const h = n();\n if (e.redeem && o.redeem) {\n if (e.redeem.redeemVersion && e.redeem.redeemVersion !== o.redeem.redeemVersion)\n throw new TypeError(\"Redeem.redeemVersion and witness mismatch\");\n if (e.redeem.output) {\n if (rs.decompile(e.redeem.output).length === 0)\n throw new TypeError(\"Redeem.output is invalid\");\n if (o.redeem.output && !e.redeem.output.equals(o.redeem.output))\n throw new TypeError(\"Redeem.output and witness mismatch\");\n }\n if (e.redeem.witness && o.redeem.witness && !np(e.redeem.witness, o.redeem.witness))\n throw new TypeError(\"Redeem.witness and witness mismatch\");\n }\n if (h && h.length)\n if (h.length === 1) {\n if (e.signature && !e.signature.equals(h[0]))\n throw new TypeError(\"Signature mismatch\");\n } else {\n const l = h[h.length - 1];\n if (l.length < 33)\n throw new TypeError(\n `The control-block length is too small. Got ${l.length}, expected min 33.`\n );\n if ((l.length - 33) % 32 !== 0)\n throw new TypeError(\n `The control-block length of ${l.length} is incorrect!`\n );\n const p = (l.length - 33) / 32;\n if (p > 128)\n throw new TypeError(\n `The script path is too long. Got ${p}, expected max 128.`\n );\n const E = l.slice(1, 33);\n if (e.internalPubkey && !e.internalPubkey.equals(E))\n throw new TypeError(\"Internal pubkey mismatch\");\n if (!(0, _a.getEccLib)().isXOnlyPoint(E))\n throw new TypeError(\"Invalid internalPubkey for p2tr witness\");\n const y = l[0] & J.TAPLEAF_VERSION_MASK, v = h[h.length - 2], S = (0, st.tapleafHash)({\n output: v,\n version: y\n }), T = (0, st.rootHashFromPath)(l, S), C = (0, st.tweakKey)(E, T);\n if (!C)\n throw new TypeError(\"Invalid outputKey for p2tr witness\");\n if (a.length && !a.equals(C.x))\n throw new TypeError(\"Pubkey mismatch for p2tr witness\");\n if (C.parity !== (l[0] & 1))\n throw new Error(\"Incorrect parity\");\n }\n }\n return Object.assign(o, e);\n}\nto.p2tr = rp;\nfunction np(e, t) {\n return e.length !== t.length ? !1 : e.every((r, n) => r.equals(t[n]));\n}\n(function(e) {\n Object.defineProperty(e, \"__esModule\", { value: !0 }), e.p2tr = e.p2wsh = e.p2wpkh = e.p2sh = e.p2pkh = e.p2pk = e.p2ms = e.embed = void 0;\n const t = Vi;\n Object.defineProperty(e, \"embed\", {\n enumerable: !0,\n get: function() {\n return t.p2data;\n }\n });\n const r = Xi;\n Object.defineProperty(e, \"p2ms\", {\n enumerable: !0,\n get: function() {\n return r.p2ms;\n }\n });\n const n = qi;\n Object.defineProperty(e, \"p2pk\", {\n enumerable: !0,\n get: function() {\n return n.p2pk;\n }\n });\n const i = zi;\n Object.defineProperty(e, \"p2pkh\", {\n enumerable: !0,\n get: function() {\n return i.p2pkh;\n }\n });\n const s = Qi;\n Object.defineProperty(e, \"p2sh\", {\n enumerable: !0,\n get: function() {\n return s.p2sh;\n }\n });\n const o = Zi;\n Object.defineProperty(e, \"p2wpkh\", {\n enumerable: !0,\n get: function() {\n return o.p2wpkh;\n }\n });\n const a = eo;\n Object.defineProperty(e, \"p2wsh\", {\n enumerable: !0,\n get: function() {\n return a.p2wsh;\n }\n });\n const f = to;\n Object.defineProperty(e, \"p2tr\", {\n enumerable: !0,\n get: function() {\n return f.p2tr;\n }\n });\n})(Tn);\nObject.defineProperty(rt, \"__esModule\", { value: !0 });\nrt.toOutputScript = rt.fromOutputScript = rt.toBech32 = rt.toBase58Check = rt.fromBech32 = rt.fromBase58Check = void 0;\nconst tc = He, Ft = Tn, rc = ot, gi = qe, yn = tr, nc = vs, ic = 40, oc = 2, sc = 16, ac = 2, uc = 80, cc = \"WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.\";\nfunction ip(e, t) {\n const r = e.slice(2);\n if (r.length < oc || r.length > ic)\n throw new TypeError(\"Invalid program length for segwit address\");\n const n = e[0] - uc;\n if (n < ac || n > sc)\n throw new TypeError(\"Invalid version for segwit address\");\n if (e[1] !== r.length)\n throw new TypeError(\"Invalid script for segwit address\");\n return console.warn(cc), hc(r, n, t.bech32);\n}\nfunction lc(e) {\n const t = I.from(nc.decode(e));\n if (t.length < 21)\n throw new TypeError(e + \" is too short\");\n if (t.length > 21)\n throw new TypeError(e + \" is too long\");\n const r = t.readUInt8(0), n = t.slice(1);\n return { version: r, hash: n };\n}\nrt.fromBase58Check = lc;\nfunction fc(e) {\n let t, r;\n try {\n t = yn.bech32.decode(e);\n } catch {\n }\n if (t) {\n if (r = t.words[0], r !== 0)\n throw new TypeError(e + \" uses wrong encoding\");\n } else if (t = yn.bech32m.decode(e), r = t.words[0], r === 0)\n throw new TypeError(e + \" uses wrong encoding\");\n const n = yn.bech32.fromWords(t.words.slice(1));\n return {\n version: r,\n prefix: t.prefix,\n data: I.from(n)\n };\n}\nrt.fromBech32 = fc;\nfunction op(e, t) {\n (0, gi.typeforce)(\n (0, gi.tuple)(gi.Hash160bit, gi.UInt8),\n arguments\n );\n const r = I.allocUnsafe(21);\n return r.writeUInt8(t, 0), e.copy(r, 1), nc.encode(r);\n}\nrt.toBase58Check = op;\nfunction hc(e, t, r) {\n const n = yn.bech32.toWords(e);\n return n.unshift(t), t === 0 ? yn.bech32.encode(r, n) : yn.bech32m.encode(r, n);\n}\nrt.toBech32 = hc;\nfunction sp(e, t) {\n t = t || tc.bitcoin;\n try {\n return Ft.p2pkh({ output: e, network: t }).address;\n } catch {\n }\n try {\n return Ft.p2sh({ output: e, network: t }).address;\n } catch {\n }\n try {\n return Ft.p2wpkh({ output: e, network: t }).address;\n } catch {\n }\n try {\n return Ft.p2wsh({ output: e, network: t }).address;\n } catch {\n }\n try {\n return Ft.p2tr({ output: e, network: t }).address;\n } catch {\n }\n try {\n return ip(e, t);\n } catch {\n }\n throw new Error(rc.toASM(e) + \" has no matching Address\");\n}\nrt.fromOutputScript = sp;\nfunction ap(e, t) {\n t = t || tc.bitcoin;\n let r, n;\n try {\n r = lc(e);\n } catch {\n }\n if (r) {\n if (r.version === t.pubKeyHash)\n return Ft.p2pkh({ hash: r.hash }).output;\n if (r.version === t.scriptHash)\n return Ft.p2sh({ hash: r.hash }).output;\n } else {\n try {\n n = fc(e);\n } catch {\n }\n if (n) {\n if (n.prefix !== t.bech32)\n throw new Error(e + \" has an invalid prefix\");\n if (n.version === 0) {\n if (n.data.length === 20)\n return Ft.p2wpkh({ hash: n.data }).output;\n if (n.data.length === 32)\n return Ft.p2wsh({ hash: n.data }).output;\n } else if (n.version === 1) {\n if (n.data.length === 32)\n return Ft.p2tr({ pubkey: n.data }).output;\n } else if (n.version >= ac && n.version <= sc && n.data.length >= oc && n.data.length <= ic)\n return console.warn(cc), rc.compile([\n n.version + uc,\n n.data\n ]);\n }\n }\n throw new Error(e + \" has no matching Script\");\n}\nrt.toOutputScript = ap;\nvar no = {}, io = {};\nObject.defineProperty(io, \"__esModule\", { value: !0 });\nio.fastMerkleRoot = void 0;\nfunction up(e, t) {\n if (!Array.isArray(e))\n throw TypeError(\"Expected values Array\");\n if (typeof t != \"function\")\n throw TypeError(\"Expected digest Function\");\n let r = e.length;\n const n = e.concat();\n for (; r > 1; ) {\n let i = 0;\n for (let s = 0; s < r; s += 2, ++i) {\n const o = n[s], a = s + 1 === r ? o : n[s + 1], f = I.concat([o, a]);\n n[i] = t(f);\n }\n r = i;\n }\n return n[0];\n}\nio.fastMerkleRoot = up;\nvar Or = {};\nObject.defineProperty(Or, \"__esModule\", { value: !0 });\nOr.Transaction = void 0;\nconst Pe = Ce, Ze = Ut, Pa = ot, cp = ot, ne = qe, { typeforce: Ot } = ne;\nfunction At(e) {\n const t = e.length;\n return Pe.varuint.encodingLength(t) + t;\n}\nfunction lp(e) {\n const t = e.length;\n return Pe.varuint.encodingLength(t) + e.reduce((r, n) => r + At(n), 0);\n}\nconst gr = I.allocUnsafe(0), Oa = [], xo = I.from(\n \"0000000000000000000000000000000000000000000000000000000000000000\",\n \"hex\"\n), ka = I.from(\n \"0000000000000000000000000000000000000000000000000000000000000001\",\n \"hex\"\n), fp = I.from(\"ffffffffffffffff\", \"hex\"), hp = {\n script: gr,\n valueBuffer: fp\n};\nfunction dp(e) {\n return e.value !== void 0;\n}\nclass z {\n constructor() {\n this.version = 1, this.locktime = 0, this.ins = [], this.outs = [];\n }\n static fromBuffer(t, r) {\n const n = new Pe.BufferReader(t), i = new z();\n i.version = n.readInt32();\n const s = n.readUInt8(), o = n.readUInt8();\n let a = !1;\n s === z.ADVANCED_TRANSACTION_MARKER && o === z.ADVANCED_TRANSACTION_FLAG ? a = !0 : n.offset -= 2;\n const f = n.readVarInt();\n for (let l = 0; l < f; ++l)\n i.ins.push({\n hash: n.readSlice(32),\n index: n.readUInt32(),\n script: n.readVarSlice(),\n sequence: n.readUInt32(),\n witness: Oa\n });\n const h = n.readVarInt();\n for (let l = 0; l < h; ++l)\n i.outs.push({\n value: n.readUInt64(),\n script: n.readVarSlice()\n });\n if (a) {\n for (let l = 0; l < f; ++l)\n i.ins[l].witness = n.readVector();\n if (!i.hasWitnesses())\n throw new Error(\"Transaction has superfluous witness data\");\n }\n if (i.locktime = n.readUInt32(), r)\n return i;\n if (n.offset !== t.length)\n throw new Error(\"Transaction has unexpected data\");\n return i;\n }\n static fromHex(t) {\n return z.fromBuffer(I.from(t, \"hex\"), !1);\n }\n static isCoinbaseHash(t) {\n Ot(ne.Hash256bit, t);\n for (let r = 0; r < 32; ++r)\n if (t[r] !== 0)\n return !1;\n return !0;\n }\n isCoinbase() {\n return this.ins.length === 1 && z.isCoinbaseHash(this.ins[0].hash);\n }\n addInput(t, r, n, i) {\n return Ot(\n ne.tuple(\n ne.Hash256bit,\n ne.UInt32,\n ne.maybe(ne.UInt32),\n ne.maybe(ne.Buffer)\n ),\n arguments\n ), ne.Null(n) && (n = z.DEFAULT_SEQUENCE), this.ins.push({\n hash: t,\n index: r,\n script: i || gr,\n sequence: n,\n witness: Oa\n }) - 1;\n }\n addOutput(t, r) {\n return Ot(ne.tuple(ne.Buffer, ne.Satoshi), arguments), this.outs.push({\n script: t,\n value: r\n }) - 1;\n }\n hasWitnesses() {\n return this.ins.some((t) => t.witness.length !== 0);\n }\n weight() {\n const t = this.byteLength(!1), r = this.byteLength(!0);\n return t * 3 + r;\n }\n virtualSize() {\n return Math.ceil(this.weight() / 4);\n }\n byteLength(t = !0) {\n const r = t && this.hasWitnesses();\n return (r ? 10 : 8) + Pe.varuint.encodingLength(this.ins.length) + Pe.varuint.encodingLength(this.outs.length) + this.ins.reduce((n, i) => n + 40 + At(i.script), 0) + this.outs.reduce((n, i) => n + 8 + At(i.script), 0) + (r ? this.ins.reduce((n, i) => n + lp(i.witness), 0) : 0);\n }\n clone() {\n const t = new z();\n return t.version = this.version, t.locktime = this.locktime, t.ins = this.ins.map((r) => ({\n hash: r.hash,\n index: r.index,\n script: r.script,\n sequence: r.sequence,\n witness: r.witness\n })), t.outs = this.outs.map((r) => ({\n script: r.script,\n value: r.value\n })), t;\n }\n /**\n * Hash transaction for signing a specific input.\n *\n * Bitcoin uses a different hash for each signed transaction input.\n * This method copies the transaction, makes the necessary changes based on the\n * hashType, and then hashes the result.\n * This hash can then be used to sign the provided transaction input.\n */\n hashForSignature(t, r, n) {\n if (Ot(\n ne.tuple(\n ne.UInt32,\n ne.Buffer,\n /* types.UInt8 */\n ne.Number\n ),\n arguments\n ), t >= this.ins.length)\n return ka;\n const i = Pa.compile(\n Pa.decompile(r).filter((a) => a !== cp.OPS.OP_CODESEPARATOR)\n ), s = this.clone();\n if ((n & 31) === z.SIGHASH_NONE)\n s.outs = [], s.ins.forEach((a, f) => {\n f !== t && (a.sequence = 0);\n });\n else if ((n & 31) === z.SIGHASH_SINGLE) {\n if (t >= this.outs.length)\n return ka;\n s.outs.length = t + 1;\n for (let a = 0; a < t; a++)\n s.outs[a] = hp;\n s.ins.forEach((a, f) => {\n f !== t && (a.sequence = 0);\n });\n }\n n & z.SIGHASH_ANYONECANPAY ? (s.ins = [s.ins[t]], s.ins[0].script = i) : (s.ins.forEach((a) => {\n a.script = gr;\n }), s.ins[t].script = i);\n const o = I.allocUnsafe(s.byteLength(!1) + 4);\n return o.writeInt32LE(n, o.length - 4), s.__toBuffer(o, 0, !1), Ze.hash256(o);\n }\n hashForWitnessV1(t, r, n, i, s, o) {\n if (Ot(\n ne.tuple(\n ne.UInt32,\n Ot.arrayOf(ne.Buffer),\n Ot.arrayOf(ne.Satoshi),\n ne.UInt32\n ),\n arguments\n ), n.length !== this.ins.length || r.length !== this.ins.length)\n throw new Error(\"Must supply prevout script and value for all inputs\");\n const a = i === z.SIGHASH_DEFAULT ? z.SIGHASH_ALL : i & z.SIGHASH_OUTPUT_MASK, h = (i & z.SIGHASH_INPUT_MASK) === z.SIGHASH_ANYONECANPAY, l = a === z.SIGHASH_NONE, p = a === z.SIGHASH_SINGLE;\n let E = gr, y = gr, v = gr, S = gr, T = gr;\n if (!h) {\n let U = Pe.BufferWriter.withCapacity(\n 36 * this.ins.length\n );\n this.ins.forEach((R) => {\n U.writeSlice(R.hash), U.writeUInt32(R.index);\n }), E = Ze.sha256(U.end()), U = Pe.BufferWriter.withCapacity(\n 8 * this.ins.length\n ), n.forEach((R) => U.writeUInt64(R)), y = Ze.sha256(U.end()), U = Pe.BufferWriter.withCapacity(\n r.map(At).reduce((R, k) => R + k)\n ), r.forEach(\n (R) => U.writeVarSlice(R)\n ), v = Ze.sha256(U.end()), U = Pe.BufferWriter.withCapacity(\n 4 * this.ins.length\n ), this.ins.forEach((R) => U.writeUInt32(R.sequence)), S = Ze.sha256(U.end());\n }\n if (l || p) {\n if (p && t < this.outs.length) {\n const U = this.outs[t], R = Pe.BufferWriter.withCapacity(\n 8 + At(U.script)\n );\n R.writeUInt64(U.value), R.writeVarSlice(U.script), T = Ze.sha256(R.end());\n }\n } else {\n const U = this.outs.map((k) => 8 + At(k.script)).reduce((k, j) => k + j), R = Pe.BufferWriter.withCapacity(U);\n this.outs.forEach((k) => {\n R.writeUInt64(k.value), R.writeVarSlice(k.script);\n }), T = Ze.sha256(R.end());\n }\n const C = (s ? 2 : 0) + (o ? 1 : 0), O = 174 - (h ? 49 : 0) - (l ? 32 : 0) + (o ? 32 : 0) + (s ? 37 : 0), B = Pe.BufferWriter.withCapacity(O);\n if (B.writeUInt8(i), B.writeInt32(this.version), B.writeUInt32(this.locktime), B.writeSlice(E), B.writeSlice(y), B.writeSlice(v), B.writeSlice(S), l || p || B.writeSlice(T), B.writeUInt8(C), h) {\n const U = this.ins[t];\n B.writeSlice(U.hash), B.writeUInt32(U.index), B.writeUInt64(n[t]), B.writeVarSlice(r[t]), B.writeUInt32(U.sequence);\n } else\n B.writeUInt32(t);\n if (o) {\n const U = Pe.BufferWriter.withCapacity(\n At(o)\n );\n U.writeVarSlice(o), B.writeSlice(Ze.sha256(U.end()));\n }\n return p && B.writeSlice(T), s && (B.writeSlice(s), B.writeUInt8(0), B.writeUInt32(4294967295)), Ze.taggedHash(\n \"TapSighash\",\n I.concat([I.from([0]), B.end()])\n );\n }\n hashForWitnessV0(t, r, n, i) {\n Ot(\n ne.tuple(ne.UInt32, ne.Buffer, ne.Satoshi, ne.UInt32),\n arguments\n );\n let s = I.from([]), o, a = xo, f = xo, h = xo;\n if (i & z.SIGHASH_ANYONECANPAY || (s = I.allocUnsafe(36 * this.ins.length), o = new Pe.BufferWriter(s, 0), this.ins.forEach((p) => {\n o.writeSlice(p.hash), o.writeUInt32(p.index);\n }), f = Ze.hash256(s)), !(i & z.SIGHASH_ANYONECANPAY) && (i & 31) !== z.SIGHASH_SINGLE && (i & 31) !== z.SIGHASH_NONE && (s = I.allocUnsafe(4 * this.ins.length), o = new Pe.BufferWriter(s, 0), this.ins.forEach((p) => {\n o.writeUInt32(p.sequence);\n }), h = Ze.hash256(s)), (i & 31) !== z.SIGHASH_SINGLE && (i & 31) !== z.SIGHASH_NONE) {\n const p = this.outs.reduce((E, y) => E + 8 + At(y.script), 0);\n s = I.allocUnsafe(p), o = new Pe.BufferWriter(s, 0), this.outs.forEach((E) => {\n o.writeUInt64(E.value), o.writeVarSlice(E.script);\n }), a = Ze.hash256(s);\n } else if ((i & 31) === z.SIGHASH_SINGLE && t < this.outs.length) {\n const p = this.outs[t];\n s = I.allocUnsafe(8 + At(p.script)), o = new Pe.BufferWriter(s, 0), o.writeUInt64(p.value), o.writeVarSlice(p.script), a = Ze.hash256(s);\n }\n s = I.allocUnsafe(156 + At(r)), o = new Pe.BufferWriter(s, 0);\n const l = this.ins[t];\n return o.writeInt32(this.version), o.writeSlice(f), o.writeSlice(h), o.writeSlice(l.hash), o.writeUInt32(l.index), o.writeVarSlice(r), o.writeUInt64(n), o.writeUInt32(l.sequence), o.writeSlice(a), o.writeUInt32(this.locktime), o.writeUInt32(i), Ze.hash256(s);\n }\n getHash(t) {\n return t && this.isCoinbase() ? I.alloc(32, 0) : Ze.hash256(this.__toBuffer(void 0, void 0, t));\n }\n getId() {\n return (0, Pe.reverseBuffer)(this.getHash(!1)).toString(\n \"hex\"\n );\n }\n toBuffer(t, r) {\n return this.__toBuffer(t, r, !0);\n }\n toHex() {\n return this.toBuffer(void 0, void 0).toString(\"hex\");\n }\n setInputScript(t, r) {\n Ot(ne.tuple(ne.Number, ne.Buffer), arguments), this.ins[t].script = r;\n }\n setWitness(t, r) {\n Ot(ne.tuple(ne.Number, [ne.Buffer]), arguments), this.ins[t].witness = r;\n }\n __toBuffer(t, r, n = !1) {\n t || (t = I.allocUnsafe(this.byteLength(n)));\n const i = new Pe.BufferWriter(\n t,\n r || 0\n );\n i.writeInt32(this.version);\n const s = n && this.hasWitnesses();\n return s && (i.writeUInt8(z.ADVANCED_TRANSACTION_MARKER), i.writeUInt8(z.ADVANCED_TRANSACTION_FLAG)), i.writeVarInt(this.ins.length), this.ins.forEach((o) => {\n i.writeSlice(o.hash), i.writeUInt32(o.index), i.writeVarSlice(o.script), i.writeUInt32(o.sequence);\n }), i.writeVarInt(this.outs.length), this.outs.forEach((o) => {\n dp(o) ? i.writeUInt64(o.value) : i.writeSlice(o.valueBuffer), i.writeVarSlice(o.script);\n }), s && this.ins.forEach((o) => {\n i.writeVector(o.witness);\n }), i.writeUInt32(this.locktime), r !== void 0 ? t.slice(r, i.offset) : t;\n }\n}\nOr.Transaction = z;\nz.DEFAULT_SEQUENCE = 4294967295;\nz.SIGHASH_DEFAULT = 0;\nz.SIGHASH_ALL = 1;\nz.SIGHASH_NONE = 2;\nz.SIGHASH_SINGLE = 3;\nz.SIGHASH_ANYONECANPAY = 128;\nz.SIGHASH_OUTPUT_MASK = 3;\nz.SIGHASH_INPUT_MASK = 128;\nz.ADVANCED_TRANSACTION_MARKER = 0;\nz.ADVANCED_TRANSACTION_FLAG = 1;\nObject.defineProperty(no, \"__esModule\", { value: !0 });\nno.Block = void 0;\nconst xr = Ce, Co = Ut, pp = io, gp = Or, dc = qe, { typeforce: yp } = dc, Bo = new TypeError(\n \"Cannot compute merkle root for zero transactions\"\n), Aa = new TypeError(\n \"Cannot compute witness commit for non-segwit block\"\n);\nclass Cr {\n constructor() {\n this.version = 1, this.prevHash = void 0, this.merkleRoot = void 0, this.timestamp = 0, this.witnessCommit = void 0, this.bits = 0, this.nonce = 0, this.transactions = void 0;\n }\n static fromBuffer(t) {\n if (t.length < 80)\n throw new Error(\"Buffer too small (< 80 bytes)\");\n const r = new xr.BufferReader(t), n = new Cr();\n if (n.version = r.readInt32(), n.prevHash = r.readSlice(32), n.merkleRoot = r.readSlice(32), n.timestamp = r.readUInt32(), n.bits = r.readUInt32(), n.nonce = r.readUInt32(), t.length === 80)\n return n;\n const i = () => {\n const a = gp.Transaction.fromBuffer(\n r.buffer.slice(r.offset),\n !0\n );\n return r.offset += a.byteLength(), a;\n }, s = r.readVarInt();\n n.transactions = [];\n for (let a = 0; a < s; ++a) {\n const f = i();\n n.transactions.push(f);\n }\n const o = n.getWitnessCommit();\n return o && (n.witnessCommit = o), n;\n }\n static fromHex(t) {\n return Cr.fromBuffer(I.from(t, \"hex\"));\n }\n static calculateTarget(t) {\n const r = ((t & 4278190080) >> 24) - 3, n = t & 8388607, i = I.alloc(32, 0);\n return i.writeUIntBE(n, 29 - r, 3), i;\n }\n static calculateMerkleRoot(t, r) {\n if (yp([{ getHash: dc.Function }], t), t.length === 0)\n throw Bo;\n if (r && !xa(t))\n throw Aa;\n const n = t.map(\n (s) => s.getHash(r)\n ), i = (0, pp.fastMerkleRoot)(n, Co.hash256);\n return r ? Co.hash256(\n I.concat([i, t[0].ins[0].witness[0]])\n ) : i;\n }\n getWitnessCommit() {\n if (!xa(this.transactions))\n return null;\n const t = this.transactions[0].outs.filter(\n (n) => n.script.slice(0, 6).equals(I.from(\"6a24aa21a9ed\", \"hex\"))\n ).map((n) => n.script.slice(6, 38));\n if (t.length === 0)\n return null;\n const r = t[t.length - 1];\n return r instanceof I && r.length === 32 ? r : null;\n }\n hasWitnessCommit() {\n return this.witnessCommit instanceof I && this.witnessCommit.length === 32 || this.getWitnessCommit() !== null;\n }\n hasWitness() {\n return mp(this.transactions);\n }\n weight() {\n const t = this.byteLength(!1, !1), r = this.byteLength(!1, !0);\n return t * 3 + r;\n }\n byteLength(t, r = !0) {\n return t || !this.transactions ? 80 : 80 + xr.varuint.encodingLength(this.transactions.length) + this.transactions.reduce((n, i) => n + i.byteLength(r), 0);\n }\n getHash() {\n return Co.hash256(this.toBuffer(!0));\n }\n getId() {\n return (0, xr.reverseBuffer)(this.getHash()).toString(\"hex\");\n }\n getUTCDate() {\n const t = /* @__PURE__ */ new Date(0);\n return t.setUTCSeconds(this.timestamp), t;\n }\n // TODO: buffer, offset compatibility\n toBuffer(t) {\n const r = I.allocUnsafe(this.byteLength(t)), n = new xr.BufferWriter(r);\n return n.writeInt32(this.version), n.writeSlice(this.prevHash), n.writeSlice(this.merkleRoot), n.writeUInt32(this.timestamp), n.writeUInt32(this.bits), n.writeUInt32(this.nonce), t || !this.transactions || (xr.varuint.encode(\n this.transactions.length,\n r,\n n.offset\n ), n.offset += xr.varuint.encode.bytes, this.transactions.forEach((i) => {\n const s = i.byteLength();\n i.toBuffer(r, n.offset), n.offset += s;\n })), r;\n }\n toHex(t) {\n return this.toBuffer(t).toString(\"hex\");\n }\n checkTxRoots() {\n const t = this.hasWitnessCommit();\n return !t && this.hasWitness() ? !1 : this.__checkMerkleRoot() && (t ? this.__checkWitnessCommit() : !0);\n }\n checkProofOfWork() {\n const t = (0, xr.reverseBuffer)(this.getHash()), r = Cr.calculateTarget(this.bits);\n return t.compare(r) <= 0;\n }\n __checkMerkleRoot() {\n if (!this.transactions)\n throw Bo;\n const t = Cr.calculateMerkleRoot(this.transactions);\n return this.merkleRoot.compare(t) === 0;\n }\n __checkWitnessCommit() {\n if (!this.transactions)\n throw Bo;\n if (!this.hasWitnessCommit())\n throw Aa;\n const t = Cr.calculateMerkleRoot(\n this.transactions,\n !0\n );\n return this.witnessCommit.compare(t) === 0;\n }\n}\nno.Block = Cr;\nfunction xa(e) {\n return e instanceof Array && e[0] && e[0].ins && e[0].ins instanceof Array && e[0].ins[0] && e[0].ins[0].witness && e[0].ins[0].witness instanceof Array && e[0].ins[0].witness.length > 0;\n}\nfunction mp(e) {\n return e instanceof Array && e.some(\n (t) => typeof t == \"object\" && t.ins instanceof Array && t.ins.some(\n (r) => typeof r == \"object\" && r.witness instanceof Array && r.witness.length > 0\n )\n );\n}\nvar oo = {}, Ps = {}, Os = {}, ks = {}, ei = {}, Lr = {}, $e = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", { value: !0 }), function(t) {\n t[t.UNSIGNED_TX = 0] = \"UNSIGNED_TX\", t[t.GLOBAL_XPUB = 1] = \"GLOBAL_XPUB\";\n }(e.GlobalTypes || (e.GlobalTypes = {})), e.GLOBAL_TYPE_NAMES = [\"unsignedTx\", \"globalXpub\"], function(t) {\n t[t.NON_WITNESS_UTXO = 0] = \"NON_WITNESS_UTXO\", t[t.WITNESS_UTXO = 1] = \"WITNESS_UTXO\", t[t.PARTIAL_SIG = 2] = \"PARTIAL_SIG\", t[t.SIGHASH_TYPE = 3] = \"SIGHASH_TYPE\", t[t.REDEEM_SCRIPT = 4] = \"REDEEM_SCRIPT\", t[t.WITNESS_SCRIPT = 5] = \"WITNESS_SCRIPT\", t[t.BIP32_DERIVATION = 6] = \"BIP32_DERIVATION\", t[t.FINAL_SCRIPTSIG = 7] = \"FINAL_SCRIPTSIG\", t[t.FINAL_SCRIPTWITNESS = 8] = \"FINAL_SCRIPTWITNESS\", t[t.POR_COMMITMENT = 9] = \"POR_COMMITMENT\", t[t.TAP_KEY_SIG = 19] = \"TAP_KEY_SIG\", t[t.TAP_SCRIPT_SIG = 20] = \"TAP_SCRIPT_SIG\", t[t.TAP_LEAF_SCRIPT = 21] = \"TAP_LEAF_SCRIPT\", t[t.TAP_BIP32_DERIVATION = 22] = \"TAP_BIP32_DERIVATION\", t[t.TAP_INTERNAL_KEY = 23] = \"TAP_INTERNAL_KEY\", t[t.TAP_MERKLE_ROOT = 24] = \"TAP_MERKLE_ROOT\";\n }(e.InputTypes || (e.InputTypes = {})), e.INPUT_TYPE_NAMES = [\n \"nonWitnessUtxo\",\n \"witnessUtxo\",\n \"partialSig\",\n \"sighashType\",\n \"redeemScript\",\n \"witnessScript\",\n \"bip32Derivation\",\n \"finalScriptSig\",\n \"finalScriptWitness\",\n \"porCommitment\",\n \"tapKeySig\",\n \"tapScriptSig\",\n \"tapLeafScript\",\n \"tapBip32Derivation\",\n \"tapInternalKey\",\n \"tapMerkleRoot\"\n ], function(t) {\n t[t.REDEEM_SCRIPT = 0] = \"REDEEM_SCRIPT\", t[t.WITNESS_SCRIPT = 1] = \"WITNESS_SCRIPT\", t[t.BIP32_DERIVATION = 2] = \"BIP32_DERIVATION\", t[t.TAP_INTERNAL_KEY = 5] = \"TAP_INTERNAL_KEY\", t[t.TAP_TREE = 6] = \"TAP_TREE\", t[t.TAP_BIP32_DERIVATION = 7] = \"TAP_BIP32_DERIVATION\";\n }(e.OutputTypes || (e.OutputTypes = {})), e.OUTPUT_TYPE_NAMES = [\n \"redeemScript\",\n \"witnessScript\",\n \"bip32Derivation\",\n \"tapInternalKey\",\n \"tapTree\",\n \"tapBip32Derivation\"\n ];\n})($e);\nvar Hr = {};\nObject.defineProperty(Hr, \"__esModule\", { value: !0 });\nconst pc = $e, wp = (e) => [...Array(e).keys()];\nfunction Ep(e) {\n if (e.key[0] !== pc.GlobalTypes.GLOBAL_XPUB)\n throw new Error(\n \"Decode Error: could not decode globalXpub with key 0x\" + e.key.toString(\"hex\")\n );\n if (e.key.length !== 79 || ![2, 3].includes(e.key[46]))\n throw new Error(\n \"Decode Error: globalXpub has invalid extended pubkey in key 0x\" + e.key.toString(\"hex\")\n );\n if (e.value.length / 4 % 1 !== 0)\n throw new Error(\n \"Decode Error: Global GLOBAL_XPUB value length should be multiple of 4\"\n );\n const t = e.key.slice(1), r = {\n masterFingerprint: e.value.slice(0, 4),\n extendedPubkey: t,\n path: \"m\"\n };\n for (const n of wp(e.value.length / 4 - 1)) {\n const i = e.value.readUInt32LE(n * 4 + 4), s = !!(i & 2147483648), o = i & 2147483647;\n r.path += \"/\" + o.toString(10) + (s ? \"'\" : \"\");\n }\n return r;\n}\nHr.decode = Ep;\nfunction bp(e) {\n const t = I.from([pc.GlobalTypes.GLOBAL_XPUB]), r = I.concat([t, e.extendedPubkey]), n = e.path.split(\"/\"), i = I.allocUnsafe(n.length * 4);\n e.masterFingerprint.copy(i, 0);\n let s = 4;\n return n.slice(1).forEach((o) => {\n const a = o.slice(-1) === \"'\";\n let f = 2147483647 & parseInt(a ? o.slice(0, -1) : o, 10);\n a && (f += 2147483648), i.writeUInt32LE(f, s), s += 4;\n }), {\n key: r,\n value: i\n };\n}\nHr.encode = bp;\nHr.expected = \"{ masterFingerprint: Buffer; extendedPubkey: Buffer; path: string; }\";\nfunction Sp(e) {\n const t = e.extendedPubkey, r = e.masterFingerprint, n = e.path;\n return I.isBuffer(t) && t.length === 78 && [2, 3].indexOf(t[45]) > -1 && I.isBuffer(r) && r.length === 4 && typeof n == \"string\" && !!n.match(/^m(\\/\\d+'?)*$/);\n}\nHr.check = Sp;\nfunction vp(e, t, r) {\n const n = t.extendedPubkey.toString(\"hex\");\n return r.has(n) ? !1 : (r.add(n), e.filter((i) => i.extendedPubkey.equals(t.extendedPubkey)).length === 0);\n}\nHr.canAddToArray = vp;\nvar As = {};\nObject.defineProperty(As, \"__esModule\", { value: !0 });\nconst _p = $e;\nfunction Tp(e) {\n return {\n key: I.from([_p.GlobalTypes.UNSIGNED_TX]),\n value: e.toBuffer()\n };\n}\nAs.encode = Tp;\nvar $r = {};\nObject.defineProperty($r, \"__esModule\", { value: !0 });\nconst gc = $e;\nfunction Ip(e) {\n if (e.key[0] !== gc.InputTypes.FINAL_SCRIPTSIG)\n throw new Error(\n \"Decode Error: could not decode finalScriptSig with key 0x\" + e.key.toString(\"hex\")\n );\n return e.value;\n}\n$r.decode = Ip;\nfunction Pp(e) {\n return {\n key: I.from([gc.InputTypes.FINAL_SCRIPTSIG]),\n value: e\n };\n}\n$r.encode = Pp;\n$r.expected = \"Buffer\";\nfunction Op(e) {\n return I.isBuffer(e);\n}\n$r.check = Op;\nfunction kp(e, t) {\n return !!e && !!t && e.finalScriptSig === void 0;\n}\n$r.canAdd = kp;\nvar Mr = {};\nObject.defineProperty(Mr, \"__esModule\", { value: !0 });\nconst yc = $e;\nfunction Ap(e) {\n if (e.key[0] !== yc.InputTypes.FINAL_SCRIPTWITNESS)\n throw new Error(\n \"Decode Error: could not decode finalScriptWitness with key 0x\" + e.key.toString(\"hex\")\n );\n return e.value;\n}\nMr.decode = Ap;\nfunction xp(e) {\n return {\n key: I.from([yc.InputTypes.FINAL_SCRIPTWITNESS]),\n value: e\n };\n}\nMr.encode = xp;\nMr.expected = \"Buffer\";\nfunction Cp(e) {\n return I.isBuffer(e);\n}\nMr.check = Cp;\nfunction Bp(e, t) {\n return !!e && !!t && e.finalScriptWitness === void 0;\n}\nMr.canAdd = Bp;\nvar Dr = {};\nObject.defineProperty(Dr, \"__esModule\", { value: !0 });\nconst mc = $e;\nfunction Np(e) {\n if (e.key[0] !== mc.InputTypes.NON_WITNESS_UTXO)\n throw new Error(\n \"Decode Error: could not decode nonWitnessUtxo with key 0x\" + e.key.toString(\"hex\")\n );\n return e.value;\n}\nDr.decode = Np;\nfunction Fp(e) {\n return {\n key: I.from([mc.InputTypes.NON_WITNESS_UTXO]),\n value: e\n };\n}\nDr.encode = Fp;\nDr.expected = \"Buffer\";\nfunction Up(e) {\n return I.isBuffer(e);\n}\nDr.check = Up;\nfunction Rp(e, t) {\n return !!e && !!t && e.nonWitnessUtxo === void 0;\n}\nDr.canAdd = Rp;\nvar jr = {};\nObject.defineProperty(jr, \"__esModule\", { value: !0 });\nconst wc = $e;\nfunction Lp(e) {\n if (e.key[0] !== wc.InputTypes.PARTIAL_SIG)\n throw new Error(\n \"Decode Error: could not decode partialSig with key 0x\" + e.key.toString(\"hex\")\n );\n if (!(e.key.length === 34 || e.key.length === 66) || ![2, 3, 4].includes(e.key[1]))\n throw new Error(\n \"Decode Error: partialSig has invalid pubkey in key 0x\" + e.key.toString(\"hex\")\n );\n return {\n pubkey: e.key.slice(1),\n signature: e.value\n };\n}\njr.decode = Lp;\nfunction Hp(e) {\n const t = I.from([wc.InputTypes.PARTIAL_SIG]);\n return {\n key: I.concat([t, e.pubkey]),\n value: e.signature\n };\n}\njr.encode = Hp;\njr.expected = \"{ pubkey: Buffer; signature: Buffer; }\";\nfunction $p(e) {\n return I.isBuffer(e.pubkey) && I.isBuffer(e.signature) && [33, 65].includes(e.pubkey.length) && [2, 3, 4].includes(e.pubkey[0]) && Mp(e.signature);\n}\njr.check = $p;\nfunction Mp(e) {\n if (!I.isBuffer(e) || e.length < 9 || e[0] !== 48 || e.length !== e[1] + 3 || e[2] !== 2)\n return !1;\n const t = e[3];\n if (t > 33 || t < 1 || e[3 + t + 1] !== 2)\n return !1;\n const r = e[3 + t + 2];\n return !(r > 33 || r < 1 || e.length !== 3 + t + 2 + r + 2);\n}\nfunction Dp(e, t, r) {\n const n = t.pubkey.toString(\"hex\");\n return r.has(n) ? !1 : (r.add(n), e.filter((i) => i.pubkey.equals(t.pubkey)).length === 0);\n}\njr.canAddToArray = Dp;\nvar Kr = {};\nObject.defineProperty(Kr, \"__esModule\", { value: !0 });\nconst Ec = $e;\nfunction jp(e) {\n if (e.key[0] !== Ec.InputTypes.POR_COMMITMENT)\n throw new Error(\n \"Decode Error: could not decode porCommitment with key 0x\" + e.key.toString(\"hex\")\n );\n return e.value.toString(\"utf8\");\n}\nKr.decode = jp;\nfunction Kp(e) {\n return {\n key: I.from([Ec.InputTypes.POR_COMMITMENT]),\n value: I.from(e, \"utf8\")\n };\n}\nKr.encode = Kp;\nKr.expected = \"string\";\nfunction Wp(e) {\n return typeof e == \"string\";\n}\nKr.check = Wp;\nfunction Vp(e, t) {\n return !!e && !!t && e.porCommitment === void 0;\n}\nKr.canAdd = Vp;\nvar Wr = {};\nObject.defineProperty(Wr, \"__esModule\", { value: !0 });\nconst bc = $e;\nfunction Gp(e) {\n if (e.key[0] !== bc.InputTypes.SIGHASH_TYPE)\n throw new Error(\n \"Decode Error: could not decode sighashType with key 0x\" + e.key.toString(\"hex\")\n );\n return e.value.readUInt32LE(0);\n}\nWr.decode = Gp;\nfunction Xp(e) {\n const t = I.from([bc.InputTypes.SIGHASH_TYPE]), r = I.allocUnsafe(4);\n return r.writeUInt32LE(e, 0), {\n key: t,\n value: r\n };\n}\nWr.encode = Xp;\nWr.expected = \"number\";\nfunction qp(e) {\n return typeof e == \"number\";\n}\nWr.check = qp;\nfunction zp(e, t) {\n return !!e && !!t && e.sighashType === void 0;\n}\nWr.canAdd = zp;\nvar Vr = {};\nObject.defineProperty(Vr, \"__esModule\", { value: !0 });\nconst Sc = $e;\nfunction Yp(e) {\n if (e.key[0] !== Sc.InputTypes.TAP_KEY_SIG || e.key.length !== 1)\n throw new Error(\n \"Decode Error: could not decode tapKeySig with key 0x\" + e.key.toString(\"hex\")\n );\n if (!vc(e.value))\n throw new Error(\n \"Decode Error: tapKeySig not a valid 64-65-byte BIP340 signature\"\n );\n return e.value;\n}\nVr.decode = Yp;\nfunction Jp(e) {\n return { key: I.from([Sc.InputTypes.TAP_KEY_SIG]), value: e };\n}\nVr.encode = Jp;\nVr.expected = \"Buffer\";\nfunction vc(e) {\n return I.isBuffer(e) && (e.length === 64 || e.length === 65);\n}\nVr.check = vc;\nfunction Qp(e, t) {\n return !!e && !!t && e.tapKeySig === void 0;\n}\nVr.canAdd = Qp;\nvar Gr = {};\nObject.defineProperty(Gr, \"__esModule\", { value: !0 });\nconst _c = $e;\nfunction Zp(e) {\n if (e.key[0] !== _c.InputTypes.TAP_LEAF_SCRIPT)\n throw new Error(\n \"Decode Error: could not decode tapLeafScript with key 0x\" + e.key.toString(\"hex\")\n );\n if ((e.key.length - 2) % 32 !== 0)\n throw new Error(\n \"Decode Error: tapLeafScript has invalid control block in key 0x\" + e.key.toString(\"hex\")\n );\n const t = e.value[e.value.length - 1];\n if ((e.key[1] & 254) !== t)\n throw new Error(\n \"Decode Error: tapLeafScript bad leaf version in key 0x\" + e.key.toString(\"hex\")\n );\n const r = e.value.slice(0, -1);\n return { controlBlock: e.key.slice(1), script: r, leafVersion: t };\n}\nGr.decode = Zp;\nfunction e1(e) {\n const t = I.from([_c.InputTypes.TAP_LEAF_SCRIPT]), r = I.from([e.leafVersion]);\n return {\n key: I.concat([t, e.controlBlock]),\n value: I.concat([e.script, r])\n };\n}\nGr.encode = e1;\nGr.expected = \"{ controlBlock: Buffer; leafVersion: number, script: Buffer; }\";\nfunction t1(e) {\n return I.isBuffer(e.controlBlock) && (e.controlBlock.length - 1) % 32 === 0 && (e.controlBlock[0] & 254) === e.leafVersion && I.isBuffer(e.script);\n}\nGr.check = t1;\nfunction r1(e, t, r) {\n const n = t.controlBlock.toString(\"hex\");\n return r.has(n) ? !1 : (r.add(n), e.filter((i) => i.controlBlock.equals(t.controlBlock)).length === 0);\n}\nGr.canAddToArray = r1;\nvar Xr = {};\nObject.defineProperty(Xr, \"__esModule\", { value: !0 });\nconst Tc = $e;\nfunction n1(e) {\n if (e.key[0] !== Tc.InputTypes.TAP_MERKLE_ROOT || e.key.length !== 1)\n throw new Error(\n \"Decode Error: could not decode tapMerkleRoot with key 0x\" + e.key.toString(\"hex\")\n );\n if (!Ic(e.value))\n throw new Error(\"Decode Error: tapMerkleRoot not a 32-byte hash\");\n return e.value;\n}\nXr.decode = n1;\nfunction i1(e) {\n return { key: I.from([Tc.InputTypes.TAP_MERKLE_ROOT]), value: e };\n}\nXr.encode = i1;\nXr.expected = \"Buffer\";\nfunction Ic(e) {\n return I.isBuffer(e) && e.length === 32;\n}\nXr.check = Ic;\nfunction o1(e, t) {\n return !!e && !!t && e.tapMerkleRoot === void 0;\n}\nXr.canAdd = o1;\nvar qr = {};\nObject.defineProperty(qr, \"__esModule\", { value: !0 });\nconst Pc = $e;\nfunction s1(e) {\n if (e.key[0] !== Pc.InputTypes.TAP_SCRIPT_SIG)\n throw new Error(\n \"Decode Error: could not decode tapScriptSig with key 0x\" + e.key.toString(\"hex\")\n );\n if (e.key.length !== 65)\n throw new Error(\n \"Decode Error: tapScriptSig has invalid key 0x\" + e.key.toString(\"hex\")\n );\n if (e.value.length !== 64 && e.value.length !== 65)\n throw new Error(\n \"Decode Error: tapScriptSig has invalid signature in key 0x\" + e.key.toString(\"hex\")\n );\n const t = e.key.slice(1, 33), r = e.key.slice(33);\n return {\n pubkey: t,\n leafHash: r,\n signature: e.value\n };\n}\nqr.decode = s1;\nfunction a1(e) {\n const t = I.from([Pc.InputTypes.TAP_SCRIPT_SIG]);\n return {\n key: I.concat([t, e.pubkey, e.leafHash]),\n value: e.signature\n };\n}\nqr.encode = a1;\nqr.expected = \"{ pubkey: Buffer; leafHash: Buffer; signature: Buffer; }\";\nfunction u1(e) {\n return I.isBuffer(e.pubkey) && I.isBuffer(e.leafHash) && I.isBuffer(e.signature) && e.pubkey.length === 32 && e.leafHash.length === 32 && (e.signature.length === 64 || e.signature.length === 65);\n}\nqr.check = u1;\nfunction c1(e, t, r) {\n const n = t.pubkey.toString(\"hex\") + t.leafHash.toString(\"hex\");\n return r.has(n) ? !1 : (r.add(n), e.filter(\n (i) => i.pubkey.equals(t.pubkey) && i.leafHash.equals(t.leafHash)\n ).length === 0);\n}\nqr.canAddToArray = c1;\nvar zr = {}, Rt = {}, Tt = {};\nObject.defineProperty(Tt, \"__esModule\", { value: !0 });\nconst l1 = 9007199254740991;\nfunction xs(e) {\n if (e < 0 || e > l1 || e % 1 !== 0)\n throw new RangeError(\"value out of range\");\n}\nfunction jn(e, t, r) {\n if (xs(e), t || (t = I.allocUnsafe(Oc(e))), !I.isBuffer(t))\n throw new TypeError(\"buffer must be a Buffer instance\");\n return r || (r = 0), e < 253 ? (t.writeUInt8(e, r), Object.assign(jn, { bytes: 1 })) : e <= 65535 ? (t.writeUInt8(253, r), t.writeUInt16LE(e, r + 1), Object.assign(jn, { bytes: 3 })) : e <= 4294967295 ? (t.writeUInt8(254, r), t.writeUInt32LE(e, r + 1), Object.assign(jn, { bytes: 5 })) : (t.writeUInt8(255, r), t.writeUInt32LE(e >>> 0, r + 1), t.writeUInt32LE(e / 4294967296 | 0, r + 5), Object.assign(jn, { bytes: 9 })), t;\n}\nTt.encode = jn;\nfunction Kn(e, t) {\n if (!I.isBuffer(e))\n throw new TypeError(\"buffer must be a Buffer instance\");\n t || (t = 0);\n const r = e.readUInt8(t);\n if (r < 253)\n return Object.assign(Kn, { bytes: 1 }), r;\n if (r === 253)\n return Object.assign(Kn, { bytes: 3 }), e.readUInt16LE(t + 1);\n if (r === 254)\n return Object.assign(Kn, { bytes: 5 }), e.readUInt32LE(t + 1);\n {\n Object.assign(Kn, { bytes: 9 });\n const n = e.readUInt32LE(t + 1), s = e.readUInt32LE(t + 5) * 4294967296 + n;\n return xs(s), s;\n }\n}\nTt.decode = Kn;\nfunction Oc(e) {\n return xs(e), e < 253 ? 1 : e <= 65535 ? 3 : e <= 4294967295 ? 5 : 9;\n}\nTt.encodingLength = Oc;\nObject.defineProperty(Rt, \"__esModule\", { value: !0 });\nconst yi = Tt;\nRt.range = (e) => [...Array(e).keys()];\nfunction f1(e) {\n if (e.length < 1)\n return e;\n let t = e.length - 1, r = 0;\n for (let n = 0; n < e.length / 2; n++)\n r = e[n], e[n] = e[t], e[t] = r, t--;\n return e;\n}\nRt.reverseBuffer = f1;\nfunction h1(e) {\n const t = e.map(kc);\n return t.push(I.from([0])), I.concat(t);\n}\nRt.keyValsToBuffer = h1;\nfunction kc(e) {\n const t = e.key.length, r = e.value.length, n = yi.encodingLength(t), i = yi.encodingLength(r), s = I.allocUnsafe(\n n + t + i + r\n );\n return yi.encode(t, s, 0), e.key.copy(s, n), yi.encode(r, s, n + t), e.value.copy(s, n + t + i), s;\n}\nRt.keyValToBuffer = kc;\nfunction Ac(e, t) {\n if (typeof e != \"number\")\n throw new Error(\"cannot write a non-number as a number\");\n if (e < 0)\n throw new Error(\"specified a negative value for writing an unsigned value\");\n if (e > t)\n throw new Error(\"RangeError: value out of range\");\n if (Math.floor(e) !== e)\n throw new Error(\"value has a fractional component\");\n}\nfunction d1(e, t) {\n const r = e.readUInt32LE(t);\n let n = e.readUInt32LE(t + 4);\n return n *= 4294967296, Ac(n + r, 9007199254740991), n + r;\n}\nRt.readUInt64LE = d1;\nfunction p1(e, t, r) {\n return Ac(t, 9007199254740991), e.writeInt32LE(t & -1, r), e.writeUInt32LE(Math.floor(t / 4294967296), r + 4), r + 8;\n}\nRt.writeUInt64LE = p1;\nObject.defineProperty(zr, \"__esModule\", { value: !0 });\nconst xc = $e, Cc = Rt, Bi = Tt;\nfunction g1(e) {\n if (e.key[0] !== xc.InputTypes.WITNESS_UTXO)\n throw new Error(\n \"Decode Error: could not decode witnessUtxo with key 0x\" + e.key.toString(\"hex\")\n );\n const t = Cc.readUInt64LE(e.value, 0);\n let r = 8;\n const n = Bi.decode(e.value, r);\n r += Bi.encodingLength(n);\n const i = e.value.slice(r);\n if (i.length !== n)\n throw new Error(\"Decode Error: WITNESS_UTXO script is not proper length\");\n return {\n script: i,\n value: t\n };\n}\nzr.decode = g1;\nfunction y1(e) {\n const { script: t, value: r } = e, n = Bi.encodingLength(t.length), i = I.allocUnsafe(8 + n + t.length);\n return Cc.writeUInt64LE(i, r, 0), Bi.encode(t.length, i, 8), t.copy(i, 8 + n), {\n key: I.from([xc.InputTypes.WITNESS_UTXO]),\n value: i\n };\n}\nzr.encode = y1;\nzr.expected = \"{ script: Buffer; value: number; }\";\nfunction m1(e) {\n return I.isBuffer(e.script) && typeof e.value == \"number\";\n}\nzr.check = m1;\nfunction w1(e, t) {\n return !!e && !!t && e.witnessUtxo === void 0;\n}\nzr.canAdd = w1;\nvar Yr = {};\nObject.defineProperty(Yr, \"__esModule\", { value: !0 });\nconst Bc = $e, ns = Tt;\nfunction E1(e) {\n if (e.key[0] !== Bc.OutputTypes.TAP_TREE || e.key.length !== 1)\n throw new Error(\n \"Decode Error: could not decode tapTree with key 0x\" + e.key.toString(\"hex\")\n );\n let t = 0;\n const r = [];\n for (; t < e.value.length; ) {\n const n = e.value[t++], i = e.value[t++], s = ns.decode(e.value, t);\n t += ns.encodingLength(s), r.push({\n depth: n,\n leafVersion: i,\n script: e.value.slice(t, t + s)\n }), t += s;\n }\n return { leaves: r };\n}\nYr.decode = E1;\nfunction b1(e) {\n const t = I.from([Bc.OutputTypes.TAP_TREE]), r = [].concat(\n ...e.leaves.map((n) => [\n I.of(n.depth, n.leafVersion),\n ns.encode(n.script.length),\n n.script\n ])\n );\n return {\n key: t,\n value: I.concat(r)\n };\n}\nYr.encode = b1;\nYr.expected = \"{ leaves: [{ depth: number; leafVersion: number, script: Buffer; }] }\";\nfunction S1(e) {\n return Array.isArray(e.leaves) && e.leaves.every(\n (t) => t.depth >= 0 && t.depth <= 128 && (t.leafVersion & 254) === t.leafVersion && I.isBuffer(t.script)\n );\n}\nYr.check = S1;\nfunction v1(e, t) {\n return !!e && !!t && e.tapTree === void 0;\n}\nYr.canAdd = v1;\nvar so = {};\nObject.defineProperty(so, \"__esModule\", { value: !0 });\nconst _1 = (e) => [...Array(e).keys()], T1 = (e) => e.length === 33 && [2, 3].includes(e[0]) || e.length === 65 && e[0] === 4;\nfunction I1(e, t = T1) {\n function r(a) {\n if (a.key[0] !== e)\n throw new Error(\n \"Decode Error: could not decode bip32Derivation with key 0x\" + a.key.toString(\"hex\")\n );\n const f = a.key.slice(1);\n if (!t(f))\n throw new Error(\n \"Decode Error: bip32Derivation has invalid pubkey in key 0x\" + a.key.toString(\"hex\")\n );\n if (a.value.length / 4 % 1 !== 0)\n throw new Error(\n \"Decode Error: Input BIP32_DERIVATION value length should be multiple of 4\"\n );\n const h = {\n masterFingerprint: a.value.slice(0, 4),\n pubkey: f,\n path: \"m\"\n };\n for (const l of _1(a.value.length / 4 - 1)) {\n const p = a.value.readUInt32LE(l * 4 + 4), E = !!(p & 2147483648), y = p & 2147483647;\n h.path += \"/\" + y.toString(10) + (E ? \"'\" : \"\");\n }\n return h;\n }\n function n(a) {\n const f = I.from([e]), h = I.concat([f, a.pubkey]), l = a.path.split(\"/\"), p = I.allocUnsafe(l.length * 4);\n a.masterFingerprint.copy(p, 0);\n let E = 4;\n return l.slice(1).forEach((y) => {\n const v = y.slice(-1) === \"'\";\n let S = 2147483647 & parseInt(v ? y.slice(0, -1) : y, 10);\n v && (S += 2147483648), p.writeUInt32LE(S, E), E += 4;\n }), {\n key: h,\n value: p\n };\n }\n const i = \"{ masterFingerprint: Buffer; pubkey: Buffer; path: string; }\";\n function s(a) {\n return I.isBuffer(a.pubkey) && I.isBuffer(a.masterFingerprint) && typeof a.path == \"string\" && t(a.pubkey) && a.masterFingerprint.length === 4;\n }\n function o(a, f, h) {\n const l = f.pubkey.toString(\"hex\");\n return h.has(l) ? !1 : (h.add(l), a.filter((p) => p.pubkey.equals(f.pubkey)).length === 0);\n }\n return {\n decode: r,\n encode: n,\n check: s,\n expected: i,\n canAddToArray: o\n };\n}\nso.makeConverter = I1;\nvar Cs = {};\nObject.defineProperty(Cs, \"__esModule\", { value: !0 });\nfunction P1(e) {\n return t;\n function t(r) {\n let n;\n if (e.includes(r.key[0]) && (n = r.key.slice(1), !(n.length === 33 || n.length === 65) || ![2, 3, 4].includes(n[0])))\n throw new Error(\n \"Format Error: invalid pubkey in key 0x\" + r.key.toString(\"hex\")\n );\n return n;\n }\n}\nCs.makeChecker = P1;\nvar Bs = {};\nObject.defineProperty(Bs, \"__esModule\", { value: !0 });\nfunction O1(e) {\n function t(o) {\n if (o.key[0] !== e)\n throw new Error(\n \"Decode Error: could not decode redeemScript with key 0x\" + o.key.toString(\"hex\")\n );\n return o.value;\n }\n function r(o) {\n return {\n key: I.from([e]),\n value: o\n };\n }\n const n = \"Buffer\";\n function i(o) {\n return I.isBuffer(o);\n }\n function s(o, a) {\n return !!o && !!a && o.redeemScript === void 0;\n }\n return {\n decode: t,\n encode: r,\n check: i,\n expected: n,\n canAdd: s\n };\n}\nBs.makeConverter = O1;\nvar Ns = {};\nObject.defineProperty(Ns, \"__esModule\", { value: !0 });\nconst mi = Tt, k1 = so, A1 = (e) => e.length === 32;\nfunction x1(e) {\n const t = k1.makeConverter(e, A1);\n function r(o) {\n const a = mi.decode(o.value), f = mi.encodingLength(a), h = t.decode({\n key: o.key,\n value: o.value.slice(f + a * 32)\n }), l = new Array(a);\n for (let p = 0, E = f; p < a; p++, E += 32)\n l[p] = o.value.slice(E, E + 32);\n return Object.assign({}, h, { leafHashes: l });\n }\n function n(o) {\n const a = t.encode(o), f = mi.encodingLength(o.leafHashes.length), h = I.allocUnsafe(f);\n mi.encode(o.leafHashes.length, h);\n const l = I.concat([h, ...o.leafHashes, a.value]);\n return Object.assign({}, a, { value: l });\n }\n const i = \"{ masterFingerprint: Buffer; pubkey: Buffer; path: string; leafHashes: Buffer[]; }\";\n function s(o) {\n return Array.isArray(o.leafHashes) && o.leafHashes.every(\n (a) => I.isBuffer(a) && a.length === 32\n ) && t.check(o);\n }\n return {\n decode: r,\n encode: n,\n check: s,\n expected: i,\n canAddToArray: t.canAddToArray\n };\n}\nNs.makeConverter = x1;\nvar Fs = {};\nObject.defineProperty(Fs, \"__esModule\", { value: !0 });\nfunction C1(e) {\n function t(o) {\n if (o.key[0] !== e || o.key.length !== 1)\n throw new Error(\n \"Decode Error: could not decode tapInternalKey with key 0x\" + o.key.toString(\"hex\")\n );\n if (o.value.length !== 32)\n throw new Error(\n \"Decode Error: tapInternalKey not a 32-byte x-only pubkey\"\n );\n return o.value;\n }\n function r(o) {\n return { key: I.from([e]), value: o };\n }\n const n = \"Buffer\";\n function i(o) {\n return I.isBuffer(o) && o.length === 32;\n }\n function s(o, a) {\n return !!o && !!a && o.tapInternalKey === void 0;\n }\n return {\n decode: t,\n encode: r,\n check: i,\n expected: n,\n canAdd: s\n };\n}\nFs.makeConverter = C1;\nvar Us = {};\nObject.defineProperty(Us, \"__esModule\", { value: !0 });\nfunction B1(e) {\n function t(o) {\n if (o.key[0] !== e)\n throw new Error(\n \"Decode Error: could not decode witnessScript with key 0x\" + o.key.toString(\"hex\")\n );\n return o.value;\n }\n function r(o) {\n return {\n key: I.from([e]),\n value: o\n };\n }\n const n = \"Buffer\";\n function i(o) {\n return I.isBuffer(o);\n }\n function s(o, a) {\n return !!o && !!a && o.witnessScript === void 0;\n }\n return {\n decode: t,\n encode: r,\n check: i,\n expected: n,\n canAdd: s\n };\n}\nUs.makeConverter = B1;\nObject.defineProperty(Lr, \"__esModule\", { value: !0 });\nconst lt = $e, N1 = Hr, F1 = As, U1 = $r, R1 = Mr, L1 = Dr, H1 = jr, $1 = Kr, M1 = Wr, D1 = Vr, j1 = Gr, K1 = Xr, W1 = qr, V1 = zr, G1 = Yr, Nc = so, Rs = Cs, Fc = Bs, Uc = Ns, Rc = Fs, Lc = Us, X1 = {\n unsignedTx: F1,\n globalXpub: N1,\n // pass an Array of key bytes that require pubkey beside the key\n checkPubkey: Rs.makeChecker([])\n};\nLr.globals = X1;\nconst q1 = {\n nonWitnessUtxo: L1,\n partialSig: H1,\n sighashType: M1,\n finalScriptSig: U1,\n finalScriptWitness: R1,\n porCommitment: $1,\n witnessUtxo: V1,\n bip32Derivation: Nc.makeConverter(\n lt.InputTypes.BIP32_DERIVATION\n ),\n redeemScript: Fc.makeConverter(\n lt.InputTypes.REDEEM_SCRIPT\n ),\n witnessScript: Lc.makeConverter(\n lt.InputTypes.WITNESS_SCRIPT\n ),\n checkPubkey: Rs.makeChecker([\n lt.InputTypes.PARTIAL_SIG,\n lt.InputTypes.BIP32_DERIVATION\n ]),\n tapKeySig: D1,\n tapScriptSig: W1,\n tapLeafScript: j1,\n tapBip32Derivation: Uc.makeConverter(\n lt.InputTypes.TAP_BIP32_DERIVATION\n ),\n tapInternalKey: Rc.makeConverter(\n lt.InputTypes.TAP_INTERNAL_KEY\n ),\n tapMerkleRoot: K1\n};\nLr.inputs = q1;\nconst z1 = {\n bip32Derivation: Nc.makeConverter(\n lt.OutputTypes.BIP32_DERIVATION\n ),\n redeemScript: Fc.makeConverter(\n lt.OutputTypes.REDEEM_SCRIPT\n ),\n witnessScript: Lc.makeConverter(\n lt.OutputTypes.WITNESS_SCRIPT\n ),\n checkPubkey: Rs.makeChecker([\n lt.OutputTypes.BIP32_DERIVATION\n ]),\n tapBip32Derivation: Uc.makeConverter(\n lt.OutputTypes.TAP_BIP32_DERIVATION\n ),\n tapTree: G1,\n tapInternalKey: Rc.makeConverter(\n lt.OutputTypes.TAP_INTERNAL_KEY\n )\n};\nLr.outputs = z1;\nObject.defineProperty(ei, \"__esModule\", { value: !0 });\nconst he = Lr, Ni = Rt, Ca = Tt, G = $e;\nfunction Y1(e, t) {\n let r = 0;\n function n() {\n const T = Ca.decode(e, r);\n r += Ca.encodingLength(T);\n const C = e.slice(r, r + T);\n return r += T, C;\n }\n function i() {\n const T = e.readUInt32BE(r);\n return r += 4, T;\n }\n function s() {\n const T = e.readUInt8(r);\n return r += 1, T;\n }\n function o() {\n const T = n(), C = n();\n return {\n key: T,\n value: C\n };\n }\n function a() {\n if (r >= e.length)\n throw new Error(\"Format Error: Unexpected End of PSBT\");\n const T = e.readUInt8(r) === 0;\n return T && r++, T;\n }\n if (i() !== 1886610036)\n throw new Error(\"Format Error: Invalid Magic Number\");\n if (s() !== 255)\n throw new Error(\n \"Format Error: Magic Number must be followed by 0xff separator\"\n );\n const f = [], h = {};\n for (; !a(); ) {\n const T = o(), C = T.key.toString(\"hex\");\n if (h[C])\n throw new Error(\n \"Format Error: Keys must be unique for global keymap: key \" + C\n );\n h[C] = 1, f.push(T);\n }\n const l = f.filter(\n (T) => T.key[0] === G.GlobalTypes.UNSIGNED_TX\n );\n if (l.length !== 1)\n throw new Error(\"Format Error: Only one UNSIGNED_TX allowed\");\n const p = t(l[0].value), { inputCount: E, outputCount: y } = p.getInputOutputCounts(), v = [], S = [];\n for (const T of Ni.range(E)) {\n const C = {}, O = [];\n for (; !a(); ) {\n const B = o(), U = B.key.toString(\"hex\");\n if (C[U])\n throw new Error(\n \"Format Error: Keys must be unique for each input: input index \" + T + \" key \" + U\n );\n C[U] = 1, O.push(B);\n }\n v.push(O);\n }\n for (const T of Ni.range(y)) {\n const C = {}, O = [];\n for (; !a(); ) {\n const B = o(), U = B.key.toString(\"hex\");\n if (C[U])\n throw new Error(\n \"Format Error: Keys must be unique for each output: output index \" + T + \" key \" + U\n );\n C[U] = 1, O.push(B);\n }\n S.push(O);\n }\n return Hc(p, {\n globalMapKeyVals: f,\n inputKeyVals: v,\n outputKeyVals: S\n });\n}\nei.psbtFromBuffer = Y1;\nfunction je(e, t, r) {\n if (!t.equals(I.from([r])))\n throw new Error(\n `Format Error: Invalid ${e} key: ${t.toString(\"hex\")}`\n );\n}\nei.checkKeyBuffer = je;\nfunction Hc(e, { globalMapKeyVals: t, inputKeyVals: r, outputKeyVals: n }) {\n const i = {\n unsignedTx: e\n };\n let s = 0;\n for (const l of t)\n switch (l.key[0]) {\n case G.GlobalTypes.UNSIGNED_TX:\n if (je(\n \"global\",\n l.key,\n G.GlobalTypes.UNSIGNED_TX\n ), s > 0)\n throw new Error(\"Format Error: GlobalMap has multiple UNSIGNED_TX\");\n s++;\n break;\n case G.GlobalTypes.GLOBAL_XPUB:\n i.globalXpub === void 0 && (i.globalXpub = []), i.globalXpub.push(he.globals.globalXpub.decode(l));\n break;\n default:\n i.unknownKeyVals || (i.unknownKeyVals = []), i.unknownKeyVals.push(l);\n }\n const o = r.length, a = n.length, f = [], h = [];\n for (const l of Ni.range(o)) {\n const p = {};\n for (const E of r[l])\n switch (he.inputs.checkPubkey(E), E.key[0]) {\n case G.InputTypes.NON_WITNESS_UTXO:\n if (je(\n \"input\",\n E.key,\n G.InputTypes.NON_WITNESS_UTXO\n ), p.nonWitnessUtxo !== void 0)\n throw new Error(\n \"Format Error: Input has multiple NON_WITNESS_UTXO\"\n );\n p.nonWitnessUtxo = he.inputs.nonWitnessUtxo.decode(E);\n break;\n case G.InputTypes.WITNESS_UTXO:\n if (je(\n \"input\",\n E.key,\n G.InputTypes.WITNESS_UTXO\n ), p.witnessUtxo !== void 0)\n throw new Error(\"Format Error: Input has multiple WITNESS_UTXO\");\n p.witnessUtxo = he.inputs.witnessUtxo.decode(E);\n break;\n case G.InputTypes.PARTIAL_SIG:\n p.partialSig === void 0 && (p.partialSig = []), p.partialSig.push(he.inputs.partialSig.decode(E));\n break;\n case G.InputTypes.SIGHASH_TYPE:\n if (je(\n \"input\",\n E.key,\n G.InputTypes.SIGHASH_TYPE\n ), p.sighashType !== void 0)\n throw new Error(\"Format Error: Input has multiple SIGHASH_TYPE\");\n p.sighashType = he.inputs.sighashType.decode(E);\n break;\n case G.InputTypes.REDEEM_SCRIPT:\n if (je(\n \"input\",\n E.key,\n G.InputTypes.REDEEM_SCRIPT\n ), p.redeemScript !== void 0)\n throw new Error(\"Format Error: Input has multiple REDEEM_SCRIPT\");\n p.redeemScript = he.inputs.redeemScript.decode(E);\n break;\n case G.InputTypes.WITNESS_SCRIPT:\n if (je(\n \"input\",\n E.key,\n G.InputTypes.WITNESS_SCRIPT\n ), p.witnessScript !== void 0)\n throw new Error(\"Format Error: Input has multiple WITNESS_SCRIPT\");\n p.witnessScript = he.inputs.witnessScript.decode(E);\n break;\n case G.InputTypes.BIP32_DERIVATION:\n p.bip32Derivation === void 0 && (p.bip32Derivation = []), p.bip32Derivation.push(\n he.inputs.bip32Derivation.decode(E)\n );\n break;\n case G.InputTypes.FINAL_SCRIPTSIG:\n je(\n \"input\",\n E.key,\n G.InputTypes.FINAL_SCRIPTSIG\n ), p.finalScriptSig = he.inputs.finalScriptSig.decode(E);\n break;\n case G.InputTypes.FINAL_SCRIPTWITNESS:\n je(\n \"input\",\n E.key,\n G.InputTypes.FINAL_SCRIPTWITNESS\n ), p.finalScriptWitness = he.inputs.finalScriptWitness.decode(\n E\n );\n break;\n case G.InputTypes.POR_COMMITMENT:\n je(\n \"input\",\n E.key,\n G.InputTypes.POR_COMMITMENT\n ), p.porCommitment = he.inputs.porCommitment.decode(E);\n break;\n case G.InputTypes.TAP_KEY_SIG:\n je(\n \"input\",\n E.key,\n G.InputTypes.TAP_KEY_SIG\n ), p.tapKeySig = he.inputs.tapKeySig.decode(E);\n break;\n case G.InputTypes.TAP_SCRIPT_SIG:\n p.tapScriptSig === void 0 && (p.tapScriptSig = []), p.tapScriptSig.push(he.inputs.tapScriptSig.decode(E));\n break;\n case G.InputTypes.TAP_LEAF_SCRIPT:\n p.tapLeafScript === void 0 && (p.tapLeafScript = []), p.tapLeafScript.push(he.inputs.tapLeafScript.decode(E));\n break;\n case G.InputTypes.TAP_BIP32_DERIVATION:\n p.tapBip32Derivation === void 0 && (p.tapBip32Derivation = []), p.tapBip32Derivation.push(\n he.inputs.tapBip32Derivation.decode(E)\n );\n break;\n case G.InputTypes.TAP_INTERNAL_KEY:\n je(\n \"input\",\n E.key,\n G.InputTypes.TAP_INTERNAL_KEY\n ), p.tapInternalKey = he.inputs.tapInternalKey.decode(E);\n break;\n case G.InputTypes.TAP_MERKLE_ROOT:\n je(\n \"input\",\n E.key,\n G.InputTypes.TAP_MERKLE_ROOT\n ), p.tapMerkleRoot = he.inputs.tapMerkleRoot.decode(E);\n break;\n default:\n p.unknownKeyVals || (p.unknownKeyVals = []), p.unknownKeyVals.push(E);\n }\n f.push(p);\n }\n for (const l of Ni.range(a)) {\n const p = {};\n for (const E of n[l])\n switch (he.outputs.checkPubkey(E), E.key[0]) {\n case G.OutputTypes.REDEEM_SCRIPT:\n if (je(\n \"output\",\n E.key,\n G.OutputTypes.REDEEM_SCRIPT\n ), p.redeemScript !== void 0)\n throw new Error(\"Format Error: Output has multiple REDEEM_SCRIPT\");\n p.redeemScript = he.outputs.redeemScript.decode(E);\n break;\n case G.OutputTypes.WITNESS_SCRIPT:\n if (je(\n \"output\",\n E.key,\n G.OutputTypes.WITNESS_SCRIPT\n ), p.witnessScript !== void 0)\n throw new Error(\"Format Error: Output has multiple WITNESS_SCRIPT\");\n p.witnessScript = he.outputs.witnessScript.decode(E);\n break;\n case G.OutputTypes.BIP32_DERIVATION:\n p.bip32Derivation === void 0 && (p.bip32Derivation = []), p.bip32Derivation.push(\n he.outputs.bip32Derivation.decode(E)\n );\n break;\n case G.OutputTypes.TAP_INTERNAL_KEY:\n je(\n \"output\",\n E.key,\n G.OutputTypes.TAP_INTERNAL_KEY\n ), p.tapInternalKey = he.outputs.tapInternalKey.decode(E);\n break;\n case G.OutputTypes.TAP_TREE:\n je(\n \"output\",\n E.key,\n G.OutputTypes.TAP_TREE\n ), p.tapTree = he.outputs.tapTree.decode(E);\n break;\n case G.OutputTypes.TAP_BIP32_DERIVATION:\n p.tapBip32Derivation === void 0 && (p.tapBip32Derivation = []), p.tapBip32Derivation.push(\n he.outputs.tapBip32Derivation.decode(E)\n );\n break;\n default:\n p.unknownKeyVals || (p.unknownKeyVals = []), p.unknownKeyVals.push(E);\n }\n h.push(p);\n }\n return { globalMap: i, inputs: f, outputs: h };\n}\nei.psbtFromKeyVals = Hc;\nvar ao = {};\nObject.defineProperty(ao, \"__esModule\", { value: !0 });\nconst No = Lr, Ba = Rt;\nfunction J1({ globalMap: e, inputs: t, outputs: r }) {\n const { globalKeyVals: n, inputKeyVals: i, outputKeyVals: s } = $c({\n globalMap: e,\n inputs: t,\n outputs: r\n }), o = Ba.keyValsToBuffer(n), a = (p) => p.length === 0 ? [I.from([0])] : p.map(Ba.keyValsToBuffer), f = a(i), h = a(s), l = I.allocUnsafe(5);\n return l.writeUIntBE(482972169471, 0, 5), I.concat(\n [l, o].concat(f, h)\n );\n}\nao.psbtToBuffer = J1;\nconst Q1 = (e, t) => e.key.compare(t.key);\nfunction Fo(e, t) {\n const r = /* @__PURE__ */ new Set(), n = Object.entries(e).reduce((s, [o, a]) => {\n if (o === \"unknownKeyVals\")\n return s;\n const f = t[o];\n if (f === void 0)\n return s;\n const h = (Array.isArray(a) ? a : [a]).map(\n f.encode\n );\n return h.map((p) => p.key.toString(\"hex\")).forEach((p) => {\n if (r.has(p))\n throw new Error(\"Serialize Error: Duplicate key: \" + p);\n r.add(p);\n }), s.concat(h);\n }, []), i = e.unknownKeyVals ? e.unknownKeyVals.filter((s) => !r.has(s.key.toString(\"hex\"))) : [];\n return n.concat(i).sort(Q1);\n}\nfunction $c({ globalMap: e, inputs: t, outputs: r }) {\n return {\n globalKeyVals: Fo(e, No.globals),\n inputKeyVals: t.map((n) => Fo(n, No.inputs)),\n outputKeyVals: r.map((n) => Fo(n, No.outputs))\n };\n}\nao.psbtToKeyVals = $c;\n(function(e) {\n function t(r) {\n for (var n in r)\n e.hasOwnProperty(n) || (e[n] = r[n]);\n }\n Object.defineProperty(e, \"__esModule\", { value: !0 }), t(ei), t(ao);\n})(ks);\nObject.defineProperty(Os, \"__esModule\", { value: !0 });\nconst Uo = ks;\nfunction Z1(e) {\n const t = e[0], r = Uo.psbtToKeyVals(t), n = e.slice(1);\n if (n.length === 0)\n throw new Error(\"Combine: Nothing to combine\");\n const i = Na(t);\n if (i === void 0)\n throw new Error(\"Combine: Self missing transaction\");\n const s = un(r.globalKeyVals), o = r.inputKeyVals.map(un), a = r.outputKeyVals.map(un);\n for (const f of n) {\n const h = Na(f);\n if (h === void 0 || !h.toBuffer().equals(i.toBuffer()))\n throw new Error(\n \"Combine: One of the Psbts does not have the same transaction.\"\n );\n const l = Uo.psbtToKeyVals(f);\n un(l.globalKeyVals).forEach(\n Ro(\n s,\n r.globalKeyVals,\n l.globalKeyVals\n )\n ), l.inputKeyVals.map(un).forEach(\n (v, S) => v.forEach(\n Ro(\n o[S],\n r.inputKeyVals[S],\n l.inputKeyVals[S]\n )\n )\n ), l.outputKeyVals.map(un).forEach(\n (v, S) => v.forEach(\n Ro(\n a[S],\n r.outputKeyVals[S],\n l.outputKeyVals[S]\n )\n )\n );\n }\n return Uo.psbtFromKeyVals(i, {\n globalMapKeyVals: r.globalKeyVals,\n inputKeyVals: r.inputKeyVals,\n outputKeyVals: r.outputKeyVals\n });\n}\nOs.combine = Z1;\nfunction Ro(e, t, r) {\n return (n) => {\n if (e.has(n))\n return;\n const i = r.filter((s) => s.key.toString(\"hex\") === n)[0];\n t.push(i), e.add(n);\n };\n}\nfunction Na(e) {\n return e.globalMap.unsignedTx;\n}\nfunction un(e) {\n const t = /* @__PURE__ */ new Set();\n return e.forEach((r) => {\n const n = r.key.toString(\"hex\");\n if (t.has(n))\n throw new Error(\"Combine: KeyValue Map keys should be unique\");\n t.add(n);\n }), t;\n}\nvar Ls = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", { value: !0 });\n const t = Lr;\n function r(y, v) {\n const S = y[v];\n if (S === void 0)\n throw new Error(`No input #${v}`);\n return S;\n }\n e.checkForInput = r;\n function n(y, v) {\n const S = y[v];\n if (S === void 0)\n throw new Error(`No output #${v}`);\n return S;\n }\n e.checkForOutput = n;\n function i(y, v, S) {\n if (y.key[0] < S)\n throw new Error(\n \"Use the method for your specific key instead of addUnknownKeyVal*\"\n );\n if (v && v.filter((T) => T.key.equals(y.key)).length !== 0)\n throw new Error(`Duplicate Key: ${y.key.toString(\"hex\")}`);\n }\n e.checkHasKey = i;\n function s(y) {\n let v = 0;\n return Object.keys(y).forEach((S) => {\n Number(isNaN(Number(S))) && v++;\n }), v;\n }\n e.getEnumLength = s;\n function o(y, v) {\n let S = !1;\n if (v.nonWitnessUtxo || v.witnessUtxo) {\n const T = !!v.redeemScript, C = !!v.witnessScript, O = !T || !!v.finalScriptSig, B = !C || !!v.finalScriptWitness, U = !!v.finalScriptSig || !!v.finalScriptWitness;\n S = O && B && U;\n }\n if (S === !1)\n throw new Error(\n `Input #${y} has too much or too little data to clean`\n );\n }\n e.inputCheckUncleanFinalized = o;\n function a(y, v, S, T) {\n throw new Error(\n `Data for ${y} key ${v} is incorrect: Expected ${S} and got ${JSON.stringify(T)}`\n );\n }\n function f(y) {\n return (v, S) => {\n for (const T of Object.keys(v)) {\n const C = v[T], { canAdd: O, canAddToArray: B, check: U, expected: R } = (\n // @ts-ignore\n t[y + \"s\"][T] || {}\n ), k = !!B;\n if (U)\n if (k) {\n if (!Array.isArray(C) || // @ts-ignore\n S[T] && !Array.isArray(S[T]))\n throw new Error(`Key type ${T} must be an array`);\n C.every(U) || a(y, T, R, C);\n const j = S[T] || [], A = /* @__PURE__ */ new Set();\n if (!C.every((b) => B(j, b, A)))\n throw new Error(\"Can not add duplicate data to array\");\n S[T] = j.concat(C);\n } else {\n if (U(C) || a(y, T, R, C), !O(S, C))\n throw new Error(`Can not add duplicate data to ${y}`);\n S[T] = C;\n }\n }\n };\n }\n e.updateGlobal = f(\"global\"), e.updateInput = f(\"input\"), e.updateOutput = f(\"output\");\n function h(y, v) {\n const S = y.length - 1, T = r(y, S);\n e.updateInput(v, T);\n }\n e.addInputAttributes = h;\n function l(y, v) {\n const S = y.length - 1, T = n(y, S);\n e.updateOutput(v, T);\n }\n e.addOutputAttributes = l;\n function p(y, v) {\n if (!I.isBuffer(v) || v.length < 4)\n throw new Error(\"Set Version: Invalid Transaction\");\n return v.writeUInt32LE(y, 0), v;\n }\n e.defaultVersionSetter = p;\n function E(y, v) {\n if (!I.isBuffer(v) || v.length < 4)\n throw new Error(\"Set Locktime: Invalid Transaction\");\n return v.writeUInt32LE(y, v.length - 4), v;\n }\n e.defaultLocktimeSetter = E;\n})(Ls);\nObject.defineProperty(Ps, \"__esModule\", { value: !0 });\nconst e2 = Os, Fa = ks, Lo = $e, De = Ls;\nlet t2 = class {\n constructor(t) {\n this.inputs = [], this.outputs = [], this.globalMap = {\n unsignedTx: t\n };\n }\n static fromBase64(t, r) {\n const n = I.from(t, \"base64\");\n return this.fromBuffer(n, r);\n }\n static fromHex(t, r) {\n const n = I.from(t, \"hex\");\n return this.fromBuffer(n, r);\n }\n static fromBuffer(t, r) {\n const n = Fa.psbtFromBuffer(t, r), i = new this(n.globalMap.unsignedTx);\n return Object.assign(i, n), i;\n }\n toBase64() {\n return this.toBuffer().toString(\"base64\");\n }\n toHex() {\n return this.toBuffer().toString(\"hex\");\n }\n toBuffer() {\n return Fa.psbtToBuffer(this);\n }\n updateGlobal(t) {\n return De.updateGlobal(t, this.globalMap), this;\n }\n updateInput(t, r) {\n const n = De.checkForInput(this.inputs, t);\n return De.updateInput(r, n), this;\n }\n updateOutput(t, r) {\n const n = De.checkForOutput(this.outputs, t);\n return De.updateOutput(r, n), this;\n }\n addUnknownKeyValToGlobal(t) {\n return De.checkHasKey(\n t,\n this.globalMap.unknownKeyVals,\n De.getEnumLength(Lo.GlobalTypes)\n ), this.globalMap.unknownKeyVals || (this.globalMap.unknownKeyVals = []), this.globalMap.unknownKeyVals.push(t), this;\n }\n addUnknownKeyValToInput(t, r) {\n const n = De.checkForInput(this.inputs, t);\n return De.checkHasKey(\n r,\n n.unknownKeyVals,\n De.getEnumLength(Lo.InputTypes)\n ), n.unknownKeyVals || (n.unknownKeyVals = []), n.unknownKeyVals.push(r), this;\n }\n addUnknownKeyValToOutput(t, r) {\n const n = De.checkForOutput(this.outputs, t);\n return De.checkHasKey(\n r,\n n.unknownKeyVals,\n De.getEnumLength(Lo.OutputTypes)\n ), n.unknownKeyVals || (n.unknownKeyVals = []), n.unknownKeyVals.push(r), this;\n }\n addInput(t) {\n this.globalMap.unsignedTx.addInput(t), this.inputs.push({\n unknownKeyVals: []\n });\n const r = t.unknownKeyVals || [], n = this.inputs.length - 1;\n if (!Array.isArray(r))\n throw new Error(\"unknownKeyVals must be an Array\");\n return r.forEach(\n (i) => this.addUnknownKeyValToInput(n, i)\n ), De.addInputAttributes(this.inputs, t), this;\n }\n addOutput(t) {\n this.globalMap.unsignedTx.addOutput(t), this.outputs.push({\n unknownKeyVals: []\n });\n const r = t.unknownKeyVals || [], n = this.outputs.length - 1;\n if (!Array.isArray(r))\n throw new Error(\"unknownKeyVals must be an Array\");\n return r.forEach(\n (i) => this.addUnknownKeyValToOutput(n, i)\n ), De.addOutputAttributes(this.outputs, t), this;\n }\n clearFinalizedInput(t) {\n const r = De.checkForInput(this.inputs, t);\n De.inputCheckUncleanFinalized(t, r);\n for (const n of Object.keys(r))\n [\n \"witnessUtxo\",\n \"nonWitnessUtxo\",\n \"finalScriptSig\",\n \"finalScriptWitness\",\n \"unknownKeyVals\"\n ].includes(n) || delete r[n];\n return this;\n }\n combine(...t) {\n const r = e2.combine([this].concat(t));\n return Object.assign(this, r), this;\n }\n getTransaction() {\n return this.globalMap.unsignedTx.toBuffer();\n }\n};\nPs.Psbt = t2;\nvar ye = {}, ue = {};\nObject.defineProperty(ue, \"__esModule\", { value: !0 });\nue.signatureBlocksAction = ue.checkInputForSig = ue.pubkeyInScript = ue.pubkeyPositionInScript = ue.witnessStackToScriptWitness = ue.isP2TR = ue.isP2SHScript = ue.isP2WSHScript = ue.isP2WPKH = ue.isP2PKH = ue.isP2PK = ue.isP2MS = void 0;\nconst Ua = Tt, Gn = ot, wi = Or, r2 = Ut, Jr = Tn;\nfunction Qr(e) {\n return (t) => {\n try {\n return e({ output: t }), !0;\n } catch {\n return !1;\n }\n };\n}\nue.isP2MS = Qr(Jr.p2ms);\nue.isP2PK = Qr(Jr.p2pk);\nue.isP2PKH = Qr(Jr.p2pkh);\nue.isP2WPKH = Qr(Jr.p2wpkh);\nue.isP2WSHScript = Qr(Jr.p2wsh);\nue.isP2SHScript = Qr(Jr.p2sh);\nue.isP2TR = Qr(Jr.p2tr);\nfunction n2(e) {\n let t = I.allocUnsafe(0);\n function r(o) {\n t = I.concat([t, I.from(o)]);\n }\n function n(o) {\n const a = t.length, f = Ua.encodingLength(o);\n t = I.concat([t, I.allocUnsafe(f)]), Ua.encode(o, t, a);\n }\n function i(o) {\n n(o.length), r(o);\n }\n function s(o) {\n n(o.length), o.forEach(i);\n }\n return s(e), t;\n}\nue.witnessStackToScriptWitness = n2;\nfunction Mc(e, t) {\n const r = (0, r2.hash160)(e), n = e.slice(1, 33), i = Gn.decompile(t);\n if (i === null)\n throw new Error(\"Unknown script error\");\n return i.findIndex((s) => typeof s == \"number\" ? !1 : s.equals(e) || s.equals(r) || s.equals(n));\n}\nue.pubkeyPositionInScript = Mc;\nfunction i2(e, t) {\n return Mc(e, t) !== -1;\n}\nue.pubkeyInScript = i2;\nfunction o2(e, t) {\n return s2(e).some(\n (n) => Dc(n, Gn.signature.decode, t)\n );\n}\nue.checkInputForSig = o2;\nfunction Dc(e, t, r) {\n const { hashType: n } = t(e), i = [];\n switch (n & wi.Transaction.SIGHASH_ANYONECANPAY && i.push(\"addInput\"), n & 31) {\n case wi.Transaction.SIGHASH_ALL:\n break;\n case wi.Transaction.SIGHASH_SINGLE:\n case wi.Transaction.SIGHASH_NONE:\n i.push(\"addOutput\"), i.push(\"setInputSequence\");\n break;\n }\n return i.indexOf(r) === -1;\n}\nue.signatureBlocksAction = Dc;\nfunction s2(e) {\n let t = [];\n if ((e.partialSig || []).length === 0) {\n if (!e.finalScriptSig && !e.finalScriptWitness)\n return [];\n t = a2(e);\n } else\n t = e.partialSig;\n return t.map((r) => r.signature);\n}\nfunction a2(e) {\n const t = e.finalScriptSig ? Gn.decompile(e.finalScriptSig) || [] : [], r = e.finalScriptWitness ? Gn.decompile(e.finalScriptWitness) || [] : [];\n return t.concat(r).filter((n) => I.isBuffer(n) && Gn.isCanonicalScriptSignature(n)).map((n) => ({ signature: n }));\n}\nObject.defineProperty(ye, \"__esModule\", { value: !0 });\nye.checkTaprootInputForSigs = ye.tapTreeFromList = ye.tapTreeToList = ye.tweakInternalPubKey = ye.checkTaprootOutputFields = ye.checkTaprootInputFields = ye.isTaprootOutput = ye.isTaprootInput = ye.serializeTaprootSignature = ye.tapScriptFinalizer = ye.toXOnly = void 0;\nconst Hs = qe, u2 = Or, uo = ue, Ir = ro, c2 = Tn, l2 = ue, f2 = (e) => e.length === 32 ? e : e.slice(1, 33);\nye.toXOnly = f2;\nfunction h2(e, t, r) {\n const n = x2(\n t,\n e,\n r\n );\n try {\n const s = k2(t, n).concat(n.script).concat(n.controlBlock);\n return {\n finalScriptWitness: (0, uo.witnessStackToScriptWitness)(s)\n };\n } catch (i) {\n throw new Error(`Can not finalize taproot input #${e}: ${i}`);\n }\n}\nye.tapScriptFinalizer = h2;\nfunction d2(e, t) {\n const r = t ? I.from([t]) : I.from([]);\n return I.concat([e, r]);\n}\nye.serializeTaprootSignature = d2;\nfunction Ti(e) {\n return e && !!(e.tapInternalKey || e.tapMerkleRoot || e.tapLeafScript && e.tapLeafScript.length || e.tapBip32Derivation && e.tapBip32Derivation.length || e.witnessUtxo && (0, uo.isP2TR)(e.witnessUtxo.script));\n}\nye.isTaprootInput = Ti;\nfunction Ii(e, t) {\n return e && !!(e.tapInternalKey || e.tapTree || e.tapBip32Derivation && e.tapBip32Derivation.length || t && (0, uo.isP2TR)(t));\n}\nye.isTaprootOutput = Ii;\nfunction p2(e, t, r) {\n I2(e, t, r), O2(e, t, r);\n}\nye.checkTaprootInputFields = p2;\nfunction g2(e, t, r) {\n P2(e, t, r), y2(e, t);\n}\nye.checkTaprootOutputFields = g2;\nfunction y2(e, t) {\n if (!t.tapTree && !t.tapInternalKey)\n return;\n const r = t.tapInternalKey || e.tapInternalKey, n = t.tapTree || e.tapTree;\n if (r) {\n const { script: i } = e, s = m2(r, n);\n if (i && !i.equals(s))\n throw new Error(\"Error adding output. Script or address missmatch.\");\n }\n}\nfunction m2(e, t) {\n const r = t && jc(t.leaves), { output: n } = (0, c2.p2tr)({\n internalPubkey: e,\n scriptTree: r\n });\n return n;\n}\nfunction w2(e, t) {\n const r = t.tapInternalKey, n = r && (0, Ir.tweakKey)(r, t.tapMerkleRoot);\n if (!n)\n throw new Error(\n `Cannot tweak tap internal key for input #${e}. Public key: ${r && r.toString(\"hex\")}`\n );\n return n.x;\n}\nye.tweakInternalPubKey = w2;\nfunction E2(e) {\n if (!(0, Hs.isTaptree)(e))\n throw new Error(\n \"Cannot convert taptree to tapleaf list. Expecting a tapree structure.\"\n );\n return is(e);\n}\nye.tapTreeToList = E2;\nfunction jc(e = []) {\n return e.length === 1 && e[0].depth === 0 ? {\n output: e[0].script,\n version: e[0].leafVersion\n } : T2(e);\n}\nye.tapTreeFromList = jc;\nfunction b2(e, t) {\n return v2(e).some(\n (n) => (0, l2.signatureBlocksAction)(n, S2, t)\n );\n}\nye.checkTaprootInputForSigs = b2;\nfunction S2(e) {\n return {\n signature: e.slice(0, 64),\n hashType: e.slice(64)[0] || u2.Transaction.SIGHASH_DEFAULT\n };\n}\nfunction v2(e) {\n const t = [];\n if (e.tapKeySig && t.push(e.tapKeySig), e.tapScriptSig && t.push(...e.tapScriptSig.map((r) => r.signature)), !t.length) {\n const r = _2(e.finalScriptWitness);\n r && t.push(r);\n }\n return t;\n}\nfunction _2(e) {\n if (!e)\n return;\n const t = e.slice(2);\n if (t.length === 64 || t.length === 65)\n return t;\n}\nfunction is(e, t = [], r = 0) {\n if (r > Ir.MAX_TAPTREE_DEPTH)\n throw new Error(\"Max taptree depth exceeded.\");\n return e ? (0, Hs.isTapleaf)(e) ? (t.push({\n depth: r,\n leafVersion: e.version || Ir.LEAF_VERSION_TAPSCRIPT,\n script: e.output\n }), t) : (e[0] && is(e[0], t, r + 1), e[1] && is(e[1], t, r + 1), t) : [];\n}\nfunction T2(e) {\n let t;\n for (const r of e)\n if (t = os(r, t), !t)\n throw new Error(\"No room left to insert tapleaf in tree\");\n return t;\n}\nfunction os(e, t, r = 0) {\n if (r > Ir.MAX_TAPTREE_DEPTH)\n throw new Error(\"Max taptree depth exceeded.\");\n if (e.depth === r)\n return t ? void 0 : {\n output: e.script,\n version: e.leafVersion\n };\n if ((0, Hs.isTapleaf)(t))\n return;\n const n = os(e, t && t[0], r + 1);\n if (n)\n return [n, t && t[1]];\n const i = os(e, t && t[1], r + 1);\n if (i)\n return [t && t[0], i];\n}\nfunction I2(e, t, r) {\n const n = Ti(e) && mn(t), i = mn(e) && Ti(t), s = e === t && Ti(t) && mn(t);\n if (n || i || s)\n throw new Error(\n `Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`\n );\n}\nfunction P2(e, t, r) {\n const n = Ii(e) && mn(t), i = mn(e) && Ii(t), s = e === t && Ii(t) && mn(t);\n if (n || i || s)\n throw new Error(\n `Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`\n );\n}\nfunction O2(e, t, r) {\n if (t.tapMerkleRoot) {\n const n = (t.tapLeafScript || []).every(\n (s) => Ho(s, t.tapMerkleRoot)\n ), i = (e.tapLeafScript || []).every(\n (s) => Ho(s, t.tapMerkleRoot)\n );\n if (!n || !i)\n throw new Error(\n `Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`\n );\n } else if (e.tapMerkleRoot && !(t.tapLeafScript || []).every(\n (i) => Ho(i, e.tapMerkleRoot)\n ))\n throw new Error(\n `Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`\n );\n}\nfunction Ho(e, t) {\n if (!t)\n return !0;\n const r = (0, Ir.tapleafHash)({\n output: e.script,\n version: e.leafVersion\n });\n return (0, Ir.rootHashFromPath)(\n e.controlBlock,\n r\n ).equals(t);\n}\nfunction k2(e, t) {\n const r = (0, Ir.tapleafHash)({\n output: t.script,\n version: t.leafVersion\n });\n return (e.tapScriptSig || []).filter((n) => n.leafHash.equals(r)).map((n) => A2(t.script, n)).sort((n, i) => i.positionInScript - n.positionInScript).map((n) => n.signature);\n}\nfunction A2(e, t) {\n return Object.assign(\n {\n positionInScript: (0, uo.pubkeyPositionInScript)(\n t.pubkey,\n e\n )\n },\n t\n );\n}\nfunction x2(e, t, r) {\n if (!e.tapScriptSig || !e.tapScriptSig.length)\n throw new Error(\n `Can not finalize taproot input #${t}. No tapleaf script signature provided.`\n );\n const n = (e.tapLeafScript || []).sort((i, s) => i.controlBlock.length - s.controlBlock.length).find(\n (i) => C2(i, e.tapScriptSig, r)\n );\n if (!n)\n throw new Error(\n `Can not finalize taproot input #${t}. Signature for tapleaf script not found.`\n );\n return n;\n}\nfunction C2(e, t, r) {\n const n = (0, Ir.tapleafHash)({\n output: e.script,\n version: e.leafVersion\n });\n return (!r || r.equals(n)) && t.find((s) => s.leafHash.equals(n)) !== void 0;\n}\nfunction mn(e) {\n return e && !!(e.redeemScript || e.witnessScript || e.bip32Derivation && e.bip32Derivation.length);\n}\nObject.defineProperty(oo, \"__esModule\", { value: !0 });\noo.Psbt = void 0;\nconst Ra = Ps, La = Tt, et = Ls, Ha = rt, Fi = Ce, B2 = He, wt = Tn, N2 = ro, Zt = ot, We = Or, we = ye, Oe = ue, F2 = {\n /**\n * A bitcoinjs Network object. This is only used if you pass an `address`\n * parameter to addOutput. Otherwise it is not needed and can be left default.\n */\n network: B2.bitcoin,\n /**\n * When extractTransaction is called, the fee rate is checked.\n * THIS IS NOT TO BE RELIED ON.\n * It is only here as a last ditch effort to prevent sending a 500 BTC fee etc.\n */\n maximumFeeRate: 5e3\n // satoshi per byte\n};\nclass Ui {\n static fromBase64(t, r = {}) {\n const n = I.from(t, \"base64\");\n return this.fromBuffer(n, r);\n }\n static fromHex(t, r = {}) {\n const n = I.from(t, \"hex\");\n return this.fromBuffer(n, r);\n }\n static fromBuffer(t, r = {}) {\n const n = Ra.Psbt.fromBuffer(t, U2), i = new Ui(r, n);\n return M2(i.__CACHE.__TX, i.__CACHE), i;\n }\n constructor(t = {}, r = new Ra.Psbt(new Kc())) {\n this.data = r, this.opts = Object.assign({}, F2, t), this.__CACHE = {\n __NON_WITNESS_UTXO_TX_CACHE: [],\n __NON_WITNESS_UTXO_BUF_CACHE: [],\n __TX_IN_CACHE: {},\n __TX: this.data.globalMap.unsignedTx.tx,\n // Psbt's predecesor (TransactionBuilder - now removed) behavior\n // was to not confirm input values before signing.\n // Even though we highly encourage people to get\n // the full parent transaction to verify values, the ability to\n // sign non-segwit inputs without the full transaction was often\n // requested. So the only way to activate is to use @ts-ignore.\n // We will disable exporting the Psbt when unsafe sign is active.\n // because it is not BIP174 compliant.\n __UNSAFE_SIGN_NONSEGWIT: !1\n }, this.data.inputs.length === 0 && this.setVersion(2);\n const n = (i, s, o, a) => Object.defineProperty(i, s, {\n enumerable: o,\n writable: a\n });\n n(this, \"__CACHE\", !1, !0), n(this, \"opts\", !1, !0);\n }\n get inputCount() {\n return this.data.inputs.length;\n }\n get version() {\n return this.__CACHE.__TX.version;\n }\n set version(t) {\n this.setVersion(t);\n }\n get locktime() {\n return this.__CACHE.__TX.locktime;\n }\n set locktime(t) {\n this.setLocktime(t);\n }\n get txInputs() {\n return this.__CACHE.__TX.ins.map((t) => ({\n hash: (0, Fi.cloneBuffer)(t.hash),\n index: t.index,\n sequence: t.sequence\n }));\n }\n get txOutputs() {\n return this.__CACHE.__TX.outs.map((t) => {\n let r;\n try {\n r = (0, Ha.fromOutputScript)(\n t.script,\n this.opts.network\n );\n } catch {\n }\n return {\n script: (0, Fi.cloneBuffer)(t.script),\n value: t.value,\n address: r\n };\n });\n }\n combine(...t) {\n return this.data.combine(...t.map((r) => r.data)), this;\n }\n clone() {\n const t = Ui.fromBuffer(this.data.toBuffer());\n return t.opts = JSON.parse(JSON.stringify(this.opts)), t;\n }\n setMaximumFeeRate(t) {\n Ei(t), this.opts.maximumFeeRate = t;\n }\n setVersion(t) {\n Ei(t), Ln(this.data.inputs, \"setVersion\");\n const r = this.__CACHE;\n return r.__TX.version = t, r.__EXTRACTED_TX = void 0, this;\n }\n setLocktime(t) {\n Ei(t), Ln(this.data.inputs, \"setLocktime\");\n const r = this.__CACHE;\n return r.__TX.locktime = t, r.__EXTRACTED_TX = void 0, this;\n }\n setInputSequence(t, r) {\n Ei(r), Ln(this.data.inputs, \"setInputSequence\");\n const n = this.__CACHE;\n if (n.__TX.ins.length <= t)\n throw new Error(\"Input index too high\");\n return n.__TX.ins[t].sequence = r, n.__EXTRACTED_TX = void 0, this;\n }\n addInputs(t) {\n return t.forEach((r) => this.addInput(r)), this;\n }\n addInput(t) {\n if (arguments.length > 1 || !t || t.hash === void 0 || t.index === void 0)\n throw new Error(\n \"Invalid arguments for Psbt.addInput. Requires single object with at least [hash] and [index]\"\n );\n (0, we.checkTaprootInputFields)(t, t, \"addInput\"), Ln(this.data.inputs, \"addInput\"), t.witnessScript && Ri(t.witnessScript);\n const r = this.__CACHE;\n this.data.addInput(t);\n const n = r.__TX.ins[r.__TX.ins.length - 1];\n Gc(r, n);\n const i = this.data.inputs.length - 1, s = this.data.inputs[i];\n return s.nonWitnessUtxo && as(this.__CACHE, s, i), r.__FEE = void 0, r.__FEE_RATE = void 0, r.__EXTRACTED_TX = void 0, this;\n }\n addOutputs(t) {\n return t.forEach((r) => this.addOutput(r)), this;\n }\n addOutput(t) {\n if (arguments.length > 1 || !t || t.value === void 0 || t.address === void 0 && t.script === void 0)\n throw new Error(\n \"Invalid arguments for Psbt.addOutput. Requires single object with at least [script or address] and [value]\"\n );\n Ln(this.data.inputs, \"addOutput\");\n const { address: r } = t;\n if (typeof r == \"string\") {\n const { network: i } = this.opts, s = (0, Ha.toOutputScript)(r, i);\n t = Object.assign(t, { script: s });\n }\n (0, we.checkTaprootOutputFields)(t, t, \"addOutput\");\n const n = this.__CACHE;\n return this.data.addOutput(t), n.__FEE = void 0, n.__FEE_RATE = void 0, n.__EXTRACTED_TX = void 0, this;\n }\n extractTransaction(t) {\n if (!this.data.inputs.every(Wc))\n throw new Error(\"Not finalized\");\n const r = this.__CACHE;\n if (t || L2(this, r, this.opts), r.__EXTRACTED_TX)\n return r.__EXTRACTED_TX;\n const n = r.__TX.clone();\n return Qc(this.data.inputs, n, r, !0), n;\n }\n getFeeRate() {\n return Ka(\n \"__FEE_RATE\",\n \"fee rate\",\n this.data.inputs,\n this.__CACHE\n );\n }\n getFee() {\n return Ka(\"__FEE\", \"fee\", this.data.inputs, this.__CACHE);\n }\n finalizeAllInputs() {\n return (0, et.checkForInput)(this.data.inputs, 0), Hn(this.data.inputs.length).forEach((t) => this.finalizeInput(t)), this;\n }\n finalizeInput(t, r) {\n const n = (0, et.checkForInput)(this.data.inputs, t);\n return (0, we.isTaprootInput)(n) ? this._finalizeTaprootInput(\n t,\n n,\n void 0,\n r\n ) : this._finalizeInput(t, n, r);\n }\n finalizeTaprootInput(t, r, n = we.tapScriptFinalizer) {\n const i = (0, et.checkForInput)(this.data.inputs, t);\n if ((0, we.isTaprootInput)(i))\n return this._finalizeTaprootInput(\n t,\n i,\n r,\n n\n );\n throw new Error(`Cannot finalize input #${t}. Not Taproot.`);\n }\n _finalizeInput(t, r, n = D2) {\n const { script: i, isP2SH: s, isP2WSH: o, isSegwit: a } = V2(\n t,\n r,\n this.__CACHE\n );\n if (!i)\n throw new Error(`No script found for input #${t}`);\n H2(r);\n const { finalScriptSig: f, finalScriptWitness: h } = n(\n t,\n r,\n i,\n a,\n s,\n o\n );\n if (f && this.data.updateInput(t, { finalScriptSig: f }), h && this.data.updateInput(t, { finalScriptWitness: h }), !f && !h)\n throw new Error(`Unknown error finalizing input #${t}`);\n return this.data.clearFinalizedInput(t), this;\n }\n _finalizeTaprootInput(t, r, n, i = we.tapScriptFinalizer) {\n if (!r.witnessUtxo)\n throw new Error(\n `Cannot finalize input #${t}. Missing withness utxo.`\n );\n if (r.tapKeySig) {\n const s = wt.p2tr({\n output: r.witnessUtxo.script,\n signature: r.tapKeySig\n }), o = (0, Oe.witnessStackToScriptWitness)(\n s.witness\n );\n this.data.updateInput(t, { finalScriptWitness: o });\n } else {\n const { finalScriptWitness: s } = i(\n t,\n r,\n n\n );\n this.data.updateInput(t, { finalScriptWitness: s });\n }\n return this.data.clearFinalizedInput(t), this;\n }\n getInputType(t) {\n const r = (0, et.checkForInput)(this.data.inputs, t), n = Zc(t, r, this.__CACHE), i = lo(\n n,\n t,\n \"input\",\n r.redeemScript || Y2(r.finalScriptSig),\n r.witnessScript || J2(r.finalScriptWitness)\n ), s = i.type === \"raw\" ? \"\" : i.type + \"-\", o = tl(i.meaningfulScript);\n return s + o;\n }\n inputHasPubkey(t, r) {\n const n = (0, et.checkForInput)(this.data.inputs, t);\n return q2(r, n, t, this.__CACHE);\n }\n inputHasHDKey(t, r) {\n const n = (0, et.checkForInput)(this.data.inputs, t), i = Ma(r);\n return !!n.bip32Derivation && n.bip32Derivation.some(i);\n }\n outputHasPubkey(t, r) {\n const n = (0, et.checkForOutput)(this.data.outputs, t);\n return z2(r, n, t, this.__CACHE);\n }\n outputHasHDKey(t, r) {\n const n = (0, et.checkForOutput)(this.data.outputs, t), i = Ma(r);\n return !!n.bip32Derivation && n.bip32Derivation.some(i);\n }\n validateSignaturesOfAllInputs(t) {\n return (0, et.checkForInput)(this.data.inputs, 0), Hn(this.data.inputs.length).map(\n (n) => this.validateSignaturesOfInput(n, t)\n ).reduce((n, i) => i === !0 && n, !0);\n }\n validateSignaturesOfInput(t, r, n) {\n const i = this.data.inputs[t];\n return (0, we.isTaprootInput)(i) ? this.validateSignaturesOfTaprootInput(\n t,\n r,\n n\n ) : this._validateSignaturesOfInput(t, r, n);\n }\n _validateSignaturesOfInput(t, r, n) {\n const i = this.data.inputs[t], s = (i || {}).partialSig;\n if (!i || !s || s.length < 1)\n throw new Error(\"No signatures to validate\");\n if (typeof r != \"function\")\n throw new Error(\"Need validator function to validate signatures\");\n const o = n ? s.filter((p) => p.pubkey.equals(n)) : s;\n if (o.length < 1)\n throw new Error(\"No signatures for this pubkey\");\n const a = [];\n let f, h, l;\n for (const p of o) {\n const E = Zt.signature.decode(p.signature), { hash: y, script: v } = l !== E.hashType ? qc(\n t,\n Object.assign({}, i, { sighashType: E.hashType }),\n this.__CACHE,\n !0\n ) : { hash: f, script: h };\n l = E.hashType, f = y, h = v, Vc(p.pubkey, v, \"verify\"), a.push(r(p.pubkey, y, E.signature));\n }\n return a.every((p) => p === !0);\n }\n validateSignaturesOfTaprootInput(t, r, n) {\n const i = this.data.inputs[t], s = (i || {}).tapKeySig, o = (i || {}).tapScriptSig;\n if (!i && !s && !(o && !o.length))\n throw new Error(\"No signatures to validate\");\n if (typeof r != \"function\")\n throw new Error(\"Need validator function to validate signatures\");\n n = n && (0, we.toXOnly)(n);\n const a = n ? ss(\n t,\n i,\n this.data.inputs,\n n,\n this.__CACHE\n ) : K2(\n t,\n i,\n this.data.inputs,\n this.__CACHE\n );\n if (!a.length)\n throw new Error(\"No signatures for this pubkey\");\n const f = a.find((l) => !l.leafHash);\n let h = 0;\n if (s && f) {\n if (!r(\n f.pubkey,\n f.hash,\n Va(s)\n ))\n return !1;\n h++;\n }\n if (o)\n for (const l of o) {\n const p = a.find((E) => l.pubkey.equals(E.pubkey));\n if (p) {\n if (!r(\n l.pubkey,\n p.hash,\n Va(l.signature)\n ))\n return !1;\n h++;\n }\n }\n return h > 0;\n }\n signAllInputsHD(t, r = [We.Transaction.SIGHASH_ALL]) {\n if (!t || !t.publicKey || !t.fingerprint)\n throw new Error(\"Need HDSigner to sign input\");\n const n = [];\n for (const i of Hn(this.data.inputs.length))\n try {\n this.signInputHD(i, t, r), n.push(!0);\n } catch {\n n.push(!1);\n }\n if (n.every((i) => i === !1))\n throw new Error(\"No inputs were signed\");\n return this;\n }\n signAllInputsHDAsync(t, r = [We.Transaction.SIGHASH_ALL]) {\n return new Promise((n, i) => {\n if (!t || !t.publicKey || !t.fingerprint)\n return i(new Error(\"Need HDSigner to sign input\"));\n const s = [], o = [];\n for (const a of Hn(this.data.inputs.length))\n o.push(\n this.signInputHDAsync(a, t, r).then(\n () => {\n s.push(!0);\n },\n () => {\n s.push(!1);\n }\n )\n );\n return Promise.all(o).then(() => {\n if (s.every((a) => a === !1))\n return i(new Error(\"No inputs were signed\"));\n n();\n });\n });\n }\n signInputHD(t, r, n = [We.Transaction.SIGHASH_ALL]) {\n if (!r || !r.publicKey || !r.fingerprint)\n throw new Error(\"Need HDSigner to sign input\");\n return Ga(t, this.data.inputs, r).forEach((s) => this.signInput(t, s, n)), this;\n }\n signInputHDAsync(t, r, n = [We.Transaction.SIGHASH_ALL]) {\n return new Promise((i, s) => {\n if (!r || !r.publicKey || !r.fingerprint)\n return s(new Error(\"Need HDSigner to sign input\"));\n const a = Ga(t, this.data.inputs, r).map(\n (f) => this.signInputAsync(t, f, n)\n );\n return Promise.all(a).then(() => {\n i();\n }).catch(s);\n });\n }\n signAllInputs(t, r) {\n if (!t || !t.publicKey)\n throw new Error(\"Need Signer to sign input\");\n const n = [];\n for (const i of Hn(this.data.inputs.length))\n try {\n this.signInput(i, t, r), n.push(!0);\n } catch {\n n.push(!1);\n }\n if (n.every((i) => i === !1))\n throw new Error(\"No inputs were signed\");\n return this;\n }\n signAllInputsAsync(t, r) {\n return new Promise((n, i) => {\n if (!t || !t.publicKey)\n return i(new Error(\"Need Signer to sign input\"));\n const s = [], o = [];\n for (const [a] of this.data.inputs.entries())\n o.push(\n this.signInputAsync(a, t, r).then(\n () => {\n s.push(!0);\n },\n () => {\n s.push(!1);\n }\n )\n );\n return Promise.all(o).then(() => {\n if (s.every((a) => a === !1))\n return i(new Error(\"No inputs were signed\"));\n n();\n });\n });\n }\n signInput(t, r, n) {\n if (!r || !r.publicKey)\n throw new Error(\"Need Signer to sign input\");\n const i = (0, et.checkForInput)(this.data.inputs, t);\n return (0, we.isTaprootInput)(i) ? this._signTaprootInput(\n t,\n i,\n r,\n void 0,\n n\n ) : this._signInput(t, r, n);\n }\n signTaprootInput(t, r, n, i) {\n if (!r || !r.publicKey)\n throw new Error(\"Need Signer to sign input\");\n const s = (0, et.checkForInput)(this.data.inputs, t);\n if ((0, we.isTaprootInput)(s))\n return this._signTaprootInput(\n t,\n s,\n r,\n n,\n i\n );\n throw new Error(`Input #${t} is not of type Taproot.`);\n }\n _signInput(t, r, n = [We.Transaction.SIGHASH_ALL]) {\n const { hash: i, sighashType: s } = Wa(\n this.data.inputs,\n t,\n r.publicKey,\n this.__CACHE,\n n\n ), o = [\n {\n pubkey: r.publicKey,\n signature: Zt.signature.encode(r.sign(i), s)\n }\n ];\n return this.data.updateInput(t, { partialSig: o }), this;\n }\n _signTaprootInput(t, r, n, i, s = [We.Transaction.SIGHASH_DEFAULT]) {\n const o = this.checkTaprootHashesForSig(\n t,\n r,\n n,\n i,\n s\n ), a = o.filter((h) => !h.leafHash).map(\n (h) => (0, we.serializeTaprootSignature)(\n n.signSchnorr(h.hash),\n r.sighashType\n )\n )[0], f = o.filter((h) => !!h.leafHash).map((h) => ({\n pubkey: (0, we.toXOnly)(n.publicKey),\n signature: (0, we.serializeTaprootSignature)(\n n.signSchnorr(h.hash),\n r.sighashType\n ),\n leafHash: h.leafHash\n }));\n return a && this.data.updateInput(t, { tapKeySig: a }), f.length && this.data.updateInput(t, { tapScriptSig: f }), this;\n }\n signInputAsync(t, r, n) {\n return Promise.resolve().then(() => {\n if (!r || !r.publicKey)\n throw new Error(\"Need Signer to sign input\");\n const i = (0, et.checkForInput)(this.data.inputs, t);\n return (0, we.isTaprootInput)(i) ? this._signTaprootInputAsync(\n t,\n i,\n r,\n void 0,\n n\n ) : this._signInputAsync(t, r, n);\n });\n }\n signTaprootInputAsync(t, r, n, i) {\n return Promise.resolve().then(() => {\n if (!r || !r.publicKey)\n throw new Error(\"Need Signer to sign input\");\n const s = (0, et.checkForInput)(this.data.inputs, t);\n if ((0, we.isTaprootInput)(s))\n return this._signTaprootInputAsync(\n t,\n s,\n r,\n n,\n i\n );\n throw new Error(`Input #${t} is not of type Taproot.`);\n });\n }\n _signInputAsync(t, r, n = [We.Transaction.SIGHASH_ALL]) {\n const { hash: i, sighashType: s } = Wa(\n this.data.inputs,\n t,\n r.publicKey,\n this.__CACHE,\n n\n );\n return Promise.resolve(r.sign(i)).then((o) => {\n const a = [\n {\n pubkey: r.publicKey,\n signature: Zt.signature.encode(o, s)\n }\n ];\n this.data.updateInput(t, { partialSig: a });\n });\n }\n async _signTaprootInputAsync(t, r, n, i, s = [We.Transaction.SIGHASH_DEFAULT]) {\n const o = this.checkTaprootHashesForSig(\n t,\n r,\n n,\n i,\n s\n ), a = [], f = o.filter((l) => !l.leafHash)[0];\n if (f) {\n const l = Promise.resolve(\n n.signSchnorr(f.hash)\n ).then((p) => ({\n tapKeySig: (0, we.serializeTaprootSignature)(\n p,\n r.sighashType\n )\n }));\n a.push(l);\n }\n const h = o.filter((l) => !!l.leafHash);\n if (h.length) {\n const l = h.map((p) => Promise.resolve(n.signSchnorr(p.hash)).then(\n (E) => ({ tapScriptSig: [\n {\n pubkey: (0, we.toXOnly)(n.publicKey),\n signature: (0, we.serializeTaprootSignature)(\n E,\n r.sighashType\n ),\n leafHash: p.leafHash\n }\n ] })\n ));\n a.push(...l);\n }\n return Promise.all(a).then((l) => {\n l.forEach((p) => this.data.updateInput(t, p));\n });\n }\n checkTaprootHashesForSig(t, r, n, i, s) {\n if (typeof n.signSchnorr != \"function\")\n throw new Error(\n `Need Schnorr Signer to sign taproot input #${t}.`\n );\n const o = ss(\n t,\n r,\n this.data.inputs,\n n.publicKey,\n this.__CACHE,\n i,\n s\n );\n if (!o || !o.length)\n throw new Error(\n `Can not sign for input #${t} with the key ${n.publicKey.toString(\n \"hex\"\n )}`\n );\n return o;\n }\n toBuffer() {\n return $o(this.__CACHE), this.data.toBuffer();\n }\n toHex() {\n return $o(this.__CACHE), this.data.toHex();\n }\n toBase64() {\n return $o(this.__CACHE), this.data.toBase64();\n }\n updateGlobal(t) {\n return this.data.updateGlobal(t), this;\n }\n updateInput(t, r) {\n return r.witnessScript && Ri(r.witnessScript), (0, we.checkTaprootInputFields)(\n this.data.inputs[t],\n r,\n \"updateInput\"\n ), this.data.updateInput(t, r), r.nonWitnessUtxo && as(\n this.__CACHE,\n this.data.inputs[t],\n t\n ), this;\n }\n updateOutput(t, r) {\n const n = this.data.outputs[t];\n return (0, we.checkTaprootOutputFields)(\n n,\n r,\n \"updateOutput\"\n ), this.data.updateOutput(t, r), this;\n }\n addUnknownKeyValToGlobal(t) {\n return this.data.addUnknownKeyValToGlobal(t), this;\n }\n addUnknownKeyValToInput(t, r) {\n return this.data.addUnknownKeyValToInput(t, r), this;\n }\n addUnknownKeyValToOutput(t, r) {\n return this.data.addUnknownKeyValToOutput(t, r), this;\n }\n clearFinalizedInput(t) {\n return this.data.clearFinalizedInput(t), this;\n }\n}\noo.Psbt = Ui;\nconst U2 = (e) => new Kc(e);\nclass Kc {\n constructor(t = I.from([2, 0, 0, 0, 0, 0, 0, 0, 0, 0])) {\n this.tx = We.Transaction.fromBuffer(t), $2(this.tx), Object.defineProperty(this, \"tx\", {\n enumerable: !1,\n writable: !0\n });\n }\n getInputOutputCounts() {\n return {\n inputCount: this.tx.ins.length,\n outputCount: this.tx.outs.length\n };\n }\n addInput(t) {\n if (t.hash === void 0 || t.index === void 0 || !I.isBuffer(t.hash) && typeof t.hash != \"string\" || typeof t.index != \"number\")\n throw new Error(\"Error adding input.\");\n const r = typeof t.hash == \"string\" ? (0, Fi.reverseBuffer)(I.from(t.hash, \"hex\")) : t.hash;\n this.tx.addInput(r, t.index, t.sequence);\n }\n addOutput(t) {\n if (t.script === void 0 || t.value === void 0 || !I.isBuffer(t.script) || typeof t.value != \"number\")\n throw new Error(\"Error adding output.\");\n this.tx.addOutput(t.script, t.value);\n }\n toBuffer() {\n return this.tx.toBuffer();\n }\n}\nfunction R2(e, t, r) {\n switch (r) {\n case \"pubkey\":\n case \"pubkeyhash\":\n case \"witnesspubkeyhash\":\n return $a(1, e.partialSig);\n case \"multisig\":\n const n = wt.p2ms({ output: t });\n return $a(n.m, e.partialSig, n.pubkeys);\n default:\n return !1;\n }\n}\nfunction $o(e) {\n if (e.__UNSAFE_SIGN_NONSEGWIT !== !1)\n throw new Error(\"Not BIP174 compliant, can not export\");\n}\nfunction $a(e, t, r) {\n if (!t)\n return !1;\n let n;\n if (r ? n = r.map((i) => {\n const s = Q2(i);\n return t.find((o) => o.pubkey.equals(s));\n }).filter((i) => !!i) : n = t, n.length > e)\n throw new Error(\"Too many signatures\");\n return n.length === e;\n}\nfunction Wc(e) {\n return !!e.finalScriptSig || !!e.finalScriptWitness;\n}\nfunction Ma(e) {\n return (t) => !(!t.masterFingerprint.equals(e.fingerprint) || !e.derivePath(t.path).publicKey.equals(t.pubkey));\n}\nfunction Ei(e) {\n if (typeof e != \"number\" || e !== Math.floor(e) || e > 4294967295 || e < 0)\n throw new Error(\"Invalid 32 bit integer\");\n}\nfunction L2(e, t, r) {\n const n = t.__FEE_RATE || e.getFeeRate(), i = t.__EXTRACTED_TX.virtualSize(), s = n * i;\n if (n >= r.maximumFeeRate)\n throw new Error(\n `Warning: You are paying around ${(s / 1e8).toFixed(8)} in fees, which is ${n} satoshi per byte for a transaction with a VSize of ${i} bytes (segwit counted as 0.25 byte per byte). Use setMaximumFeeRate method to raise your threshold, or pass true to the first arg of extractTransaction.`\n );\n}\nfunction Ln(e, t) {\n e.forEach((r) => {\n if ((0, we.isTaprootInput)(r) ? (0, we.checkTaprootInputForSigs)(r, t) : (0, Oe.checkInputForSig)(r, t))\n throw new Error(\"Can not modify transaction, signatures exist.\");\n });\n}\nfunction H2(e) {\n if (!e.sighashType || !e.partialSig)\n return;\n const { partialSig: t, sighashType: r } = e;\n t.forEach((n) => {\n const { hashType: i } = Zt.signature.decode(n.signature);\n if (r !== i)\n throw new Error(\"Signature sighash does not match input sighash type\");\n });\n}\nfunction Vc(e, t, r) {\n if (!(0, Oe.pubkeyInScript)(e, t))\n throw new Error(\n `Can not ${r} for this input with the key ${e.toString(\"hex\")}`\n );\n}\nfunction $2(e) {\n if (!e.ins.every(\n (r) => r.script && r.script.length === 0 && r.witness && r.witness.length === 0\n ))\n throw new Error(\"Format Error: Transaction ScriptSigs are not empty\");\n}\nfunction M2(e, t) {\n e.ins.forEach((r) => {\n Gc(t, r);\n });\n}\nfunction Gc(e, t) {\n const r = (0, Fi.reverseBuffer)(I.from(t.hash)).toString(\"hex\") + \":\" + t.index;\n if (e.__TX_IN_CACHE[r])\n throw new Error(\"Duplicate input detected.\");\n e.__TX_IN_CACHE[r] = 1;\n}\nfunction Xc(e, t) {\n return (r, n, i, s) => {\n const o = e({\n redeem: { output: i }\n }).output;\n if (!n.equals(o))\n throw new Error(\n `${t} for ${s} #${r} doesn't match the scriptPubKey in the prevout`\n );\n };\n}\nconst Da = Xc(wt.p2sh, \"Redeem script\"), ja = Xc(\n wt.p2wsh,\n \"Witness script\"\n);\nfunction Ka(e, t, r, n) {\n if (!r.every(Wc))\n throw new Error(`PSBT must be finalized to calculate ${t}`);\n if (e === \"__FEE_RATE\" && n.__FEE_RATE)\n return n.__FEE_RATE;\n if (e === \"__FEE\" && n.__FEE)\n return n.__FEE;\n let i, s = !0;\n if (n.__EXTRACTED_TX ? (i = n.__EXTRACTED_TX, s = !1) : i = n.__TX.clone(), Qc(r, i, n, s), e === \"__FEE_RATE\")\n return n.__FEE_RATE;\n if (e === \"__FEE\")\n return n.__FEE;\n}\nfunction D2(e, t, r, n, i, s) {\n const o = tl(r);\n if (!R2(t, r, o))\n throw new Error(`Can not finalize input #${e}`);\n return j2(\n r,\n o,\n t.partialSig,\n n,\n i,\n s\n );\n}\nfunction j2(e, t, r, n, i, s) {\n let o, a;\n const f = W2(e, t, r), h = s ? wt.p2wsh({ redeem: f }) : null, l = i ? wt.p2sh({ redeem: h || f }) : null;\n return n ? (h ? a = (0, Oe.witnessStackToScriptWitness)(\n h.witness\n ) : a = (0, Oe.witnessStackToScriptWitness)(\n f.witness\n ), l && (o = l.input)) : l ? o = l.input : o = f.input, {\n finalScriptSig: o,\n finalScriptWitness: a\n };\n}\nfunction Wa(e, t, r, n, i) {\n const s = (0, et.checkForInput)(e, t), { hash: o, sighashType: a, script: f } = qc(\n t,\n s,\n n,\n !1,\n i\n );\n return Vc(r, f, \"sign\"), {\n hash: o,\n sighashType: a\n };\n}\nfunction qc(e, t, r, n, i) {\n const s = r.__TX, o = t.sighashType || We.Transaction.SIGHASH_ALL;\n Yc(o, i);\n let a, f;\n if (t.nonWitnessUtxo) {\n const p = co(\n r,\n t,\n e\n ), E = s.ins[e].hash, y = p.getHash();\n if (!E.equals(y))\n throw new Error(\n `Non-witness UTXO hash for input #${e} doesn't match the hash specified in the prevout`\n );\n const v = s.ins[e].index;\n f = p.outs[v];\n } else if (t.witnessUtxo)\n f = t.witnessUtxo;\n else\n throw new Error(\"Need a Utxo input item for signing\");\n const { meaningfulScript: h, type: l } = lo(\n f.script,\n e,\n \"input\",\n t.redeemScript,\n t.witnessScript\n );\n if ([\"p2sh-p2wsh\", \"p2wsh\"].indexOf(l) >= 0)\n a = s.hashForWitnessV0(\n e,\n h,\n f.value,\n o\n );\n else if ((0, Oe.isP2WPKH)(h)) {\n const p = wt.p2pkh({\n hash: h.slice(2)\n }).output;\n a = s.hashForWitnessV0(\n e,\n p,\n f.value,\n o\n );\n } else {\n if (t.nonWitnessUtxo === void 0 && r.__UNSAFE_SIGN_NONSEGWIT === !1)\n throw new Error(\n `Input #${e} has witnessUtxo but non-segwit script: ${h.toString(\"hex\")}`\n );\n !n && r.__UNSAFE_SIGN_NONSEGWIT !== !1 && console.warn(\n `Warning: Signing non-segwit inputs without the full parent transaction means there is a chance that a miner could feed you incorrect information to trick you into paying large fees. This behavior is the same as Psbt's predecesor (TransactionBuilder - now removed) when signing non-segwit scripts. You are not able to export this Psbt with toBuffer|toBase64|toHex since it is not BIP174 compliant.\n*********************\nPROCEED WITH CAUTION!\n*********************`\n ), a = s.hashForSignature(\n e,\n h,\n o\n );\n }\n return {\n script: h,\n sighashType: o,\n hash: a\n };\n}\nfunction K2(e, t, r, n) {\n const i = [];\n if (t.tapInternalKey) {\n const o = zc(e, t, n);\n o && i.push(o);\n }\n if (t.tapScriptSig) {\n const o = t.tapScriptSig.map((a) => a.pubkey);\n i.push(...o);\n }\n return i.map(\n (o) => ss(e, t, r, o, n)\n ).flat();\n}\nfunction zc(e, t, r) {\n const { script: n } = $s(e, t, r);\n return (0, Oe.isP2TR)(n) ? n.subarray(2, 34) : null;\n}\nfunction Va(e) {\n return e.length === 64 ? e : e.subarray(0, 64);\n}\nfunction ss(e, t, r, n, i, s, o) {\n const a = i.__TX, f = t.sighashType || We.Transaction.SIGHASH_DEFAULT;\n Yc(f, o);\n const h = r.map(\n (v, S) => $s(S, v, i)\n ), l = h.map((v) => v.script), p = h.map((v) => v.value), E = [];\n if (t.tapInternalKey && !s) {\n const v = zc(e, t, i) || I.from([]);\n if ((0, we.toXOnly)(n).equals(v)) {\n const S = a.hashForWitnessV1(\n e,\n l,\n p,\n f\n );\n E.push({ pubkey: n, hash: S });\n }\n }\n const y = (t.tapLeafScript || []).filter((v) => (0, Oe.pubkeyInScript)(n, v.script)).map((v) => {\n const S = (0, N2.tapleafHash)({\n output: v.script,\n version: v.leafVersion\n });\n return Object.assign({ hash: S }, v);\n }).filter(\n (v) => !s || s.equals(v.hash)\n ).map((v) => {\n const S = a.hashForWitnessV1(\n e,\n l,\n p,\n We.Transaction.SIGHASH_DEFAULT,\n v.hash\n );\n return {\n pubkey: n,\n hash: S,\n leafHash: v.hash\n };\n });\n return E.concat(y);\n}\nfunction Yc(e, t) {\n if (t && t.indexOf(e) < 0) {\n const r = X2(e);\n throw new Error(\n `Sighash type is not allowed. Retry the sign method passing the sighashTypes array of whitelisted types. Sighash type: ${r}`\n );\n }\n}\nfunction W2(e, t, r) {\n let n;\n switch (t) {\n case \"multisig\":\n const i = G2(e, r);\n n = wt.p2ms({\n output: e,\n signatures: i\n });\n break;\n case \"pubkey\":\n n = wt.p2pk({\n output: e,\n signature: r[0].signature\n });\n break;\n case \"pubkeyhash\":\n n = wt.p2pkh({\n output: e,\n pubkey: r[0].pubkey,\n signature: r[0].signature\n });\n break;\n case \"witnesspubkeyhash\":\n n = wt.p2wpkh({\n output: e,\n pubkey: r[0].pubkey,\n signature: r[0].signature\n });\n break;\n }\n return n;\n}\nfunction V2(e, t, r) {\n const n = r.__TX, i = {\n script: null,\n isSegwit: !1,\n isP2SH: !1,\n isP2WSH: !1\n };\n if (i.isP2SH = !!t.redeemScript, i.isP2WSH = !!t.witnessScript, t.witnessScript)\n i.script = t.witnessScript;\n else if (t.redeemScript)\n i.script = t.redeemScript;\n else if (t.nonWitnessUtxo) {\n const s = co(\n r,\n t,\n e\n ), o = n.ins[e].index;\n i.script = s.outs[o].script;\n } else\n t.witnessUtxo && (i.script = t.witnessUtxo.script);\n return (t.witnessScript || (0, Oe.isP2WPKH)(i.script)) && (i.isSegwit = !0), i;\n}\nfunction Ga(e, t, r) {\n const n = (0, et.checkForInput)(t, e);\n if (!n.bip32Derivation || n.bip32Derivation.length === 0)\n throw new Error(\"Need bip32Derivation to sign with HD\");\n const i = n.bip32Derivation.map((o) => {\n if (o.masterFingerprint.equals(r.fingerprint))\n return o;\n }).filter((o) => !!o);\n if (i.length === 0)\n throw new Error(\n \"Need one bip32Derivation masterFingerprint to match the HDSigner fingerprint\"\n );\n return i.map((o) => {\n const a = r.derivePath(o.path);\n if (!o.pubkey.equals(a.publicKey))\n throw new Error(\"pubkey did not match bip32Derivation\");\n return a;\n });\n}\nfunction G2(e, t) {\n return wt.p2ms({ output: e }).pubkeys.map((n) => (t.filter((i) => i.pubkey.equals(n))[0] || {}).signature).filter((n) => !!n);\n}\nfunction Jc(e) {\n let t = 0;\n function r(o) {\n return t += o, e.slice(t - o, t);\n }\n function n() {\n const o = La.decode(e, t);\n return t += La.decode.bytes, o;\n }\n function i() {\n return r(n());\n }\n function s() {\n const o = n(), a = [];\n for (let f = 0; f < o; f++)\n a.push(i());\n return a;\n }\n return s();\n}\nfunction X2(e) {\n let t = e & We.Transaction.SIGHASH_ANYONECANPAY ? \"SIGHASH_ANYONECANPAY | \" : \"\";\n switch (e & 31) {\n case We.Transaction.SIGHASH_ALL:\n t += \"SIGHASH_ALL\";\n break;\n case We.Transaction.SIGHASH_SINGLE:\n t += \"SIGHASH_SINGLE\";\n break;\n case We.Transaction.SIGHASH_NONE:\n t += \"SIGHASH_NONE\";\n break;\n }\n return t;\n}\nfunction as(e, t, r) {\n e.__NON_WITNESS_UTXO_BUF_CACHE[r] = t.nonWitnessUtxo;\n const n = We.Transaction.fromBuffer(t.nonWitnessUtxo);\n e.__NON_WITNESS_UTXO_TX_CACHE[r] = n;\n const i = e, s = r;\n delete t.nonWitnessUtxo, Object.defineProperty(t, \"nonWitnessUtxo\", {\n enumerable: !0,\n get() {\n const o = i.__NON_WITNESS_UTXO_BUF_CACHE[s], a = i.__NON_WITNESS_UTXO_TX_CACHE[s];\n if (o !== void 0)\n return o;\n {\n const f = a.toBuffer();\n return i.__NON_WITNESS_UTXO_BUF_CACHE[s] = f, f;\n }\n },\n set(o) {\n i.__NON_WITNESS_UTXO_BUF_CACHE[s] = o;\n }\n });\n}\nfunction Qc(e, t, r, n) {\n let i = 0;\n e.forEach((f, h) => {\n if (n && f.finalScriptSig && (t.ins[h].script = f.finalScriptSig), n && f.finalScriptWitness && (t.ins[h].witness = Jc(\n f.finalScriptWitness\n )), f.witnessUtxo)\n i += f.witnessUtxo.value;\n else if (f.nonWitnessUtxo) {\n const l = co(r, f, h), p = t.ins[h].index, E = l.outs[p];\n i += E.value;\n }\n });\n const s = t.outs.reduce((f, h) => f + h.value, 0), o = i - s;\n if (o < 0)\n throw new Error(\"Outputs are spending more than Inputs\");\n const a = t.virtualSize();\n r.__FEE = o, r.__EXTRACTED_TX = t, r.__FEE_RATE = Math.floor(o / a);\n}\nfunction co(e, t, r) {\n const n = e.__NON_WITNESS_UTXO_TX_CACHE;\n return n[r] || as(e, t, r), n[r];\n}\nfunction Zc(e, t, r) {\n const { script: n } = $s(e, t, r);\n return n;\n}\nfunction $s(e, t, r) {\n if (t.witnessUtxo !== void 0)\n return {\n script: t.witnessUtxo.script,\n value: t.witnessUtxo.value\n };\n if (t.nonWitnessUtxo !== void 0) {\n const i = co(\n r,\n t,\n e\n ).outs[r.__TX.ins[e].index];\n return { script: i.script, value: i.value };\n } else\n throw new Error(\"Can't find pubkey in input without Utxo data\");\n}\nfunction q2(e, t, r, n) {\n const i = Zc(r, t, n), { meaningfulScript: s } = lo(\n i,\n r,\n \"input\",\n t.redeemScript,\n t.witnessScript\n );\n return (0, Oe.pubkeyInScript)(e, s);\n}\nfunction z2(e, t, r, n) {\n const i = n.__TX.outs[r].script, { meaningfulScript: s } = lo(\n i,\n r,\n \"output\",\n t.redeemScript,\n t.witnessScript\n );\n return (0, Oe.pubkeyInScript)(e, s);\n}\nfunction Y2(e) {\n if (!e)\n return;\n const t = Zt.decompile(e);\n if (!t)\n return;\n const r = t[t.length - 1];\n if (!(!I.isBuffer(r) || el(r) || Z2(r) || !Zt.decompile(r)))\n return r;\n}\nfunction J2(e) {\n if (!e)\n return;\n const t = Jc(e), r = t[t.length - 1];\n if (!(el(r) || !Zt.decompile(r)))\n return r;\n}\nfunction Q2(e) {\n if (e.length === 65) {\n const t = e[64] & 1, r = e.slice(0, 33);\n return r[0] = 2 | t, r;\n }\n return e.slice();\n}\nfunction el(e) {\n return e.length === 33 && Zt.isCanonicalPubKey(e);\n}\nfunction Z2(e) {\n return Zt.isCanonicalScriptSignature(e);\n}\nfunction lo(e, t, r, n, i) {\n const s = (0, Oe.isP2SHScript)(e), o = s && n && (0, Oe.isP2WSHScript)(n), a = (0, Oe.isP2WSHScript)(e);\n if (s && n === void 0)\n throw new Error(\"scriptPubkey is P2SH but redeemScript missing\");\n if ((a || o) && i === void 0)\n throw new Error(\n \"scriptPubkey or redeemScript is P2WSH but witnessScript missing\"\n );\n let f;\n return o ? (f = i, Da(t, e, n, r), ja(t, n, i, r), Ri(f)) : a ? (f = i, ja(t, e, i, r), Ri(f)) : s ? (f = n, Da(t, e, n, r)) : f = e, {\n meaningfulScript: f,\n type: o ? \"p2sh-p2wsh\" : s ? \"p2sh\" : a ? \"p2wsh\" : \"raw\"\n };\n}\nfunction Ri(e) {\n if ((0, Oe.isP2WPKH)(e) || (0, Oe.isP2SHScript)(e))\n throw new Error(\"P2WPKH or P2SH can not be contained within P2WSH\");\n}\nfunction tl(e) {\n return (0, Oe.isP2WPKH)(e) ? \"witnesspubkeyhash\" : (0, Oe.isP2PKH)(e) ? \"pubkeyhash\" : (0, Oe.isP2MS)(e) ? \"multisig\" : (0, Oe.isP2PK)(e) ? \"pubkey\" : \"nonstandard\";\n}\nfunction Hn(e) {\n return [...Array(e).keys()];\n}\n(function(e) {\n Object.defineProperty(e, \"__esModule\", { value: !0 }), e.initEccLib = e.Transaction = e.opcodes = e.Psbt = e.Block = e.script = e.payments = e.networks = e.crypto = e.address = void 0;\n const t = rt;\n e.address = t;\n const r = Ut;\n e.crypto = r;\n const n = He;\n e.networks = n;\n const i = Tn;\n e.payments = i;\n const s = ot;\n e.script = s;\n var o = no;\n Object.defineProperty(e, \"Block\", {\n enumerable: !0,\n get: function() {\n return o.Block;\n }\n });\n var a = oo;\n Object.defineProperty(e, \"Psbt\", {\n enumerable: !0,\n get: function() {\n return a.Psbt;\n }\n });\n var f = _r;\n Object.defineProperty(e, \"opcodes\", {\n enumerable: !0,\n get: function() {\n return f.OPS;\n }\n });\n var h = Or;\n Object.defineProperty(e, \"Transaction\", {\n enumerable: !0,\n get: function() {\n return h.Transaction;\n }\n });\n var l = Tr;\n Object.defineProperty(e, \"initEccLib\", {\n enumerable: !0,\n get: function() {\n return l.initEccLib;\n }\n });\n})(xu);\nfunction dg() {\n const { network: e, publicKey: t, format: r, wallet: n } = Pr(), [i, s] = Ee(null), [o, a] = Ee(!1);\n return { sign: Ue(\n async (h, l, p) => {\n a(!0);\n try {\n if (s(null), !r || !t || !n)\n throw new Error(\"No wallet is connected\");\n const E = xu.Psbt.fromBase64(l), y = await Au({\n address: h,\n wallet: n,\n network: e,\n psbt: E,\n options: p\n });\n return a(!1), y;\n } catch (E) {\n throw s(E.message), a(!1), E;\n }\n },\n [r, e, t, n]\n ), error: i, loading: o };\n}\nasync function eg({\n message: e,\n wallet: t,\n address: r,\n network: n\n}) {\n if (t === Ve.UNISAT) {\n const { base64: i } = await Sl(e, \"bip322-simple\");\n return i;\n }\n if (t === Ve.XVERSE) {\n const { base64: i } = await Tl(e, r, n);\n return i;\n }\n throw new Error(\"Invalid wallet selected\");\n}\nfunction pg() {\n const { network: e, wallet: t, publicKey: r, format: n } = Pr(), [i, s] = Ee(null), [o, a] = Ee(!1);\n return { signMsg: Ue(\n async (h, l) => {\n a(!0);\n try {\n if (s(null), !n || !r || !t)\n throw new Error(\"No wallet is connected\");\n const p = await eg({\n address: h,\n wallet: t,\n message: l,\n network: e\n });\n return a(!1), p;\n } catch (p) {\n throw s(p.message), a(!1), p;\n }\n },\n [n, e, r, t]\n ), error: i, isLoading: o };\n}\nexport {\n Rl as Network,\n ug as OrdConnectKit,\n sg as OrdConnectProvider,\n y0 as SelectWalletModal,\n cg as useBalance,\n Pr as useOrdConnect,\n lg as useSend,\n dg as useSign,\n pg as useSignMessage\n};\n","/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar t=function(){return t=Object.assign||function(t){for(var r,e=1,n=arguments.length;e{if(!t||\"string\"!=typeof t)throw new Error(`Expected base58 string but got “${t}”`);if(t.match(/[IOl0]/gmu))throw new Error(`Invalid base58 character “${t.match(/[IOl0]/gmu)}”`);const e=t.match(/^1+/gmu),n=e?e[0].length:0,s=(t.length-n)*(Math.log(58)/Math.log(256))+1>>>0;return new Uint8Array([...new Uint8Array(n),...t.match(/.{1}/gmu).map((t=>r.indexOf(t))).reduce(((t,r)=>t=t.map((t=>{const e=58*t+r;return r=e>>8,e}))),new Uint8Array(s)).reverse().filter((i=!1,t=>i=i||t))]);var i};(()=>{const t=Array(256).fill(-1);for(let e=0;e>25;return(33554431&t)<<5^996825010&-(r>>0&1)^642813549&-(r>>1&1)^513874426&-(r>>2&1)^1027748829&-(r>>3&1)^705979059&-(r>>4&1)}function i(t){let r=1;for(let e=0;e126)return\"Invalid prefix (\"+t+\")\";r=s(r)^n>>5}r=s(r);for(let e=0;e=e;)i-=e,h.push(s>>i&o);if(n)i>0&&h.push(s<=r)return\"Excess padding\";if(s<e)return\"Exceeds length limit\";const o=t.toLowerCase(),h=t.toUpperCase();if(t!==o&&t!==h)return\"Mixed-case string \"+t;const c=(t=o).lastIndexOf(\"1\");if(-1===c)return\"No separator character for \"+t;if(0===c)return\"Missing prefix for \"+t;const a=t.slice(0,c),f=t.slice(c+1);if(f.length<6)return\"Data too short\";let u=i(a);if(\"string\"==typeof u)return u;const l=[];for(let t=0;t=f.length||l.push(e)}return u!==r?\"Invalid checksum for \"+t:{prefix:a,words:l}}return r=\"bech32\"===t?1:734539939,{decodeUnsafe:function(t,r){const e=o(t,r);if(\"object\"==typeof e)return e},decode:function(t,r){const e=o(t,r);if(\"object\"==typeof e)return e;throw new Error(e)},encode:function(t,n,o){if(o=o||90,t.length+7+n.length>o)throw new TypeError(\"Exceeds length limit\");let h=i(t=t.toLowerCase());if(\"string\"==typeof h)throw new Error(h);let c=t+\"1\";for(let t=0;t>5!=0)throw new Error(\"Non 5-bit word\");h=s(h)^r,c+=e.charAt(r)}for(let t=0;t<6;++t)h=s(h);h^=r;for(let t=0;t<6;++t)c+=e.charAt(h>>5*(5-t)&31);return c},toWords:h,fromWordsUnsafe:c,fromWords:a}}r.bech32=f(\"bech32\"),r.bech32m=f(\"bech32m\")},s(i={exports:{}},i.exports),i.exports);(o=h)&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,\"default\")&&o.default;var c=h.bech32m,a=h.bech32;const f=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],u={sha256:1};class l{constructor(){this.A=1779033703,this.B=-1150833019,this.C=1013904242,this.D=-1521486534,this.E=1359893119,this.F=-1694144372,this.G=528734635,this.H=1541459225,this._size=0,this._sp=0,(!p||w>=8e3)&&(p=new ArrayBuffer(8e3),w=0),this._byte=new Uint8Array(p,w,80),this._word=new Int32Array(p,w,20),w+=80}update(t){if(\"string\"==typeof t)return this._utf8(t);if(null==t)throw new TypeError(\"Invalid type: \"+typeof t);const r=t.byteOffset,e=t.byteLength;let n=e/64|0,s=0;if(n&&!(3&r)&&!(this._size%64)){const e=new Int32Array(t.buffer,r,16*n);for(;n--;)this._int32(e,s>>2),s+=64;this._size+=s}if(1!==t.BYTES_PER_ELEMENT&&t.buffer){const n=new Uint8Array(t.buffer,r+s,e-s);return this._uint8(n)}return s===e?this:this._uint8(t,s)}_uint8(t,r){const{_byte:e,_word:n}=this,s=t.length;for(r|=0;r=64&&this._int32(n),this._size+=o-i}return this}_utf8(t){const{_byte:r,_word:e}=this,n=t.length;let s=this._sp;for(let i=0;i>>6,r[h++]=128|63&e):e<55296||e>57343?(r[h++]=224|e>>>12,r[h++]=128|e>>>6&63,r[h++]=128|63&e):s?(e=((1023&s)<<10)+(1023&e)+65536,r[h++]=240|e>>>18,r[h++]=128|e>>>12&63,r[h++]=128|e>>>6&63,r[h++]=128|63&e,s=0):s=e}h>=64&&(this._int32(e),e[0]=e[16]),this._size+=h-o}return this._sp=s,this}_int32(t,r){let{A:e,B:n,C:s,D:i,E:o,F:h,G:c,H:a}=this,u=0;for(r|=0;u<16;)d[u++]=g(t[r++]);for(u=16;u<64;u++)d[u]=A(d[u-2])+d[u-7]+m(d[u-15])+d[u-16]|0;for(u=0;u<64;u++){const t=a+E(o)+b(o,h,c)+f[u]+d[u]|0,r=v(e)+_(e,n,s)|0;a=c,c=h,h=o,o=i+t|0,i=s,s=n,n=e,e=t+r|0}this.A=e+this.A|0,this.B=n+this.B|0,this.C=s+this.C|0,this.D=i+this.D|0,this.E=o+this.E|0,this.F=h+this.F|0,this.G=c+this.G|0,this.H=a+this.H|0}digest(t){const{_byte:r,_word:e}=this;let n=this._size%64|0;for(r[n++]=128;3&n;)r[n++]=0;if(n>>=2,n>14){for(;n<16;)e[n++]=0;n=0,this._int32(e)}for(;n<16;)e[n++]=0;const s=8*this._size,i=(4294967295&s)>>>0,o=(s-i)/4294967296;return o&&(e[14]=g(o)),i&&(e[15]=g(i)),this._int32(e),\"hex\"===t?this._hex():this._bin()}_hex(){const{A:t,B:r,C:e,D:n,E:s,F:i,G:o,H:h}=this;return y(t)+y(r)+y(e)+y(n)+y(s)+y(i)+y(o)+y(h)}_bin(){const{A:t,B:r,C:e,D:n,E:s,F:i,G:o,H:h,_byte:c,_word:a}=this;return a[0]=g(t),a[1]=g(r),a[2]=g(e),a[3]=g(n),a[4]=g(s),a[5]=g(i),a[6]=g(o),a[7]=g(h),c.slice(0,32)}}const d=new Int32Array(64);let p,w=0;const y=t=>(t+4294967296).toString(16).substr(-8),g=254===new Uint8Array(new Uint16Array([65279]).buffer)[0]?t=>t:t=>t<<24&4278190080|t<<8&16711680|t>>8&65280|t>>24&255,b=(t,r,e)=>e^t&(r^e),_=(t,r,e)=>t&r|e&(t|r),v=t=>(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),E=t=>(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7),m=t=>(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3,A=t=>(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10;var x,k,I=function(t){return function(t){if(t&&!u[t]&&!u[t.toLowerCase()])throw new Error(\"Digest method not supported\");return new l}().update(t).digest()};!function(t){t.mainnet=\"mainnet\",t.testnet=\"testnet\",t.regtest=\"regtest\"}(x||(x={})),function(t){t.p2pkh=\"p2pkh\",t.p2sh=\"p2sh\",t.p2wpkh=\"p2wpkh\",t.p2wsh=\"p2wsh\",t.p2tr=\"p2tr\"}(k||(k={}));var C={0:{type:k.p2pkh,network:x.mainnet},111:{type:k.p2pkh,network:x.testnet},5:{type:k.p2sh,network:x.mainnet},196:{type:k.p2sh,network:x.testnet}},z=function(r){var e,s=r.substr(0,2).toLowerCase();if(\"bc\"===s||\"tb\"===s)return function(t){var r;try{r=t.startsWith(\"bc1p\")||t.startsWith(\"tb1p\")||t.startsWith(\"bcrt1p\")?c.decode(t):a.decode(t)}catch(t){throw new Error(\"Invalid address\")}var e={bc:x.mainnet,tb:x.testnet,bcrt:x.regtest}[r.prefix];if(void 0===e)throw new Error(\"Invalid address\");var n=r.words[0];if(n<0||n>16)throw new Error(\"Invalid address\");return{bech32:!0,network:e,address:t,type:20===a.fromWords(r.words.slice(1)).length?k.p2wpkh:1===n?k.p2tr:k.p2wsh}}(r);try{e=n(r)}catch(t){throw new Error(\"Invalid address\")}var i=e.length;if(25!==i)throw new Error(\"Invalid address\");var o=e[0],h=e.slice(i-4,i),f=e.slice(0,i-4),u=I(I(f)).slice(0,4);if(h.some((function(t,r){return t!==u[r]})))throw new Error(\"Invalid address\");if(!Object.keys(C).map(Number).includes(o))throw new Error(\"Invalid address\");return t(t({},C[o]),{address:r,bech32:!1})},O=function(t,r){try{var e=z(t);return!r||r===e.network}catch(t){return!1}};export{k as AddressType,x as Network,O as default,z as getAddressInfo,O as validate};\n","import { validate as Kr, getAddressInfo as dr } from \"bitcoin-address-validation\";\nimport * as Br from \"@bitcoinerlab/secp256k1\";\nimport { BIP32Factory as qr } from \"bip32\";\nimport { networks as wr, initEccLib as Hr, payments as N } from \"bitcoinjs-lib\";\nimport \"ecpair\";\nvar Q = {}, G = {};\nG.byteLength = Vr;\nG.toByteArray = Zr;\nG.fromByteArray = rt;\nvar C = [], R = [], Xr = typeof Uint8Array < \"u\" ? Uint8Array : Array, Z = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var O = 0, zr = Z.length; O < zr; ++O)\n C[O] = Z[O], R[Z.charCodeAt(O)] = O;\nR[\"-\".charCodeAt(0)] = 62;\nR[\"_\".charCodeAt(0)] = 63;\nfunction Er(c) {\n var s = c.length;\n if (s % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var f = c.indexOf(\"=\");\n f === -1 && (f = s);\n var w = f === s ? 0 : 4 - f % 4;\n return [f, w];\n}\nfunction Vr(c) {\n var s = Er(c), f = s[0], w = s[1];\n return (f + w) * 3 / 4 - w;\n}\nfunction Jr(c, s, f) {\n return (s + f) * 3 / 4 - f;\n}\nfunction Zr(c) {\n var s, f = Er(c), w = f[0], a = f[1], p = new Xr(Jr(c, w, a)), l = 0, g = a > 0 ? w - 4 : w, d;\n for (d = 0; d < g; d += 4)\n s = R[c.charCodeAt(d)] << 18 | R[c.charCodeAt(d + 1)] << 12 | R[c.charCodeAt(d + 2)] << 6 | R[c.charCodeAt(d + 3)], p[l++] = s >> 16 & 255, p[l++] = s >> 8 & 255, p[l++] = s & 255;\n return a === 2 && (s = R[c.charCodeAt(d)] << 2 | R[c.charCodeAt(d + 1)] >> 4, p[l++] = s & 255), a === 1 && (s = R[c.charCodeAt(d)] << 10 | R[c.charCodeAt(d + 1)] << 4 | R[c.charCodeAt(d + 2)] >> 2, p[l++] = s >> 8 & 255, p[l++] = s & 255), p;\n}\nfunction Qr(c) {\n return C[c >> 18 & 63] + C[c >> 12 & 63] + C[c >> 6 & 63] + C[c & 63];\n}\nfunction vr(c, s, f) {\n for (var w, a = [], p = s; p < f; p += 3)\n w = (c[p] << 16 & 16711680) + (c[p + 1] << 8 & 65280) + (c[p + 2] & 255), a.push(Qr(w));\n return a.join(\"\");\n}\nfunction rt(c) {\n for (var s, f = c.length, w = f % 3, a = [], p = 16383, l = 0, g = f - w; l < g; l += p)\n a.push(vr(c, l, l + p > g ? g : l + p));\n return w === 1 ? (s = c[f - 1], a.push(\n C[s >> 2] + C[s << 4 & 63] + \"==\"\n )) : w === 2 && (s = (c[f - 2] << 8) + c[f - 1], a.push(\n C[s >> 10] + C[s >> 4 & 63] + C[s << 2 & 63] + \"=\"\n )), a.join(\"\");\n}\nvar v = {};\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nv.read = function(c, s, f, w, a) {\n var p, l, g = a * 8 - w - 1, d = (1 << g) - 1, F = d >> 1, o = -7, A = f ? a - 1 : 0, b = f ? -1 : 1, T = c[s + A];\n for (A += b, p = T & (1 << -o) - 1, T >>= -o, o += g; o > 0; p = p * 256 + c[s + A], A += b, o -= 8)\n ;\n for (l = p & (1 << -o) - 1, p >>= -o, o += w; o > 0; l = l * 256 + c[s + A], A += b, o -= 8)\n ;\n if (p === 0)\n p = 1 - F;\n else {\n if (p === d)\n return l ? NaN : (T ? -1 : 1) * (1 / 0);\n l = l + Math.pow(2, w), p = p - F;\n }\n return (T ? -1 : 1) * l * Math.pow(2, p - w);\n};\nv.write = function(c, s, f, w, a, p) {\n var l, g, d, F = p * 8 - a - 1, o = (1 << F) - 1, A = o >> 1, b = a === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, T = w ? 0 : p - 1, P = w ? 1 : -1, K = s < 0 || s === 0 && 1 / s < 0 ? 1 : 0;\n for (s = Math.abs(s), isNaN(s) || s === 1 / 0 ? (g = isNaN(s) ? 1 : 0, l = o) : (l = Math.floor(Math.log(s) / Math.LN2), s * (d = Math.pow(2, -l)) < 1 && (l--, d *= 2), l + A >= 1 ? s += b / d : s += b * Math.pow(2, 1 - A), s * d >= 2 && (l++, d /= 2), l + A >= o ? (g = 0, l = o) : l + A >= 1 ? (g = (s * d - 1) * Math.pow(2, a), l = l + A) : (g = s * Math.pow(2, A - 1) * Math.pow(2, a), l = 0)); a >= 8; c[f + T] = g & 255, T += P, g /= 256, a -= 8)\n ;\n for (l = l << a | g, F += a; F > 0; c[f + T] = l & 255, T += P, l /= 256, F -= 8)\n ;\n c[f + T - P] |= K * 128;\n};\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n(function(c) {\n const s = G, f = v, w = typeof Symbol == \"function\" && typeof Symbol.for == \"function\" ? Symbol.for(\"nodejs.util.inspect.custom\") : null;\n c.Buffer = o, c.SlowBuffer = Ar, c.INSPECT_MAX_BYTES = 50;\n const a = 2147483647;\n c.kMaxLength = a;\n const { Uint8Array: p, ArrayBuffer: l, SharedArrayBuffer: g } = globalThis;\n o.TYPED_ARRAY_SUPPORT = d(), !o.TYPED_ARRAY_SUPPORT && typeof console < \"u\" && typeof console.error == \"function\" && console.error(\n \"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"\n );\n function d() {\n try {\n const e = new p(1), r = { foo: function() {\n return 42;\n } };\n return Object.setPrototypeOf(r, p.prototype), Object.setPrototypeOf(e, r), e.foo() === 42;\n } catch {\n return !1;\n }\n }\n Object.defineProperty(o.prototype, \"parent\", {\n enumerable: !0,\n get: function() {\n if (o.isBuffer(this))\n return this.buffer;\n }\n }), Object.defineProperty(o.prototype, \"offset\", {\n enumerable: !0,\n get: function() {\n if (o.isBuffer(this))\n return this.byteOffset;\n }\n });\n function F(e) {\n if (e > a)\n throw new RangeError('The value \"' + e + '\" is invalid for option \"size\"');\n const r = new p(e);\n return Object.setPrototypeOf(r, o.prototype), r;\n }\n function o(e, r, t) {\n if (typeof e == \"number\") {\n if (typeof r == \"string\")\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n );\n return P(e);\n }\n return A(e, r, t);\n }\n o.poolSize = 8192;\n function A(e, r, t) {\n if (typeof e == \"string\")\n return K(e, r);\n if (l.isView(e))\n return Ir(e);\n if (e == null)\n throw new TypeError(\n \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof e\n );\n if (S(e, l) || e && S(e.buffer, l) || typeof g < \"u\" && (S(e, g) || e && S(e.buffer, g)))\n return H(e, r, t);\n if (typeof e == \"number\")\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n );\n const n = e.valueOf && e.valueOf();\n if (n != null && n !== e)\n return o.from(n, r, t);\n const i = Fr(e);\n if (i)\n return i;\n if (typeof Symbol < \"u\" && Symbol.toPrimitive != null && typeof e[Symbol.toPrimitive] == \"function\")\n return o.from(e[Symbol.toPrimitive](\"string\"), r, t);\n throw new TypeError(\n \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof e\n );\n }\n o.from = function(e, r, t) {\n return A(e, r, t);\n }, Object.setPrototypeOf(o.prototype, p.prototype), Object.setPrototypeOf(o, p);\n function b(e) {\n if (typeof e != \"number\")\n throw new TypeError('\"size\" argument must be of type number');\n if (e < 0)\n throw new RangeError('The value \"' + e + '\" is invalid for option \"size\"');\n }\n function T(e, r, t) {\n return b(e), e <= 0 ? F(e) : r !== void 0 ? typeof t == \"string\" ? F(e).fill(r, t) : F(e).fill(r) : F(e);\n }\n o.alloc = function(e, r, t) {\n return T(e, r, t);\n };\n function P(e) {\n return b(e), F(e < 0 ? 0 : X(e) | 0);\n }\n o.allocUnsafe = function(e) {\n return P(e);\n }, o.allocUnsafeSlow = function(e) {\n return P(e);\n };\n function K(e, r) {\n if ((typeof r != \"string\" || r === \"\") && (r = \"utf8\"), !o.isEncoding(r))\n throw new TypeError(\"Unknown encoding: \" + r);\n const t = tr(e, r) | 0;\n let n = F(t);\n const i = n.write(e, r);\n return i !== t && (n = n.slice(0, i)), n;\n }\n function q(e) {\n const r = e.length < 0 ? 0 : X(e.length) | 0, t = F(r);\n for (let n = 0; n < r; n += 1)\n t[n] = e[n] & 255;\n return t;\n }\n function Ir(e) {\n if (S(e, p)) {\n const r = new p(e);\n return H(r.buffer, r.byteOffset, r.byteLength);\n }\n return q(e);\n }\n function H(e, r, t) {\n if (r < 0 || e.byteLength < r)\n throw new RangeError('\"offset\" is outside of buffer bounds');\n if (e.byteLength < r + (t || 0))\n throw new RangeError('\"length\" is outside of buffer bounds');\n let n;\n return r === void 0 && t === void 0 ? n = new p(e) : t === void 0 ? n = new p(e, r) : n = new p(e, r, t), Object.setPrototypeOf(n, o.prototype), n;\n }\n function Fr(e) {\n if (o.isBuffer(e)) {\n const r = X(e.length) | 0, t = F(r);\n return t.length === 0 || e.copy(t, 0, 0, r), t;\n }\n if (e.length !== void 0)\n return typeof e.length != \"number\" || J(e.length) ? F(0) : q(e);\n if (e.type === \"Buffer\" && Array.isArray(e.data))\n return q(e.data);\n }\n function X(e) {\n if (e >= a)\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + a.toString(16) + \" bytes\");\n return e | 0;\n }\n function Ar(e) {\n return +e != e && (e = 0), o.alloc(+e);\n }\n o.isBuffer = function(r) {\n return r != null && r._isBuffer === !0 && r !== o.prototype;\n }, o.compare = function(r, t) {\n if (S(r, p) && (r = o.from(r, r.offset, r.byteLength)), S(t, p) && (t = o.from(t, t.offset, t.byteLength)), !o.isBuffer(r) || !o.isBuffer(t))\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n );\n if (r === t)\n return 0;\n let n = r.length, i = t.length;\n for (let u = 0, h = Math.min(n, i); u < h; ++u)\n if (r[u] !== t[u]) {\n n = r[u], i = t[u];\n break;\n }\n return n < i ? -1 : i < n ? 1 : 0;\n }, o.isEncoding = function(r) {\n switch (String(r).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return !0;\n default:\n return !1;\n }\n }, o.concat = function(r, t) {\n if (!Array.isArray(r))\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (r.length === 0)\n return o.alloc(0);\n let n;\n if (t === void 0)\n for (t = 0, n = 0; n < r.length; ++n)\n t += r[n].length;\n const i = o.allocUnsafe(t);\n let u = 0;\n for (n = 0; n < r.length; ++n) {\n let h = r[n];\n if (S(h, p))\n u + h.length > i.length ? (o.isBuffer(h) || (h = o.from(h)), h.copy(i, u)) : p.prototype.set.call(\n i,\n h,\n u\n );\n else if (o.isBuffer(h))\n h.copy(i, u);\n else\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n u += h.length;\n }\n return i;\n };\n function tr(e, r) {\n if (o.isBuffer(e))\n return e.length;\n if (l.isView(e) || S(e, l))\n return e.byteLength;\n if (typeof e != \"string\")\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof e\n );\n const t = e.length, n = arguments.length > 2 && arguments[2] === !0;\n if (!n && t === 0)\n return 0;\n let i = !1;\n for (; ; )\n switch (r) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return t;\n case \"utf8\":\n case \"utf-8\":\n return V(e).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return t * 2;\n case \"hex\":\n return t >>> 1;\n case \"base64\":\n return ar(e).length;\n default:\n if (i)\n return n ? -1 : V(e).length;\n r = (\"\" + r).toLowerCase(), i = !0;\n }\n }\n o.byteLength = tr;\n function Ur(e, r, t) {\n let n = !1;\n if ((r === void 0 || r < 0) && (r = 0), r > this.length || ((t === void 0 || t > this.length) && (t = this.length), t <= 0) || (t >>>= 0, r >>>= 0, t <= r))\n return \"\";\n for (e || (e = \"utf8\"); ; )\n switch (e) {\n case \"hex\":\n return Mr(this, r, t);\n case \"utf8\":\n case \"utf-8\":\n return ir(this, r, t);\n case \"ascii\":\n return Nr(this, r, t);\n case \"latin1\":\n case \"binary\":\n return Pr(this, r, t);\n case \"base64\":\n return br(this, r, t);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return Dr(this, r, t);\n default:\n if (n)\n throw new TypeError(\"Unknown encoding: \" + e);\n e = (e + \"\").toLowerCase(), n = !0;\n }\n }\n o.prototype._isBuffer = !0;\n function M(e, r, t) {\n const n = e[r];\n e[r] = e[t], e[t] = n;\n }\n o.prototype.swap16 = function() {\n const r = this.length;\n if (r % 2 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for (let t = 0; t < r; t += 2)\n M(this, t, t + 1);\n return this;\n }, o.prototype.swap32 = function() {\n const r = this.length;\n if (r % 4 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for (let t = 0; t < r; t += 4)\n M(this, t, t + 3), M(this, t + 1, t + 2);\n return this;\n }, o.prototype.swap64 = function() {\n const r = this.length;\n if (r % 8 !== 0)\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for (let t = 0; t < r; t += 8)\n M(this, t, t + 7), M(this, t + 1, t + 6), M(this, t + 2, t + 5), M(this, t + 3, t + 4);\n return this;\n }, o.prototype.toString = function() {\n const r = this.length;\n return r === 0 ? \"\" : arguments.length === 0 ? ir(this, 0, r) : Ur.apply(this, arguments);\n }, o.prototype.toLocaleString = o.prototype.toString, o.prototype.equals = function(r) {\n if (!o.isBuffer(r))\n throw new TypeError(\"Argument must be a Buffer\");\n return this === r ? !0 : o.compare(this, r) === 0;\n }, o.prototype.inspect = function() {\n let r = \"\";\n const t = c.INSPECT_MAX_BYTES;\n return r = this.toString(\"hex\", 0, t).replace(/(.{2})/g, \"$1 \").trim(), this.length > t && (r += \" ... \"), \"\";\n }, w && (o.prototype[w] = o.prototype.inspect), o.prototype.compare = function(r, t, n, i, u) {\n if (S(r, p) && (r = o.from(r, r.offset, r.byteLength)), !o.isBuffer(r))\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. Received type ' + typeof r\n );\n if (t === void 0 && (t = 0), n === void 0 && (n = r ? r.length : 0), i === void 0 && (i = 0), u === void 0 && (u = this.length), t < 0 || n > r.length || i < 0 || u > this.length)\n throw new RangeError(\"out of range index\");\n if (i >= u && t >= n)\n return 0;\n if (i >= u)\n return -1;\n if (t >= n)\n return 1;\n if (t >>>= 0, n >>>= 0, i >>>= 0, u >>>= 0, this === r)\n return 0;\n let h = u - i, y = n - t;\n const E = Math.min(h, y), B = this.slice(i, u), m = r.slice(t, n);\n for (let x = 0; x < E; ++x)\n if (B[x] !== m[x]) {\n h = B[x], y = m[x];\n break;\n }\n return h < y ? -1 : y < h ? 1 : 0;\n };\n function er(e, r, t, n, i) {\n if (e.length === 0)\n return -1;\n if (typeof t == \"string\" ? (n = t, t = 0) : t > 2147483647 ? t = 2147483647 : t < -2147483648 && (t = -2147483648), t = +t, J(t) && (t = i ? 0 : e.length - 1), t < 0 && (t = e.length + t), t >= e.length) {\n if (i)\n return -1;\n t = e.length - 1;\n } else if (t < 0)\n if (i)\n t = 0;\n else\n return -1;\n if (typeof r == \"string\" && (r = o.from(r, n)), o.isBuffer(r))\n return r.length === 0 ? -1 : nr(e, r, t, n, i);\n if (typeof r == \"number\")\n return r = r & 255, typeof p.prototype.indexOf == \"function\" ? i ? p.prototype.indexOf.call(e, r, t) : p.prototype.lastIndexOf.call(e, r, t) : nr(e, [r], t, n, i);\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n function nr(e, r, t, n, i) {\n let u = 1, h = e.length, y = r.length;\n if (n !== void 0 && (n = String(n).toLowerCase(), n === \"ucs2\" || n === \"ucs-2\" || n === \"utf16le\" || n === \"utf-16le\")) {\n if (e.length < 2 || r.length < 2)\n return -1;\n u = 2, h /= 2, y /= 2, t /= 2;\n }\n function E(m, x) {\n return u === 1 ? m[x] : m.readUInt16BE(x * u);\n }\n let B;\n if (i) {\n let m = -1;\n for (B = t; B < h; B++)\n if (E(e, B) === E(r, m === -1 ? 0 : B - m)) {\n if (m === -1 && (m = B), B - m + 1 === y)\n return m * u;\n } else\n m !== -1 && (B -= B - m), m = -1;\n } else\n for (t + y > h && (t = h - y), B = t; B >= 0; B--) {\n let m = !0;\n for (let x = 0; x < y; x++)\n if (E(e, B + x) !== E(r, x)) {\n m = !1;\n break;\n }\n if (m)\n return B;\n }\n return -1;\n }\n o.prototype.includes = function(r, t, n) {\n return this.indexOf(r, t, n) !== -1;\n }, o.prototype.indexOf = function(r, t, n) {\n return er(this, r, t, n, !0);\n }, o.prototype.lastIndexOf = function(r, t, n) {\n return er(this, r, t, n, !1);\n };\n function Tr(e, r, t, n) {\n t = Number(t) || 0;\n const i = e.length - t;\n n ? (n = Number(n), n > i && (n = i)) : n = i;\n const u = r.length;\n n > u / 2 && (n = u / 2);\n let h;\n for (h = 0; h < n; ++h) {\n const y = parseInt(r.substr(h * 2, 2), 16);\n if (J(y))\n return h;\n e[t + h] = y;\n }\n return h;\n }\n function Rr(e, r, t, n) {\n return W(V(r, e.length - t), e, t, n);\n }\n function Sr(e, r, t, n) {\n return W(Wr(r), e, t, n);\n }\n function Cr(e, r, t, n) {\n return W(ar(r), e, t, n);\n }\n function _r(e, r, t, n) {\n return W(Gr(r, e.length - t), e, t, n);\n }\n o.prototype.write = function(r, t, n, i) {\n if (t === void 0)\n i = \"utf8\", n = this.length, t = 0;\n else if (n === void 0 && typeof t == \"string\")\n i = t, n = this.length, t = 0;\n else if (isFinite(t))\n t = t >>> 0, isFinite(n) ? (n = n >>> 0, i === void 0 && (i = \"utf8\")) : (i = n, n = void 0);\n else\n throw new Error(\n \"Buffer.write(string, encoding, offset[, length]) is no longer supported\"\n );\n const u = this.length - t;\n if ((n === void 0 || n > u) && (n = u), r.length > 0 && (n < 0 || t < 0) || t > this.length)\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n i || (i = \"utf8\");\n let h = !1;\n for (; ; )\n switch (i) {\n case \"hex\":\n return Tr(this, r, t, n);\n case \"utf8\":\n case \"utf-8\":\n return Rr(this, r, t, n);\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return Sr(this, r, t, n);\n case \"base64\":\n return Cr(this, r, t, n);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return _r(this, r, t, n);\n default:\n if (h)\n throw new TypeError(\"Unknown encoding: \" + i);\n i = (\"\" + i).toLowerCase(), h = !0;\n }\n }, o.prototype.toJSON = function() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function br(e, r, t) {\n return r === 0 && t === e.length ? s.fromByteArray(e) : s.fromByteArray(e.slice(r, t));\n }\n function ir(e, r, t) {\n t = Math.min(e.length, t);\n const n = [];\n let i = r;\n for (; i < t; ) {\n const u = e[i];\n let h = null, y = u > 239 ? 4 : u > 223 ? 3 : u > 191 ? 2 : 1;\n if (i + y <= t) {\n let E, B, m, x;\n switch (y) {\n case 1:\n u < 128 && (h = u);\n break;\n case 2:\n E = e[i + 1], (E & 192) === 128 && (x = (u & 31) << 6 | E & 63, x > 127 && (h = x));\n break;\n case 3:\n E = e[i + 1], B = e[i + 2], (E & 192) === 128 && (B & 192) === 128 && (x = (u & 15) << 12 | (E & 63) << 6 | B & 63, x > 2047 && (x < 55296 || x > 57343) && (h = x));\n break;\n case 4:\n E = e[i + 1], B = e[i + 2], m = e[i + 3], (E & 192) === 128 && (B & 192) === 128 && (m & 192) === 128 && (x = (u & 15) << 18 | (E & 63) << 12 | (B & 63) << 6 | m & 63, x > 65535 && x < 1114112 && (h = x));\n }\n }\n h === null ? (h = 65533, y = 1) : h > 65535 && (h -= 65536, n.push(h >>> 10 & 1023 | 55296), h = 56320 | h & 1023), n.push(h), i += y;\n }\n return kr(n);\n }\n const or = 4096;\n function kr(e) {\n const r = e.length;\n if (r <= or)\n return String.fromCharCode.apply(String, e);\n let t = \"\", n = 0;\n for (; n < r; )\n t += String.fromCharCode.apply(\n String,\n e.slice(n, n += or)\n );\n return t;\n }\n function Nr(e, r, t) {\n let n = \"\";\n t = Math.min(e.length, t);\n for (let i = r; i < t; ++i)\n n += String.fromCharCode(e[i] & 127);\n return n;\n }\n function Pr(e, r, t) {\n let n = \"\";\n t = Math.min(e.length, t);\n for (let i = r; i < t; ++i)\n n += String.fromCharCode(e[i]);\n return n;\n }\n function Mr(e, r, t) {\n const n = e.length;\n (!r || r < 0) && (r = 0), (!t || t < 0 || t > n) && (t = n);\n let i = \"\";\n for (let u = r; u < t; ++u)\n i += Yr[e[u]];\n return i;\n }\n function Dr(e, r, t) {\n const n = e.slice(r, t);\n let i = \"\";\n for (let u = 0; u < n.length - 1; u += 2)\n i += String.fromCharCode(n[u] + n[u + 1] * 256);\n return i;\n }\n o.prototype.slice = function(r, t) {\n const n = this.length;\n r = ~~r, t = t === void 0 ? n : ~~t, r < 0 ? (r += n, r < 0 && (r = 0)) : r > n && (r = n), t < 0 ? (t += n, t < 0 && (t = 0)) : t > n && (t = n), t < r && (t = r);\n const i = this.subarray(r, t);\n return Object.setPrototypeOf(i, o.prototype), i;\n };\n function I(e, r, t) {\n if (e % 1 !== 0 || e < 0)\n throw new RangeError(\"offset is not uint\");\n if (e + r > t)\n throw new RangeError(\"Trying to access beyond buffer length\");\n }\n o.prototype.readUintLE = o.prototype.readUIntLE = function(r, t, n) {\n r = r >>> 0, t = t >>> 0, n || I(r, t, this.length);\n let i = this[r], u = 1, h = 0;\n for (; ++h < t && (u *= 256); )\n i += this[r + h] * u;\n return i;\n }, o.prototype.readUintBE = o.prototype.readUIntBE = function(r, t, n) {\n r = r >>> 0, t = t >>> 0, n || I(r, t, this.length);\n let i = this[r + --t], u = 1;\n for (; t > 0 && (u *= 256); )\n i += this[r + --t] * u;\n return i;\n }, o.prototype.readUint8 = o.prototype.readUInt8 = function(r, t) {\n return r = r >>> 0, t || I(r, 1, this.length), this[r];\n }, o.prototype.readUint16LE = o.prototype.readUInt16LE = function(r, t) {\n return r = r >>> 0, t || I(r, 2, this.length), this[r] | this[r + 1] << 8;\n }, o.prototype.readUint16BE = o.prototype.readUInt16BE = function(r, t) {\n return r = r >>> 0, t || I(r, 2, this.length), this[r] << 8 | this[r + 1];\n }, o.prototype.readUint32LE = o.prototype.readUInt32LE = function(r, t) {\n return r = r >>> 0, t || I(r, 4, this.length), (this[r] | this[r + 1] << 8 | this[r + 2] << 16) + this[r + 3] * 16777216;\n }, o.prototype.readUint32BE = o.prototype.readUInt32BE = function(r, t) {\n return r = r >>> 0, t || I(r, 4, this.length), this[r] * 16777216 + (this[r + 1] << 16 | this[r + 2] << 8 | this[r + 3]);\n }, o.prototype.readBigUInt64LE = k(function(r) {\n r = r >>> 0, L(r, \"offset\");\n const t = this[r], n = this[r + 7];\n (t === void 0 || n === void 0) && $(r, this.length - 8);\n const i = t + this[++r] * 2 ** 8 + this[++r] * 2 ** 16 + this[++r] * 2 ** 24, u = this[++r] + this[++r] * 2 ** 8 + this[++r] * 2 ** 16 + n * 2 ** 24;\n return BigInt(i) + (BigInt(u) << BigInt(32));\n }), o.prototype.readBigUInt64BE = k(function(r) {\n r = r >>> 0, L(r, \"offset\");\n const t = this[r], n = this[r + 7];\n (t === void 0 || n === void 0) && $(r, this.length - 8);\n const i = t * 2 ** 24 + this[++r] * 2 ** 16 + this[++r] * 2 ** 8 + this[++r], u = this[++r] * 2 ** 24 + this[++r] * 2 ** 16 + this[++r] * 2 ** 8 + n;\n return (BigInt(i) << BigInt(32)) + BigInt(u);\n }), o.prototype.readIntLE = function(r, t, n) {\n r = r >>> 0, t = t >>> 0, n || I(r, t, this.length);\n let i = this[r], u = 1, h = 0;\n for (; ++h < t && (u *= 256); )\n i += this[r + h] * u;\n return u *= 128, i >= u && (i -= Math.pow(2, 8 * t)), i;\n }, o.prototype.readIntBE = function(r, t, n) {\n r = r >>> 0, t = t >>> 0, n || I(r, t, this.length);\n let i = t, u = 1, h = this[r + --i];\n for (; i > 0 && (u *= 256); )\n h += this[r + --i] * u;\n return u *= 128, h >= u && (h -= Math.pow(2, 8 * t)), h;\n }, o.prototype.readInt8 = function(r, t) {\n return r = r >>> 0, t || I(r, 1, this.length), this[r] & 128 ? (255 - this[r] + 1) * -1 : this[r];\n }, o.prototype.readInt16LE = function(r, t) {\n r = r >>> 0, t || I(r, 2, this.length);\n const n = this[r] | this[r + 1] << 8;\n return n & 32768 ? n | 4294901760 : n;\n }, o.prototype.readInt16BE = function(r, t) {\n r = r >>> 0, t || I(r, 2, this.length);\n const n = this[r + 1] | this[r] << 8;\n return n & 32768 ? n | 4294901760 : n;\n }, o.prototype.readInt32LE = function(r, t) {\n return r = r >>> 0, t || I(r, 4, this.length), this[r] | this[r + 1] << 8 | this[r + 2] << 16 | this[r + 3] << 24;\n }, o.prototype.readInt32BE = function(r, t) {\n return r = r >>> 0, t || I(r, 4, this.length), this[r] << 24 | this[r + 1] << 16 | this[r + 2] << 8 | this[r + 3];\n }, o.prototype.readBigInt64LE = k(function(r) {\n r = r >>> 0, L(r, \"offset\");\n const t = this[r], n = this[r + 7];\n (t === void 0 || n === void 0) && $(r, this.length - 8);\n const i = this[r + 4] + this[r + 5] * 2 ** 8 + this[r + 6] * 2 ** 16 + (n << 24);\n return (BigInt(i) << BigInt(32)) + BigInt(t + this[++r] * 2 ** 8 + this[++r] * 2 ** 16 + this[++r] * 2 ** 24);\n }), o.prototype.readBigInt64BE = k(function(r) {\n r = r >>> 0, L(r, \"offset\");\n const t = this[r], n = this[r + 7];\n (t === void 0 || n === void 0) && $(r, this.length - 8);\n const i = (t << 24) + // Overflow\n this[++r] * 2 ** 16 + this[++r] * 2 ** 8 + this[++r];\n return (BigInt(i) << BigInt(32)) + BigInt(this[++r] * 2 ** 24 + this[++r] * 2 ** 16 + this[++r] * 2 ** 8 + n);\n }), o.prototype.readFloatLE = function(r, t) {\n return r = r >>> 0, t || I(r, 4, this.length), f.read(this, r, !0, 23, 4);\n }, o.prototype.readFloatBE = function(r, t) {\n return r = r >>> 0, t || I(r, 4, this.length), f.read(this, r, !1, 23, 4);\n }, o.prototype.readDoubleLE = function(r, t) {\n return r = r >>> 0, t || I(r, 8, this.length), f.read(this, r, !0, 52, 8);\n }, o.prototype.readDoubleBE = function(r, t) {\n return r = r >>> 0, t || I(r, 8, this.length), f.read(this, r, !1, 52, 8);\n };\n function U(e, r, t, n, i, u) {\n if (!o.isBuffer(e))\n throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (r > i || r < u)\n throw new RangeError('\"value\" argument is out of bounds');\n if (t + n > e.length)\n throw new RangeError(\"Index out of range\");\n }\n o.prototype.writeUintLE = o.prototype.writeUIntLE = function(r, t, n, i) {\n if (r = +r, t = t >>> 0, n = n >>> 0, !i) {\n const y = Math.pow(2, 8 * n) - 1;\n U(this, r, t, n, y, 0);\n }\n let u = 1, h = 0;\n for (this[t] = r & 255; ++h < n && (u *= 256); )\n this[t + h] = r / u & 255;\n return t + n;\n }, o.prototype.writeUintBE = o.prototype.writeUIntBE = function(r, t, n, i) {\n if (r = +r, t = t >>> 0, n = n >>> 0, !i) {\n const y = Math.pow(2, 8 * n) - 1;\n U(this, r, t, n, y, 0);\n }\n let u = n - 1, h = 1;\n for (this[t + u] = r & 255; --u >= 0 && (h *= 256); )\n this[t + u] = r / h & 255;\n return t + n;\n }, o.prototype.writeUint8 = o.prototype.writeUInt8 = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 1, 255, 0), this[t] = r & 255, t + 1;\n }, o.prototype.writeUint16LE = o.prototype.writeUInt16LE = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 2, 65535, 0), this[t] = r & 255, this[t + 1] = r >>> 8, t + 2;\n }, o.prototype.writeUint16BE = o.prototype.writeUInt16BE = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 2, 65535, 0), this[t] = r >>> 8, this[t + 1] = r & 255, t + 2;\n }, o.prototype.writeUint32LE = o.prototype.writeUInt32LE = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 4, 4294967295, 0), this[t + 3] = r >>> 24, this[t + 2] = r >>> 16, this[t + 1] = r >>> 8, this[t] = r & 255, t + 4;\n }, o.prototype.writeUint32BE = o.prototype.writeUInt32BE = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 4, 4294967295, 0), this[t] = r >>> 24, this[t + 1] = r >>> 16, this[t + 2] = r >>> 8, this[t + 3] = r & 255, t + 4;\n };\n function ur(e, r, t, n, i) {\n lr(r, n, i, e, t, 7);\n let u = Number(r & BigInt(4294967295));\n e[t++] = u, u = u >> 8, e[t++] = u, u = u >> 8, e[t++] = u, u = u >> 8, e[t++] = u;\n let h = Number(r >> BigInt(32) & BigInt(4294967295));\n return e[t++] = h, h = h >> 8, e[t++] = h, h = h >> 8, e[t++] = h, h = h >> 8, e[t++] = h, t;\n }\n function cr(e, r, t, n, i) {\n lr(r, n, i, e, t, 7);\n let u = Number(r & BigInt(4294967295));\n e[t + 7] = u, u = u >> 8, e[t + 6] = u, u = u >> 8, e[t + 5] = u, u = u >> 8, e[t + 4] = u;\n let h = Number(r >> BigInt(32) & BigInt(4294967295));\n return e[t + 3] = h, h = h >> 8, e[t + 2] = h, h = h >> 8, e[t + 1] = h, h = h >> 8, e[t] = h, t + 8;\n }\n o.prototype.writeBigUInt64LE = k(function(r, t = 0) {\n return ur(this, r, t, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n }), o.prototype.writeBigUInt64BE = k(function(r, t = 0) {\n return cr(this, r, t, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n }), o.prototype.writeIntLE = function(r, t, n, i) {\n if (r = +r, t = t >>> 0, !i) {\n const E = Math.pow(2, 8 * n - 1);\n U(this, r, t, n, E - 1, -E);\n }\n let u = 0, h = 1, y = 0;\n for (this[t] = r & 255; ++u < n && (h *= 256); )\n r < 0 && y === 0 && this[t + u - 1] !== 0 && (y = 1), this[t + u] = (r / h >> 0) - y & 255;\n return t + n;\n }, o.prototype.writeIntBE = function(r, t, n, i) {\n if (r = +r, t = t >>> 0, !i) {\n const E = Math.pow(2, 8 * n - 1);\n U(this, r, t, n, E - 1, -E);\n }\n let u = n - 1, h = 1, y = 0;\n for (this[t + u] = r & 255; --u >= 0 && (h *= 256); )\n r < 0 && y === 0 && this[t + u + 1] !== 0 && (y = 1), this[t + u] = (r / h >> 0) - y & 255;\n return t + n;\n }, o.prototype.writeInt8 = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 1, 127, -128), r < 0 && (r = 255 + r + 1), this[t] = r & 255, t + 1;\n }, o.prototype.writeInt16LE = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 2, 32767, -32768), this[t] = r & 255, this[t + 1] = r >>> 8, t + 2;\n }, o.prototype.writeInt16BE = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 2, 32767, -32768), this[t] = r >>> 8, this[t + 1] = r & 255, t + 2;\n }, o.prototype.writeInt32LE = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 4, 2147483647, -2147483648), this[t] = r & 255, this[t + 1] = r >>> 8, this[t + 2] = r >>> 16, this[t + 3] = r >>> 24, t + 4;\n }, o.prototype.writeInt32BE = function(r, t, n) {\n return r = +r, t = t >>> 0, n || U(this, r, t, 4, 2147483647, -2147483648), r < 0 && (r = 4294967295 + r + 1), this[t] = r >>> 24, this[t + 1] = r >>> 16, this[t + 2] = r >>> 8, this[t + 3] = r & 255, t + 4;\n }, o.prototype.writeBigInt64LE = k(function(r, t = 0) {\n return ur(this, r, t, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n }), o.prototype.writeBigInt64BE = k(function(r, t = 0) {\n return cr(this, r, t, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n function hr(e, r, t, n, i, u) {\n if (t + n > e.length)\n throw new RangeError(\"Index out of range\");\n if (t < 0)\n throw new RangeError(\"Index out of range\");\n }\n function sr(e, r, t, n, i) {\n return r = +r, t = t >>> 0, i || hr(e, r, t, 4), f.write(e, r, t, n, 23, 4), t + 4;\n }\n o.prototype.writeFloatLE = function(r, t, n) {\n return sr(this, r, t, !0, n);\n }, o.prototype.writeFloatBE = function(r, t, n) {\n return sr(this, r, t, !1, n);\n };\n function fr(e, r, t, n, i) {\n return r = +r, t = t >>> 0, i || hr(e, r, t, 8), f.write(e, r, t, n, 52, 8), t + 8;\n }\n o.prototype.writeDoubleLE = function(r, t, n) {\n return fr(this, r, t, !0, n);\n }, o.prototype.writeDoubleBE = function(r, t, n) {\n return fr(this, r, t, !1, n);\n }, o.prototype.copy = function(r, t, n, i) {\n if (!o.isBuffer(r))\n throw new TypeError(\"argument should be a Buffer\");\n if (n || (n = 0), !i && i !== 0 && (i = this.length), t >= r.length && (t = r.length), t || (t = 0), i > 0 && i < n && (i = n), i === n || r.length === 0 || this.length === 0)\n return 0;\n if (t < 0)\n throw new RangeError(\"targetStart out of bounds\");\n if (n < 0 || n >= this.length)\n throw new RangeError(\"Index out of range\");\n if (i < 0)\n throw new RangeError(\"sourceEnd out of bounds\");\n i > this.length && (i = this.length), r.length - t < i - n && (i = r.length - t + n);\n const u = i - n;\n return this === r && typeof p.prototype.copyWithin == \"function\" ? this.copyWithin(t, n, i) : p.prototype.set.call(\n r,\n this.subarray(n, i),\n t\n ), u;\n }, o.prototype.fill = function(r, t, n, i) {\n if (typeof r == \"string\") {\n if (typeof t == \"string\" ? (i = t, t = 0, n = this.length) : typeof n == \"string\" && (i = n, n = this.length), i !== void 0 && typeof i != \"string\")\n throw new TypeError(\"encoding must be a string\");\n if (typeof i == \"string\" && !o.isEncoding(i))\n throw new TypeError(\"Unknown encoding: \" + i);\n if (r.length === 1) {\n const h = r.charCodeAt(0);\n (i === \"utf8\" && h < 128 || i === \"latin1\") && (r = h);\n }\n } else\n typeof r == \"number\" ? r = r & 255 : typeof r == \"boolean\" && (r = Number(r));\n if (t < 0 || this.length < t || this.length < n)\n throw new RangeError(\"Out of range index\");\n if (n <= t)\n return this;\n t = t >>> 0, n = n === void 0 ? this.length : n >>> 0, r || (r = 0);\n let u;\n if (typeof r == \"number\")\n for (u = t; u < n; ++u)\n this[u] = r;\n else {\n const h = o.isBuffer(r) ? r : o.from(r, i), y = h.length;\n if (y === 0)\n throw new TypeError('The value \"' + r + '\" is invalid for argument \"value\"');\n for (u = 0; u < n - t; ++u)\n this[u + t] = h[u % y];\n }\n return this;\n };\n const D = {};\n function z(e, r, t) {\n D[e] = class extends t {\n constructor() {\n super(), Object.defineProperty(this, \"message\", {\n value: r.apply(this, arguments),\n writable: !0,\n configurable: !0\n }), this.name = `${this.name} [${e}]`, this.stack, delete this.name;\n }\n get code() {\n return e;\n }\n set code(i) {\n Object.defineProperty(this, \"code\", {\n configurable: !0,\n enumerable: !0,\n value: i,\n writable: !0\n });\n }\n toString() {\n return `${this.name} [${e}]: ${this.message}`;\n }\n };\n }\n z(\n \"ERR_BUFFER_OUT_OF_BOUNDS\",\n function(e) {\n return e ? `${e} is outside of buffer bounds` : \"Attempt to access memory outside buffer bounds\";\n },\n RangeError\n ), z(\n \"ERR_INVALID_ARG_TYPE\",\n function(e, r) {\n return `The \"${e}\" argument must be of type number. Received type ${typeof r}`;\n },\n TypeError\n ), z(\n \"ERR_OUT_OF_RANGE\",\n function(e, r, t) {\n let n = `The value of \"${e}\" is out of range.`, i = t;\n return Number.isInteger(t) && Math.abs(t) > 2 ** 32 ? i = pr(String(t)) : typeof t == \"bigint\" && (i = String(t), (t > BigInt(2) ** BigInt(32) || t < -(BigInt(2) ** BigInt(32))) && (i = pr(i)), i += \"n\"), n += ` It must be ${r}. Received ${i}`, n;\n },\n RangeError\n );\n function pr(e) {\n let r = \"\", t = e.length;\n const n = e[0] === \"-\" ? 1 : 0;\n for (; t >= n + 4; t -= 3)\n r = `_${e.slice(t - 3, t)}${r}`;\n return `${e.slice(0, t)}${r}`;\n }\n function Lr(e, r, t) {\n L(r, \"offset\"), (e[r] === void 0 || e[r + t] === void 0) && $(r, e.length - (t + 1));\n }\n function lr(e, r, t, n, i, u) {\n if (e > t || e < r) {\n const h = typeof r == \"bigint\" ? \"n\" : \"\";\n let y;\n throw u > 3 ? r === 0 || r === BigInt(0) ? y = `>= 0${h} and < 2${h} ** ${(u + 1) * 8}${h}` : y = `>= -(2${h} ** ${(u + 1) * 8 - 1}${h}) and < 2 ** ${(u + 1) * 8 - 1}${h}` : y = `>= ${r}${h} and <= ${t}${h}`, new D.ERR_OUT_OF_RANGE(\"value\", y, e);\n }\n Lr(n, i, u);\n }\n function L(e, r) {\n if (typeof e != \"number\")\n throw new D.ERR_INVALID_ARG_TYPE(r, \"number\", e);\n }\n function $(e, r, t) {\n throw Math.floor(e) !== e ? (L(e, t), new D.ERR_OUT_OF_RANGE(t || \"offset\", \"an integer\", e)) : r < 0 ? new D.ERR_BUFFER_OUT_OF_BOUNDS() : new D.ERR_OUT_OF_RANGE(\n t || \"offset\",\n `>= ${t ? 1 : 0} and <= ${r}`,\n e\n );\n }\n const Or = /[^+/0-9A-Za-z-_]/g;\n function $r(e) {\n if (e = e.split(\"=\")[0], e = e.trim().replace(Or, \"\"), e.length < 2)\n return \"\";\n for (; e.length % 4 !== 0; )\n e = e + \"=\";\n return e;\n }\n function V(e, r) {\n r = r || 1 / 0;\n let t;\n const n = e.length;\n let i = null;\n const u = [];\n for (let h = 0; h < n; ++h) {\n if (t = e.charCodeAt(h), t > 55295 && t < 57344) {\n if (!i) {\n if (t > 56319) {\n (r -= 3) > -1 && u.push(239, 191, 189);\n continue;\n } else if (h + 1 === n) {\n (r -= 3) > -1 && u.push(239, 191, 189);\n continue;\n }\n i = t;\n continue;\n }\n if (t < 56320) {\n (r -= 3) > -1 && u.push(239, 191, 189), i = t;\n continue;\n }\n t = (i - 55296 << 10 | t - 56320) + 65536;\n } else\n i && (r -= 3) > -1 && u.push(239, 191, 189);\n if (i = null, t < 128) {\n if ((r -= 1) < 0)\n break;\n u.push(t);\n } else if (t < 2048) {\n if ((r -= 2) < 0)\n break;\n u.push(\n t >> 6 | 192,\n t & 63 | 128\n );\n } else if (t < 65536) {\n if ((r -= 3) < 0)\n break;\n u.push(\n t >> 12 | 224,\n t >> 6 & 63 | 128,\n t & 63 | 128\n );\n } else if (t < 1114112) {\n if ((r -= 4) < 0)\n break;\n u.push(\n t >> 18 | 240,\n t >> 12 & 63 | 128,\n t >> 6 & 63 | 128,\n t & 63 | 128\n );\n } else\n throw new Error(\"Invalid code point\");\n }\n return u;\n }\n function Wr(e) {\n const r = [];\n for (let t = 0; t < e.length; ++t)\n r.push(e.charCodeAt(t) & 255);\n return r;\n }\n function Gr(e, r) {\n let t, n, i;\n const u = [];\n for (let h = 0; h < e.length && !((r -= 2) < 0); ++h)\n t = e.charCodeAt(h), n = t >> 8, i = t % 256, u.push(i), u.push(n);\n return u;\n }\n function ar(e) {\n return s.toByteArray($r(e));\n }\n function W(e, r, t, n) {\n let i;\n for (i = 0; i < n && !(i + t >= r.length || i >= e.length); ++i)\n r[i + t] = e[i];\n return i;\n }\n function S(e, r) {\n return e instanceof r || e != null && e.constructor != null && e.constructor.name != null && e.constructor.name === r.name;\n }\n function J(e) {\n return e !== e;\n }\n const Yr = function() {\n const e = \"0123456789abcdef\", r = new Array(256);\n for (let t = 0; t < 16; ++t) {\n const n = t * 16;\n for (let i = 0; i < 16; ++i)\n r[n + i] = e[t] + e[i];\n }\n return r;\n }();\n function k(e) {\n return typeof BigInt > \"u\" ? jr : e;\n }\n function jr() {\n throw new Error(\"BigInt not supported\");\n }\n})(Q);\nconst yr = Q.Buffer, tt = Q.Buffer, Bt = 600, Et = 5e6, mt = 2, et = qr(Br), nt = tt.alloc(32, 1);\nclass gt extends Error {\n constructor(s = \"Cannot extract transaction from non-finalized psbt.\") {\n super(s), this.name = \"BrowserWalletExtractTxFromNonFinalizedPsbtError\";\n }\n}\nclass It extends Error {\n constructor(s) {\n super(s), this.name = \"BrowserWalletNotInstalledError\";\n }\n}\nclass Ft extends Error {\n constructor(s = \"Request canceled by user.\") {\n super(s), this.name = \"BrowserWalletRequestCancelledByUserError\";\n }\n}\nclass At extends Error {\n constructor(s) {\n super(s), this.name = \"BrowserWalletSigningError\";\n }\n}\nclass Y extends Error {\n constructor(s) {\n super(s), this.name = \"OrditSDKError\";\n }\n}\nfunction it(c) {\n return Object.fromEntries(\n Object.entries(c).map(([s, f]) => [f, s])\n );\n}\nconst _ = {\n p2pkh: \"legacy\",\n p2sh: \"p2sh-p2wpkh\",\n p2wsh: \"p2wsh\",\n p2wpkh: \"segwit\",\n p2tr: \"taproot\"\n}, Ut = it(_);\nfunction rr(c) {\n return c === \"mainnet\" ? wr.bitcoin : wr[c];\n}\nfunction mr(c, s, f, w) {\n Hr(Br);\n const a = typeof f == \"string\" ? rr(f) : f;\n return s === \"p2tr\" ? N.p2tr({\n internalPubkey: c,\n network: a,\n ...w\n }) : s === \"p2sh\" ? N.p2sh({\n redeem: N.p2wpkh({ pubkey: c, network: a }),\n network: a\n }) : N[s]({ pubkey: c, network: a });\n}\nfunction Tt(c) {\n return c.subarray(1, 33);\n}\nconst ot = (c) => (c == null ? void 0 : c.constructor) === Object, ut = (c) => c instanceof String || typeof c == \"string\";\nfunction gr(c, { encode: s, depth: f = 0 }) {\n if (f > 5)\n throw new Y(\"Object too deep\");\n for (const a in c) {\n if (!c.hasOwnProperty(a))\n continue;\n const p = c[a];\n ot(p) ? c[a] = gr(p, {\n encode: s,\n depth: f + 1\n }) : ut(p) && (c[a] = s ? encodeURIComponent(p) : decodeURIComponent(p));\n }\n return c;\n}\nfunction Rt(c) {\n return gr(c, { encode: !1 });\n}\nfunction St(c) {\n return c / 10 ** 8;\n}\nfunction Ct(c, s) {\n return `${c}:${s}`;\n}\nfunction _t(c) {\n return c.includes(\":\") ? c.replace(\":\", \"i\") : c.includes(\"i\") ? c : `${c}i0`;\n}\nfunction j(c, s) {\n return (f) => {\n try {\n return c({ output: f, network: rr(s) });\n } catch {\n return !1;\n }\n };\n}\nconst ct = (c, s) => ({\n type: \"p2pkh\",\n payload: j(N.p2pkh, s)(c)\n}), ht = (c, s) => ({\n type: \"p2wpkh\",\n payload: j(N.p2wpkh, s)(c)\n}), st = (c, s) => ({\n type: \"p2sh\",\n payload: j(N.p2sh, s)(c)\n}), ft = (c, s) => ({\n type: \"p2tr\",\n payload: j(N.p2tr, s)(c)\n});\nfunction bt(c, s) {\n const f = ct(c, s);\n if (f.payload)\n return {\n format: _.p2pkh,\n ...f\n };\n const w = ht(c, s);\n if (w.payload)\n return {\n format: _.p2wpkh,\n ...w\n };\n const a = st(c, s);\n if (a.payload)\n return {\n format: _.p2sh,\n ...a\n };\n const p = ft(c, s);\n if (p.payload)\n return {\n format: _.p2tr,\n ...p\n };\n throw new Y(\"Unsupported input\");\n}\nfunction pt(c) {\n try {\n const { type: s, network: f, bech32: w } = dr(c);\n if (!w && f !== \"testnet\" || w && f !== \"regtest\")\n throw new Error(\"Invalid address\");\n return _[s];\n } catch {\n throw new Y(\"Invalid address\");\n }\n}\nfunction kt(c, s) {\n if (s === \"regtest\")\n return pt(c);\n if (!Kr(c, s))\n throw new Y(\"Invalid address\");\n const { type: f } = dr(c);\n return _[f];\n}\nfunction lt(c, s) {\n const f = c.subarray(1, 33), { address: w } = mr(f, \"p2tr\", s);\n return {\n address: w,\n // address will never be undefined\n format: _.p2tr,\n publicKey: c.toString(\"hex\"),\n xKey: f.toString(\"hex\")\n };\n}\nfunction xr(c, s, f) {\n if (f === \"p2tr\")\n return lt(c, s);\n const { address: w } = mr(c, f, s);\n return {\n address: w,\n // address will never be undefined\n format: _[f],\n publicKey: c.toString(\"hex\")\n };\n}\nfunction Nt(c, s = \"mainnet\", f = \"all\") {\n const w = yr.isBuffer(c) ? c : yr.from(c, \"hex\"), { publicKey: a } = et.fromPublicKey(\n w,\n nt,\n rr(s)\n );\n return f === \"all\" ? Object.keys(_).filter((l) => l !== \"p2wsh\").map(\n (l) => xr(a, s, l)\n ) : [xr(a, s, f)];\n}\nexport {\n _ as A,\n et as B,\n nt as C,\n mt as I,\n Et as M,\n Y as O,\n Rt as U,\n bt as a,\n tt as b,\n mr as c,\n yr as d,\n Ct as e,\n Bt as f,\n rr as g,\n St as h,\n kt as i,\n Nt as j,\n Ut as k,\n gt as l,\n It as m,\n Ft as n,\n _t as o,\n At as p,\n Tt as t\n};\n","import { O as w, m as c, i as g, n as d, l as f, p as u, d as h } from \"./index-7cd24a6f.js\";\nimport { Psbt as m } from \"bitcoinjs-lib\";\nimport \"bitcoin-address-validation\";\nimport \"@bitcoinerlab/secp256k1\";\nimport \"bip32\";\nimport \"ecpair\";\nconst b = {\n mainnet: \"livenet\",\n testnet: \"testnet\"\n};\nfunction l() {\n if (typeof window > \"u\")\n throw new w(\"Cannot call this function outside a browser\");\n return typeof window.unisat < \"u\";\n}\nasync function F(o = \"mainnet\", i) {\n if (!l())\n throw new c(\"Unisat not installed\");\n try {\n const t = await window.unisat.getNetwork(), e = b[o];\n t !== e && await window.unisat.switchNetwork(e);\n const n = i ? await window.unisat.getAccounts() : await window.unisat.requestAccounts(), r = await window.unisat.getPublicKey(), s = n[0];\n if (!s)\n return [];\n const a = g(s, o);\n return [\n {\n publicKey: r,\n address: s,\n format: a\n }\n ];\n } catch (t) {\n if (t instanceof w)\n throw t;\n const e = t;\n throw (e == null ? void 0 : e.code) === 4001 ? new d() : new w(e.message);\n }\n}\nasync function U(o, { finalize: i = !0, extractTx: t = !0 } = {}) {\n if (!l())\n throw new c(\"Unisat not installed\");\n if (t && !i)\n throw new f();\n const e = o.toHex();\n let n = \"\";\n try {\n n = await window.unisat.signPsbt(e, {\n autoFinalized: i\n });\n } catch (s) {\n const a = s;\n if ((a == null ? void 0 : a.code) === 4001)\n throw new d();\n }\n if (!n)\n throw new u(\"Failed to sign psbt hex using Unisat\");\n const r = m.fromHex(n);\n if (t)\n try {\n return {\n base64: null,\n hex: r.extractTransaction().toHex()\n };\n } catch (s) {\n throw s instanceof Error && s.message === \"Not finalized\" ? new f() : new w(\"Failed to extract transaction from PSBT\");\n }\n else\n return {\n base64: r.toBase64(),\n hex: r.toHex()\n };\n}\nasync function E(o, i = \"ecdsa\") {\n if (!l())\n throw new c(\"Unisat not installed\");\n let t = \"\";\n try {\n t = await window.unisat.signMessage(o, i);\n } catch (e) {\n const n = e;\n if ((n == null ? void 0 : n.code) === 4001)\n throw new d();\n }\n if (!t)\n throw new u(\"Failed to sign message using Unisat\");\n return {\n base64: t,\n hex: h.from(t, \"base64\").toString(\"hex\")\n };\n}\nexport {\n F as getAddresses,\n l as isInstalled,\n E as signMessage,\n U as signPsbt\n};\n","import { O as d, m as f, l as y, p as h, n as u, i as O, d as x } from \"./index-7cd24a6f.js\";\nimport * as P from \"@bitcoinerlab/secp256k1\";\nimport { initEccLib as T, Psbt as C } from \"bitcoinjs-lib\";\nimport { BitcoinNetworkType as B, getAddress as I, signTransaction as K, signMessage as N } from \"sats-connect\";\nimport \"bitcoin-address-validation\";\nimport \"bip32\";\nimport \"ecpair\";\nconst p = {\n mainnet: B.Mainnet,\n testnet: B.Testnet\n};\nfunction X(n) {\n return `02${n}`;\n}\nT(P);\nfunction g() {\n if (typeof window > \"u\")\n throw new d(\"Cannot call this function outside a browser\");\n return typeof window.BitcoinProvider < \"u\";\n}\nasync function A(n = \"mainnet\") {\n if (!g())\n throw new f(\"Xverse not installed\");\n const s = [], i = (e) => {\n if (!e || !e.addresses || e.addresses.length !== 2)\n throw new h(\n \"Failed to retrieve addresses using Xverse\"\n );\n e.addresses.forEach((t) => {\n const l = O(t.address, n);\n let o = t.publicKey;\n l === \"taproot\" && (o = X(t.publicKey)), s.push({\n publicKey: o,\n address: t.address,\n format: l\n });\n });\n }, a = () => {\n throw new u();\n }, r = {\n payload: {\n purposes: [\"ordinals\", \"payment\"],\n message: \"Provide access to Payment address and Ordinals address\",\n network: {\n type: p[n]\n }\n },\n onFinish: (e) => i(e),\n onCancel: a\n };\n return await I(r), s;\n}\nasync function R(n, {\n finalize: s = !0,\n extractTx: i = !0,\n network: a,\n inputsToSign: r\n} = { network: \"mainnet\", inputsToSign: [] }) {\n if (!g())\n throw new f(\"Xverse not installed\");\n if (!s && i)\n throw new y();\n if (!n || !a || !r.length)\n throw new d(\"Invalid options provided\");\n let e, t = null;\n const l = (v) => {\n const { psbtBase64: m } = v;\n if (!m)\n throw new h(\"Failed to sign psbt using Xverse\");\n const c = C.fromBase64(m);\n if (s && r.forEach((w) => {\n w.signingIndexes.forEach((F) => {\n try {\n c.finalizeInput(F);\n } catch (E) {\n throw console.error(\"Sign psbt error\", E), new d(\"Failed to finalize input\");\n }\n });\n }), i) {\n try {\n e = c.extractTransaction().toHex();\n } catch (w) {\n throw w instanceof Error && w.message === \"Not finalized\" ? new y() : new d(\"Failed to extract transaction from PSBT\");\n }\n t = null;\n } else\n e = c.toHex(), t = c.toBase64();\n }, o = () => {\n throw new u();\n }, b = {\n payload: {\n network: {\n type: p[a]\n },\n message: \"Sign PSBT\",\n psbtBase64: n.toBase64(),\n broadcast: !1,\n inputsToSign: r\n },\n onFinish: l,\n onCancel: o\n };\n return await K(b), { hex: e, base64: t };\n}\nasync function H(n, s, i = \"mainnet\") {\n if (!g())\n throw new f(\"Xverse not installed\");\n if (!n || !i || !s)\n throw new d(\"Invalid options provided\");\n let a, r = null;\n const e = (o) => {\n if (!o)\n throw new h(\n \"Failed to sign message using Xverse\"\n );\n a = x.from(o, \"base64\").toString(\"hex\"), r = o;\n }, t = () => {\n throw new u();\n }, l = {\n payload: {\n network: {\n type: p[i]\n },\n message: n,\n address: s\n },\n onFinish: e,\n onCancel: t\n };\n return await N(l), { hex: a, base64: r };\n}\nexport {\n A as getAddresses,\n g as isInstalled,\n H as signMessage,\n R as signPsbt\n};\n","import EventEmitter from 'eventemitter3';\nimport { WalletNotConnectedError } from './errors.js';\nexport { EventEmitter };\n/**\n * A wallet's readiness describes a series of states that the wallet can be in,\n * depending on what kind of wallet it is. An installable wallet (eg. a browser\n * extension like Phantom) might be `Installed` if we've found the Phantom API\n * in the global scope, or `NotDetected` otherwise. A loadable, zero-install\n * runtime (eg. Torus Wallet) might simply signal that it's `Loadable`. Use this\n * metadata to personalize the wallet list for each user (eg. to show their\n * installed wallets first).\n */\nexport var WalletReadyState;\n(function (WalletReadyState) {\n /**\n * User-installable wallets can typically be detected by scanning for an API\n * that they've injected into the global context. If such an API is present,\n * we consider the wallet to have been installed.\n */\n WalletReadyState[\"Installed\"] = \"Installed\";\n WalletReadyState[\"NotDetected\"] = \"NotDetected\";\n /**\n * Loadable wallets are always available to you. Since you can load them at\n * any time, it's meaningless to say that they have been detected.\n */\n WalletReadyState[\"Loadable\"] = \"Loadable\";\n /**\n * If a wallet is not supported on a given platform (eg. server-rendering, or\n * mobile) then it will stay in the `Unsupported` state.\n */\n WalletReadyState[\"Unsupported\"] = \"Unsupported\";\n})(WalletReadyState || (WalletReadyState = {}));\nexport class BaseWalletAdapter extends EventEmitter {\n get connected() {\n return !!this.publicKey;\n }\n async autoConnect() {\n await this.connect();\n }\n async prepareTransaction(transaction, connection, options = {}) {\n const publicKey = this.publicKey;\n if (!publicKey)\n throw new WalletNotConnectedError();\n transaction.feePayer = transaction.feePayer || publicKey;\n transaction.recentBlockhash =\n transaction.recentBlockhash ||\n (await connection.getLatestBlockhash({\n commitment: options.preflightCommitment,\n minContextSlot: options.minContextSlot,\n })).blockhash;\n return transaction;\n }\n}\nexport function scopePollingDetectionStrategy(detect) {\n // Early return when server-side rendering\n if (typeof window === 'undefined' || typeof document === 'undefined')\n return;\n const disposers = [];\n function detectAndDispose() {\n const detected = detect();\n if (detected) {\n for (const dispose of disposers) {\n dispose();\n }\n }\n }\n // Strategy #1: Try detecting every second.\n const interval = \n // TODO: #334 Replace with idle callback strategy.\n setInterval(detectAndDispose, 1000);\n disposers.push(() => clearInterval(interval));\n // Strategy #2: Detect as soon as the DOM becomes 'ready'/'interactive'.\n if (\n // Implies that `DOMContentLoaded` has not yet fired.\n document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', detectAndDispose, { once: true });\n disposers.push(() => document.removeEventListener('DOMContentLoaded', detectAndDispose));\n }\n // Strategy #3: Detect after the `window` has fully loaded.\n if (\n // If the `complete` state has been reached, we're too late.\n document.readyState !== 'complete') {\n window.addEventListener('load', detectAndDispose, { once: true });\n disposers.push(() => window.removeEventListener('load', detectAndDispose));\n }\n // Strategy #4: Detect synchronously, now.\n detectAndDispose();\n}\n/**\n * Users on iOS can be redirected into a wallet's in-app browser automatically,\n * if that wallet has a universal link configured to do so\n * But should not be redirected from within a webview, eg. if they're already\n * inside a wallet's browser\n * This function can be used to identify users who are on iOS and can be redirected\n *\n * @returns true if the user can be redirected\n */\nexport function isIosAndRedirectable() {\n // SSR: return false\n if (!navigator)\n return false;\n const userAgent = navigator.userAgent.toLowerCase();\n // if on iOS the user agent will contain either iPhone or iPad\n // caveat: if requesting desktop site then this won't work\n const isIos = userAgent.includes('iphone') || userAgent.includes('ipad');\n // if in a webview then it will not include Safari\n // note that other iOS browsers also include Safari\n // so we will redirect only if Safari is also included\n const isSafari = userAgent.includes('safari');\n return isIos && isSafari;\n}\n//# sourceMappingURL=adapter.js.map","export class WalletError extends Error {\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n constructor(message, error) {\n super(message);\n this.error = error;\n }\n}\nexport class WalletNotReadyError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletNotReadyError';\n }\n}\nexport class WalletLoadError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletLoadError';\n }\n}\nexport class WalletConfigError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletConfigError';\n }\n}\nexport class WalletConnectionError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletConnectionError';\n }\n}\nexport class WalletDisconnectedError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletDisconnectedError';\n }\n}\nexport class WalletDisconnectionError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletDisconnectionError';\n }\n}\nexport class WalletAccountError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletAccountError';\n }\n}\nexport class WalletPublicKeyError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletPublicKeyError';\n }\n}\nexport class WalletKeypairError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletKeypairError';\n }\n}\nexport class WalletNotConnectedError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletNotConnectedError';\n }\n}\nexport class WalletSendTransactionError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletSendTransactionError';\n }\n}\nexport class WalletSignMessageError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletSignMessageError';\n }\n}\nexport class WalletSignTransactionError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletSignTransactionError';\n }\n}\nexport class WalletTimeoutError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletTimeoutError';\n }\n}\nexport class WalletWindowBlockedError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletWindowBlockedError';\n }\n}\nexport class WalletWindowClosedError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletWindowClosedError';\n }\n}\n//# sourceMappingURL=errors.js.map","import { BaseWalletAdapter, } from './adapter.js';\nimport { WalletSendTransactionError, WalletSignTransactionError } from './errors.js';\nimport { isVersionedTransaction } from './transaction.js';\nexport class BaseSignerWalletAdapter extends BaseWalletAdapter {\n async sendTransaction(transaction, connection, options = {}) {\n let emit = true;\n try {\n if (isVersionedTransaction(transaction)) {\n if (!this.supportedTransactionVersions)\n throw new WalletSendTransactionError(`Sending versioned transactions isn't supported by this wallet`);\n if (!this.supportedTransactionVersions.has(transaction.version))\n throw new WalletSendTransactionError(`Sending transaction version ${transaction.version} isn't supported by this wallet`);\n try {\n transaction = await this.signTransaction(transaction);\n const rawTransaction = transaction.serialize();\n return await connection.sendRawTransaction(rawTransaction, options);\n }\n catch (error) {\n // If the error was thrown by `signTransaction`, rethrow it and don't emit a duplicate event\n if (error instanceof WalletSignTransactionError) {\n emit = false;\n throw error;\n }\n throw new WalletSendTransactionError(error?.message, error);\n }\n }\n else {\n try {\n const { signers, ...sendOptions } = options;\n transaction = await this.prepareTransaction(transaction, connection, sendOptions);\n signers?.length && transaction.partialSign(...signers);\n transaction = await this.signTransaction(transaction);\n const rawTransaction = transaction.serialize();\n return await connection.sendRawTransaction(rawTransaction, sendOptions);\n }\n catch (error) {\n // If the error was thrown by `signTransaction`, rethrow it and don't emit a duplicate event\n if (error instanceof WalletSignTransactionError) {\n emit = false;\n throw error;\n }\n throw new WalletSendTransactionError(error?.message, error);\n }\n }\n }\n catch (error) {\n if (emit) {\n this.emit('error', error);\n }\n throw error;\n }\n }\n async signAllTransactions(transactions) {\n for (const transaction of transactions) {\n if (isVersionedTransaction(transaction)) {\n if (!this.supportedTransactionVersions)\n throw new WalletSignTransactionError(`Signing versioned transactions isn't supported by this wallet`);\n if (!this.supportedTransactionVersions.has(transaction.version))\n throw new WalletSignTransactionError(`Signing transaction version ${transaction.version} isn't supported by this wallet`);\n }\n }\n const signedTransactions = [];\n for (const transaction of transactions) {\n signedTransactions.push(await this.signTransaction(transaction));\n }\n return signedTransactions;\n }\n}\nexport class BaseMessageSignerWalletAdapter extends BaseSignerWalletAdapter {\n}\n//# sourceMappingURL=signer.js.map","export function isVersionedTransaction(transaction) {\n return 'version' in transaction;\n}\n//# sourceMappingURL=transaction.js.map","export var WalletAdapterNetwork;\n(function (WalletAdapterNetwork) {\n WalletAdapterNetwork[\"Mainnet\"] = \"mainnet-beta\";\n WalletAdapterNetwork[\"Testnet\"] = \"testnet\";\n WalletAdapterNetwork[\"Devnet\"] = \"devnet\";\n})(WalletAdapterNetwork || (WalletAdapterNetwork = {}));\n//# sourceMappingURL=types.js.map","import { BaseMessageSignerWalletAdapter, isIosAndRedirectable, isVersionedTransaction, scopePollingDetectionStrategy, WalletAccountError, WalletConnectionError, WalletDisconnectedError, WalletDisconnectionError, WalletError, WalletNotConnectedError, WalletNotReadyError, WalletPublicKeyError, WalletReadyState, WalletSendTransactionError, WalletSignMessageError, WalletSignTransactionError, } from '@solana/wallet-adapter-base';\nimport { PublicKey } from '@solana/web3.js';\nexport const PhantomWalletName = 'Phantom';\nexport class PhantomWalletAdapter extends BaseMessageSignerWalletAdapter {\n constructor(config = {}) {\n super();\n this.name = PhantomWalletName;\n this.url = 'https://phantom.app';\n this.icon = 'data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjM0IiB3aWR0aD0iMzQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iLjUiIHgyPSIuNSIgeTE9IjAiIHkyPSIxIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM1MzRiYjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM1NTFiZjkiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9Ii41IiB4Mj0iLjUiIHkxPSIwIiB5Mj0iMSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZmIiBzdG9wLW9wYWNpdHk9Ii44MiIvPjwvbGluZWFyR3JhZGllbnQ+PGNpcmNsZSBjeD0iMTciIGN5PSIxNyIgZmlsbD0idXJsKCNhKSIgcj0iMTciLz48cGF0aCBkPSJtMjkuMTcwMiAxNy4yMDcxaC0yLjk5NjljMC02LjEwNzQtNC45NjgzLTExLjA1ODE3LTExLjA5NzUtMTEuMDU4MTctNi4wNTMyNSAwLTEwLjk3NDYzIDQuODI5NTctMTEuMDk1MDggMTAuODMyMzctLjEyNDYxIDYuMjA1IDUuNzE3NTIgMTEuNTkzMiAxMS45NDUzOCAxMS41OTMyaC43ODM0YzUuNDkwNiAwIDEyLjg0OTctNC4yODI5IDEzLjk5OTUtOS41MDEzLjIxMjMtLjk2MTktLjU1MDItMS44NjYxLTEuNTM4OC0xLjg2NjF6bS0xOC41NDc5LjI3MjFjMCAuODE2Ny0uNjcwMzggMS40ODQ3LTEuNDkwMDEgMS40ODQ3LS44MTk2NCAwLTEuNDg5OTgtLjY2ODMtMS40ODk5OC0xLjQ4NDd2LTIuNDAxOWMwLS44MTY3LjY3MDM0LTEuNDg0NyAxLjQ4OTk4LTEuNDg0Ny44MTk2MyAwIDEuNDkwMDEuNjY4IDEuNDkwMDEgMS40ODQ3em01LjE3MzggMGMwIC44MTY3LS42NzAzIDEuNDg0Ny0xLjQ4OTkgMS40ODQ3LS44MTk3IDAtMS40OS0uNjY4My0xLjQ5LTEuNDg0N3YtMi40MDE5YzAtLjgxNjcuNjcwNi0xLjQ4NDcgMS40OS0xLjQ4NDcuODE5NiAwIDEuNDg5OS42NjggMS40ODk5IDEuNDg0N3oiIGZpbGw9InVybCgjYikiLz48L3N2Zz4K';\n this.supportedTransactionVersions = new Set(['legacy', 0]);\n this._readyState = typeof window === 'undefined' || typeof document === 'undefined'\n ? WalletReadyState.Unsupported\n : WalletReadyState.NotDetected;\n this._disconnected = () => {\n const wallet = this._wallet;\n if (wallet) {\n wallet.off('disconnect', this._disconnected);\n wallet.off('accountChanged', this._accountChanged);\n this._wallet = null;\n this._publicKey = null;\n this.emit('error', new WalletDisconnectedError());\n this.emit('disconnect');\n }\n };\n this._accountChanged = (newPublicKey) => {\n const publicKey = this._publicKey;\n if (!publicKey)\n return;\n try {\n newPublicKey = new PublicKey(newPublicKey.toBytes());\n }\n catch (error) {\n this.emit('error', new WalletPublicKeyError(error?.message, error));\n return;\n }\n if (publicKey.equals(newPublicKey))\n return;\n this._publicKey = newPublicKey;\n this.emit('connect', newPublicKey);\n };\n this._connecting = false;\n this._wallet = null;\n this._publicKey = null;\n if (this._readyState !== WalletReadyState.Unsupported) {\n if (isIosAndRedirectable()) {\n // when in iOS (not webview), set Phantom as loadable instead of checking for install\n this._readyState = WalletReadyState.Loadable;\n this.emit('readyStateChange', this._readyState);\n }\n else {\n scopePollingDetectionStrategy(() => {\n if (window.phantom?.solana?.isPhantom || window.solana?.isPhantom) {\n this._readyState = WalletReadyState.Installed;\n this.emit('readyStateChange', this._readyState);\n return true;\n }\n return false;\n });\n }\n }\n }\n get publicKey() {\n return this._publicKey;\n }\n get connecting() {\n return this._connecting;\n }\n get readyState() {\n return this._readyState;\n }\n async autoConnect() {\n // Skip autoconnect in the Loadable state\n // We can't redirect to a universal link without user input\n if (this.readyState === WalletReadyState.Installed) {\n await this.connect();\n }\n }\n async connect() {\n try {\n if (this.connected || this.connecting)\n return;\n if (this.readyState === WalletReadyState.Loadable) {\n // redirect to the Phantom /browse universal link\n // this will open the current URL in the Phantom in-wallet browser\n const url = encodeURIComponent(window.location.href);\n const ref = encodeURIComponent(window.location.origin);\n window.location.href = `https://phantom.app/ul/browse/${url}?ref=${ref}`;\n return;\n }\n if (this.readyState !== WalletReadyState.Installed)\n throw new WalletNotReadyError();\n this._connecting = true;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const wallet = window.phantom?.solana || window.solana;\n if (!wallet.isConnected) {\n try {\n await wallet.connect();\n }\n catch (error) {\n throw new WalletConnectionError(error?.message, error);\n }\n }\n if (!wallet.publicKey)\n throw new WalletAccountError();\n let publicKey;\n try {\n publicKey = new PublicKey(wallet.publicKey.toBytes());\n }\n catch (error) {\n throw new WalletPublicKeyError(error?.message, error);\n }\n wallet.on('disconnect', this._disconnected);\n wallet.on('accountChanged', this._accountChanged);\n this._wallet = wallet;\n this._publicKey = publicKey;\n this.emit('connect', publicKey);\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n finally {\n this._connecting = false;\n }\n }\n async disconnect() {\n const wallet = this._wallet;\n if (wallet) {\n wallet.off('disconnect', this._disconnected);\n wallet.off('accountChanged', this._accountChanged);\n this._wallet = null;\n this._publicKey = null;\n try {\n await wallet.disconnect();\n }\n catch (error) {\n this.emit('error', new WalletDisconnectionError(error?.message, error));\n }\n }\n this.emit('disconnect');\n }\n async sendTransaction(transaction, connection, options = {}) {\n try {\n const wallet = this._wallet;\n if (!wallet)\n throw new WalletNotConnectedError();\n try {\n const { signers, ...sendOptions } = options;\n if (isVersionedTransaction(transaction)) {\n signers?.length && transaction.sign(signers);\n }\n else {\n transaction = (await this.prepareTransaction(transaction, connection, sendOptions));\n signers?.length && transaction.partialSign(...signers);\n }\n sendOptions.preflightCommitment = sendOptions.preflightCommitment || connection.commitment;\n const { signature } = await wallet.signAndSendTransaction(transaction, sendOptions);\n return signature;\n }\n catch (error) {\n if (error instanceof WalletError)\n throw error;\n throw new WalletSendTransactionError(error?.message, error);\n }\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n async signTransaction(transaction) {\n try {\n const wallet = this._wallet;\n if (!wallet)\n throw new WalletNotConnectedError();\n try {\n return (await wallet.signTransaction(transaction)) || transaction;\n }\n catch (error) {\n throw new WalletSignTransactionError(error?.message, error);\n }\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n async signAllTransactions(transactions) {\n try {\n const wallet = this._wallet;\n if (!wallet)\n throw new WalletNotConnectedError();\n try {\n return (await wallet.signAllTransactions(transactions)) || transactions;\n }\n catch (error) {\n throw new WalletSignTransactionError(error?.message, error);\n }\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n async signMessage(message) {\n try {\n const wallet = this._wallet;\n if (!wallet)\n throw new WalletNotConnectedError();\n try {\n const { signature } = await wallet.signMessage(message);\n return signature;\n }\n catch (error) {\n throw new WalletSignMessageError(error?.message, error);\n }\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n}\n//# sourceMappingURL=adapter.js.map","import { createContext, useContext } from 'react';\nconst DEFAULT_CONTEXT = {\n setVisible(_open) {\n console.error(constructMissingProviderErrorMessage('call', 'setVisible'));\n },\n visible: false,\n};\nObject.defineProperty(DEFAULT_CONTEXT, 'visible', {\n get() {\n console.error(constructMissingProviderErrorMessage('read', 'visible'));\n return false;\n },\n});\nfunction constructMissingProviderErrorMessage(action, valueName) {\n return ('You have tried to ' +\n ` ${action} \"${valueName}\"` +\n ' on a WalletModalContext without providing one.' +\n ' Make sure to render a WalletModalProvider' +\n ' as an ancestor of the component that uses ' +\n 'WalletModalContext');\n}\nexport const WalletModalContext = createContext(DEFAULT_CONTEXT);\nexport function useWalletModal() {\n return useContext(WalletModalContext);\n}\n//# sourceMappingURL=useWalletModal.js.map","import React, { useLayoutEffect, useRef } from 'react';\nexport const Collapse = ({ id, children, expanded = false }) => {\n const ref = useRef(null);\n const instant = useRef(true);\n const transition = 'height 250ms ease-out';\n const openCollapse = () => {\n const node = ref.current;\n if (!node)\n return;\n requestAnimationFrame(() => {\n node.style.height = node.scrollHeight + 'px';\n });\n };\n const closeCollapse = () => {\n const node = ref.current;\n if (!node)\n return;\n requestAnimationFrame(() => {\n node.style.height = node.offsetHeight + 'px';\n node.style.overflow = 'hidden';\n requestAnimationFrame(() => {\n node.style.height = '0';\n });\n });\n };\n useLayoutEffect(() => {\n if (expanded) {\n openCollapse();\n }\n else {\n closeCollapse();\n }\n }, [expanded]);\n useLayoutEffect(() => {\n const node = ref.current;\n if (!node)\n return;\n function handleComplete() {\n if (!node)\n return;\n node.style.overflow = expanded ? 'initial' : 'hidden';\n if (expanded) {\n node.style.height = 'auto';\n }\n }\n function handleTransitionEnd(event) {\n if (node && event.target === node && event.propertyName === 'height') {\n handleComplete();\n }\n }\n if (instant.current) {\n handleComplete();\n instant.current = false;\n }\n node.addEventListener('transitionend', handleTransitionEnd);\n return () => node.removeEventListener('transitionend', handleTransitionEnd);\n }, [expanded]);\n return (React.createElement(\"div\", { className: \"wallet-adapter-collapse\", id: id, ref: ref, role: \"region\", style: { height: 0, transition: instant.current ? undefined : transition } }, children));\n};\n//# sourceMappingURL=Collapse.js.map","import React from 'react';\nexport const Button = (props) => {\n return (React.createElement(\"button\", { className: `wallet-adapter-button ${props.className || ''}`, disabled: props.disabled, style: props.style, onClick: props.onClick, tabIndex: props.tabIndex || 0, type: \"button\" },\n props.startIcon && React.createElement(\"i\", { className: \"wallet-adapter-button-start-icon\" }, props.startIcon),\n props.children,\n props.endIcon && React.createElement(\"i\", { className: \"wallet-adapter-button-end-icon\" }, props.endIcon)));\n};\n//# sourceMappingURL=Button.js.map","import React from 'react';\nexport const WalletIcon = ({ wallet, ...props }) => {\n return wallet && React.createElement(\"img\", { src: wallet.adapter.icon, alt: `${wallet.adapter.name} icon`, ...props });\n};\n//# sourceMappingURL=WalletIcon.js.map","import { WalletReadyState } from '@solana/wallet-adapter-base';\nimport React from 'react';\nimport { Button } from './Button.js';\nimport { WalletIcon } from './WalletIcon.js';\nexport const WalletListItem = ({ handleClick, tabIndex, wallet }) => {\n return (React.createElement(\"li\", null,\n React.createElement(Button, { onClick: handleClick, startIcon: React.createElement(WalletIcon, { wallet: wallet }), tabIndex: tabIndex },\n wallet.adapter.name,\n wallet.readyState === WalletReadyState.Installed && React.createElement(\"span\", null, \"Detected\"))));\n};\n//# sourceMappingURL=WalletListItem.js.map","import React from 'react';\nexport const WalletSVG = () => {\n return (React.createElement(\"svg\", { width: \"97\", height: \"96\", viewBox: \"0 0 97 96\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n React.createElement(\"circle\", { cx: \"48.5\", cy: \"48\", r: \"48\", fill: \"url(#paint0_linear_880_5115)\", fillOpacity: \"0.1\" }),\n React.createElement(\"circle\", { cx: \"48.5\", cy: \"48\", r: \"47\", stroke: \"url(#paint1_linear_880_5115)\", strokeOpacity: \"0.4\", strokeWidth: \"2\" }),\n React.createElement(\"g\", { clipPath: \"url(#clip0_880_5115)\" },\n React.createElement(\"path\", { d: \"M65.5769 28.1523H31.4231C27.6057 28.1523 24.5 31.258 24.5 35.0754V60.9215C24.5 64.7389 27.6057 67.8446 31.4231 67.8446H65.5769C69.3943 67.8446 72.5 64.7389 72.5 60.9215V35.0754C72.5 31.258 69.3943 28.1523 65.5769 28.1523ZM69.7308 52.1523H59.5769C57.2865 52.1523 55.4231 50.289 55.4231 47.9985C55.4231 45.708 57.2864 43.8446 59.5769 43.8446H69.7308V52.1523ZM69.7308 41.0754H59.5769C55.7595 41.0754 52.6539 44.1811 52.6539 47.9985C52.6539 51.8159 55.7595 54.9215 59.5769 54.9215H69.7308V60.9215C69.7308 63.2119 67.8674 65.0754 65.5769 65.0754H31.4231C29.1327 65.0754 27.2692 63.212 27.2692 60.9215V35.0754C27.2692 32.785 29.1326 30.9215 31.4231 30.9215H65.5769C67.8673 30.9215 69.7308 32.7849 69.7308 35.0754V41.0754Z\", fill: \"url(#paint2_linear_880_5115)\" }),\n React.createElement(\"path\", { d: \"M61.4231 46.6172H59.577C58.8123 46.6172 58.1924 47.2371 58.1924 48.0018C58.1924 48.7665 58.8123 49.3863 59.577 49.3863H61.4231C62.1878 49.3863 62.8077 48.7664 62.8077 48.0018C62.8077 47.2371 62.1878 46.6172 61.4231 46.6172Z\", fill: \"url(#paint3_linear_880_5115)\" })),\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { id: \"paint0_linear_880_5115\", x1: \"3.41664\", y1: \"98.0933\", x2: \"103.05\", y2: \"8.42498\", gradientUnits: \"userSpaceOnUse\" },\n React.createElement(\"stop\", { stopColor: \"#9945FF\" }),\n React.createElement(\"stop\", { offset: \"0.14\", stopColor: \"#8A53F4\" }),\n React.createElement(\"stop\", { offset: \"0.42\", stopColor: \"#6377D6\" }),\n React.createElement(\"stop\", { offset: \"0.79\", stopColor: \"#24B0A7\" }),\n React.createElement(\"stop\", { offset: \"0.99\", stopColor: \"#00D18C\" }),\n React.createElement(\"stop\", { offset: \"1\", stopColor: \"#00D18C\" })),\n React.createElement(\"linearGradient\", { id: \"paint1_linear_880_5115\", x1: \"3.41664\", y1: \"98.0933\", x2: \"103.05\", y2: \"8.42498\", gradientUnits: \"userSpaceOnUse\" },\n React.createElement(\"stop\", { stopColor: \"#9945FF\" }),\n React.createElement(\"stop\", { offset: \"0.14\", stopColor: \"#8A53F4\" }),\n React.createElement(\"stop\", { offset: \"0.42\", stopColor: \"#6377D6\" }),\n React.createElement(\"stop\", { offset: \"0.79\", stopColor: \"#24B0A7\" }),\n React.createElement(\"stop\", { offset: \"0.99\", stopColor: \"#00D18C\" }),\n React.createElement(\"stop\", { offset: \"1\", stopColor: \"#00D18C\" })),\n React.createElement(\"linearGradient\", { id: \"paint2_linear_880_5115\", x1: \"25.9583\", y1: \"68.7101\", x2: \"67.2337\", y2: \"23.7879\", gradientUnits: \"userSpaceOnUse\" },\n React.createElement(\"stop\", { stopColor: \"#9945FF\" }),\n React.createElement(\"stop\", { offset: \"0.14\", stopColor: \"#8A53F4\" }),\n React.createElement(\"stop\", { offset: \"0.42\", stopColor: \"#6377D6\" }),\n React.createElement(\"stop\", { offset: \"0.79\", stopColor: \"#24B0A7\" }),\n React.createElement(\"stop\", { offset: \"0.99\", stopColor: \"#00D18C\" }),\n React.createElement(\"stop\", { offset: \"1\", stopColor: \"#00D18C\" })),\n React.createElement(\"linearGradient\", { id: \"paint3_linear_880_5115\", x1: \"58.3326\", y1: \"49.4467\", x2: \"61.0002\", y2: \"45.4453\", gradientUnits: \"userSpaceOnUse\" },\n React.createElement(\"stop\", { stopColor: \"#9945FF\" }),\n React.createElement(\"stop\", { offset: \"0.14\", stopColor: \"#8A53F4\" }),\n React.createElement(\"stop\", { offset: \"0.42\", stopColor: \"#6377D6\" }),\n React.createElement(\"stop\", { offset: \"0.79\", stopColor: \"#24B0A7\" }),\n React.createElement(\"stop\", { offset: \"0.99\", stopColor: \"#00D18C\" }),\n React.createElement(\"stop\", { offset: \"1\", stopColor: \"#00D18C\" })),\n React.createElement(\"clipPath\", { id: \"clip0_880_5115\" },\n React.createElement(\"rect\", { width: \"48\", height: \"48\", fill: \"white\", transform: \"translate(24.5 24)\" })))));\n};\n//# sourceMappingURL=WalletSVG.js.map","import { WalletReadyState } from '@solana/wallet-adapter-base';\nimport { useWallet } from '@solana/wallet-adapter-react';\nimport React, { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { Collapse } from './Collapse.js';\nimport { useWalletModal } from './useWalletModal.js';\nimport { WalletListItem } from './WalletListItem.js';\nimport { WalletSVG } from './WalletSVG.js';\nexport const WalletModal = ({ className = '', container = 'body' }) => {\n const ref = useRef(null);\n const { wallets, select } = useWallet();\n const { setVisible } = useWalletModal();\n const [expanded, setExpanded] = useState(false);\n const [fadeIn, setFadeIn] = useState(false);\n const [portal, setPortal] = useState(null);\n const [listedWallets, collapsedWallets] = useMemo(() => {\n const installed = [];\n const loadable = [];\n const notDetected = [];\n for (const wallet of wallets) {\n if (wallet.readyState === WalletReadyState.NotDetected) {\n notDetected.push(wallet);\n }\n else if (wallet.readyState === WalletReadyState.Loadable) {\n loadable.push(wallet);\n }\n else if (wallet.readyState === WalletReadyState.Installed) {\n installed.push(wallet);\n }\n }\n let listed = [];\n let collapsed = [];\n if (installed.length) {\n listed = installed;\n collapsed = [...loadable, ...notDetected];\n }\n else if (loadable.length) {\n listed = loadable;\n collapsed = notDetected;\n }\n else {\n collapsed = notDetected;\n }\n return [listed, collapsed];\n }, [wallets]);\n const hideModal = useCallback(() => {\n setFadeIn(false);\n setTimeout(() => setVisible(false), 150);\n }, [setVisible]);\n const handleClose = useCallback((event) => {\n event.preventDefault();\n hideModal();\n }, [hideModal]);\n const handleWalletClick = useCallback((event, walletName) => {\n select(walletName);\n handleClose(event);\n }, [select, handleClose]);\n const handleCollapseClick = useCallback(() => setExpanded(!expanded), [expanded]);\n const handleTabKey = useCallback((event) => {\n const node = ref.current;\n if (!node)\n return;\n // here we query all focusable elements\n const focusableElements = node.querySelectorAll('button');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const firstElement = focusableElements[0];\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const lastElement = focusableElements[focusableElements.length - 1];\n if (event.shiftKey) {\n // if going backward by pressing tab and firstElement is active, shift focus to last focusable element\n if (document.activeElement === firstElement) {\n lastElement.focus();\n event.preventDefault();\n }\n }\n else {\n // if going forward by pressing tab and lastElement is active, shift focus to first focusable element\n if (document.activeElement === lastElement) {\n firstElement.focus();\n event.preventDefault();\n }\n }\n }, [ref]);\n useLayoutEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === 'Escape') {\n hideModal();\n }\n else if (event.key === 'Tab') {\n handleTabKey(event);\n }\n };\n // Get original overflow\n const { overflow } = window.getComputedStyle(document.body);\n // Hack to enable fade in animation after mount\n setTimeout(() => setFadeIn(true), 0);\n // Prevent scrolling on mount\n document.body.style.overflow = 'hidden';\n // Listen for keydown events\n window.addEventListener('keydown', handleKeyDown, false);\n return () => {\n // Re-enable scrolling when component unmounts\n document.body.style.overflow = overflow;\n window.removeEventListener('keydown', handleKeyDown, false);\n };\n }, [hideModal, handleTabKey]);\n useLayoutEffect(() => setPortal(document.querySelector(container)), [container]);\n return (portal &&\n createPortal(React.createElement(\"div\", { \"aria-labelledby\": \"wallet-adapter-modal-title\", \"aria-modal\": \"true\", className: `wallet-adapter-modal ${fadeIn && 'wallet-adapter-modal-fade-in'} ${className}`, ref: ref, role: \"dialog\" },\n React.createElement(\"div\", { className: \"wallet-adapter-modal-container\" },\n React.createElement(\"div\", { className: \"wallet-adapter-modal-wrapper\" },\n React.createElement(\"button\", { onClick: handleClose, className: \"wallet-adapter-modal-button-close\" },\n React.createElement(\"svg\", { width: \"14\", height: \"14\" },\n React.createElement(\"path\", { d: \"M14 12.461 8.3 6.772l5.234-5.233L12.006 0 6.772 5.234 1.54 0 0 1.539l5.234 5.233L0 12.006l1.539 1.528L6.772 8.3l5.69 5.7L14 12.461z\" }))),\n listedWallets.length ? (React.createElement(React.Fragment, null,\n React.createElement(\"h1\", { className: \"wallet-adapter-modal-title\" }, \"Connect a wallet on Solana to continue\"),\n React.createElement(\"ul\", { className: \"wallet-adapter-modal-list\" },\n listedWallets.map((wallet) => (React.createElement(WalletListItem, { key: wallet.adapter.name, handleClick: (event) => handleWalletClick(event, wallet.adapter.name), wallet: wallet }))),\n collapsedWallets.length ? (React.createElement(Collapse, { expanded: expanded, id: \"wallet-adapter-modal-collapse\" }, collapsedWallets.map((wallet) => (React.createElement(WalletListItem, { key: wallet.adapter.name, handleClick: (event) => handleWalletClick(event, wallet.adapter.name), tabIndex: expanded ? 0 : -1, wallet: wallet }))))) : null),\n collapsedWallets.length ? (React.createElement(\"button\", { className: \"wallet-adapter-modal-list-more\", onClick: handleCollapseClick, tabIndex: 0 },\n React.createElement(\"span\", null,\n expanded ? 'Less ' : 'More ',\n \"options\"),\n React.createElement(\"svg\", { width: \"13\", height: \"7\", viewBox: \"0 0 13 7\", xmlns: \"http://www.w3.org/2000/svg\", className: `${expanded ? 'wallet-adapter-modal-list-more-icon-rotate' : ''}` },\n React.createElement(\"path\", { d: \"M0.71418 1.626L5.83323 6.26188C5.91574 6.33657 6.0181 6.39652 6.13327 6.43762C6.24844 6.47872 6.37371 6.5 6.50048 6.5C6.62725 6.5 6.75252 6.47872 6.8677 6.43762C6.98287 6.39652 7.08523 6.33657 7.16774 6.26188L12.2868 1.626C12.7753 1.1835 12.3703 0.5 11.6195 0.5H1.37997C0.629216 0.5 0.224175 1.1835 0.71418 1.626Z\" })))) : null)) : (React.createElement(React.Fragment, null,\n React.createElement(\"h1\", { className: \"wallet-adapter-modal-title\" }, \"You'll need a wallet on Solana to continue\"),\n React.createElement(\"div\", { className: \"wallet-adapter-modal-middle\" },\n React.createElement(WalletSVG, null)),\n collapsedWallets.length ? (React.createElement(React.Fragment, null,\n React.createElement(\"button\", { className: \"wallet-adapter-modal-list-more\", onClick: handleCollapseClick, tabIndex: 0 },\n React.createElement(\"span\", null,\n expanded ? 'Hide ' : 'Already have a wallet? View ',\n \"options\"),\n React.createElement(\"svg\", { width: \"13\", height: \"7\", viewBox: \"0 0 13 7\", xmlns: \"http://www.w3.org/2000/svg\", className: `${expanded ? 'wallet-adapter-modal-list-more-icon-rotate' : ''}` },\n React.createElement(\"path\", { d: \"M0.71418 1.626L5.83323 6.26188C5.91574 6.33657 6.0181 6.39652 6.13327 6.43762C6.24844 6.47872 6.37371 6.5 6.50048 6.5C6.62725 6.5 6.75252 6.47872 6.8677 6.43762C6.98287 6.39652 7.08523 6.33657 7.16774 6.26188L12.2868 1.626C12.7753 1.1835 12.3703 0.5 11.6195 0.5H1.37997C0.629216 0.5 0.224175 1.1835 0.71418 1.626Z\" }))),\n React.createElement(Collapse, { expanded: expanded, id: \"wallet-adapter-modal-collapse\" },\n React.createElement(\"ul\", { className: \"wallet-adapter-modal-list\" }, collapsedWallets.map((wallet) => (React.createElement(WalletListItem, { key: wallet.adapter.name, handleClick: (event) => handleWalletClick(event, wallet.adapter.name), tabIndex: expanded ? 0 : -1, wallet: wallet }))))))) : null)))),\n React.createElement(\"div\", { className: \"wallet-adapter-modal-overlay\", onMouseDown: handleClose })), portal));\n};\n//# sourceMappingURL=WalletModal.js.map","import React, { useState } from 'react';\nimport { WalletModalContext } from './useWalletModal.js';\nimport { WalletModal } from './WalletModal.js';\nexport const WalletModalProvider = ({ children, ...props }) => {\n const [visible, setVisible] = useState(false);\n return (React.createElement(WalletModalContext.Provider, { value: {\n visible,\n setVisible,\n } },\n children,\n visible && React.createElement(WalletModal, { ...props })));\n};\n//# sourceMappingURL=WalletModalProvider.js.map","import { Connection } from '@solana/web3.js';\nimport React, { useMemo } from 'react';\nimport { ConnectionContext } from './useConnection.js';\nexport const ConnectionProvider = ({ children, endpoint, config = { commitment: 'confirmed' }, }) => {\n const connection = useMemo(() => new Connection(endpoint, config), [endpoint, config]);\n return React.createElement(ConnectionContext.Provider, { value: { connection } }, children);\n};\n//# sourceMappingURL=ConnectionProvider.js.map","// Typescript `enums` thwart tree-shaking. See https://bargsten.org/jsts/enums/\nconst SolanaMobileWalletAdapterErrorCode = {\n ERROR_ASSOCIATION_PORT_OUT_OF_RANGE: 'ERROR_ASSOCIATION_PORT_OUT_OF_RANGE',\n ERROR_FORBIDDEN_WALLET_BASE_URL: 'ERROR_FORBIDDEN_WALLET_BASE_URL',\n ERROR_SECURE_CONTEXT_REQUIRED: 'ERROR_SECURE_CONTEXT_REQUIRED',\n ERROR_SESSION_CLOSED: 'ERROR_SESSION_CLOSED',\n ERROR_SESSION_TIMEOUT: 'ERROR_SESSION_TIMEOUT',\n ERROR_WALLET_NOT_FOUND: 'ERROR_WALLET_NOT_FOUND',\n};\nclass SolanaMobileWalletAdapterError extends Error {\n constructor(...args) {\n const [code, message, data] = args;\n super(message);\n this.code = code;\n this.data = data;\n this.name = 'SolanaMobileWalletAdapterError';\n }\n}\n// Typescript `enums` thwart tree-shaking. See https://bargsten.org/jsts/enums/\nconst SolanaMobileWalletAdapterProtocolErrorCode = {\n // Keep these in sync with `mobilewalletadapter/common/ProtocolContract.java`.\n ERROR_AUTHORIZATION_FAILED: -1,\n ERROR_INVALID_PAYLOADS: -2,\n ERROR_NOT_SIGNED: -3,\n ERROR_NOT_SUBMITTED: -4,\n ERROR_TOO_MANY_PAYLOADS: -5,\n ERROR_ATTEST_ORIGIN_ANDROID: -100,\n};\nclass SolanaMobileWalletAdapterProtocolError extends Error {\n constructor(...args) {\n const [jsonRpcMessageId, code, message, data] = args;\n super(message);\n this.code = code;\n this.data = data;\n this.jsonRpcMessageId = jsonRpcMessageId;\n this.name = 'SolanaMobileWalletAdapterProtocolError';\n }\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\n\nfunction createHelloReq(ecdhPublicKey, associationKeypairPrivateKey) {\n return __awaiter(this, void 0, void 0, function* () {\n const publicKeyBuffer = yield crypto.subtle.exportKey('raw', ecdhPublicKey);\n const signatureBuffer = yield crypto.subtle.sign({ hash: 'SHA-256', name: 'ECDSA' }, associationKeypairPrivateKey, publicKeyBuffer);\n const response = new Uint8Array(publicKeyBuffer.byteLength + signatureBuffer.byteLength);\n response.set(new Uint8Array(publicKeyBuffer), 0);\n response.set(new Uint8Array(signatureBuffer), publicKeyBuffer.byteLength);\n return response;\n });\n}\n\nconst SEQUENCE_NUMBER_BYTES = 4;\nfunction createSequenceNumberVector(sequenceNumber) {\n if (sequenceNumber >= 4294967296) {\n throw new Error('Outbound sequence number overflow. The maximum sequence number is 32-bytes.');\n }\n const byteArray = new ArrayBuffer(SEQUENCE_NUMBER_BYTES);\n const view = new DataView(byteArray);\n view.setUint32(0, sequenceNumber, /* littleEndian */ false);\n return new Uint8Array(byteArray);\n}\n\nfunction generateAssociationKeypair() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield crypto.subtle.generateKey({\n name: 'ECDSA',\n namedCurve: 'P-256',\n }, false /* extractable */, ['sign'] /* keyUsages */);\n });\n}\n\nfunction generateECDHKeypair() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield crypto.subtle.generateKey({\n name: 'ECDH',\n namedCurve: 'P-256',\n }, false /* extractable */, ['deriveKey', 'deriveBits'] /* keyUsages */);\n });\n}\n\nconst INITIALIZATION_VECTOR_BYTES = 12;\nfunction encryptJsonRpcMessage(jsonRpcMessage, sharedSecret) {\n return __awaiter(this, void 0, void 0, function* () {\n const plaintext = JSON.stringify(jsonRpcMessage);\n const sequenceNumberVector = createSequenceNumberVector(jsonRpcMessage.id);\n const initializationVector = new Uint8Array(INITIALIZATION_VECTOR_BYTES);\n crypto.getRandomValues(initializationVector);\n const ciphertext = yield crypto.subtle.encrypt(getAlgorithmParams(sequenceNumberVector, initializationVector), sharedSecret, new TextEncoder().encode(plaintext));\n const response = new Uint8Array(sequenceNumberVector.byteLength + initializationVector.byteLength + ciphertext.byteLength);\n response.set(new Uint8Array(sequenceNumberVector), 0);\n response.set(new Uint8Array(initializationVector), sequenceNumberVector.byteLength);\n response.set(new Uint8Array(ciphertext), sequenceNumberVector.byteLength + initializationVector.byteLength);\n return response;\n });\n}\nfunction decryptJsonRpcMessage(message, sharedSecret) {\n return __awaiter(this, void 0, void 0, function* () {\n const sequenceNumberVector = message.slice(0, SEQUENCE_NUMBER_BYTES);\n const initializationVector = message.slice(SEQUENCE_NUMBER_BYTES, SEQUENCE_NUMBER_BYTES + INITIALIZATION_VECTOR_BYTES);\n const ciphertext = message.slice(SEQUENCE_NUMBER_BYTES + INITIALIZATION_VECTOR_BYTES);\n const plaintextBuffer = yield crypto.subtle.decrypt(getAlgorithmParams(sequenceNumberVector, initializationVector), sharedSecret, ciphertext);\n const plaintext = getUtf8Decoder().decode(plaintextBuffer);\n const jsonRpcMessage = JSON.parse(plaintext);\n if (Object.hasOwnProperty.call(jsonRpcMessage, 'error')) {\n throw new SolanaMobileWalletAdapterProtocolError(jsonRpcMessage.id, jsonRpcMessage.error.code, jsonRpcMessage.error.message);\n }\n return jsonRpcMessage;\n });\n}\nfunction getAlgorithmParams(sequenceNumber, initializationVector) {\n return {\n additionalData: sequenceNumber,\n iv: initializationVector,\n name: 'AES-GCM',\n tagLength: 128, // 16 byte tag => 128 bits\n };\n}\nlet _utf8Decoder;\nfunction getUtf8Decoder() {\n if (_utf8Decoder === undefined) {\n _utf8Decoder = new TextDecoder('utf-8');\n }\n return _utf8Decoder;\n}\n\nfunction parseHelloRsp(payloadBuffer, // The X9.62-encoded wallet endpoint ephemeral ECDH public keypoint.\nassociationPublicKey, ecdhPrivateKey) {\n return __awaiter(this, void 0, void 0, function* () {\n const [associationPublicKeyBuffer, walletPublicKey] = yield Promise.all([\n crypto.subtle.exportKey('raw', associationPublicKey),\n crypto.subtle.importKey('raw', payloadBuffer, { name: 'ECDH', namedCurve: 'P-256' }, false /* extractable */, [] /* keyUsages */),\n ]);\n const sharedSecret = yield crypto.subtle.deriveBits({ name: 'ECDH', public: walletPublicKey }, ecdhPrivateKey, 256);\n const ecdhSecretKey = yield crypto.subtle.importKey('raw', sharedSecret, 'HKDF', false /* extractable */, ['deriveKey'] /* keyUsages */);\n const aesKeyMaterialVal = yield crypto.subtle.deriveKey({\n name: 'HKDF',\n hash: 'SHA-256',\n salt: new Uint8Array(associationPublicKeyBuffer),\n info: new Uint8Array(),\n }, ecdhSecretKey, { name: 'AES-GCM', length: 128 }, false /* extractable */, ['encrypt', 'decrypt']);\n return aesKeyMaterialVal;\n });\n}\n\nfunction getRandomAssociationPort() {\n return assertAssociationPort(49152 + Math.floor(Math.random() * (65535 - 49152 + 1)));\n}\nfunction assertAssociationPort(port) {\n if (port < 49152 || port > 65535) {\n throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_ASSOCIATION_PORT_OUT_OF_RANGE, `Association port number must be between 49152 and 65535. ${port} given.`, { port });\n }\n return port;\n}\n\n// https://stackoverflow.com/a/9458996/802047\nfunction arrayBufferToBase64String(buffer) {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n const len = bytes.byteLength;\n for (let ii = 0; ii < len; ii++) {\n binary += String.fromCharCode(bytes[ii]);\n }\n return window.btoa(binary);\n}\n\nfunction getStringWithURLUnsafeCharactersReplaced(unsafeBase64EncodedString) {\n return unsafeBase64EncodedString.replace(/[/+=]/g, (m) => ({\n '/': '_',\n '+': '-',\n '=': '.',\n }[m]));\n}\n\nconst INTENT_NAME = 'solana-wallet';\nfunction getPathParts(pathString) {\n return (pathString\n // Strip leading and trailing slashes\n .replace(/(^\\/+|\\/+$)/g, '')\n // Return an array of directories\n .split('/'));\n}\nfunction getIntentURL(methodPathname, intentUrlBase) {\n let baseUrl = null;\n if (intentUrlBase) {\n try {\n baseUrl = new URL(intentUrlBase);\n }\n catch (_a) { } // eslint-disable-line no-empty\n if ((baseUrl === null || baseUrl === void 0 ? void 0 : baseUrl.protocol) !== 'https:') {\n throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, 'Base URLs supplied by wallets must be valid `https` URLs');\n }\n }\n baseUrl || (baseUrl = new URL(`${INTENT_NAME}:/`));\n const pathname = methodPathname.startsWith('/')\n ? // Method is an absolute path. Replace it wholesale.\n methodPathname\n : // Method is a relative path. Merge it with the existing one.\n [...getPathParts(baseUrl.pathname), ...getPathParts(methodPathname)].join('/');\n return new URL(pathname, baseUrl);\n}\nfunction getAssociateAndroidIntentURL(associationPublicKey, putativePort, associationURLBase) {\n return __awaiter(this, void 0, void 0, function* () {\n const associationPort = assertAssociationPort(putativePort);\n const exportedKey = yield crypto.subtle.exportKey('raw', associationPublicKey);\n const encodedKey = arrayBufferToBase64String(exportedKey);\n const url = getIntentURL('v1/associate/local', associationURLBase);\n url.searchParams.set('association', getStringWithURLUnsafeCharactersReplaced(encodedKey));\n url.searchParams.set('port', `${associationPort}`);\n return url;\n });\n}\n\n// Typescript `enums` thwart tree-shaking. See https://bargsten.org/jsts/enums/\nconst Browser = {\n Firefox: 0,\n Other: 1,\n};\nfunction assertUnreachable(x) {\n return x;\n}\nfunction getBrowser() {\n return navigator.userAgent.indexOf('Firefox/') !== -1 ? Browser.Firefox : Browser.Other;\n}\nfunction getDetectionPromise() {\n // Chrome and others silently fail if a custom protocol is not supported.\n // For these, we wait to see if the browser is navigated away from in\n // a reasonable amount of time (ie. the native wallet opened).\n return new Promise((resolve, reject) => {\n function cleanup() {\n clearTimeout(timeoutId);\n window.removeEventListener('blur', handleBlur);\n }\n function handleBlur() {\n cleanup();\n resolve();\n }\n window.addEventListener('blur', handleBlur);\n const timeoutId = setTimeout(() => {\n cleanup();\n reject();\n }, 2000);\n });\n}\nlet _frame = null;\nfunction launchUrlThroughHiddenFrame(url) {\n if (_frame == null) {\n _frame = document.createElement('iframe');\n _frame.style.display = 'none';\n document.body.appendChild(_frame);\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n _frame.contentWindow.location.href = url.toString();\n}\nfunction startSession(associationPublicKey, associationURLBase) {\n return __awaiter(this, void 0, void 0, function* () {\n const randomAssociationPort = getRandomAssociationPort();\n const associationUrl = yield getAssociateAndroidIntentURL(associationPublicKey, randomAssociationPort, associationURLBase);\n if (associationUrl.protocol === 'https:') {\n // The association URL is an Android 'App Link' or iOS 'Universal Link'.\n // These are regular web URLs that are designed to launch an app if it\n // is installed or load the actual target webpage if not.\n window.location.assign(associationUrl);\n }\n else {\n // The association URL has a custom protocol (eg. `solana-wallet:`)\n try {\n const browser = getBrowser();\n switch (browser) {\n case Browser.Firefox:\n // If a custom protocol is not supported in Firefox, it throws.\n launchUrlThroughHiddenFrame(associationUrl);\n // If we reached this line, it's supported.\n break;\n case Browser.Other: {\n const detectionPromise = getDetectionPromise();\n window.location.assign(associationUrl);\n yield detectionPromise;\n break;\n }\n default:\n assertUnreachable(browser);\n }\n }\n catch (e) {\n throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_WALLET_NOT_FOUND, 'Found no installed wallet that supports the mobile wallet protocol.');\n }\n }\n return randomAssociationPort;\n });\n}\n\nconst WEBSOCKET_CONNECTION_CONFIG = {\n /**\n * 300 milliseconds is a generally accepted threshold for what someone\n * would consider an acceptable response time for a user interface\n * after having performed a low-attention tapping task. We set the initial\n * interval at which we wait for the wallet to set up the websocket at\n * half this, as per the Nyquist frequency, with a progressive backoff\n * sequence from there. The total wait time is 30s, which allows for the\n * user to be presented with a disambiguation dialog, select a wallet, and\n * for the wallet app to subsequently start.\n */\n retryDelayScheduleMs: [150, 150, 200, 500, 500, 750, 750, 1000],\n timeoutMs: 30000,\n};\nconst WEBSOCKET_PROTOCOL = 'com.solana.mobilewalletadapter.v1';\nfunction assertSecureContext() {\n if (typeof window === 'undefined' || window.isSecureContext !== true) {\n throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SECURE_CONTEXT_REQUIRED, 'The mobile wallet adapter protocol must be used in a secure context (`https`).');\n }\n}\nfunction assertSecureEndpointSpecificURI(walletUriBase) {\n let url;\n try {\n url = new URL(walletUriBase);\n }\n catch (_a) {\n throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, 'Invalid base URL supplied by wallet');\n }\n if (url.protocol !== 'https:') {\n throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, 'Base URLs supplied by wallets must be valid `https` URLs');\n }\n}\nfunction getSequenceNumberFromByteArray(byteArray) {\n const view = new DataView(byteArray);\n return view.getUint32(0, /* littleEndian */ false);\n}\nfunction transact(callback, config) {\n return __awaiter(this, void 0, void 0, function* () {\n assertSecureContext();\n const associationKeypair = yield generateAssociationKeypair();\n const sessionPort = yield startSession(associationKeypair.publicKey, config === null || config === void 0 ? void 0 : config.baseUri);\n const websocketURL = `ws://localhost:${sessionPort}/solana-wallet`;\n let connectionStartTime;\n const getNextRetryDelayMs = (() => {\n const schedule = [...WEBSOCKET_CONNECTION_CONFIG.retryDelayScheduleMs];\n return () => (schedule.length > 1 ? schedule.shift() : schedule[0]);\n })();\n let nextJsonRpcMessageId = 1;\n let lastKnownInboundSequenceNumber = 0;\n let state = { __type: 'disconnected' };\n return new Promise((resolve, reject) => {\n let socket;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const jsonRpcResponsePromises = {};\n const handleOpen = () => __awaiter(this, void 0, void 0, function* () {\n if (state.__type !== 'connecting') {\n console.warn('Expected adapter state to be `connecting` at the moment the websocket opens. ' +\n `Got \\`${state.__type}\\`.`);\n return;\n }\n const { associationKeypair } = state;\n socket.removeEventListener('open', handleOpen);\n const ecdhKeypair = yield generateECDHKeypair();\n socket.send(yield createHelloReq(ecdhKeypair.publicKey, associationKeypair.privateKey));\n state = {\n __type: 'hello_req_sent',\n associationPublicKey: associationKeypair.publicKey,\n ecdhPrivateKey: ecdhKeypair.privateKey,\n };\n });\n const handleClose = (evt) => {\n if (evt.wasClean) {\n state = { __type: 'disconnected' };\n }\n else {\n reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_CLOSED, `The wallet session dropped unexpectedly (${evt.code}: ${evt.reason}).`, { closeEvent: evt }));\n }\n disposeSocket();\n };\n const handleError = (_evt) => __awaiter(this, void 0, void 0, function* () {\n disposeSocket();\n if (Date.now() - connectionStartTime >= WEBSOCKET_CONNECTION_CONFIG.timeoutMs) {\n reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_TIMEOUT, `Failed to connect to the wallet websocket on port ${sessionPort}.`));\n }\n else {\n yield new Promise((resolve) => {\n const retryDelayMs = getNextRetryDelayMs();\n retryWaitTimeoutId = window.setTimeout(resolve, retryDelayMs);\n });\n attemptSocketConnection();\n }\n });\n const handleMessage = (evt) => __awaiter(this, void 0, void 0, function* () {\n const responseBuffer = yield evt.data.arrayBuffer();\n switch (state.__type) {\n case 'connected':\n try {\n const sequenceNumberVector = responseBuffer.slice(0, SEQUENCE_NUMBER_BYTES);\n const sequenceNumber = getSequenceNumberFromByteArray(sequenceNumberVector);\n if (sequenceNumber !== (lastKnownInboundSequenceNumber + 1)) {\n throw new Error('Encrypted message has invalid sequence number');\n }\n lastKnownInboundSequenceNumber = sequenceNumber;\n const jsonRpcMessage = yield decryptJsonRpcMessage(responseBuffer, state.sharedSecret);\n const responsePromise = jsonRpcResponsePromises[jsonRpcMessage.id];\n delete jsonRpcResponsePromises[jsonRpcMessage.id];\n responsePromise.resolve(jsonRpcMessage.result);\n }\n catch (e) {\n if (e instanceof SolanaMobileWalletAdapterProtocolError) {\n const responsePromise = jsonRpcResponsePromises[e.jsonRpcMessageId];\n delete jsonRpcResponsePromises[e.jsonRpcMessageId];\n responsePromise.reject(e);\n }\n else {\n throw e;\n }\n }\n break;\n case 'hello_req_sent': {\n const sharedSecret = yield parseHelloRsp(responseBuffer, state.associationPublicKey, state.ecdhPrivateKey);\n state = { __type: 'connected', sharedSecret };\n const wallet = new Proxy({}, {\n get(target, p) {\n if (target[p] == null) {\n const method = p\n .toString()\n .replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`)\n .toLowerCase();\n target[p] = function (params) {\n return __awaiter(this, void 0, void 0, function* () {\n const id = nextJsonRpcMessageId++;\n socket.send(yield encryptJsonRpcMessage({\n id,\n jsonrpc: '2.0',\n method,\n params: params !== null && params !== void 0 ? params : {},\n }, sharedSecret));\n return new Promise((resolve, reject) => {\n jsonRpcResponsePromises[id] = {\n resolve(result) {\n switch (p) {\n case 'authorize':\n case 'reauthorize': {\n const { wallet_uri_base } = result;\n if (wallet_uri_base != null) {\n try {\n assertSecureEndpointSpecificURI(wallet_uri_base);\n }\n catch (e) {\n reject(e);\n return;\n }\n }\n break;\n }\n }\n resolve(result);\n },\n reject,\n };\n });\n });\n };\n }\n return target[p];\n },\n defineProperty() {\n return false;\n },\n deleteProperty() {\n return false;\n },\n });\n try {\n resolve(yield callback(wallet));\n }\n catch (e) {\n reject(e);\n }\n finally {\n disposeSocket();\n socket.close();\n }\n break;\n }\n }\n });\n let disposeSocket;\n let retryWaitTimeoutId;\n const attemptSocketConnection = () => {\n if (disposeSocket) {\n disposeSocket();\n }\n state = { __type: 'connecting', associationKeypair };\n if (connectionStartTime === undefined) {\n connectionStartTime = Date.now();\n }\n socket = new WebSocket(websocketURL, [WEBSOCKET_PROTOCOL]);\n socket.addEventListener('open', handleOpen);\n socket.addEventListener('close', handleClose);\n socket.addEventListener('error', handleError);\n socket.addEventListener('message', handleMessage);\n disposeSocket = () => {\n window.clearTimeout(retryWaitTimeoutId);\n socket.removeEventListener('open', handleOpen);\n socket.removeEventListener('close', handleClose);\n socket.removeEventListener('error', handleError);\n socket.removeEventListener('message', handleMessage);\n };\n };\n attemptSocketConnection();\n });\n });\n}\n\nexport { SolanaMobileWalletAdapterError, SolanaMobileWalletAdapterErrorCode, SolanaMobileWalletAdapterProtocolError, SolanaMobileWalletAdapterProtocolErrorCode, transact };\n","import { createDefaultAddressSelector, createDefaultAuthorizationResultCache, createDefaultWalletNotFoundHandler, SolanaMobileWalletAdapter, SolanaMobileWalletAdapterWalletName, } from '@solana-mobile/wallet-adapter-mobile';\nimport { useStandardWalletAdapters } from '@solana/wallet-standard-wallet-adapter-react';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport getEnvironment, { Environment } from './getEnvironment.js';\nimport getInferredClusterFromEndpoint from './getInferredClusterFromEndpoint.js';\nimport { useConnection } from './useConnection.js';\nimport { useLocalStorage } from './useLocalStorage.js';\nimport { WalletProviderBase } from './WalletProviderBase.js';\nlet _userAgent;\nfunction getUserAgent() {\n if (_userAgent === undefined) {\n _userAgent = globalThis.navigator?.userAgent ?? null;\n }\n return _userAgent;\n}\nfunction getIsMobile(adapters) {\n const userAgentString = getUserAgent();\n return getEnvironment({ adapters, userAgentString }) === Environment.MOBILE_WEB;\n}\nfunction getUriForAppIdentity() {\n const location = globalThis.location;\n if (location == null) {\n return;\n }\n return `${location.protocol}//${location.host}`;\n}\nexport function WalletProvider({ children, wallets: adapters, autoConnect, localStorageKey = 'walletName', onError, }) {\n const { connection } = useConnection();\n const adaptersWithStandardAdapters = useStandardWalletAdapters(adapters);\n const mobileWalletAdapter = useMemo(() => {\n if (!getIsMobile(adaptersWithStandardAdapters)) {\n return null;\n }\n const existingMobileWalletAdapter = adaptersWithStandardAdapters.find((adapter) => adapter.name === SolanaMobileWalletAdapterWalletName);\n if (existingMobileWalletAdapter) {\n return existingMobileWalletAdapter;\n }\n return new SolanaMobileWalletAdapter({\n addressSelector: createDefaultAddressSelector(),\n appIdentity: {\n uri: getUriForAppIdentity(),\n },\n authorizationResultCache: createDefaultAuthorizationResultCache(),\n cluster: getInferredClusterFromEndpoint(connection?.rpcEndpoint),\n onWalletNotFound: createDefaultWalletNotFoundHandler(),\n });\n }, [adaptersWithStandardAdapters, connection?.rpcEndpoint]);\n const adaptersWithMobileWalletAdapter = useMemo(() => {\n if (mobileWalletAdapter == null || adaptersWithStandardAdapters.indexOf(mobileWalletAdapter) !== -1) {\n return adaptersWithStandardAdapters;\n }\n return [mobileWalletAdapter, ...adaptersWithStandardAdapters];\n }, [adaptersWithStandardAdapters, mobileWalletAdapter]);\n const [walletName, setWalletName] = useLocalStorage(localStorageKey, getIsMobile(adaptersWithStandardAdapters) ? SolanaMobileWalletAdapterWalletName : null);\n const adapter = useMemo(() => adaptersWithMobileWalletAdapter.find((a) => a.name === walletName) ?? null, [adaptersWithMobileWalletAdapter, walletName]);\n const changeWallet = useCallback((nextWalletName) => {\n if (walletName === nextWalletName) {\n return;\n }\n if (adapter &&\n // Selecting a wallet other than the mobile wallet adapter is not\n // sufficient reason to call `disconnect` on the mobile wallet adapter.\n // Calling `disconnect` on the mobile wallet adapter causes the entire\n // authorization store to be wiped.\n adapter.name !== SolanaMobileWalletAdapterWalletName) {\n adapter.disconnect();\n }\n setWalletName(nextWalletName);\n }, [adapter, setWalletName, walletName]);\n useEffect(() => {\n if (adapter == null) {\n return;\n }\n function handleDisconnect() {\n if (isUnloadingRef.current) {\n return;\n }\n if (walletName === SolanaMobileWalletAdapterWalletName && getIsMobile(adaptersWithStandardAdapters)) {\n // Leave the adapter selected in the event of a disconnection.\n return;\n }\n setWalletName(null);\n }\n adapter.on('disconnect', handleDisconnect);\n return () => {\n adapter.off('disconnect', handleDisconnect);\n };\n }, [adapter, adaptersWithStandardAdapters, setWalletName, walletName]);\n const hasUserSelectedAWallet = useRef(false);\n const handleAutoConnectRequest = useMemo(() => {\n if (autoConnect !== true || !adapter) {\n return;\n }\n return () => (hasUserSelectedAWallet.current ? adapter.connect() : adapter.autoConnect());\n }, [adapter, autoConnect]);\n const isUnloadingRef = useRef(false);\n useEffect(() => {\n if (walletName === SolanaMobileWalletAdapterWalletName && getIsMobile(adaptersWithStandardAdapters)) {\n isUnloadingRef.current = false;\n return;\n }\n function handleBeforeUnload() {\n isUnloadingRef.current = true;\n }\n /**\n * Some wallets fire disconnection events when the window unloads. Since there's no way to\n * distinguish between a disconnection event received because a user initiated it, and one\n * that was received because they've closed the window, we have to track window unload\n * events themselves. Downstream components use this information to decide whether to act\n * upon or drop wallet events and errors.\n */\n window.addEventListener('beforeunload', handleBeforeUnload);\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n };\n }, [adaptersWithStandardAdapters, walletName]);\n const handleConnectError = useCallback(() => {\n if (adapter && adapter.name !== SolanaMobileWalletAdapterWalletName) {\n // If any error happens while connecting, unset the adapter.\n changeWallet(null);\n }\n }, [adapter, changeWallet]);\n const selectWallet = useCallback((walletName) => {\n hasUserSelectedAWallet.current = true;\n changeWallet(walletName);\n }, [changeWallet]);\n return (React.createElement(WalletProviderBase, { wallets: adaptersWithMobileWalletAdapter, adapter: adapter, isUnloadingRef: isUnloadingRef, onAutoConnectRequest: handleAutoConnectRequest, onConnectError: handleConnectError, onError: onError, onSelectWallet: selectWallet }, children));\n}\n//# sourceMappingURL=WalletProvider.js.map","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _AppReadyEvent_detail;\nlet wallets = undefined;\nconst registered = new Set();\nconst listeners = {};\n/**\n * Get an API for {@link Wallets.get | getting}, {@link Wallets.on | listening for}, and\n * {@link Wallets.register | registering} {@link \"@wallet-standard/base\".Wallet | Wallets}.\n *\n * When called for the first time --\n *\n * This dispatches a {@link \"@wallet-standard/base\".WindowAppReadyEvent} to notify each Wallet that the app is ready\n * to register it.\n *\n * This also adds a listener for {@link \"@wallet-standard/base\".WindowRegisterWalletEvent} to listen for a notification\n * from each Wallet that the Wallet is ready to be registered by the app.\n *\n * This combination of event dispatch and listener guarantees that each Wallet will be registered synchronously as soon\n * as the app is ready whether the app loads before or after each Wallet.\n *\n * @return API for getting, listening for, and registering Wallets.\n *\n * @group App\n */\nexport function getWallets() {\n if (wallets)\n return wallets;\n wallets = Object.freeze({ register, get, on });\n if (typeof window === 'undefined')\n return wallets;\n const api = Object.freeze({ register });\n try {\n window.addEventListener('wallet-standard:register-wallet', ({ detail: callback }) => callback(api));\n }\n catch (error) {\n console.error('wallet-standard:register-wallet event listener could not be added\\n', error);\n }\n try {\n window.dispatchEvent(new AppReadyEvent(api));\n }\n catch (error) {\n console.error('wallet-standard:app-ready event could not be dispatched\\n', error);\n }\n return wallets;\n}\nfunction register(...wallets) {\n // Filter out wallets that have already been registered.\n // This prevents the same wallet from being registered twice, but it also prevents wallets from being\n // unregistered by reusing a reference to the wallet to obtain the unregister function for it.\n wallets = wallets.filter((wallet) => !registered.has(wallet));\n // If there are no new wallets to register, just return a no-op unregister function.\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n if (!wallets.length)\n return () => { };\n wallets.forEach((wallet) => registered.add(wallet));\n listeners['register']?.forEach((listener) => guard(() => listener(...wallets)));\n // Return a function that unregisters the registered wallets.\n return function unregister() {\n wallets.forEach((wallet) => registered.delete(wallet));\n listeners['unregister']?.forEach((listener) => guard(() => listener(...wallets)));\n };\n}\nfunction get() {\n return [...registered];\n}\nfunction on(event, listener) {\n listeners[event]?.push(listener) || (listeners[event] = [listener]);\n // Return a function that removes the event listener.\n return function off() {\n listeners[event] = listeners[event]?.filter((existingListener) => listener !== existingListener);\n };\n}\nfunction guard(callback) {\n try {\n callback();\n }\n catch (error) {\n console.error(error);\n }\n}\nclass AppReadyEvent extends Event {\n constructor(api) {\n super('wallet-standard:app-ready', {\n bubbles: false,\n cancelable: false,\n composed: false,\n });\n _AppReadyEvent_detail.set(this, void 0);\n __classPrivateFieldSet(this, _AppReadyEvent_detail, api, \"f\");\n }\n get detail() {\n return __classPrivateFieldGet(this, _AppReadyEvent_detail, \"f\");\n }\n get type() {\n return 'wallet-standard:app-ready';\n }\n /** @deprecated */\n preventDefault() {\n throw new Error('preventDefault cannot be called');\n }\n /** @deprecated */\n stopImmediatePropagation() {\n throw new Error('stopImmediatePropagation cannot be called');\n }\n /** @deprecated */\n stopPropagation() {\n throw new Error('stopPropagation cannot be called');\n }\n}\n_AppReadyEvent_detail = new WeakMap();\n/**\n * @deprecated Use {@link getWallets} instead.\n *\n * @group Deprecated\n */\nexport function DEPRECATED_getWallets() {\n if (wallets)\n return wallets;\n wallets = getWallets();\n if (typeof window === 'undefined')\n return wallets;\n const callbacks = window.navigator.wallets || [];\n if (!Array.isArray(callbacks)) {\n console.error('window.navigator.wallets is not an array');\n return wallets;\n }\n const { register } = wallets;\n const push = (...callbacks) => callbacks.forEach((callback) => guard(() => callback({ register })));\n try {\n Object.defineProperty(window.navigator, 'wallets', {\n value: Object.freeze({ push }),\n });\n }\n catch (error) {\n console.error('window.navigator.wallets could not be set');\n return wallets;\n }\n push(...callbacks);\n return wallets;\n}\n//# sourceMappingURL=wallets.js.map","import { SolanaMobileWalletAdapterWalletName } from '@solana-mobile/wallet-adapter-mobile';\nimport { WalletReadyState } from '@solana/wallet-adapter-base';\nexport var Environment;\n(function (Environment) {\n Environment[Environment[\"DESKTOP_WEB\"] = 0] = \"DESKTOP_WEB\";\n Environment[Environment[\"MOBILE_WEB\"] = 1] = \"MOBILE_WEB\";\n})(Environment || (Environment = {}));\nfunction isWebView(userAgentString) {\n return /(WebView|Version\\/.+(Chrome)\\/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)|; wv\\).+(Chrome)\\/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+))/i.test(userAgentString);\n}\nexport default function getEnvironment({ adapters, userAgentString }) {\n if (adapters.some((adapter) => adapter.name !== SolanaMobileWalletAdapterWalletName &&\n adapter.readyState === WalletReadyState.Installed)) {\n /**\n * There are only two ways a browser extension adapter should be able to reach `Installed` status:\n *\n * 1. Its browser extension is installed.\n * 2. The app is running on a mobile wallet's in-app browser.\n *\n * In either case, we consider the environment to be desktop-like.\n */\n return Environment.DESKTOP_WEB;\n }\n if (userAgentString &&\n // Step 1: Check whether we're on a platform that supports MWA at all.\n /android/i.test(userAgentString) &&\n // Step 2: Determine that we are *not* running in a WebView.\n !isWebView(userAgentString)) {\n return Environment.MOBILE_WEB;\n }\n else {\n return Environment.DESKTOP_WEB;\n }\n}\n//# sourceMappingURL=getEnvironment.js.map","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _StandardWalletAdapter_instances, _StandardWalletAdapter_account, _StandardWalletAdapter_publicKey, _StandardWalletAdapter_connecting, _StandardWalletAdapter_off, _StandardWalletAdapter_wallet, _StandardWalletAdapter_supportedTransactionVersions, _StandardWalletAdapter_readyState, _StandardWalletAdapter_connected, _StandardWalletAdapter_disconnected, _StandardWalletAdapter_changed, _StandardWalletAdapter_signTransaction, _StandardWalletAdapter_signAllTransactions, _StandardWalletAdapter_signMessage;\nimport { BaseWalletAdapter, isVersionedTransaction, WalletAccountError, WalletConfigError, WalletConnectionError, WalletDisconnectedError, WalletDisconnectionError, WalletError, WalletNotConnectedError, WalletNotReadyError, WalletPublicKeyError, WalletReadyState, WalletSendTransactionError, WalletSignMessageError, WalletSignTransactionError, } from '@solana/wallet-adapter-base';\nimport { SolanaSignAndSendTransaction, SolanaSignMessage, SolanaSignTransaction, } from '@solana/wallet-standard-features';\nimport { getChainForEndpoint, getCommitment } from '@solana/wallet-standard-util';\nimport { PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js';\nimport { StandardConnect, StandardDisconnect, StandardEvents, } from '@wallet-standard/features';\nimport { arraysEqual } from '@wallet-standard/wallet';\nimport bs58 from 'bs58';\n/** TODO: docs */\nexport class StandardWalletAdapter extends BaseWalletAdapter {\n constructor({ wallet }) {\n super();\n _StandardWalletAdapter_instances.add(this);\n _StandardWalletAdapter_account.set(this, void 0);\n _StandardWalletAdapter_publicKey.set(this, void 0);\n _StandardWalletAdapter_connecting.set(this, void 0);\n _StandardWalletAdapter_off.set(this, void 0);\n _StandardWalletAdapter_wallet.set(this, void 0);\n _StandardWalletAdapter_supportedTransactionVersions.set(this, void 0);\n _StandardWalletAdapter_readyState.set(this, typeof window === 'undefined' || typeof document === 'undefined'\n ? WalletReadyState.Unsupported\n : WalletReadyState.Installed);\n _StandardWalletAdapter_changed.set(this, (properties) => {\n // If the adapter isn't connected or the change doesn't include accounts, do nothing.\n if (!__classPrivateFieldGet(this, _StandardWalletAdapter_account, \"f\") || !__classPrivateFieldGet(this, _StandardWalletAdapter_publicKey, \"f\") || !('accounts' in properties))\n return;\n const account = __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").accounts[0];\n // If there's no connected account, disconnect the adapter.\n if (!account) {\n __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_disconnected).call(this);\n this.emit('error', new WalletDisconnectedError());\n this.emit('disconnect');\n return;\n }\n // If the account hasn't actually changed, do nothing.\n if (account === __classPrivateFieldGet(this, _StandardWalletAdapter_account, \"f\"))\n return;\n let publicKey;\n // If the account public key isn't valid, disconnect the adapter.\n try {\n publicKey = new PublicKey(account.publicKey);\n }\n catch (error) {\n __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_disconnected).call(this);\n this.emit('error', new WalletPublicKeyError(error?.message));\n this.emit('disconnect');\n return;\n }\n // Change the adapter's account and public key and emit an event.\n __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_connected).call(this, account, publicKey);\n this.emit('connect', publicKey);\n });\n __classPrivateFieldSet(this, _StandardWalletAdapter_wallet, wallet, \"f\");\n const supportedTransactionVersions = SolanaSignAndSendTransaction in wallet.features\n ? wallet.features[SolanaSignAndSendTransaction].supportedTransactionVersions\n : wallet.features[SolanaSignTransaction].supportedTransactionVersions;\n __classPrivateFieldSet(this, _StandardWalletAdapter_supportedTransactionVersions, arraysEqual(supportedTransactionVersions, ['legacy'])\n ? null\n : new Set(supportedTransactionVersions), \"f\");\n __classPrivateFieldSet(this, _StandardWalletAdapter_account, null, \"f\");\n __classPrivateFieldSet(this, _StandardWalletAdapter_publicKey, null, \"f\");\n __classPrivateFieldSet(this, _StandardWalletAdapter_connecting, false, \"f\");\n }\n get supportedTransactionVersions() {\n return __classPrivateFieldGet(this, _StandardWalletAdapter_supportedTransactionVersions, \"f\");\n }\n get name() {\n return __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").name;\n }\n get icon() {\n return __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").icon;\n }\n get url() {\n return 'https://github.com/solana-labs/wallet-standard';\n }\n get publicKey() {\n return __classPrivateFieldGet(this, _StandardWalletAdapter_publicKey, \"f\");\n }\n get connecting() {\n return __classPrivateFieldGet(this, _StandardWalletAdapter_connecting, \"f\");\n }\n get readyState() {\n return __classPrivateFieldGet(this, _StandardWalletAdapter_readyState, \"f\");\n }\n get wallet() {\n return __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\");\n }\n get standard() {\n return true;\n }\n async connect() {\n try {\n if (this.connected || this.connecting)\n return;\n if (__classPrivateFieldGet(this, _StandardWalletAdapter_readyState, \"f\") !== WalletReadyState.Installed)\n throw new WalletNotReadyError();\n __classPrivateFieldSet(this, _StandardWalletAdapter_connecting, true, \"f\");\n if (!__classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").accounts.length) {\n try {\n await __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features[StandardConnect].connect();\n }\n catch (error) {\n throw new WalletConnectionError(error?.message, error);\n }\n }\n if (!__classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").accounts.length)\n throw new WalletAccountError();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const account = __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").accounts[0];\n let publicKey;\n try {\n publicKey = new PublicKey(account.publicKey);\n }\n catch (error) {\n throw new WalletPublicKeyError(error?.message, error);\n }\n __classPrivateFieldSet(this, _StandardWalletAdapter_off, __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features[StandardEvents].on('change', __classPrivateFieldGet(this, _StandardWalletAdapter_changed, \"f\")), \"f\");\n __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_connected).call(this, account, publicKey);\n this.emit('connect', publicKey);\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n finally {\n __classPrivateFieldSet(this, _StandardWalletAdapter_connecting, false, \"f\");\n }\n }\n async disconnect() {\n if (StandardDisconnect in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features) {\n try {\n await __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features[StandardDisconnect].disconnect();\n }\n catch (error) {\n this.emit('error', new WalletDisconnectionError(error?.message, error));\n }\n }\n __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_disconnected).call(this);\n this.emit('disconnect');\n }\n async sendTransaction(transaction, connection, options = {}) {\n try {\n const account = __classPrivateFieldGet(this, _StandardWalletAdapter_account, \"f\");\n if (!account)\n throw new WalletNotConnectedError();\n let feature;\n if (SolanaSignAndSendTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features) {\n if (account.features.includes(SolanaSignAndSendTransaction)) {\n feature = SolanaSignAndSendTransaction;\n }\n else if (SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features &&\n account.features.includes(SolanaSignTransaction)) {\n feature = SolanaSignTransaction;\n }\n else {\n throw new WalletAccountError();\n }\n }\n else if (SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features) {\n if (!account.features.includes(SolanaSignTransaction))\n throw new WalletAccountError();\n feature = SolanaSignTransaction;\n }\n else {\n throw new WalletConfigError();\n }\n const chain = getChainForEndpoint(connection.rpcEndpoint);\n if (!account.chains.includes(chain))\n throw new WalletSendTransactionError();\n try {\n const { signers, ...sendOptions } = options;\n let serializedTransaction;\n if (isVersionedTransaction(transaction)) {\n signers?.length && transaction.sign(signers);\n serializedTransaction = transaction.serialize();\n }\n else {\n transaction = (await this.prepareTransaction(transaction, connection, sendOptions));\n signers?.length && transaction.partialSign(...signers);\n serializedTransaction = new Uint8Array(transaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n }));\n }\n if (feature === SolanaSignAndSendTransaction) {\n const [output] = await __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features[SolanaSignAndSendTransaction].signAndSendTransaction({\n account,\n chain,\n transaction: serializedTransaction,\n options: {\n preflightCommitment: getCommitment(sendOptions.preflightCommitment || connection.commitment),\n skipPreflight: sendOptions.skipPreflight,\n maxRetries: sendOptions.maxRetries,\n minContextSlot: sendOptions.minContextSlot,\n },\n });\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return bs58.encode(output.signature);\n }\n else {\n const [output] = await __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features[SolanaSignTransaction].signTransaction({\n account,\n chain,\n transaction: serializedTransaction,\n options: {\n preflightCommitment: getCommitment(sendOptions.preflightCommitment || connection.commitment),\n minContextSlot: sendOptions.minContextSlot,\n },\n });\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return await connection.sendRawTransaction(output.signedTransaction, {\n ...sendOptions,\n preflightCommitment: getCommitment(sendOptions.preflightCommitment || connection.commitment),\n });\n }\n }\n catch (error) {\n if (error instanceof WalletError)\n throw error;\n throw new WalletSendTransactionError(error?.message, error);\n }\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n}\n_StandardWalletAdapter_account = new WeakMap(), _StandardWalletAdapter_publicKey = new WeakMap(), _StandardWalletAdapter_connecting = new WeakMap(), _StandardWalletAdapter_off = new WeakMap(), _StandardWalletAdapter_wallet = new WeakMap(), _StandardWalletAdapter_supportedTransactionVersions = new WeakMap(), _StandardWalletAdapter_readyState = new WeakMap(), _StandardWalletAdapter_changed = new WeakMap(), _StandardWalletAdapter_instances = new WeakSet(), _StandardWalletAdapter_connected = function _StandardWalletAdapter_connected(account, publicKey) {\n __classPrivateFieldSet(this, _StandardWalletAdapter_account, account, \"f\");\n __classPrivateFieldSet(this, _StandardWalletAdapter_publicKey, publicKey, \"f\");\n if (account?.features.includes(SolanaSignTransaction)) {\n this.signTransaction = __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_signTransaction);\n this.signAllTransactions = __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_signAllTransactions);\n }\n else {\n delete this.signTransaction;\n delete this.signAllTransactions;\n }\n if (account?.features.includes(SolanaSignMessage)) {\n this.signMessage = __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_signMessage);\n }\n else {\n delete this.signMessage;\n }\n}, _StandardWalletAdapter_disconnected = function _StandardWalletAdapter_disconnected() {\n const off = __classPrivateFieldGet(this, _StandardWalletAdapter_off, \"f\");\n if (off) {\n __classPrivateFieldSet(this, _StandardWalletAdapter_off, undefined, \"f\");\n off();\n }\n __classPrivateFieldGet(this, _StandardWalletAdapter_instances, \"m\", _StandardWalletAdapter_connected).call(this, null, null);\n}, _StandardWalletAdapter_signTransaction = async function _StandardWalletAdapter_signTransaction(transaction) {\n try {\n const account = __classPrivateFieldGet(this, _StandardWalletAdapter_account, \"f\");\n if (!account)\n throw new WalletNotConnectedError();\n if (!(SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features))\n throw new WalletConfigError();\n if (!account.features.includes(SolanaSignTransaction))\n throw new WalletAccountError();\n try {\n const signedTransactions = await __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features[SolanaSignTransaction].signTransaction({\n account,\n transaction: isVersionedTransaction(transaction)\n ? transaction.serialize()\n : new Uint8Array(transaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n })),\n });\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const serializedTransaction = signedTransactions[0].signedTransaction;\n return (isVersionedTransaction(transaction)\n ? VersionedTransaction.deserialize(serializedTransaction)\n : Transaction.from(serializedTransaction));\n }\n catch (error) {\n if (error instanceof WalletError)\n throw error;\n throw new WalletSignTransactionError(error?.message, error);\n }\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n}, _StandardWalletAdapter_signAllTransactions = async function _StandardWalletAdapter_signAllTransactions(transactions) {\n try {\n const account = __classPrivateFieldGet(this, _StandardWalletAdapter_account, \"f\");\n if (!account)\n throw new WalletNotConnectedError();\n if (!(SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features))\n throw new WalletConfigError();\n if (!account.features.includes(SolanaSignTransaction))\n throw new WalletSignTransactionError();\n try {\n const signedTransactions = await __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features[SolanaSignTransaction].signTransaction(...transactions.map((transaction) => ({\n account,\n transaction: isVersionedTransaction(transaction)\n ? transaction.serialize()\n : new Uint8Array(transaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n })),\n })));\n return transactions.map((transaction, index) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const signedTransaction = signedTransactions[index].signedTransaction;\n return (isVersionedTransaction(transaction)\n ? VersionedTransaction.deserialize(signedTransaction)\n : Transaction.from(signedTransaction));\n });\n }\n catch (error) {\n throw new WalletSignTransactionError(error?.message, error);\n }\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n}, _StandardWalletAdapter_signMessage = async function _StandardWalletAdapter_signMessage(message) {\n try {\n const account = __classPrivateFieldGet(this, _StandardWalletAdapter_account, \"f\");\n if (!account)\n throw new WalletNotConnectedError();\n if (!(SolanaSignMessage in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features))\n throw new WalletConfigError();\n if (!account.features.includes(SolanaSignMessage))\n throw new WalletSignMessageError();\n try {\n const signedMessages = await __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, \"f\").features[SolanaSignMessage].signMessage({\n account,\n message,\n });\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return signedMessages[0].signature;\n }\n catch (error) {\n throw new WalletSignMessageError(error?.message, error);\n }\n }\n catch (error) {\n this.emit('error', error);\n throw error;\n }\n};\n//# sourceMappingURL=adapter.js.map","import { VersionedMessage, Transaction, VersionedTransaction } from '@solana/web3.js';\nimport { transact as transact$1 } from '@solana-mobile/mobile-wallet-adapter-protocol';\nimport bs58 from 'bs58';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\n\nfunction fromUint8Array(byteArray) {\n return window.btoa(String.fromCharCode.call(null, ...byteArray));\n}\nfunction toUint8Array(base64EncodedByteArray) {\n return new Uint8Array(window\n .atob(base64EncodedByteArray)\n .split('')\n .map((c) => c.charCodeAt(0)));\n}\n\nfunction getPayloadFromTransaction(transaction) {\n const serializedTransaction = 'version' in transaction\n ? transaction.serialize()\n : transaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n });\n const payload = fromUint8Array(serializedTransaction);\n return payload;\n}\nfunction getTransactionFromWireMessage(byteArray) {\n const version = VersionedMessage.deserializeMessageVersion(byteArray);\n if (version === 'legacy') {\n return Transaction.from(byteArray);\n }\n else {\n return VersionedTransaction.deserialize(byteArray);\n }\n}\nfunction transact(callback, config) {\n return __awaiter(this, void 0, void 0, function* () {\n const augmentedCallback = (wallet) => {\n const augmentedAPI = new Proxy({}, {\n get(target, p) {\n if (target[p] == null) {\n switch (p) {\n case 'signAndSendTransactions':\n target[p] = function (_a) {\n var { minContextSlot, transactions } = _a, rest = __rest(_a, [\"minContextSlot\", \"transactions\"]);\n return __awaiter(this, void 0, void 0, function* () {\n const payloads = transactions.map(getPayloadFromTransaction);\n const { signatures: base64EncodedSignatures } = yield wallet.signAndSendTransactions(Object.assign(Object.assign(Object.assign({}, rest), (minContextSlot != null\n ? { options: { min_context_slot: minContextSlot } }\n : null)), { payloads }));\n const signatures = base64EncodedSignatures.map(toUint8Array).map(bs58.encode);\n return signatures;\n });\n };\n break;\n case 'signMessages':\n target[p] = function (_a) {\n var { payloads } = _a, rest = __rest(_a, [\"payloads\"]);\n return __awaiter(this, void 0, void 0, function* () {\n const base64EncodedPayloads = payloads.map(fromUint8Array);\n const { signed_payloads: base64EncodedSignedMessages } = yield wallet.signMessages(Object.assign(Object.assign({}, rest), { payloads: base64EncodedPayloads }));\n const signedMessages = base64EncodedSignedMessages.map(toUint8Array);\n return signedMessages;\n });\n };\n break;\n case 'signTransactions':\n target[p] = function (_a) {\n var { transactions } = _a, rest = __rest(_a, [\"transactions\"]);\n return __awaiter(this, void 0, void 0, function* () {\n const payloads = transactions.map(getPayloadFromTransaction);\n const { signed_payloads: base64EncodedCompiledTransactions } = yield wallet.signTransactions(Object.assign(Object.assign({}, rest), { payloads }));\n const compiledTransactions = base64EncodedCompiledTransactions.map(toUint8Array);\n const signedTransactions = compiledTransactions.map(getTransactionFromWireMessage);\n return signedTransactions;\n });\n };\n break;\n default: {\n target[p] = wallet[p];\n break;\n }\n }\n }\n return target[p];\n },\n defineProperty() {\n return false;\n },\n deleteProperty() {\n return false;\n },\n });\n return callback(augmentedAPI);\n };\n return yield transact$1(augmentedCallback, config);\n });\n}\n\nexport { transact };\n","import { BaseMessageSignerWalletAdapter, WalletReadyState, WalletPublicKeyError, WalletNotReadyError, WalletConnectionError, WalletDisconnectedError, WalletNotConnectedError, WalletSignTransactionError, WalletSendTransactionError, WalletSignMessageError } from '@solana/wallet-adapter-base';\nimport { PublicKey } from '@solana/web3.js';\nimport { transact } from '@solana-mobile/mobile-wallet-adapter-protocol-web3js';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\n\nfunction toUint8Array(base64EncodedByteArray) {\n return new Uint8Array(window\n .atob(base64EncodedByteArray)\n .split('')\n .map((c) => c.charCodeAt(0)));\n}\n\nfunction getIsSupported() {\n return (typeof window !== 'undefined' &&\n window.isSecureContext &&\n typeof document !== 'undefined' &&\n /android/i.test(navigator.userAgent));\n}\n\nconst SolanaMobileWalletAdapterWalletName = 'Mobile Wallet Adapter';\nconst SIGNATURE_LENGTH_IN_BYTES = 64;\nfunction getPublicKeyFromAddress(address) {\n const publicKeyByteArray = toUint8Array(address);\n return new PublicKey(publicKeyByteArray);\n}\nfunction isVersionedTransaction(transaction) {\n return 'version' in transaction;\n}\nclass SolanaMobileWalletAdapter extends BaseMessageSignerWalletAdapter {\n constructor(config) {\n super();\n this.supportedTransactionVersions = new Set(\n // FIXME(#244): We can't actually know what versions are supported until we know which wallet we're talking to.\n ['legacy', 0]);\n this.name = SolanaMobileWalletAdapterWalletName;\n this.url = 'https://solanamobile.com/wallets';\n this.icon = 'data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjI4IiB3aWR0aD0iMjgiIHZpZXdCb3g9Ii0zIDAgMjggMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI0RDQjhGRiI+PHBhdGggZD0iTTE3LjQgMTcuNEgxNXYyLjRoMi40di0yLjRabTEuMi05LjZoLTIuNHYyLjRoMi40VjcuOFoiLz48cGF0aCBkPSJNMjEuNiAzVjBoLTIuNHYzaC0zLjZWMGgtMi40djNoLTIuNHY2LjZINC41YTIuMSAyLjEgMCAxIDEgMC00LjJoMi43VjNINC41QTQuNSA0LjUgMCAwIDAgMCA3LjVWMjRoMjEuNnYtNi42aC0yLjR2NC4ySDIuNFYxMS41Yy41LjMgMS4yLjQgMS44LjVoNy41QTYuNiA2LjYgMCAwIDAgMjQgOVYzaC0yLjRabTAgNS43YTQuMiA0LjIgMCAxIDEtOC40IDBWNS40aDguNHYzLjNaIi8+PC9nPjwvc3ZnPg==';\n this._connecting = false;\n /**\n * Every time the connection is recycled in some way (eg. `disconnect()` is called)\n * increment this and use it to make sure that `transact` calls from the previous\n * 'generation' don't continue to do work and throw exceptions.\n */\n this._connectionGeneration = 0;\n this._readyState = getIsSupported() ? WalletReadyState.Loadable : WalletReadyState.Unsupported;\n this._authorizationResultCache = config.authorizationResultCache;\n this._addressSelector = config.addressSelector;\n this._appIdentity = config.appIdentity;\n this._cluster = config.cluster;\n this._onWalletNotFound = config.onWalletNotFound;\n if (this._readyState !== WalletReadyState.Unsupported) {\n this._authorizationResultCache.get().then((authorizationResult) => {\n if (authorizationResult) {\n // Having a prior authorization result is, right now, the best\n // indication that a mobile wallet is installed. There is no API\n // we can use to test for whether the association URI is supported.\n this.declareWalletAsInstalled();\n }\n });\n }\n }\n get publicKey() {\n if (this._publicKey == null && this._selectedAddress != null) {\n try {\n this._publicKey = getPublicKeyFromAddress(this._selectedAddress);\n }\n catch (e) {\n throw new WalletPublicKeyError((e instanceof Error && (e === null || e === void 0 ? void 0 : e.message)) || 'Unknown error', e);\n }\n }\n return this._publicKey ? this._publicKey : null;\n }\n get connected() {\n return !!this._authorizationResult;\n }\n get connecting() {\n return this._connecting;\n }\n get readyState() {\n return this._readyState;\n }\n declareWalletAsInstalled() {\n if (this._readyState !== WalletReadyState.Installed) {\n this.emit('readyStateChange', (this._readyState = WalletReadyState.Installed));\n }\n }\n runWithGuard(callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n return yield callback();\n }\n catch (e) {\n this.emit('error', e);\n throw e;\n }\n });\n }\n /** @deprecated Use `autoConnect()` instead. */\n autoConnect_DO_NOT_USE_OR_YOU_WILL_BE_FIRED() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.autoConnect();\n });\n }\n autoConnect() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.connecting || this.connected) {\n return;\n }\n return yield this.runWithGuard(() => __awaiter(this, void 0, void 0, function* () {\n if (this._readyState !== WalletReadyState.Installed && this._readyState !== WalletReadyState.Loadable) {\n throw new WalletNotReadyError();\n }\n this._connecting = true;\n try {\n const cachedAuthorizationResult = yield this._authorizationResultCache.get();\n if (cachedAuthorizationResult) {\n // TODO: Evaluate whether there's any threat to not `awaiting` this expression\n this.handleAuthorizationResult(cachedAuthorizationResult);\n }\n }\n catch (e) {\n throw new WalletConnectionError((e instanceof Error && e.message) || 'Unknown error', e);\n }\n finally {\n this._connecting = false;\n }\n }));\n });\n }\n connect() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.connecting || this.connected) {\n return;\n }\n return yield this.runWithGuard(() => __awaiter(this, void 0, void 0, function* () {\n if (this._readyState !== WalletReadyState.Installed && this._readyState !== WalletReadyState.Loadable) {\n throw new WalletNotReadyError();\n }\n this._connecting = true;\n try {\n const cachedAuthorizationResult = yield this._authorizationResultCache.get();\n if (cachedAuthorizationResult) {\n // TODO: Evaluate whether there's any threat to not `awaiting` this expression\n this.handleAuthorizationResult(cachedAuthorizationResult);\n return;\n }\n yield this.transact((wallet) => __awaiter(this, void 0, void 0, function* () {\n const authorizationResult = yield wallet.authorize({\n cluster: this._cluster,\n identity: this._appIdentity,\n });\n // TODO: Evaluate whether there's any threat to not `awaiting` this expression\n Promise.all([\n this._authorizationResultCache.set(authorizationResult),\n this.handleAuthorizationResult(authorizationResult),\n ]);\n }));\n }\n catch (e) {\n throw new WalletConnectionError((e instanceof Error && e.message) || 'Unknown error', e);\n }\n finally {\n this._connecting = false;\n }\n }));\n });\n }\n handleAuthorizationResult(authorizationResult) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const didPublicKeysChange = \n // Case 1: We started from having no authorization.\n this._authorizationResult == null ||\n // Case 2: The number of authorized accounts changed.\n ((_a = this._authorizationResult) === null || _a === void 0 ? void 0 : _a.accounts.length) !== authorizationResult.accounts.length ||\n // Case 3: The new list of addresses isn't exactly the same as the old list, in the same order.\n this._authorizationResult.accounts.some((account, ii) => account.address !== authorizationResult.accounts[ii].address);\n this._authorizationResult = authorizationResult;\n this.declareWalletAsInstalled();\n if (didPublicKeysChange) {\n const nextSelectedAddress = yield this._addressSelector.select(authorizationResult.accounts.map(({ address }) => address));\n if (nextSelectedAddress !== this._selectedAddress) {\n this._selectedAddress = nextSelectedAddress;\n delete this._publicKey;\n this.emit('connect', \n // Having just set `this._selectedAddress`, `this.publicKey` is definitely non-null\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.publicKey);\n }\n }\n });\n }\n performReauthorization(wallet, authToken) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const authorizationResult = yield wallet.reauthorize({\n auth_token: authToken,\n });\n // TODO: Evaluate whether there's any threat to not `awaiting` this expression\n Promise.all([\n this._authorizationResultCache.set(authorizationResult),\n this.handleAuthorizationResult(authorizationResult),\n ]);\n }\n catch (e) {\n this.disconnect();\n throw new WalletDisconnectedError((e instanceof Error && (e === null || e === void 0 ? void 0 : e.message)) || 'Unknown error', e);\n }\n });\n }\n disconnect() {\n return __awaiter(this, void 0, void 0, function* () {\n this._authorizationResultCache.clear(); // TODO: Evaluate whether there's any threat to not `awaiting` this expression\n this._connecting = false;\n this._connectionGeneration++;\n delete this._authorizationResult;\n delete this._publicKey;\n delete this._selectedAddress;\n this.emit('disconnect');\n });\n }\n transact(callback) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const walletUriBase = (_a = this._authorizationResult) === null || _a === void 0 ? void 0 : _a.wallet_uri_base;\n const config = walletUriBase ? { baseUri: walletUriBase } : undefined;\n const currentConnectionGeneration = this._connectionGeneration;\n try {\n return yield transact(callback, config);\n }\n catch (e) {\n if (this._connectionGeneration !== currentConnectionGeneration) {\n yield new Promise(() => { }); // Never resolve.\n }\n if (e instanceof Error &&\n e.name === 'SolanaMobileWalletAdapterError' &&\n e.code === 'ERROR_WALLET_NOT_FOUND') {\n yield this._onWalletNotFound(this);\n }\n throw e;\n }\n });\n }\n assertIsAuthorized() {\n if (!this._authorizationResult || !this._selectedAddress)\n throw new WalletNotConnectedError();\n return {\n authToken: this._authorizationResult.auth_token,\n selectedAddress: this._selectedAddress,\n };\n }\n performSignTransactions(transactions) {\n return __awaiter(this, void 0, void 0, function* () {\n const { authToken } = this.assertIsAuthorized();\n try {\n return yield this.transact((wallet) => __awaiter(this, void 0, void 0, function* () {\n yield this.performReauthorization(wallet, authToken);\n const signedTransactions = yield wallet.signTransactions({\n transactions,\n });\n return signedTransactions;\n }));\n }\n catch (error) {\n throw new WalletSignTransactionError(error === null || error === void 0 ? void 0 : error.message, error);\n }\n });\n }\n sendTransaction(transaction, connection, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.runWithGuard(() => __awaiter(this, void 0, void 0, function* () {\n const { authToken } = this.assertIsAuthorized();\n const minContextSlot = options === null || options === void 0 ? void 0 : options.minContextSlot;\n try {\n return yield this.transact((wallet) => __awaiter(this, void 0, void 0, function* () {\n function getTargetCommitment() {\n let targetCommitment;\n switch (connection.commitment) {\n case 'confirmed':\n case 'finalized':\n case 'processed':\n targetCommitment = connection.commitment;\n break;\n default:\n targetCommitment = 'finalized';\n }\n let targetPreflightCommitment;\n switch (options === null || options === void 0 ? void 0 : options.preflightCommitment) {\n case 'confirmed':\n case 'finalized':\n case 'processed':\n targetPreflightCommitment = options.preflightCommitment;\n break;\n case undefined:\n targetPreflightCommitment = targetCommitment;\n default:\n targetPreflightCommitment = 'finalized';\n }\n const preflightCommitmentScore = targetPreflightCommitment === 'finalized'\n ? 2\n : targetPreflightCommitment === 'confirmed'\n ? 1\n : 0;\n const targetCommitmentScore = targetCommitment === 'finalized' ? 2 : targetCommitment === 'confirmed' ? 1 : 0;\n return preflightCommitmentScore < targetCommitmentScore\n ? targetPreflightCommitment\n : targetCommitment;\n }\n const [capabilities, _1, _2] = yield Promise.all([\n wallet.getCapabilities(),\n this.performReauthorization(wallet, authToken),\n isVersionedTransaction(transaction)\n ? null\n : /**\n * Unlike versioned transactions, legacy `Transaction` objects\n * may not have an associated `feePayer` or `recentBlockhash`.\n * This code exists to patch them up in case they are missing.\n */\n (() => __awaiter(this, void 0, void 0, function* () {\n var _a;\n transaction.feePayer || (transaction.feePayer = (_a = this.publicKey) !== null && _a !== void 0 ? _a : undefined);\n if (transaction.recentBlockhash == null) {\n const { blockhash } = yield connection.getLatestBlockhash({\n commitment: getTargetCommitment(),\n });\n transaction.recentBlockhash = blockhash;\n }\n }))(),\n ]);\n if (capabilities.supports_sign_and_send_transactions) {\n const signatures = yield wallet.signAndSendTransactions({\n minContextSlot,\n transactions: [transaction],\n });\n return signatures[0];\n }\n else {\n const [signedTransaction] = yield wallet.signTransactions({\n transactions: [transaction],\n });\n if (isVersionedTransaction(signedTransaction)) {\n return yield connection.sendTransaction(signedTransaction);\n }\n else {\n const serializedTransaction = signedTransaction.serialize();\n return yield connection.sendRawTransaction(serializedTransaction, Object.assign(Object.assign({}, options), { preflightCommitment: getTargetCommitment() }));\n }\n }\n }));\n }\n catch (error) {\n throw new WalletSendTransactionError(error === null || error === void 0 ? void 0 : error.message, error);\n }\n }));\n });\n }\n signTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.runWithGuard(() => __awaiter(this, void 0, void 0, function* () {\n const [signedTransaction] = yield this.performSignTransactions([transaction]);\n return signedTransaction;\n }));\n });\n }\n signAllTransactions(transactions) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.runWithGuard(() => __awaiter(this, void 0, void 0, function* () {\n const signedTransactions = yield this.performSignTransactions(transactions);\n return signedTransactions;\n }));\n });\n }\n signMessage(message) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.runWithGuard(() => __awaiter(this, void 0, void 0, function* () {\n const { authToken, selectedAddress } = this.assertIsAuthorized();\n try {\n return yield this.transact((wallet) => __awaiter(this, void 0, void 0, function* () {\n yield this.performReauthorization(wallet, authToken);\n const [signedMessage] = yield wallet.signMessages({\n addresses: [selectedAddress],\n payloads: [message],\n });\n const signature = signedMessage.slice(-SIGNATURE_LENGTH_IN_BYTES);\n return signature;\n }));\n }\n catch (error) {\n throw new WalletSignMessageError(error === null || error === void 0 ? void 0 : error.message, error);\n }\n }));\n });\n }\n}\n\nfunction createDefaultAddressSelector() {\n return {\n select(addresses) {\n return __awaiter(this, void 0, void 0, function* () {\n return addresses[0];\n });\n },\n };\n}\n\nconst CACHE_KEY = 'SolanaMobileWalletAdapterDefaultAuthorizationCache';\nfunction createDefaultAuthorizationResultCache() {\n let storage;\n try {\n storage = window.localStorage;\n // eslint-disable-next-line no-empty\n }\n catch (_a) { }\n return {\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!storage) {\n return;\n }\n try {\n storage.removeItem(CACHE_KEY);\n // eslint-disable-next-line no-empty\n }\n catch (_a) { }\n });\n },\n get() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!storage) {\n return;\n }\n try {\n return JSON.parse(storage.getItem(CACHE_KEY)) || undefined;\n // eslint-disable-next-line no-empty\n }\n catch (_a) { }\n });\n },\n set(authorizationResult) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!storage) {\n return;\n }\n try {\n storage.setItem(CACHE_KEY, JSON.stringify(authorizationResult));\n // eslint-disable-next-line no-empty\n }\n catch (_a) { }\n });\n },\n };\n}\n\nfunction defaultWalletNotFoundHandler(mobileWalletAdapter) {\n return __awaiter(this, void 0, void 0, function* () {\n if (typeof window !== 'undefined') {\n window.location.assign(mobileWalletAdapter.url);\n }\n });\n}\nfunction createDefaultWalletNotFoundHandler() {\n return defaultWalletNotFoundHandler;\n}\n\nexport { SolanaMobileWalletAdapter, SolanaMobileWalletAdapterWalletName, createDefaultAddressSelector, createDefaultAuthorizationResultCache, createDefaultWalletNotFoundHandler };\n","/** Name of the feature. */\nexport const StandardConnect = 'standard:connect';\n/**\n * @deprecated Use {@link StandardConnect} instead.\n *\n * @group Deprecated\n */\nexport const Connect = StandardConnect;\n//# sourceMappingURL=connect.js.map","/** Name of the feature. */\nexport const StandardEvents = 'standard:events';\n/**\n * @deprecated Use {@link StandardEvents} instead.\n *\n * @group Deprecated\n */\nexport const Events = StandardEvents;\n//# sourceMappingURL=events.js.map","import { isWalletAdapterCompatibleStandardWallet, } from '@solana/wallet-adapter-base';\n/**\n * @deprecated Use `isWalletAdapterCompatibleStandardWallet` from `@solana/wallet-adapter-base` instead.\n *\n * @group Deprecated\n */\nexport const isWalletAdapterCompatibleWallet = isWalletAdapterCompatibleStandardWallet;\n//# sourceMappingURL=types.js.map","import { SolanaSignAndSendTransaction, SolanaSignTransaction, } from '@solana/wallet-standard-features';\nimport { StandardConnect, StandardEvents, } from '@wallet-standard/features';\nexport function isWalletAdapterCompatibleStandardWallet(wallet) {\n return (StandardConnect in wallet.features &&\n StandardEvents in wallet.features &&\n (SolanaSignAndSendTransaction in wallet.features || SolanaSignTransaction in wallet.features));\n}\n//# sourceMappingURL=standard.js.map","/** Name of the feature. */\nexport const SolanaSignAndSendTransaction = 'solana:signAndSendTransaction';\n//# sourceMappingURL=signAndSendTransaction.js.map","/** Name of the feature. */\nexport const SolanaSignTransaction = 'solana:signTransaction';\n//# sourceMappingURL=signTransaction.js.map","/** Name of the feature. */\nexport const SolanaSignMessage = 'solana:signMessage';\n//# sourceMappingURL=signMessage.js.map","/** Solana Mainnet (beta) cluster, e.g. https://api.mainnet-beta.solana.com */\nexport const SOLANA_MAINNET_CHAIN = 'solana:mainnet';\n/** Solana Devnet cluster, e.g. https://api.devnet.solana.com */\nexport const SOLANA_DEVNET_CHAIN = 'solana:devnet';\n/** Solana Testnet cluster, e.g. https://api.testnet.solana.com */\nexport const SOLANA_TESTNET_CHAIN = 'solana:testnet';\n/** Solana Localnet cluster, e.g. http://localhost:8899 */\nexport const SOLANA_LOCALNET_CHAIN = 'solana:localnet';\n/** Array of all Solana clusters */\nexport const SOLANA_CHAINS = [\n SOLANA_MAINNET_CHAIN,\n SOLANA_DEVNET_CHAIN,\n SOLANA_TESTNET_CHAIN,\n SOLANA_LOCALNET_CHAIN,\n];\n/**\n * Check if a chain corresponds with one of the Solana clusters.\n */\nexport function isSolanaChain(chain) {\n return SOLANA_CHAINS.includes(chain);\n}\n//# sourceMappingURL=index.js.map","/**\n * TODO: docs\n */\nexport function getCommitment(commitment) {\n switch (commitment) {\n case 'processed':\n case 'confirmed':\n case 'finalized':\n case undefined:\n return commitment;\n case 'recent':\n return 'processed';\n case 'single':\n case 'singleGossip':\n return 'confirmed';\n case 'max':\n case 'root':\n return 'finalized';\n default:\n return undefined;\n }\n}\n//# sourceMappingURL=commitment.js.map","/** Name of the feature. */\nexport const StandardDisconnect = 'standard:disconnect';\n/**\n * @deprecated Use {@link StandardDisconnect} instead.\n *\n * @group Deprecated\n */\nexport const Disconnect = StandardDisconnect;\n//# sourceMappingURL=disconnect.js.map","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _ReadonlyWalletAccount_address, _ReadonlyWalletAccount_publicKey, _ReadonlyWalletAccount_chains, _ReadonlyWalletAccount_features, _ReadonlyWalletAccount_label, _ReadonlyWalletAccount_icon;\n/**\n * Base implementation of a {@link \"@wallet-standard/base\".WalletAccount} to be used or extended by a\n * {@link \"@wallet-standard/base\".Wallet}.\n *\n * `WalletAccount` properties must be read-only. This class enforces this by making all properties\n * [truly private](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields) and\n * read-only, using getters for access, returning copies instead of references, and calling\n * [Object.freeze](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)\n * on the instance.\n *\n * @group Account\n */\nexport class ReadonlyWalletAccount {\n /**\n * Create and freeze a read-only account.\n *\n * @param account Account to copy properties from.\n */\n constructor(account) {\n _ReadonlyWalletAccount_address.set(this, void 0);\n _ReadonlyWalletAccount_publicKey.set(this, void 0);\n _ReadonlyWalletAccount_chains.set(this, void 0);\n _ReadonlyWalletAccount_features.set(this, void 0);\n _ReadonlyWalletAccount_label.set(this, void 0);\n _ReadonlyWalletAccount_icon.set(this, void 0);\n if (new.target === ReadonlyWalletAccount) {\n Object.freeze(this);\n }\n __classPrivateFieldSet(this, _ReadonlyWalletAccount_address, account.address, \"f\");\n __classPrivateFieldSet(this, _ReadonlyWalletAccount_publicKey, account.publicKey.slice(), \"f\");\n __classPrivateFieldSet(this, _ReadonlyWalletAccount_chains, account.chains.slice(), \"f\");\n __classPrivateFieldSet(this, _ReadonlyWalletAccount_features, account.features.slice(), \"f\");\n __classPrivateFieldSet(this, _ReadonlyWalletAccount_label, account.label, \"f\");\n __classPrivateFieldSet(this, _ReadonlyWalletAccount_icon, account.icon, \"f\");\n }\n /** Implementation of {@link \"@wallet-standard/base\".WalletAccount.address | WalletAccount::address} */\n get address() {\n return __classPrivateFieldGet(this, _ReadonlyWalletAccount_address, \"f\");\n }\n /** Implementation of {@link \"@wallet-standard/base\".WalletAccount.publicKey | WalletAccount::publicKey} */\n get publicKey() {\n return __classPrivateFieldGet(this, _ReadonlyWalletAccount_publicKey, \"f\").slice();\n }\n /** Implementation of {@link \"@wallet-standard/base\".WalletAccount.chains | WalletAccount::chains} */\n get chains() {\n return __classPrivateFieldGet(this, _ReadonlyWalletAccount_chains, \"f\").slice();\n }\n /** Implementation of {@link \"@wallet-standard/base\".WalletAccount.features | WalletAccount::features} */\n get features() {\n return __classPrivateFieldGet(this, _ReadonlyWalletAccount_features, \"f\").slice();\n }\n /** Implementation of {@link \"@wallet-standard/base\".WalletAccount.label | WalletAccount::label} */\n get label() {\n return __classPrivateFieldGet(this, _ReadonlyWalletAccount_label, \"f\");\n }\n /** Implementation of {@link \"@wallet-standard/base\".WalletAccount.icon | WalletAccount::icon} */\n get icon() {\n return __classPrivateFieldGet(this, _ReadonlyWalletAccount_icon, \"f\");\n }\n}\n_ReadonlyWalletAccount_address = new WeakMap(), _ReadonlyWalletAccount_publicKey = new WeakMap(), _ReadonlyWalletAccount_chains = new WeakMap(), _ReadonlyWalletAccount_features = new WeakMap(), _ReadonlyWalletAccount_label = new WeakMap(), _ReadonlyWalletAccount_icon = new WeakMap();\n/**\n * Efficiently compare {@link Indexed} arrays (e.g. `Array` and `Uint8Array`).\n *\n * @param a An array.\n * @param b Another array.\n *\n * @return `true` if the arrays have the same length and elements, `false` otherwise.\n *\n * @group Util\n */\nexport function arraysEqual(a, b) {\n if (a === b)\n return true;\n const length = a.length;\n if (length !== b.length)\n return false;\n for (let i = 0; i < length; i++) {\n if (a[i] !== b[i])\n return false;\n }\n return true;\n}\n/**\n * Efficiently compare byte arrays, using {@link arraysEqual}.\n *\n * @param a A byte array.\n * @param b Another byte array.\n *\n * @return `true` if the byte arrays have the same length and bytes, `false` otherwise.\n *\n * @group Util\n */\nexport function bytesEqual(a, b) {\n return arraysEqual(a, b);\n}\n/**\n * Efficiently concatenate byte arrays without modifying them.\n *\n * @param first A byte array.\n * @param others Additional byte arrays.\n *\n * @return New byte array containing the concatenation of all the byte arrays.\n *\n * @group Util\n */\nexport function concatBytes(first, ...others) {\n const length = others.reduce((length, bytes) => length + bytes.length, first.length);\n const bytes = new Uint8Array(length);\n bytes.set(first, 0);\n for (const other of others) {\n bytes.set(other, bytes.length);\n }\n return bytes;\n}\n/**\n * Create a new object with a subset of fields from a source object.\n *\n * @param source Object to pick fields from.\n * @param keys Names of fields to pick.\n *\n * @return New object with only the picked fields.\n *\n * @group Util\n */\nexport function pick(source, ...keys) {\n const picked = {};\n for (const key of keys) {\n picked[key] = source[key];\n }\n return picked;\n}\n/**\n * Call a callback function, catch an error if it throws, and log the error without rethrowing.\n *\n * @param callback Function to call.\n *\n * @group Util\n */\nexport function guard(callback) {\n try {\n callback();\n }\n catch (error) {\n console.error(error);\n }\n}\n//# sourceMappingURL=util.js.map","import { SOLANA_DEVNET_CHAIN, SOLANA_LOCALNET_CHAIN, SOLANA_MAINNET_CHAIN, SOLANA_TESTNET_CHAIN, } from '@solana/wallet-standard-chains';\nexport const MAINNET_ENDPOINT = 'https://api.mainnet-beta.solana.com';\nexport const DEVNET_ENDPOINT = 'https://api.devnet.solana.com';\nexport const TESTNET_ENDPOINT = 'https://api.testnet.solana.com';\nexport const LOCALNET_ENDPOINT = 'http://localhost:8899';\nexport function getChainForEndpoint(endpoint) {\n if (endpoint.includes(MAINNET_ENDPOINT))\n return SOLANA_MAINNET_CHAIN;\n if (/\\bdevnet\\b/i.test(endpoint))\n return SOLANA_DEVNET_CHAIN;\n if (/\\btestnet\\b/i.test(endpoint))\n return SOLANA_TESTNET_CHAIN;\n if (/\\blocalhost\\b/i.test(endpoint) || /\\b127\\.0\\.0\\.1\\b/.test(endpoint))\n return SOLANA_LOCALNET_CHAIN;\n return SOLANA_MAINNET_CHAIN;\n}\nexport function getEndpointForChain(chain, endpoint) {\n if (endpoint)\n return endpoint;\n if (chain === SOLANA_MAINNET_CHAIN)\n return MAINNET_ENDPOINT;\n if (chain === SOLANA_DEVNET_CHAIN)\n return DEVNET_ENDPOINT;\n if (chain === SOLANA_TESTNET_CHAIN)\n return TESTNET_ENDPOINT;\n if (chain === SOLANA_LOCALNET_CHAIN)\n return LOCALNET_ENDPOINT;\n return MAINNET_ENDPOINT;\n}\n//# sourceMappingURL=endpoint.js.map","import { isWalletAdapterCompatibleWallet, StandardWalletAdapter } from '@solana/wallet-standard-wallet-adapter-base';\nimport { DEPRECATED_getWallets } from '@wallet-standard/app';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nexport function useStandardWalletAdapters(adapters) {\n const { get, on } = useConstant(() => DEPRECATED_getWallets());\n const [standardAdapters, setStandardAdapters] = useState(() => wrapWalletsWithAdapters(get()));\n const warnings = useConstant(() => new Set());\n useEffect(() => {\n const listeners = [\n on('register', (...wallets) => setStandardAdapters((standardAdapters) => [...standardAdapters, ...wrapWalletsWithAdapters(wallets)])),\n on('unregister', (...wallets) => setStandardAdapters((standardAdapters) => standardAdapters.filter((standardAdapter) => wallets.some((wallet) => wallet === standardAdapter.wallet)))),\n ];\n return () => listeners.forEach((destroy) => destroy());\n }, [on]);\n return useMemo(() => [\n ...standardAdapters,\n ...adapters.filter(({ name }) => {\n if (standardAdapters.some((standardAdapter) => standardAdapter.name === name)) {\n if (!warnings.has(name)) {\n warnings.add(name);\n console.warn(`${name} was registered as a Standard Wallet. The Wallet Adapter for ${name} can be removed from your app.`);\n }\n return false;\n }\n return true;\n }),\n ], [standardAdapters, adapters, warnings]);\n}\nfunction useConstant(fn) {\n const ref = useRef();\n if (!ref.current) {\n ref.current = { value: fn() };\n }\n return ref.current.value;\n}\nfunction wrapWalletsWithAdapters(wallets) {\n return wallets.filter(isWalletAdapterCompatibleWallet).map((wallet) => new StandardWalletAdapter({ wallet }));\n}\n//# sourceMappingURL=useStandardWalletAdapters.js.map","import { WalletError } from '@solana/wallet-adapter-base';\nexport class WalletNotSelectedError extends WalletError {\n constructor() {\n super(...arguments);\n this.name = 'WalletNotSelectedError';\n }\n}\n//# sourceMappingURL=errors.js.map","import { WalletNotConnectedError, WalletNotReadyError, WalletReadyState, } from '@solana/wallet-adapter-base';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { WalletNotSelectedError } from './errors.js';\nimport { WalletContext } from './useWallet.js';\nexport function WalletProviderBase({ children, wallets: adapters, adapter, isUnloadingRef, onAutoConnectRequest, onConnectError, onError, onSelectWallet, }) {\n const isConnectingRef = useRef(false);\n const [connecting, setConnecting] = useState(false);\n const isDisconnectingRef = useRef(false);\n const [disconnecting, setDisconnecting] = useState(false);\n const [publicKey, setPublicKey] = useState(() => adapter?.publicKey ?? null);\n const [connected, setConnected] = useState(() => adapter?.connected ?? false);\n /**\n * Store the error handlers as refs so that a change in the\n * custom error handler does not recompute other dependencies.\n */\n const onErrorRef = useRef(onError);\n useEffect(() => {\n onErrorRef.current = onError;\n return () => {\n onErrorRef.current = undefined;\n };\n }, [onError]);\n const handleErrorRef = useRef((error, adapter) => {\n if (!isUnloadingRef.current) {\n if (onErrorRef.current) {\n onErrorRef.current(error, adapter);\n }\n else {\n console.error(error, adapter);\n if (error instanceof WalletNotReadyError && typeof window !== 'undefined' && adapter) {\n window.open(adapter.url, '_blank');\n }\n }\n }\n return error;\n });\n // Wrap adapters to conform to the `Wallet` interface\n const [wallets, setWallets] = useState(() => adapters\n .map((adapter) => ({\n adapter,\n readyState: adapter.readyState,\n }))\n .filter(({ readyState }) => readyState !== WalletReadyState.Unsupported));\n // When the adapters change, start to listen for changes to their `readyState`\n useEffect(() => {\n // When the adapters change, wrap them to conform to the `Wallet` interface\n setWallets((wallets) => adapters\n .map((adapter, index) => {\n const wallet = wallets[index];\n // If the wallet hasn't changed, return the same instance\n return wallet && wallet.adapter === adapter && wallet.readyState === adapter.readyState\n ? wallet\n : {\n adapter: adapter,\n readyState: adapter.readyState,\n };\n })\n .filter(({ readyState }) => readyState !== WalletReadyState.Unsupported));\n function handleReadyStateChange(readyState) {\n setWallets((prevWallets) => {\n const index = prevWallets.findIndex(({ adapter }) => adapter === this);\n if (index === -1)\n return prevWallets;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { adapter } = prevWallets[index];\n return [\n ...prevWallets.slice(0, index),\n { adapter, readyState },\n ...prevWallets.slice(index + 1),\n ].filter(({ readyState }) => readyState !== WalletReadyState.Unsupported);\n });\n }\n adapters.forEach((adapter) => adapter.on('readyStateChange', handleReadyStateChange, adapter));\n return () => {\n adapters.forEach((adapter) => adapter.off('readyStateChange', handleReadyStateChange, adapter));\n };\n }, [adapter, adapters]);\n const wallet = useMemo(() => wallets.find((wallet) => wallet.adapter === adapter) ?? null, [adapter, wallets]);\n // Setup and teardown event listeners when the adapter changes\n useEffect(() => {\n if (!adapter)\n return;\n const handleConnect = (publicKey) => {\n setPublicKey(publicKey);\n isConnectingRef.current = false;\n setConnecting(false);\n setConnected(true);\n isDisconnectingRef.current = false;\n setDisconnecting(false);\n };\n const handleDisconnect = () => {\n if (isUnloadingRef.current)\n return;\n setPublicKey(null);\n isConnectingRef.current = false;\n setConnecting(false);\n setConnected(false);\n isDisconnectingRef.current = false;\n setDisconnecting(false);\n };\n const handleError = (error) => {\n handleErrorRef.current(error, adapter);\n };\n adapter.on('connect', handleConnect);\n adapter.on('disconnect', handleDisconnect);\n adapter.on('error', handleError);\n return () => {\n adapter.off('connect', handleConnect);\n adapter.off('disconnect', handleDisconnect);\n adapter.off('error', handleError);\n handleDisconnect();\n };\n }, [adapter, isUnloadingRef]);\n // When the adapter changes, clear the `autoConnect` tracking flag\n const didAttemptAutoConnectRef = useRef(false);\n useEffect(() => {\n return () => {\n didAttemptAutoConnectRef.current = false;\n };\n }, [adapter]);\n // If auto-connect is enabled, request to connect when the adapter changes and is ready\n useEffect(() => {\n if (didAttemptAutoConnectRef.current ||\n isConnectingRef.current ||\n connected ||\n !onAutoConnectRequest ||\n !(wallet?.readyState === WalletReadyState.Installed || wallet?.readyState === WalletReadyState.Loadable)) {\n return;\n }\n isConnectingRef.current = true;\n setConnecting(true);\n didAttemptAutoConnectRef.current = true;\n (async function () {\n try {\n await onAutoConnectRequest();\n }\n catch {\n onConnectError();\n // Drop the error. It will be caught by `handleError` anyway.\n }\n finally {\n setConnecting(false);\n isConnectingRef.current = false;\n }\n })();\n }, [connected, onAutoConnectRequest, onConnectError, wallet]);\n // Send a transaction using the provided connection\n const sendTransaction = useCallback(async (transaction, connection, options) => {\n if (!adapter)\n throw handleErrorRef.current(new WalletNotSelectedError());\n if (!connected)\n throw handleErrorRef.current(new WalletNotConnectedError(), adapter);\n return await adapter.sendTransaction(transaction, connection, options);\n }, [adapter, connected]);\n // Sign a transaction if the wallet supports it\n const signTransaction = useMemo(() => adapter && 'signTransaction' in adapter\n ? async (transaction) => {\n if (!connected)\n throw handleErrorRef.current(new WalletNotConnectedError(), adapter);\n return await adapter.signTransaction(transaction);\n }\n : undefined, [adapter, connected]);\n // Sign multiple transactions if the wallet supports it\n const signAllTransactions = useMemo(() => adapter && 'signAllTransactions' in adapter\n ? async (transactions) => {\n if (!connected)\n throw handleErrorRef.current(new WalletNotConnectedError(), adapter);\n return await adapter.signAllTransactions(transactions);\n }\n : undefined, [adapter, connected]);\n // Sign an arbitrary message if the wallet supports it\n const signMessage = useMemo(() => adapter && 'signMessage' in adapter\n ? async (message) => {\n if (!connected)\n throw handleErrorRef.current(new WalletNotConnectedError(), adapter);\n return await adapter.signMessage(message);\n }\n : undefined, [adapter, connected]);\n const handleConnect = useCallback(async () => {\n if (isConnectingRef.current || isDisconnectingRef.current || wallet?.adapter.connected)\n return;\n if (!wallet)\n throw handleErrorRef.current(new WalletNotSelectedError());\n const { adapter, readyState } = wallet;\n if (!(readyState === WalletReadyState.Installed || readyState === WalletReadyState.Loadable))\n throw handleErrorRef.current(new WalletNotReadyError(), adapter);\n isConnectingRef.current = true;\n setConnecting(true);\n try {\n await adapter.connect();\n }\n catch (e) {\n onConnectError();\n throw e;\n }\n finally {\n setConnecting(false);\n isConnectingRef.current = false;\n }\n }, [onConnectError, wallet]);\n const handleDisconnect = useCallback(async () => {\n if (isDisconnectingRef.current)\n return;\n if (!adapter)\n return;\n isDisconnectingRef.current = true;\n setDisconnecting(true);\n try {\n await adapter.disconnect();\n }\n finally {\n setDisconnecting(false);\n isDisconnectingRef.current = false;\n }\n }, [adapter]);\n return (React.createElement(WalletContext.Provider, { value: {\n autoConnect: !!onAutoConnectRequest,\n wallets,\n wallet,\n publicKey,\n connected,\n connecting,\n disconnecting,\n select: onSelectWallet,\n connect: handleConnect,\n disconnect: handleDisconnect,\n sendTransaction,\n signTransaction,\n signAllTransactions,\n signMessage,\n } }, children));\n}\n//# sourceMappingURL=WalletProviderBase.js.map","export default function getInferredClusterFromEndpoint(endpoint) {\n if (!endpoint) {\n return 'mainnet-beta';\n }\n if (/devnet/i.test(endpoint)) {\n return 'devnet';\n }\n else if (/testnet/i.test(endpoint)) {\n return 'testnet';\n }\n else {\n return 'mainnet-beta';\n }\n}\n//# sourceMappingURL=getInferredClusterFromEndpoint.js.map","import { useEffect, useRef, useState } from 'react';\nexport function useLocalStorage(key, defaultState) {\n const state = useState(() => {\n try {\n const value = localStorage.getItem(key);\n if (value)\n return JSON.parse(value);\n }\n catch (error) {\n if (typeof window !== 'undefined') {\n console.error(error);\n }\n }\n return defaultState;\n });\n const value = state[0];\n const isFirstRenderRef = useRef(true);\n useEffect(() => {\n if (isFirstRenderRef.current) {\n isFirstRenderRef.current = false;\n return;\n }\n try {\n if (value === null) {\n localStorage.removeItem(key);\n }\n else {\n localStorage.setItem(key, JSON.stringify(value));\n }\n }\n catch (error) {\n if (typeof window !== 'undefined') {\n console.error(error);\n }\n }\n }, [value, key]);\n return state;\n}\n//# sourceMappingURL=useLocalStorage.js.map","import { createContext, useContext } from 'react';\nexport const ConnectionContext = createContext({});\nexport function useConnection() {\n return useContext(ConnectionContext);\n}\n//# sourceMappingURL=useConnection.js.map","import { createContext, useContext } from 'react';\nconst EMPTY_ARRAY = [];\nconst DEFAULT_CONTEXT = {\n autoConnect: false,\n connecting: false,\n connected: false,\n disconnecting: false,\n select(_name) {\n console.error(constructMissingProviderErrorMessage('get', 'select'));\n },\n connect() {\n return Promise.reject(console.error(constructMissingProviderErrorMessage('get', 'connect')));\n },\n disconnect() {\n return Promise.reject(console.error(constructMissingProviderErrorMessage('get', 'disconnect')));\n },\n sendTransaction(_transaction, _connection, _options) {\n return Promise.reject(console.error(constructMissingProviderErrorMessage('get', 'sendTransaction')));\n },\n signTransaction(_transaction) {\n return Promise.reject(console.error(constructMissingProviderErrorMessage('get', 'signTransaction')));\n },\n signAllTransactions(_transaction) {\n return Promise.reject(console.error(constructMissingProviderErrorMessage('get', 'signAllTransactions')));\n },\n signMessage(_message) {\n return Promise.reject(console.error(constructMissingProviderErrorMessage('get', 'signMessage')));\n },\n};\nObject.defineProperty(DEFAULT_CONTEXT, 'wallets', {\n get() {\n console.error(constructMissingProviderErrorMessage('read', 'wallets'));\n return EMPTY_ARRAY;\n },\n});\nObject.defineProperty(DEFAULT_CONTEXT, 'wallet', {\n get() {\n console.error(constructMissingProviderErrorMessage('read', 'wallet'));\n return null;\n },\n});\nObject.defineProperty(DEFAULT_CONTEXT, 'publicKey', {\n get() {\n console.error(constructMissingProviderErrorMessage('read', 'publicKey'));\n return null;\n },\n});\nfunction constructMissingProviderErrorMessage(action, valueName) {\n return ('You have tried to ' +\n ` ${action} \"${valueName}\"` +\n ' on a WalletContext without providing one.' +\n ' Make sure to render a WalletProvider' +\n ' as an ancestor of the component that uses ' +\n 'WalletContext');\n}\nexport const WalletContext = createContext(DEFAULT_CONTEXT);\nexport function useWallet() {\n return useContext(WalletContext);\n}\n//# sourceMappingURL=useWallet.js.map","// src/arbitrum.ts\nvar arbitrum = {\n id: 42161,\n name: \"Arbitrum One\",\n network: \"arbitrum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-mainnet.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://arbiscan.io\" },\n default: { name: \"Arbiscan\", url: \"https://arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7654707\n }\n }\n};\n\n// src/arbitrumGoerli.ts\nvar arbitrumGoerli = {\n id: 421613,\n name: \"Arbitrum Goerli\",\n network: \"arbitrum-goerli\",\n nativeCurrency: {\n name: \"Arbitrum Goerli Ether\",\n symbol: \"ETH\",\n decimals: 18\n },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-goerli.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" },\n default: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 88114\n }\n },\n testnet: true\n};\n\n// src/arbitrumNova.ts\nvar arbitrumNova = {\n id: 42170,\n name: \"Arbitrum Nova\",\n network: \"arbitrum-nova\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n blast: {\n http: [\"https://arbitrum-nova.public.blastapi.io\"],\n webSocket: [\"wss://arbitrum-nova.public.blastapi.io\"]\n },\n default: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" },\n blockScout: {\n name: \"BlockScout\",\n url: \"https://nova-explorer.arbitrum.io/\"\n },\n default: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1746963\n }\n }\n};\n\n// src/aurora.ts\nvar aurora = {\n id: 1313161554,\n name: \"Aurora\",\n network: \"aurora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-mainnet.infura.io/v3\"] },\n default: { http: [\"https://mainnet.aurora.dev\"] },\n public: { http: [\"https://mainnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" }\n }\n};\n\n// src/auroraTestnet.ts\nvar auroraTestnet = {\n id: 1313161555,\n name: \"Aurora Testnet\",\n network: \"aurora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-testnet.infura.io/v3\"] },\n default: { http: [\"https://testnet.aurora.dev\"] },\n public: { http: [\"https://testnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" }\n },\n testnet: true\n};\n\n// src/avalanche.ts\nvar avalanche = {\n id: 43114,\n name: \"Avalanche\",\n network: \"avalanche\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 11907934\n }\n }\n};\n\n// src/avalancheFuji.ts\nvar avalancheFuji = {\n id: 43113,\n name: \"Avalanche Fuji\",\n network: \"avalanche-fuji\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche Fuji\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7096959\n }\n },\n testnet: true\n};\n\n// src/baseGoerli.ts\nvar baseGoerli = {\n id: 84531,\n network: \"base-goerli\",\n name: \"Base Goerli\",\n nativeCurrency: { name: \"Base Goerli\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://goerli.base.org\"]\n },\n public: {\n http: [\"https://goerli.base.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1376988\n }\n },\n testnet: true\n};\n\n// src/bearNetworkChainMainnet.ts\nvar bearNetworkChainMainnet = {\n id: 641230,\n name: \"Bear Network Chain Mainnet\",\n network: \"BearNetworkChainMainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BearNetworkChain\",\n symbol: \"BRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: { name: \"BrnkScan\", url: \"https://brnkscan.bearnetwork.net\" }\n }\n};\n\n// src/bearNetworkChainTestnet.ts\nvar bearNetworkChainTestnet = {\n id: 751230,\n name: \"Bear Network Chain Testnet\",\n network: \"BearNetworkChainTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"tBRNKC\",\n symbol: \"tBRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-test.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-test.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"BrnkTestScan\",\n url: \"https://brnktest-scan.bearnetwork.net\"\n }\n },\n testnet: true\n};\n\n// src/boba.ts\nvar boba = {\n id: 288,\n name: \"Boba Network\",\n network: \"boba\",\n nativeCurrency: {\n decimals: 18,\n name: \"Boba\",\n symbol: \"BOBA\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.boba.network\"] },\n public: { http: [\"https://mainnet.boba.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BOBAScan\", url: \"https://bobascan.com\" },\n default: { name: \"BOBAScan\", url: \"https://bobascan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 446859\n }\n }\n};\n\n// src/bronos.ts\nvar bronos = {\n id: 1039,\n name: \"Bronos\",\n network: \"bronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"BRO\",\n symbol: \"BRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.bronos.org\"] },\n public: { http: [\"https://evm.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://broscan.bronos.org\" }\n }\n};\n\n// src/bronosTestnet.ts\nvar bronosTestnet = {\n id: 1038,\n name: \"Bronos Testnet\",\n network: \"bronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Bronos Coin\",\n symbol: \"tBRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-testnet.bronos.org\"] },\n public: { http: [\"https://evm-testnet.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://tbroscan.bronos.org\" }\n },\n testnet: true\n};\n\n// src/bsc.ts\nvar bsc = {\n id: 56,\n name: \"BNB Smart Chain\",\n network: \"bsc\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"BNB\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/bsc\"] },\n public: { http: [\"https://rpc.ankr.com/bsc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 15921452\n }\n }\n};\n\n// src/bscTestnet.ts\nvar bscTestnet = {\n id: 97,\n name: \"Binance Smart Chain Testnet\",\n network: \"bsc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"tBNB\"\n },\n rpcUrls: {\n default: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] },\n public: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 17422483\n }\n },\n testnet: true\n};\n\n// src/bxn.ts\nvar bxn = {\n id: 4999,\n name: \"BlackFort Exchange Network\",\n network: \"bxn\",\n nativeCurrency: { name: \"BlackFort Token\", symbol: \"BXN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://explorer.blackfort.network\"\n }\n }\n};\n\n// src/bxnTestnet.ts\nvar bxnTestnet = {\n id: 4777,\n name: \"BlackFort Exchange Network Testnet\",\n network: \"bxnTestnet\",\n nativeCurrency: {\n name: \"BlackFort Testnet Token\",\n symbol: \"TBXN\",\n decimals: 18\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://testnet-explorer.blackfort.network\"\n }\n }\n};\n\n// src/canto.ts\nvar canto = {\n id: 7700,\n name: \"Canto\",\n network: \"canto\",\n nativeCurrency: {\n decimals: 18,\n name: \"Canto\",\n symbol: \"CANTO\"\n },\n rpcUrls: {\n default: { http: [\"https://canto.gravitychain.io\"] },\n public: { http: [\"https://canto.gravitychain.io\"] }\n },\n blockExplorers: {\n default: {\n name: \"Tuber.Build (Blockscout)\",\n url: \"https://tuber.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2905789\n }\n }\n};\n\n// src/celo.ts\nvar celo = {\n id: 42220,\n name: \"Celo\",\n network: \"celo\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"CELO\"\n },\n rpcUrls: {\n default: { http: [\"https://forno.celo.org\"] },\n infura: {\n http: [\"https://celo-mainnet.infura.io/v3\"]\n },\n public: {\n http: [\"https://forno.celo.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/mainnet\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://celoscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 13112599\n }\n },\n testnet: false\n};\n\n// src/celoAlfajores.ts\nvar celoAlfajores = {\n id: 44787,\n name: \"Alfajores\",\n network: \"celo-alfajores\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"A-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n },\n infura: {\n http: [\"https://celo-alfajores.infura.io/v3\"]\n },\n public: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/alfajores\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://alfajores.celoscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 14569001\n }\n },\n testnet: true\n};\n\n// src/celoCannoli.ts\nvar celoCannoli = {\n id: 17323,\n name: \"Cannoli\",\n network: \"celo-cannoli\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"C-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n },\n public: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/cannoli\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718\",\n blockCreated: 87429\n }\n },\n testnet: true\n};\n\n// src/confluxESpace.ts\nvar confluxESpace = {\n id: 1030,\n name: \"Conflux eSpace\",\n network: \"cfx-espace\",\n nativeCurrency: { name: \"Conflux\", symbol: \"CFX\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://evm.confluxrpc.org\"]\n },\n public: {\n http: [\"https://evm.confluxrpc.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ConfluxScan\",\n url: \"https://evm.confluxscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xEFf0078910f638cd81996cc117bccD3eDf2B072F\",\n blockCreated: 68602935\n }\n }\n};\n\n// src/cronos.ts\nvar cronos = {\n id: 25,\n name: \"Cronos\",\n network: \"cronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Cronos\",\n symbol: \"CRO\"\n },\n rpcUrls: {\n default: { http: [\"https://node.croswap.com/rpc\"] },\n public: { http: [\"https://node.croswap.com/rpc\"] }\n },\n blockExplorers: {\n default: { name: \"CronosScan\", url: \"https://cronoscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1963112\n }\n }\n};\n\n// src/cronosTestnet.ts\nvar cronosTestnet = {\n id: 338,\n name: \"Cronos Testnet\",\n network: \"cronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"CRO\",\n symbol: \"tCRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-t3.cronos.org\"] },\n public: { http: [\"https://evm-t3.cronos.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Cronos Explorer\",\n url: \"https://cronos.org/explorer/testnet3\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 10191251\n }\n },\n testnet: true\n};\n\n// src/crossbell.ts\nvar crossbell = {\n id: 3737,\n network: \"crossbell\",\n name: \"Crossbell\",\n nativeCurrency: {\n decimals: 18,\n name: \"CSB\",\n symbol: \"CSB\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.crossbell.io\"]\n },\n public: {\n http: [\"https://rpc.crossbell.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"CrossScan\", url: \"https://scan.crossbell.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf\",\n blockCreated: 23499787\n }\n }\n};\n\n// src/dfk.ts\nvar dfk = {\n id: 53935,\n name: \"DFK Chain\",\n network: \"dfk\",\n nativeCurrency: {\n decimals: 18,\n name: \"Jewel\",\n symbol: \"JEWEL\"\n },\n rpcUrls: {\n default: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n },\n public: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n },\n default: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n }\n }\n};\n\n// src/dogechain.ts\nvar dogechain = {\n id: 2e3,\n name: \"Dogechain\",\n network: \"dogechain\",\n nativeCurrency: {\n decimals: 18,\n name: \"Dogechain\",\n symbol: \"DC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.dogechain.dog\"] },\n public: { http: [\"https://rpc.dogechain.dog\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n },\n default: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n }\n }\n};\n\n// src/edgeware.ts\nvar edgeware = {\n id: 2021,\n name: \"Edgeware EdgeEVM Mainnet\",\n network: \"edgeware\",\n nativeCurrency: {\n decimals: 18,\n name: \"Edgeware\",\n symbol: \"EDG\"\n },\n rpcUrls: {\n default: { http: [\"https://edgeware-evm.jelliedowl.net\"] },\n public: { http: [\"https://edgeware-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" },\n default: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" }\n },\n contracts: {\n multicall3: {\n address: \"0xDDF47eEB4e5FF4AA60e063E0Ec4f7C35B47Ed445\",\n blockCreated: 17126780\n }\n }\n};\n\n// src/edgewareTestnet.ts\nvar edgewareTestnet = {\n id: 2022,\n name: \"Beresheet BereEVM Testnet\",\n network: \"edgewareTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Testnet EDG\",\n symbol: \"tEDG\"\n },\n rpcUrls: {\n default: { http: [\"https://beresheet-evm.jelliedowl.net\"] },\n public: { http: [\"https://beresheet-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n },\n default: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n }\n }\n};\n\n// src/eos.ts\nvar eos = {\n id: 17777,\n name: \"EOS EVM\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n }\n }\n};\n\n// src/eosTestnet.ts\nvar eosTestnet = {\n id: 15557,\n name: \"EOS EVM Testnet\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.testnet.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.testnet.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n }\n },\n testnet: true\n};\n\n// src/evmos.ts\nvar evmos = {\n id: 9001,\n name: \"Evmos\",\n network: \"evmos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.org:8545\"] },\n public: { http: [\"https://eth.bd.evmos.org:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Evmos Block Explorer\", url: \"https://escan.live\" }\n }\n};\n\n// src/evmosTestnet.ts\nvar evmosTestnet = {\n id: 9e3,\n name: \"Evmos Testnet\",\n network: \"evmos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.dev:8545\"] },\n public: { http: [\"https://eth.bd.evmos.dev:8545\"] }\n },\n blockExplorers: {\n default: {\n name: \"Evmos Testnet Block Explorer\",\n url: \"https://evm.evmos.dev/\"\n }\n }\n};\n\n// src/ekta.ts\nvar ekta = {\n id: 1994,\n name: \"Ekta\",\n network: \"ekta\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://main.ekta.io\"] },\n default: { http: [\"https://main.ekta.io\"] }\n },\n blockExplorers: {\n default: { name: \"Ektascan\", url: \"https://ektascan.io\" }\n }\n};\n\n// src/ektaTestnet.ts\nvar ektaTestnet = {\n id: 1004,\n name: \"Ekta Testnet\",\n network: \"ekta-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://test.ekta.io:8545\"] },\n default: { http: [\"https://test.ekta.io:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Test Ektascan\", url: \"https://test.ektascan.io\" }\n },\n testnet: true\n};\n\n// src/fantom.ts\nvar fantom = {\n id: 250,\n name: \"Fantom\",\n network: \"fantom\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/fantom\"] },\n public: { http: [\"https://rpc.ankr.com/fantom\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 33001987\n }\n }\n};\n\n// src/fantomTestnet.ts\nvar fantomTestnet = {\n id: 4002,\n name: \"Fantom Testnet\",\n network: \"fantom-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.fantom.network\"] },\n public: { http: [\"https://rpc.testnet.fantom.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 8328688\n }\n }\n};\n\n// src/fibo.ts\nvar fibo = {\n id: 12306,\n name: \"Fibo Chain\",\n network: \"fibochain\",\n nativeCurrency: {\n decimals: 18,\n name: \"fibo\",\n symbol: \"FIBO\"\n },\n rpcUrls: {\n default: { http: [\"https://network.hzroc.art\"] },\n public: { http: [\"https://network.hzroc.art\"] }\n },\n blockExplorers: {\n default: { name: \"FiboScan\", url: \"https://scan.fibochain.org\" }\n }\n};\n\n// src/filecoin.ts\nvar filecoin = {\n id: 314,\n name: \"Filecoin Mainnet\",\n network: \"filecoin-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"filecoin\",\n symbol: \"FIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://filscan.io\" },\n filscout: { name: \"Filscout\", url: \"https://filscout.io/en\" },\n glif: { name: \"Glif\", url: \"https://explorer.glif.io\" }\n }\n};\n\n// src/filecoinCalibration.ts\nvar filecoinCalibration = {\n id: 314159,\n name: \"Filecoin Calibration\",\n network: \"filecoin-calibration\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filscan\", url: \"https://calibration.filscan.io\" }\n }\n};\n\n// src/filecoinHyperspace.ts\nvar filecoinHyperspace = {\n id: 3141,\n name: \"Filecoin Hyperspace\",\n network: \"filecoin-hyperspace\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://hyperspace.filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://hyperspace.filscan.io\" }\n }\n};\n\n// src/flare.ts\nvar flare = {\n id: 14,\n name: \"Flare Mainnet\",\n network: \"flare-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"flare\",\n symbol: \"FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Flare Explorer\",\n url: \"https://flare-explorer.flare.network\"\n }\n }\n};\n\n// src/flareTestnet.ts\nvar flareTestnet = {\n id: 114,\n name: \"Coston2\",\n network: \"coston2\",\n nativeCurrency: {\n decimals: 18,\n name: \"coston2flare\",\n symbol: \"C2FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston2 Explorer\",\n url: \"https://coston2-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/foundry.ts\nvar foundry = {\n id: 31337,\n name: \"Foundry\",\n network: \"foundry\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n },\n public: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n }\n }\n};\n\n// src/fuse.ts\nvar fuse = {\n id: 122,\n name: \"Fuse\",\n network: \"fuse\",\n nativeCurrency: { name: \"Fuse\", symbol: \"FUSE\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fuse.io\"] },\n public: { http: [\"https://fuse-mainnet.chainstacklabs.com\"] }\n },\n blockExplorers: {\n default: { name: \"Fuse Explorer\", url: \"https://explorer.fuse.io\" }\n }\n};\n\n// src/iotex.ts\nvar iotex = {\n id: 4689,\n name: \"IoTeX\",\n network: \"iotex\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://iotexscan.io\" }\n }\n};\n\n// src/iotexTestnet.ts\nvar iotexTestnet = {\n id: 4690,\n name: \"IoTeX Testnet\",\n network: \"iotex-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://testnet.iotexscan.io\" }\n }\n};\n\n// src/goerli.ts\nvar goerli = {\n id: 5,\n network: \"goerli\",\n name: \"Goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://goerli.infura.io/v3\"],\n webSocket: [\"wss://goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n },\n public: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0x56522D00C410a43BFfDF00a9A569489297385790\",\n blockCreated: 8765204\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/gnosis.ts\nvar gnosis = {\n id: 100,\n name: \"Gnosis\",\n network: \"gnosis\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.gnosischain.com\"] },\n public: { http: [\"https://rpc.gnosischain.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Gnosisscan\",\n url: \"https://gnosisscan.io/\"\n },\n default: {\n name: \"Gnosis Chain Explorer\",\n url: \"https://blockscout.com/xdai/mainnet/\"\n }\n }\n};\n\n// src/gnosisChiado.ts\nvar gnosisChiado = {\n id: 10200,\n name: \"Gnosis Chiado\",\n network: \"chiado\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.chiadochain.net\"] },\n public: { http: [\"https://rpc.chiadochain.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.chiadochain.net\"\n }\n }\n};\n\n// src/hardhat.ts\nvar hardhat = {\n id: 31337,\n name: \"Hardhat\",\n network: \"hardhat\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/harmonyOne.ts\nvar harmonyOne = {\n id: 16666e5,\n name: \"Harmony One\",\n network: \"harmony\",\n nativeCurrency: {\n name: \"Harmony\",\n symbol: \"ONE\",\n decimals: 18\n },\n rpcUrls: {\n public: { http: [\"https://rpc.ankr.com/harmony\"] },\n default: { http: [\"https://rpc.ankr.com/harmony\"] }\n },\n blockExplorers: {\n default: { name: \"Harmony Explorer\", url: \"https://explorer.harmony.one\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 24185753\n }\n }\n};\n\n// src/haqqMainnet.ts\nvar haqqMainnet = {\n id: 11235,\n name: \"HAQQ Mainnet\",\n network: \"haqq-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLM\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.haqq.network\"\n }\n }\n};\n\n// src/haqqTestedge2.ts\nvar haqqTestedge2 = {\n id: 54211,\n name: \"HAQQ Testedge 2\",\n network: \"haqq-testedge-2\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLMT\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.testedge2.haqq.network\"\n }\n }\n};\n\n// src/klaytn.ts\nvar klaytn = {\n id: 8217,\n name: \"Klaytn\",\n network: \"klaytn\",\n nativeCurrency: {\n decimals: 18,\n name: \"Klaytn\",\n symbol: \"KLAY\"\n },\n rpcUrls: {\n default: { http: [\"https://cypress.fautor.app/archive\"] },\n public: { http: [\"https://cypress.fautor.app/archive\"] }\n },\n blockExplorers: {\n etherscan: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" },\n default: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" }\n }\n};\n\n// src/lineaTestnet.ts\nvar lineaTestnet = {\n id: 59140,\n name: \"Linea Goerli Testnet\",\n network: \"linea-testnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://consensys-zkevm-goerli-prealpha.infura.io/v3\"],\n webSocket: [\"wss://consensys-zkevm-goerli-prealpha.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n },\n public: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"BlockScout\",\n url: \"https://explorer.goerli.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 498623\n }\n },\n testnet: true\n};\n\n// src/localhost.ts\nvar localhost = {\n id: 1337,\n name: \"Localhost\",\n network: \"localhost\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/mainnet.ts\nvar mainnet = {\n id: 1,\n network: \"homestead\",\n name: \"Ethereum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://mainnet.infura.io/v3\"],\n webSocket: [\"wss://mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://cloudflare-eth.com\"]\n },\n public: {\n http: [\"https://cloudflare-eth.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62\",\n blockCreated: 16966585\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/mantle.ts\nvar mantle = {\n id: 5e3,\n name: \"Mantle\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.mantle.xyz\"] },\n public: { http: [\"https://rpc.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.mantle.xyz\"\n },\n default: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.mantle.xyz\"\n }\n }\n};\n\n// src/mantleTestnet.ts\nvar mantleTestnet = {\n id: 5001,\n name: \"Mantle Testnet\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.mantle.xyz\"] },\n public: { http: [\"https://rpc.testnet.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n },\n default: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n }\n },\n testnet: true\n};\n\n// src/metis.ts\nvar metis = {\n id: 1088,\n name: \"Metis\",\n network: \"andromeda\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://andromeda.metis.io/?owner=1088\"] },\n public: { http: [\"https://andromeda.metis.io/?owner=1088\"] }\n },\n blockExplorers: {\n default: {\n name: \"Andromeda Explorer\",\n url: \"https://andromeda-explorer.metis.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2338552\n }\n }\n};\n\n// src/metisGoerli.ts\nvar metisGoerli = {\n id: 599,\n name: \"Metis Goerli\",\n network: \"metis-goerli\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis Goerli\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://goerli.gateway.metisdevops.link\"] },\n public: { http: [\"https://goerli.gateway.metisdevops.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Metis Goerli Explorer\",\n url: \"https://goerli.explorer.metisdevops.link\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1006207\n }\n }\n};\n\n// src/moonbaseAlpha.ts\nvar moonbaseAlpha = {\n id: 1287,\n name: \"Moonbase Alpha\",\n network: \"moonbase-alpha\",\n nativeCurrency: {\n decimals: 18,\n name: \"DEV\",\n symbol: \"DEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n },\n public: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1850686\n }\n },\n testnet: true\n};\n\n// src/moonbeam.ts\nvar moonbeam = {\n id: 1284,\n name: \"Moonbeam\",\n network: \"moonbeam\",\n nativeCurrency: {\n decimals: 18,\n name: \"GLMR\",\n symbol: \"GLMR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 609002\n }\n },\n testnet: false\n};\n\n// src/moonriver.ts\nvar moonriver = {\n id: 1285,\n name: \"Moonriver\",\n network: \"moonriver\",\n nativeCurrency: {\n decimals: 18,\n name: \"MOVR\",\n symbol: \"MOVR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1597904\n }\n },\n testnet: false\n};\n\n// src/neonDevnet.ts\nvar neonDevnet = {\n id: 245022926,\n network: \"neonDevnet\",\n name: \"Neon EVM DevNet\",\n nativeCurrency: { name: \"NEON\", symbol: \"NEON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://devnet.neonevm.org\"]\n },\n public: {\n http: [\"https://devnet.neonevm.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Neonscan\",\n url: \"https://neonscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 205206112\n }\n },\n testnet: true\n};\n\n// src/nexi.ts\nvar nexi = {\n id: 4242,\n name: \"Nexi\",\n network: \"nexi\",\n nativeCurrency: { name: \"Nexi\", symbol: \"NEXI\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.chain.nexi.technology\"]\n },\n public: {\n http: [\"https://rpc.chain.nexi.technology\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n },\n default: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/nexilix.ts\nvar nexilix = {\n id: 240,\n name: \"Nexilix Smart Chain\",\n network: \"nexilix\",\n nativeCurrency: {\n decimals: 18,\n name: \"Nexilix\",\n symbol: \"NEXILIX\"\n },\n rpcUrls: {\n default: { http: [\"https://rpcurl.pos.nexilix.com\"] },\n public: { http: [\"https://rpcurl.pos.nexilix.com\"] }\n },\n blockExplorers: {\n etherscan: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" },\n default: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0x58381c8e2BF9d0C2C4259cA14BdA9Afe02831244\",\n blockCreated: 74448\n }\n }\n};\n\n// src/oasys.ts\nvar oasys = {\n id: 248,\n name: \"Oasys\",\n network: \"oasys\",\n nativeCurrency: { name: \"Oasys\", symbol: \"OAS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n },\n public: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"OasysScan\",\n url: \"https://scan.oasys.games\"\n }\n }\n};\n\n// src/okc.ts\nvar okc = {\n id: 66,\n name: \"OKC\",\n network: \"okc\",\n nativeCurrency: {\n decimals: 18,\n name: \"OKT\",\n symbol: \"OKT\"\n },\n rpcUrls: {\n default: { http: [\"https://exchainrpc.okex.org\"] },\n public: { http: [\"https://exchainrpc.okex.org\"] }\n },\n blockExplorers: {\n default: { name: \"oklink\", url: \"https://www.oklink.com/okc\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 10364792\n }\n }\n};\n\n// src/optimism.ts\nvar optimism = {\n id: 10,\n name: \"Optimism\",\n network: \"optimism\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-mainnet.infura.io/v3\"],\n webSocket: [\"wss://optimism-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://mainnet.optimism.io\"]\n },\n public: {\n http: [\"https://mainnet.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://optimistic.etherscan.io\"\n },\n default: {\n name: \"Optimism Explorer\",\n url: \"https://explorer.optimism.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 4286263\n }\n }\n};\n\n// src/optimismGoerli.ts\nvar optimismGoerli = {\n id: 420,\n name: \"Optimism Goerli\",\n network: \"optimism-goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-goerli.infura.io/v3\"],\n webSocket: [\"wss://optimism-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli.optimism.io\"]\n },\n public: {\n http: [\"https://goerli.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 49461\n }\n },\n testnet: true\n};\n\n// src/polygon.ts\nvar polygon = {\n id: 137,\n name: \"Polygon\",\n network: \"matic\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mainnet.infura.io/v3\"],\n webSocket: [\"wss://polygon-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://polygon-rpc.com\"]\n },\n public: {\n http: [\"https://polygon-rpc.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/polygonMumbai.ts\nvar polygonMumbai = {\n id: 80001,\n name: \"Polygon Mumbai\",\n network: \"maticmum\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mumbai.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mumbai.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mumbai.infura.io/v3\"],\n webSocket: [\"wss://polygon-mumbai.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n },\n public: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n },\n testnet: true\n};\n\n// src/polygonZkEvmTestnet.ts\nvar polygonZkEvmTestnet = {\n id: 1442,\n name: \"Polygon zkEVM Testnet\",\n network: \"polygon-zkevm-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n },\n public: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.public.zkevm-test.net\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://testnet-zkevm.polygonscan.com\"\n }\n },\n testnet: true,\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 525686\n }\n }\n};\n\n// src/polygonZkEvm.ts\nvar polygonZkEvm = {\n id: 1101,\n name: \"Polygon zkEVM\",\n network: \"polygon-zkevm\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://zkevm-rpc.com\"]\n },\n public: {\n http: [\"https://zkevm-rpc.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PolygonScan\",\n url: \"https://zkevm.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 57746\n }\n }\n};\n\n// src/pulsechain.ts\nvar pulsechain = {\n id: 369,\n network: \"pulsechain\",\n name: \"PulseChain\",\n nativeCurrency: { name: \"Pulse\", symbol: \"PLS\", decimals: 18 },\n testnet: false,\n rpcUrls: {\n default: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/pulsechainV4.ts\nvar pulsechainV4 = {\n id: 943,\n network: \"pulsechainV4\",\n name: \"PulseChain V4\",\n testnet: true,\n nativeCurrency: { name: \"V4 Pulse\", symbol: \"v4PLS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.v4.testnet.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/scrollTestnet.ts\nvar scrollTestnet = {\n id: 534353,\n name: \"Scroll Testnet\",\n network: \"scroll-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n },\n public: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/sepolia.ts\nvar sepolia = {\n id: 11155111,\n network: \"sepolia\",\n name: \"Sepolia\",\n nativeCurrency: { name: \"Sepolia Ether\", symbol: \"SEP\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-sepolia.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-sepolia.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://sepolia.infura.io/v3\"],\n webSocket: [\"wss://sepolia.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.sepolia.org\"]\n },\n public: {\n http: [\"https://rpc.sepolia.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/skale/brawl.ts\nvar skaleBlockBrawlers = {\n id: 391845894,\n name: \"SKALE | Block Brawlers\",\n network: \"skale-brawl\",\n nativeCurrency: { name: \"BRAWL\", symbol: \"BRAWL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypso.ts\nvar skaleCalypso = {\n id: 1564830818,\n name: \"SKALE | Calypso NFT Hub\",\n network: \"skale-calypso\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypsoTestnet.ts\nvar skaleCalypsoTestnet = {\n id: 344106930,\n name: \"SKALE | Calypso NFT Hub Testnet\",\n network: \"skale-calypso-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/chaosTestnet.ts\nvar skaleChaosTestnet = {\n id: 1351057110,\n name: \"SKALE | Chaos Testnet\",\n network: \"skale-chaos-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/cryptoBlades.ts\nvar skaleCryptoBlades = {\n id: 1026062157,\n name: \"SKALE | CryptoBlades\",\n network: \"skale-cryptoblades\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/cryptoColosseum.ts\nvar skaleCryptoColosseum = {\n id: 2046399126,\n name: \"SKALE | Crypto Colosseum\",\n network: \"skale-crypto-coloseeum\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europa.ts\nvar skaleEuropa = {\n id: 2046399126,\n name: \"SKALE | Europa Liquidity Hub\",\n network: \"skale-europa\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europaTestnet.ts\nvar skaleEuropaTestnet = {\n id: 476158412,\n name: \"SKALE | Europa Liquidity Hub Testnet\",\n network: \"skale-europa-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/exorde.ts\nvar skaleExorde = {\n id: 2139927552,\n name: \"SKALE | Exorde\",\n network: \"skale-exorde\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/humanProtocol.ts\nvar skaleHumanProtocol = {\n id: 1273227453,\n name: \"SKALE | Human Protocol\",\n network: \"skale-human-protocol\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebula.ts\nvar skaleNebula = {\n id: 1482601649,\n name: \"SKALE | Nebula Gaming Hub\",\n network: \"skale-nebula\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebulaTestnet.ts\nvar skaleNebulaTestnet = {\n id: 503129905,\n name: \"SKALE | Nebula Gaming Hub Testnet\",\n network: \"skale-nebula-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/razor.ts\nvar skaleRazor = {\n id: 278611351,\n name: \"SKALE | Razor Network\",\n network: \"skale-razor\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titan.ts\nvar skaleTitan = {\n id: 1350216234,\n name: \"SKALE | Titan Community Hub\",\n network: \"skale-titan\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titanTestnet.ts\nvar skaleTitanTestnet = {\n id: 1517929550,\n name: \"SKALE | Titan Community Hub Testnet\",\n network: \"skale-titan-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/songbird.ts\nvar songbird = {\n id: 19,\n name: \"Songbird Mainnet\",\n network: \"songbird-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"songbird\",\n symbol: \"SGB\"\n },\n rpcUrls: {\n default: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Songbird Explorer\",\n url: \"https://songbird-explorer.flare.network\"\n }\n }\n};\n\n// src/songbirdTestnet.ts\nvar songbirdTestnet = {\n id: 16,\n name: \"Coston\",\n network: \"coston\",\n nativeCurrency: {\n decimals: 18,\n name: \"costonflare\",\n symbol: \"CFLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston Explorer\",\n url: \"https://coston-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/shardeumSphinx.ts\nvar shardeumSphinx = {\n id: 8082,\n name: \"Shardeum Sphinx\",\n network: \"shmSphinx\",\n nativeCurrency: { name: \"SHARDEUM\", symbol: \"SHM\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sphinx.shardeum.org\"]\n },\n public: {\n http: [\"https://sphinx.shardeum.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Shardeum Explorer\",\n url: \"https://explorer-sphinx.shardeum.org\"\n }\n },\n testnet: true\n};\n\n// src/syscoin.ts\nvar syscoin = {\n id: 57,\n name: \"Syscoin Mainnet\",\n network: \"syscoin\",\n nativeCurrency: {\n decimals: 8,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.syscoin.org\"] },\n public: { http: [\"https://rpc.syscoin.org\"] }\n },\n blockExplorers: {\n default: { name: \"SyscoinExplorer\", url: \"https://explorer.syscoin.org\" }\n },\n contracts: {\n multicall3: {\n address: \"0x000562033783B1136159E10d976B519C929cdE8e\",\n blockCreated: 80637\n }\n }\n};\n\n// src/taraxa.ts\nvar taraxa = {\n id: 841,\n name: \"Taraxa Mainnet\",\n network: \"taraxa\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.mainnet.taraxa.io\"\n }\n }\n};\n\n// src/taikoTestnetSepolia.ts\nvar taikoTestnetSepolia = {\n id: 167005,\n name: \"Taiko (Alpha-3 Testnet)\",\n network: \"taiko-sepolia\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.test.taiko.xyz\"]\n },\n public: {\n http: [\"https://rpc.test.taiko.xyz\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"blockscout\",\n url: \"https://explorer.test.taiko.xyz\"\n }\n }\n};\n\n// src/taraxaTestnet.ts\nvar taraxaTestnet = {\n id: 842,\n name: \"Taraxa Testnet\",\n network: \"taraxa-testnet\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.testnet.taraxa.io\"\n }\n },\n testnet: true\n};\n\n// src/telos.ts\nvar telos = {\n id: 40,\n name: \"Telos\",\n network: \"telos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.telos.net/evm\"] },\n public: { http: [\"https://mainnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan\",\n url: \"https://www.teloscan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 246530709\n }\n }\n};\n\n// src/telosTestnet.ts\nvar telosTestnet = {\n id: 41,\n name: \"Telos\",\n network: \"telosTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://testnet.telos.net/evm\"] },\n public: { http: [\"https://testnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan (testnet)\",\n url: \"https://testnet.teloscan.io/\"\n }\n },\n testnet: true\n};\n\n// src/thunderTestnet.ts\nvar thunderTestnet = {\n id: 997,\n name: \"5ireChain Thunder Testnet\",\n network: \"5ireChain\",\n nativeCurrency: { name: \"5ire Token\", symbol: \"5IRE\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc-testnet.5ire.network\"]\n },\n public: {\n http: [\"https://rpc-testnet.5ire.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"5ireChain Explorer\",\n url: \"https://explorer.5ire.network\"\n }\n },\n testnet: true\n};\n\n// src/wanchain.ts\nvar wanchain = {\n id: 888,\n name: \"Wanchain\",\n network: \"wanchain\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WAN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n },\n public: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB\",\n blockCreated: 25312390\n }\n }\n};\n\n// src/wanchainTestnet.ts\nvar wanchainTestnet = {\n id: 999,\n name: \"Wanchain Testnet\",\n network: \"wanchainTestnet\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WANt\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n },\n public: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x11c89bF4496c39FB80535Ffb4c92715839CC5324\",\n blockCreated: 24743448\n }\n },\n testnet: true\n};\n\n// src/xdc.ts\nvar xdc = {\n id: 50,\n name: \"XinFin Network\",\n network: \"xdc\",\n nativeCurrency: {\n decimals: 18,\n name: \"XDC\",\n symbol: \"XDC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.xinfin.network\"] },\n public: { http: [\"https://rpc.xinfin.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.xinfin.network\" },\n default: { name: \"Blocksscan\", url: \"https://xdc.blocksscan.io\" }\n }\n};\n\n// src/xdcTestnet.ts\nvar xdcTestnet = {\n id: 51,\n name: \"Apothem Network\",\n network: \"xdc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"TXDC\",\n symbol: \"TXDC\"\n },\n rpcUrls: {\n default: { http: [\"https://erpc.apothem.network\"] },\n public: { http: [\"https://erpc.apothem.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.apothem.network\" },\n default: { name: \"Blocksscan\", url: \"https://apothem.blocksscan.io\" }\n }\n};\n\n// src/zhejiang.ts\nvar zhejiang = {\n id: 1337803,\n network: \"zhejiang\",\n name: \"Zhejiang\",\n nativeCurrency: { name: \"Zhejiang Ether\", symbol: \"ZhejETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n },\n public: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n }\n },\n blockExplorers: {\n beaconchain: {\n name: \"Etherscan\",\n url: \"https://zhejiang.beaconcha.in\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/eth/zhejiang-testnet\"\n },\n default: {\n name: \"Beaconchain\",\n url: \"https://zhejiang.beaconcha.in\"\n }\n },\n testnet: true\n};\n\n// src/zkSync.ts\nvar zkSync = {\n id: 324,\n name: \"zkSync Era\",\n network: \"zksync-era\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n },\n public: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n }\n};\n\n// src/zkSyncTestnet.ts\nvar zkSyncTestnet = {\n id: 280,\n name: \"zkSync Era Testnet\",\n network: \"zksync-era-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n },\n public: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://goerli.explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n },\n testnet: true\n};\n\n// src/zora.ts\nvar zora = {\n id: 7777777,\n name: \"Zora\",\n network: \"zora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n },\n public: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 5882\n }\n }\n};\n\n// src/zoraTestnet.ts\nvar zoraTestnet = {\n id: 999,\n name: \"Zora Goerli Testnet\",\n network: \"zora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Zora Goerli\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n },\n public: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://testnet.explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 189123\n }\n },\n testnet: true\n};\nexport {\n arbitrum,\n arbitrumGoerli,\n arbitrumNova,\n aurora,\n auroraTestnet,\n avalanche,\n avalancheFuji,\n baseGoerli,\n bearNetworkChainMainnet,\n bearNetworkChainTestnet,\n boba,\n bronos,\n bronosTestnet,\n bsc,\n bscTestnet,\n bxn,\n bxnTestnet,\n canto,\n celo,\n celoAlfajores,\n celoCannoli,\n confluxESpace,\n cronos,\n cronosTestnet,\n crossbell,\n dfk,\n dogechain,\n edgeware,\n edgewareTestnet,\n ekta,\n ektaTestnet,\n eos,\n eosTestnet,\n evmos,\n evmosTestnet,\n fantom,\n fantomTestnet,\n fibo,\n filecoin,\n filecoinCalibration,\n filecoinHyperspace,\n flare,\n flareTestnet,\n foundry,\n fuse,\n gnosis,\n gnosisChiado,\n goerli,\n haqqMainnet,\n haqqTestedge2,\n hardhat,\n harmonyOne,\n iotex,\n iotexTestnet,\n klaytn,\n lineaTestnet,\n localhost,\n mainnet,\n mantle,\n mantleTestnet,\n metis,\n metisGoerli,\n moonbaseAlpha,\n moonbeam,\n moonriver,\n neonDevnet,\n nexi,\n nexilix,\n oasys,\n okc,\n optimism,\n optimismGoerli,\n polygon,\n polygonMumbai,\n polygonZkEvm,\n polygonZkEvmTestnet,\n pulsechain,\n pulsechainV4,\n scrollTestnet,\n sepolia,\n shardeumSphinx,\n skaleBlockBrawlers,\n skaleCalypso,\n skaleCalypsoTestnet,\n skaleChaosTestnet,\n skaleCryptoBlades,\n skaleCryptoColosseum,\n skaleEuropa,\n skaleEuropaTestnet,\n skaleExorde,\n skaleHumanProtocol,\n skaleNebula,\n skaleNebulaTestnet,\n skaleRazor,\n skaleTitan,\n skaleTitanTestnet,\n songbird,\n songbirdTestnet,\n syscoin,\n taikoTestnetSepolia,\n taraxa,\n taraxaTestnet,\n telos,\n telosTestnet,\n thunderTestnet,\n wanchain,\n wanchainTestnet,\n xdc,\n xdcTestnet,\n zhejiang,\n zkSync,\n zkSyncTestnet,\n zora,\n zoraTestnet\n};\n","import {\n ChainNotConfiguredForConnectorError,\n ConnectorNotFoundError\n} from \"./chunk-ZCAPXGBX.js\";\nimport {\n normalizeChainId\n} from \"./chunk-OQILYQDO.js\";\nimport {\n Connector,\n __privateAdd,\n __privateGet,\n __privateSet,\n __publicField\n} from \"./chunk-QYMCVNHT.js\";\n\n// src/injected.ts\nimport {\n ResourceUnavailableRpcError,\n SwitchChainError,\n UserRejectedRequestError,\n createWalletClient,\n custom,\n getAddress,\n numberToHex\n} from \"viem\";\n\n// src/utils/getInjectedName.ts\nfunction getInjectedName(ethereum) {\n if (!ethereum)\n return \"Injected\";\n const getName = (provider) => {\n if (provider.isApexWallet)\n return \"Apex Wallet\";\n if (provider.isAvalanche)\n return \"Core Wallet\";\n if (provider.isBackpack)\n return \"Backpack\";\n if (provider.isBifrost)\n return \"Bifrost Wallet\";\n if (provider.isBitKeep)\n return \"BitKeep\";\n if (provider.isBitski)\n return \"Bitski\";\n if (provider.isBlockWallet)\n return \"BlockWallet\";\n if (provider.isBraveWallet)\n return \"Brave Wallet\";\n if (provider.isCoinbaseWallet)\n return \"Coinbase Wallet\";\n if (provider.isDawn)\n return \"Dawn Wallet\";\n if (provider.isDefiant)\n return \"Defiant\";\n if (provider.isEnkrypt)\n return \"Enkrypt\";\n if (provider.isExodus)\n return \"Exodus\";\n if (provider.isFrame)\n return \"Frame\";\n if (provider.isFrontier)\n return \"Frontier Wallet\";\n if (provider.isGamestop)\n return \"GameStop Wallet\";\n if (provider.isHaqqWallet)\n return \"HAQQ Wallet\";\n if (provider.isHyperPay)\n return \"HyperPay Wallet\";\n if (provider.isImToken)\n return \"ImToken\";\n if (provider.isHaloWallet)\n return \"Halo Wallet\";\n if (provider.isKuCoinWallet)\n return \"KuCoin Wallet\";\n if (provider.isMathWallet)\n return \"MathWallet\";\n if (provider.isNovaWallet)\n return \"Nova Wallet\";\n if (provider.isOkxWallet || provider.isOKExWallet)\n return \"OKX Wallet\";\n if (provider.isOneInchIOSWallet || provider.isOneInchAndroidWallet)\n return \"1inch Wallet\";\n if (provider.isOpera)\n return \"Opera\";\n if (provider.isPhantom)\n return \"Phantom\";\n if (provider.isPortal)\n return \"Ripio Portal\";\n if (provider.isRabby)\n return \"Rabby Wallet\";\n if (provider.isRainbow)\n return \"Rainbow\";\n if (provider.isStatus)\n return \"Status\";\n if (provider.isTalisman)\n return \"Talisman\";\n if (provider.isTally)\n return \"Taho\";\n if (provider.isTokenPocket)\n return \"TokenPocket\";\n if (provider.isTokenary)\n return \"Tokenary\";\n if (provider.isTrust || provider.isTrustWallet)\n return \"Trust Wallet\";\n if (provider.isTTWallet)\n return \"TTWallet\";\n if (provider.isXDEFI)\n return \"XDEFI Wallet\";\n if (provider.isZerion)\n return \"Zerion\";\n if (provider.isMetaMask)\n return \"MetaMask\";\n };\n if (ethereum.providers?.length) {\n const nameSet = /* @__PURE__ */ new Set();\n let unknownCount = 1;\n for (const provider of ethereum.providers) {\n let name = getName(provider);\n if (!name) {\n name = `Unknown Wallet #${unknownCount}`;\n unknownCount += 1;\n }\n nameSet.add(name);\n }\n const names = [...nameSet];\n if (names.length)\n return names;\n return names[0] ?? \"Injected\";\n }\n return getName(ethereum) ?? \"Injected\";\n}\n\n// src/injected.ts\nvar _provider;\nvar InjectedConnector = class extends Connector {\n constructor({\n chains,\n options: options_\n } = {}) {\n const options = {\n shimDisconnect: true,\n getProvider() {\n if (typeof window === \"undefined\")\n return;\n const ethereum = window.ethereum;\n if (ethereum?.providers)\n return ethereum.providers[0];\n return ethereum;\n },\n ...options_\n };\n super({ chains, options });\n __publicField(this, \"id\", \"injected\");\n __publicField(this, \"name\");\n __publicField(this, \"ready\");\n __privateAdd(this, _provider, void 0);\n __publicField(this, \"shimDisconnectKey\", `${this.id}.shimDisconnect`);\n __publicField(this, \"onAccountsChanged\", (accounts) => {\n if (accounts.length === 0)\n this.emit(\"disconnect\");\n else\n this.emit(\"change\", {\n account: getAddress(accounts[0])\n });\n });\n __publicField(this, \"onChainChanged\", (chainId) => {\n const id = normalizeChainId(chainId);\n const unsupported = this.isChainUnsupported(id);\n this.emit(\"change\", { chain: { id, unsupported } });\n });\n __publicField(this, \"onDisconnect\", async (error) => {\n if (error.code === 1013) {\n const provider = await this.getProvider();\n if (provider) {\n const isAuthorized = await this.getAccount();\n if (isAuthorized)\n return;\n }\n }\n this.emit(\"disconnect\");\n if (this.options.shimDisconnect)\n this.storage?.removeItem(this.shimDisconnectKey);\n });\n const provider = options.getProvider();\n if (typeof options.name === \"string\")\n this.name = options.name;\n else if (provider) {\n const detectedName = getInjectedName(provider);\n if (options.name)\n this.name = options.name(detectedName);\n else {\n if (typeof detectedName === \"string\")\n this.name = detectedName;\n else\n this.name = detectedName[0];\n }\n } else\n this.name = \"Injected\";\n this.ready = !!provider;\n }\n async connect({ chainId } = {}) {\n try {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n if (provider.on) {\n provider.on(\"accountsChanged\", this.onAccountsChanged);\n provider.on(\"chainChanged\", this.onChainChanged);\n provider.on(\"disconnect\", this.onDisconnect);\n }\n this.emit(\"message\", { type: \"connecting\" });\n const accounts = await provider.request({\n method: \"eth_requestAccounts\"\n });\n const account = getAddress(accounts[0]);\n let id = await this.getChainId();\n let unsupported = this.isChainUnsupported(id);\n if (chainId && id !== chainId) {\n const chain = await this.switchChain(chainId);\n id = chain.id;\n unsupported = this.isChainUnsupported(id);\n }\n if (this.options.shimDisconnect)\n this.storage?.setItem(this.shimDisconnectKey, true);\n return { account, chain: { id, unsupported } };\n } catch (error) {\n if (this.isUserRejectedRequestError(error))\n throw new UserRejectedRequestError(error);\n if (error.code === -32002)\n throw new ResourceUnavailableRpcError(error);\n throw error;\n }\n }\n async disconnect() {\n const provider = await this.getProvider();\n if (!provider?.removeListener)\n return;\n provider.removeListener(\"accountsChanged\", this.onAccountsChanged);\n provider.removeListener(\"chainChanged\", this.onChainChanged);\n provider.removeListener(\"disconnect\", this.onDisconnect);\n if (this.options.shimDisconnect)\n this.storage?.removeItem(this.shimDisconnectKey);\n }\n async getAccount() {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n const accounts = await provider.request({\n method: \"eth_accounts\"\n });\n return getAddress(accounts[0]);\n }\n async getChainId() {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n return provider.request({ method: \"eth_chainId\" }).then(normalizeChainId);\n }\n async getProvider() {\n const provider = this.options.getProvider();\n if (provider)\n __privateSet(this, _provider, provider);\n return __privateGet(this, _provider);\n }\n async getWalletClient({\n chainId\n } = {}) {\n const [provider, account] = await Promise.all([\n this.getProvider(),\n this.getAccount()\n ]);\n const chain = this.chains.find((x) => x.id === chainId);\n if (!provider)\n throw new Error(\"provider is required.\");\n return createWalletClient({\n account,\n chain,\n transport: custom(provider)\n });\n }\n async isAuthorized() {\n try {\n if (this.options.shimDisconnect && !this.storage?.getItem(this.shimDisconnectKey))\n return false;\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n const account = await this.getAccount();\n return !!account;\n } catch {\n return false;\n }\n }\n async switchChain(chainId) {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n const id = numberToHex(chainId);\n try {\n await Promise.all([\n provider.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: id }]\n }),\n new Promise(\n (res) => this.on(\"change\", ({ chain }) => {\n if (chain?.id === chainId)\n res();\n })\n )\n ]);\n return this.chains.find((x) => x.id === chainId) ?? {\n id: chainId,\n name: `Chain ${id}`,\n network: `${id}`,\n nativeCurrency: { name: \"Ether\", decimals: 18, symbol: \"ETH\" },\n rpcUrls: { default: { http: [\"\"] }, public: { http: [\"\"] } }\n };\n } catch (error) {\n const chain = this.chains.find((x) => x.id === chainId);\n if (!chain)\n throw new ChainNotConfiguredForConnectorError({\n chainId,\n connectorId: this.id\n });\n if (error.code === 4902 || error?.data?.originalError?.code === 4902) {\n try {\n await provider.request({\n method: \"wallet_addEthereumChain\",\n params: [\n {\n chainId: id,\n chainName: chain.name,\n nativeCurrency: chain.nativeCurrency,\n rpcUrls: [chain.rpcUrls.public?.http[0] ?? \"\"],\n blockExplorerUrls: this.getBlockExplorerUrls(chain)\n }\n ]\n });\n const currentChainId = await this.getChainId();\n if (currentChainId !== chainId)\n throw new UserRejectedRequestError(\n new Error(\"User rejected switch after adding network.\")\n );\n return chain;\n } catch (error2) {\n throw new UserRejectedRequestError(error2);\n }\n }\n if (this.isUserRejectedRequestError(error))\n throw new UserRejectedRequestError(error);\n throw new SwitchChainError(error);\n }\n }\n async watchAsset({\n address,\n decimals = 18,\n image,\n symbol\n }) {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n return provider.request({\n method: \"wallet_watchAsset\",\n params: {\n type: \"ERC20\",\n options: {\n address,\n decimals,\n image,\n symbol\n }\n }\n });\n }\n isUserRejectedRequestError(error) {\n return error.code === 4001;\n }\n};\n_provider = new WeakMap();\n\nexport {\n InjectedConnector\n};\n","// src/utils/normalizeChainId.ts\nfunction normalizeChainId(chainId) {\n if (typeof chainId === \"string\")\n return Number.parseInt(\n chainId,\n chainId.trim().substring(0, 2) === \"0x\" ? 16 : 10\n );\n if (typeof chainId === \"bigint\")\n return Number(chainId);\n return chainId;\n}\n\nexport {\n normalizeChainId\n};\n","import { defineChain } from '../../utils/chain/defineChain.js';\nexport const goerli = /*#__PURE__*/ defineChain({\n id: 5,\n name: 'Goerli',\n nativeCurrency: { name: 'Goerli Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: {\n default: {\n http: ['https://rpc.ankr.com/eth_goerli'],\n },\n },\n blockExplorers: {\n default: {\n name: 'Etherscan',\n url: 'https://goerli.etherscan.io',\n apiUrl: 'https://api-goerli.etherscan.io/api',\n },\n },\n contracts: {\n ensRegistry: {\n address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n },\n ensUniversalResolver: {\n address: '0xfc4AC75C46C914aF5892d6d3eFFcebD7917293F1',\n blockCreated: 10_339_206,\n },\n multicall3: {\n address: '0xca11bde05977b3631167028862be2a173976ca11',\n blockCreated: 6507670,\n },\n },\n testnet: true,\n});\n//# sourceMappingURL=goerli.js.map","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\n\n// src/base.ts\nimport { default as EventEmitter } from \"eventemitter3\";\nimport { goerli, mainnet } from \"viem/chains\";\nvar Connector = class extends EventEmitter {\n constructor({\n chains = [mainnet, goerli],\n options\n }) {\n super();\n __publicField(this, \"chains\");\n __publicField(this, \"options\");\n __publicField(this, \"storage\");\n this.chains = chains;\n this.options = options;\n }\n getBlockExplorerUrls(chain) {\n const { default: blockExplorer, ...blockExplorers } = chain.blockExplorers ?? {};\n if (blockExplorer)\n return [\n blockExplorer.url,\n ...Object.values(blockExplorers).map((x) => x.url)\n ];\n }\n isChainUnsupported(chainId) {\n return !this.chains.some((x) => x.id === chainId);\n }\n setStorage(storage) {\n this.storage = storage;\n }\n};\n\nexport {\n __publicField,\n __privateGet,\n __privateAdd,\n __privateSet,\n __privateMethod,\n Connector\n};\n","import {\n __publicField\n} from \"./chunk-QYMCVNHT.js\";\n\n// src/errors.ts\nvar ChainNotConfiguredForConnectorError = class extends Error {\n constructor({\n chainId,\n connectorId\n }) {\n super(`Chain \"${chainId}\" not configured for connector \"${connectorId}\".`);\n __publicField(this, \"name\", \"ChainNotConfiguredForConnectorError\");\n }\n};\nvar ConnectorNotFoundError = class extends Error {\n constructor() {\n super(...arguments);\n __publicField(this, \"name\", \"ConnectorNotFoundError\");\n __publicField(this, \"message\", \"Connector not found\");\n }\n};\n\nexport {\n ChainNotConfiguredForConnectorError,\n ConnectorNotFoundError\n};\n","import {\n InjectedConnector\n} from \"./chunk-QRUHVNWK.js\";\nimport {\n ConnectorNotFoundError\n} from \"./chunk-ZCAPXGBX.js\";\nimport \"./chunk-OQILYQDO.js\";\nimport {\n __privateAdd,\n __privateGet,\n __privateSet,\n __publicField\n} from \"./chunk-QYMCVNHT.js\";\n\n// src/metaMask.ts\nimport {\n ResourceUnavailableRpcError,\n UserRejectedRequestError,\n getAddress\n} from \"viem\";\nvar _UNSTABLE_shimOnConnectSelectAccount;\nvar MetaMaskConnector = class extends InjectedConnector {\n constructor({\n chains,\n options: options_\n } = {}) {\n const options = {\n name: \"MetaMask\",\n shimDisconnect: true,\n getProvider() {\n function getReady(ethereum2) {\n const isMetaMask = !!ethereum2?.isMetaMask;\n if (!isMetaMask)\n return;\n if (ethereum2.isBraveWallet && !ethereum2._events && !ethereum2._state)\n return;\n if (ethereum2.isApexWallet)\n return;\n if (ethereum2.isAvalanche)\n return;\n if (ethereum2.isBitKeep)\n return;\n if (ethereum2.isBlockWallet)\n return;\n if (ethereum2.isMathWallet)\n return;\n if (ethereum2.isOkxWallet || ethereum2.isOKExWallet)\n return;\n if (ethereum2.isOneInchIOSWallet || ethereum2.isOneInchAndroidWallet)\n return;\n if (ethereum2.isOpera)\n return;\n if (ethereum2.isPortal)\n return;\n if (ethereum2.isRabby)\n return;\n if (ethereum2.isDefiant)\n return;\n if (ethereum2.isTokenPocket)\n return;\n if (ethereum2.isTokenary)\n return;\n if (ethereum2.isZerion)\n return;\n return ethereum2;\n }\n if (typeof window === \"undefined\")\n return;\n const ethereum = window.ethereum;\n if (ethereum?.providers)\n return ethereum.providers.find(getReady);\n return getReady(ethereum);\n },\n ...options_\n };\n super({ chains, options });\n __publicField(this, \"id\", \"metaMask\");\n __publicField(this, \"shimDisconnectKey\", `${this.id}.shimDisconnect`);\n __privateAdd(this, _UNSTABLE_shimOnConnectSelectAccount, void 0);\n __privateSet(this, _UNSTABLE_shimOnConnectSelectAccount, options.UNSTABLE_shimOnConnectSelectAccount);\n }\n async connect({ chainId } = {}) {\n try {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n if (provider.on) {\n provider.on(\"accountsChanged\", this.onAccountsChanged);\n provider.on(\"chainChanged\", this.onChainChanged);\n provider.on(\"disconnect\", this.onDisconnect);\n }\n this.emit(\"message\", { type: \"connecting\" });\n let account = null;\n if (__privateGet(this, _UNSTABLE_shimOnConnectSelectAccount) && this.options?.shimDisconnect && !this.storage?.getItem(this.shimDisconnectKey)) {\n account = await this.getAccount().catch(() => null);\n const isConnected = !!account;\n if (isConnected)\n try {\n await provider.request({\n method: \"wallet_requestPermissions\",\n params: [{ eth_accounts: {} }]\n });\n account = await this.getAccount();\n } catch (error) {\n if (this.isUserRejectedRequestError(error))\n throw new UserRejectedRequestError(error);\n if (error.code === new ResourceUnavailableRpcError(error).code)\n throw error;\n }\n }\n if (!account) {\n const accounts = await provider.request({\n method: \"eth_requestAccounts\"\n });\n account = getAddress(accounts[0]);\n }\n let id = await this.getChainId();\n let unsupported = this.isChainUnsupported(id);\n if (chainId && id !== chainId) {\n const chain = await this.switchChain(chainId);\n id = chain.id;\n unsupported = this.isChainUnsupported(id);\n }\n if (this.options?.shimDisconnect)\n this.storage?.setItem(this.shimDisconnectKey, true);\n return { account, chain: { id, unsupported }, provider };\n } catch (error) {\n if (this.isUserRejectedRequestError(error))\n throw new UserRejectedRequestError(error);\n if (error.code === -32002)\n throw new ResourceUnavailableRpcError(error);\n throw error;\n }\n }\n};\n_UNSTABLE_shimOnConnectSelectAccount = new WeakMap();\nexport {\n MetaMaskConnector\n};\n","import {\n Connector,\n __privateAdd,\n __privateGet,\n __privateMethod,\n __privateSet,\n __publicField\n} from \"./chunk-QYMCVNHT.js\";\n\n// src/walletConnect.ts\nimport { normalizeNamespaces } from \"@walletconnect/utils\";\nimport {\n SwitchChainError,\n UserRejectedRequestError,\n createWalletClient,\n custom,\n getAddress,\n numberToHex\n} from \"viem\";\nvar NAMESPACE = \"eip155\";\nvar STORE_KEY = \"store\";\nvar REQUESTED_CHAINS_KEY = \"requestedChains\";\nvar ADD_ETH_CHAIN_METHOD = \"wallet_addEthereumChain\";\nvar _provider, _initProviderPromise, _createProvider, createProvider_fn, _initProvider, initProvider_fn, _isChainsStale, isChainsStale_fn, _setupListeners, setupListeners_fn, _removeListeners, removeListeners_fn, _setRequestedChainsIds, setRequestedChainsIds_fn, _getRequestedChainsIds, getRequestedChainsIds_fn, _getNamespaceChainsIds, getNamespaceChainsIds_fn, _getNamespaceMethods, getNamespaceMethods_fn;\nvar WalletConnectConnector = class extends Connector {\n constructor(config) {\n super({\n ...config,\n options: { isNewChainsStale: true, ...config.options }\n });\n __privateAdd(this, _createProvider);\n __privateAdd(this, _initProvider);\n __privateAdd(this, _isChainsStale);\n __privateAdd(this, _setupListeners);\n __privateAdd(this, _removeListeners);\n __privateAdd(this, _setRequestedChainsIds);\n __privateAdd(this, _getRequestedChainsIds);\n __privateAdd(this, _getNamespaceChainsIds);\n __privateAdd(this, _getNamespaceMethods);\n __publicField(this, \"id\", \"walletConnect\");\n __publicField(this, \"name\", \"WalletConnect\");\n __publicField(this, \"ready\", true);\n __privateAdd(this, _provider, void 0);\n __privateAdd(this, _initProviderPromise, void 0);\n __publicField(this, \"onAccountsChanged\", (accounts) => {\n if (accounts.length === 0)\n this.emit(\"disconnect\");\n else\n this.emit(\"change\", { account: getAddress(accounts[0]) });\n });\n __publicField(this, \"onChainChanged\", (chainId) => {\n const id = Number(chainId);\n const unsupported = this.isChainUnsupported(id);\n this.emit(\"change\", { chain: { id, unsupported } });\n });\n __publicField(this, \"onDisconnect\", () => {\n __privateMethod(this, _setRequestedChainsIds, setRequestedChainsIds_fn).call(this, []);\n this.emit(\"disconnect\");\n });\n __publicField(this, \"onDisplayUri\", (uri) => {\n this.emit(\"message\", { type: \"display_uri\", data: uri });\n });\n __publicField(this, \"onConnect\", () => {\n this.emit(\"connect\", {});\n });\n __privateMethod(this, _createProvider, createProvider_fn).call(this);\n }\n async connect({ chainId, pairingTopic } = {}) {\n try {\n let targetChainId = chainId;\n if (!targetChainId) {\n const store = this.storage?.getItem(STORE_KEY);\n const lastUsedChainId = store?.state?.data?.chain?.id;\n if (lastUsedChainId && !this.isChainUnsupported(lastUsedChainId))\n targetChainId = lastUsedChainId;\n else\n targetChainId = this.chains[0]?.id;\n }\n if (!targetChainId)\n throw new Error(\"No chains found on connector.\");\n const provider = await this.getProvider();\n __privateMethod(this, _setupListeners, setupListeners_fn).call(this);\n const isChainsStale = __privateMethod(this, _isChainsStale, isChainsStale_fn).call(this);\n if (provider.session && isChainsStale)\n await provider.disconnect();\n if (!provider.session || isChainsStale) {\n const optionalChains = this.chains.filter((chain) => chain.id !== targetChainId).map((optionalChain) => optionalChain.id);\n this.emit(\"message\", { type: \"connecting\" });\n await provider.connect({\n pairingTopic,\n chains: [targetChainId],\n optionalChains: optionalChains.length ? optionalChains : void 0\n });\n __privateMethod(this, _setRequestedChainsIds, setRequestedChainsIds_fn).call(this, this.chains.map(({ id: id2 }) => id2));\n }\n const accounts = await provider.enable();\n const account = getAddress(accounts[0]);\n const id = await this.getChainId();\n const unsupported = this.isChainUnsupported(id);\n return {\n account,\n chain: { id, unsupported }\n };\n } catch (error) {\n if (/user rejected/i.test(error?.message)) {\n throw new UserRejectedRequestError(error);\n }\n throw error;\n }\n }\n async disconnect() {\n const provider = await this.getProvider();\n try {\n await provider.disconnect();\n } catch (error) {\n if (!/No matching key/i.test(error.message))\n throw error;\n } finally {\n __privateMethod(this, _removeListeners, removeListeners_fn).call(this);\n __privateMethod(this, _setRequestedChainsIds, setRequestedChainsIds_fn).call(this, []);\n }\n }\n async getAccount() {\n const { accounts } = await this.getProvider();\n return getAddress(accounts[0]);\n }\n async getChainId() {\n const { chainId } = await this.getProvider();\n return chainId;\n }\n async getProvider({ chainId } = {}) {\n if (!__privateGet(this, _provider))\n await __privateMethod(this, _createProvider, createProvider_fn).call(this);\n if (chainId)\n await this.switchChain(chainId);\n return __privateGet(this, _provider);\n }\n async getWalletClient({\n chainId\n } = {}) {\n const [provider, account] = await Promise.all([\n this.getProvider({ chainId }),\n this.getAccount()\n ]);\n const chain = this.chains.find((x) => x.id === chainId);\n if (!provider)\n throw new Error(\"provider is required.\");\n return createWalletClient({\n account,\n chain,\n transport: custom(provider)\n });\n }\n async isAuthorized() {\n try {\n const [account, provider] = await Promise.all([\n this.getAccount(),\n this.getProvider()\n ]);\n const isChainsStale = __privateMethod(this, _isChainsStale, isChainsStale_fn).call(this);\n if (!account)\n return false;\n if (isChainsStale && provider.session) {\n try {\n await provider.disconnect();\n } catch {\n }\n return false;\n }\n return true;\n } catch {\n return false;\n }\n }\n async switchChain(chainId) {\n const chain = this.chains.find((chain2) => chain2.id === chainId);\n if (!chain)\n throw new SwitchChainError(new Error(\"chain not found on connector.\"));\n try {\n const provider = await this.getProvider();\n const namespaceChains = __privateMethod(this, _getNamespaceChainsIds, getNamespaceChainsIds_fn).call(this);\n const namespaceMethods = __privateMethod(this, _getNamespaceMethods, getNamespaceMethods_fn).call(this);\n const isChainApproved = namespaceChains.includes(chainId);\n if (!isChainApproved && namespaceMethods.includes(ADD_ETH_CHAIN_METHOD)) {\n await provider.request({\n method: ADD_ETH_CHAIN_METHOD,\n params: [\n {\n chainId: numberToHex(chain.id),\n blockExplorerUrls: [chain.blockExplorers?.default?.url],\n chainName: chain.name,\n nativeCurrency: chain.nativeCurrency,\n rpcUrls: [...chain.rpcUrls.default.http]\n }\n ]\n });\n const requestedChains = __privateMethod(this, _getRequestedChainsIds, getRequestedChainsIds_fn).call(this);\n requestedChains.push(chainId);\n __privateMethod(this, _setRequestedChainsIds, setRequestedChainsIds_fn).call(this, requestedChains);\n }\n await provider.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: numberToHex(chainId) }]\n });\n return chain;\n } catch (error) {\n const message = typeof error === \"string\" ? error : error?.message;\n if (/user rejected request/i.test(message)) {\n throw new UserRejectedRequestError(error);\n }\n throw new SwitchChainError(error);\n }\n }\n};\n_provider = new WeakMap();\n_initProviderPromise = new WeakMap();\n_createProvider = new WeakSet();\ncreateProvider_fn = async function() {\n if (!__privateGet(this, _initProviderPromise) && typeof window !== \"undefined\") {\n __privateSet(this, _initProviderPromise, __privateMethod(this, _initProvider, initProvider_fn).call(this));\n }\n return __privateGet(this, _initProviderPromise);\n};\n_initProvider = new WeakSet();\ninitProvider_fn = async function() {\n const { EthereumProvider, OPTIONAL_EVENTS, OPTIONAL_METHODS } = await import(\"@walletconnect/ethereum-provider\");\n const [defaultChain, ...optionalChains] = this.chains.map(({ id }) => id);\n if (defaultChain) {\n const {\n projectId,\n showQrModal = true,\n qrModalOptions,\n metadata,\n relayUrl\n } = this.options;\n __privateSet(this, _provider, await EthereumProvider.init({\n showQrModal,\n qrModalOptions,\n projectId,\n optionalMethods: OPTIONAL_METHODS,\n optionalEvents: OPTIONAL_EVENTS,\n chains: [defaultChain],\n optionalChains: optionalChains.length ? optionalChains : void 0,\n rpcMap: Object.fromEntries(\n this.chains.map((chain) => [\n chain.id,\n chain.rpcUrls.default.http[0]\n ])\n ),\n metadata,\n relayUrl\n }));\n }\n};\n_isChainsStale = new WeakSet();\nisChainsStale_fn = function() {\n const namespaceMethods = __privateMethod(this, _getNamespaceMethods, getNamespaceMethods_fn).call(this);\n if (namespaceMethods.includes(ADD_ETH_CHAIN_METHOD))\n return false;\n if (!this.options.isNewChainsStale)\n return false;\n const requestedChains = __privateMethod(this, _getRequestedChainsIds, getRequestedChainsIds_fn).call(this);\n const connectorChains = this.chains.map(({ id }) => id);\n const namespaceChains = __privateMethod(this, _getNamespaceChainsIds, getNamespaceChainsIds_fn).call(this);\n if (namespaceChains.length && !namespaceChains.some((id) => connectorChains.includes(id)))\n return false;\n return !connectorChains.every((id) => requestedChains.includes(id));\n};\n_setupListeners = new WeakSet();\nsetupListeners_fn = function() {\n if (!__privateGet(this, _provider))\n return;\n __privateMethod(this, _removeListeners, removeListeners_fn).call(this);\n __privateGet(this, _provider).on(\"accountsChanged\", this.onAccountsChanged);\n __privateGet(this, _provider).on(\"chainChanged\", this.onChainChanged);\n __privateGet(this, _provider).on(\"disconnect\", this.onDisconnect);\n __privateGet(this, _provider).on(\"session_delete\", this.onDisconnect);\n __privateGet(this, _provider).on(\"display_uri\", this.onDisplayUri);\n __privateGet(this, _provider).on(\"connect\", this.onConnect);\n};\n_removeListeners = new WeakSet();\nremoveListeners_fn = function() {\n if (!__privateGet(this, _provider))\n return;\n __privateGet(this, _provider).removeListener(\"accountsChanged\", this.onAccountsChanged);\n __privateGet(this, _provider).removeListener(\"chainChanged\", this.onChainChanged);\n __privateGet(this, _provider).removeListener(\"disconnect\", this.onDisconnect);\n __privateGet(this, _provider).removeListener(\"session_delete\", this.onDisconnect);\n __privateGet(this, _provider).removeListener(\"display_uri\", this.onDisplayUri);\n __privateGet(this, _provider).removeListener(\"connect\", this.onConnect);\n};\n_setRequestedChainsIds = new WeakSet();\nsetRequestedChainsIds_fn = function(chains) {\n this.storage?.setItem(REQUESTED_CHAINS_KEY, chains);\n};\n_getRequestedChainsIds = new WeakSet();\ngetRequestedChainsIds_fn = function() {\n return this.storage?.getItem(REQUESTED_CHAINS_KEY) ?? [];\n};\n_getNamespaceChainsIds = new WeakSet();\ngetNamespaceChainsIds_fn = function() {\n if (!__privateGet(this, _provider))\n return [];\n const namespaces = __privateGet(this, _provider).session?.namespaces;\n if (!namespaces)\n return [];\n const normalizedNamespaces = normalizeNamespaces(namespaces);\n const chainIds = normalizedNamespaces[NAMESPACE]?.chains?.map(\n (chain) => parseInt(chain.split(\":\")[1] || \"\")\n );\n return chainIds ?? [];\n};\n_getNamespaceMethods = new WeakSet();\ngetNamespaceMethods_fn = function() {\n if (!__privateGet(this, _provider))\n return [];\n const namespaces = __privateGet(this, _provider).session?.namespaces;\n if (!namespaces)\n return [];\n const normalizedNamespaces = normalizeNamespaces(namespaces);\n const methods = normalizedNamespaces[NAMESPACE]?.methods;\n return methods ?? [];\n};\nexport {\n WalletConnectConnector\n};\n","import {\n InjectedConnector\n} from \"./chunk-BVC4KGLQ.js\";\nimport {\n __privateAdd,\n __privateGet,\n __privateMethod,\n __privateSet\n} from \"./chunk-MQXBDTVK.js\";\n\n// src/utils/configureChains.ts\nimport { createPublicClient, fallback, http, webSocket } from \"viem\";\nfunction configureChains(defaultChains, providers, {\n batch = { multicall: { wait: 32 } },\n pollingInterval = 4e3,\n rank,\n retryCount,\n retryDelay,\n stallTimeout\n} = {}) {\n if (!defaultChains.length)\n throw new Error(\"must have at least one chain\");\n let chains = [];\n const httpUrls = {};\n const wsUrls = {};\n for (const chain of defaultChains) {\n let configExists = false;\n for (const provider of providers) {\n const apiConfig = provider(chain);\n if (!apiConfig)\n continue;\n configExists = true;\n if (!chains.some(({ id }) => id === chain.id)) {\n chains = [...chains, apiConfig.chain];\n }\n httpUrls[chain.id] = [\n ...httpUrls[chain.id] || [],\n ...apiConfig.rpcUrls.http\n ];\n if (apiConfig.rpcUrls.webSocket) {\n wsUrls[chain.id] = [\n ...wsUrls[chain.id] || [],\n ...apiConfig.rpcUrls.webSocket\n ];\n }\n }\n if (!configExists) {\n throw new Error(\n [\n `Could not find valid provider configuration for chain \"${chain.name}\".\n`,\n \"You may need to add `jsonRpcProvider` to `configureChains` with the chain's RPC URLs.\",\n \"Read more: https://wagmi.sh/core/providers/jsonRpc\"\n ].join(\"\\n\")\n );\n }\n }\n return {\n chains,\n publicClient: ({ chainId }) => {\n const activeChain = chains.find((x) => x.id === chainId) ?? defaultChains[0];\n const chainHttpUrls = httpUrls[activeChain.id];\n if (!chainHttpUrls || !chainHttpUrls[0])\n throw new Error(`No providers configured for chain \"${activeChain.id}\"`);\n const publicClient = createPublicClient({\n batch,\n chain: activeChain,\n transport: fallback(\n chainHttpUrls.map((url) => http(url, { timeout: stallTimeout })),\n { rank, retryCount, retryDelay }\n ),\n pollingInterval\n });\n return Object.assign(publicClient, {\n chains\n });\n },\n webSocketPublicClient: ({ chainId }) => {\n const activeChain = chains.find((x) => x.id === chainId) ?? defaultChains[0];\n const chainWsUrls = wsUrls[activeChain.id];\n if (!chainWsUrls || !chainWsUrls[0])\n return void 0;\n const publicClient = createPublicClient({\n batch,\n chain: activeChain,\n transport: fallback(\n chainWsUrls.map((url) => webSocket(url, { timeout: stallTimeout })),\n { rank, retryCount, retryDelay }\n ),\n pollingInterval\n });\n return Object.assign(publicClient, {\n chains\n });\n }\n };\n}\n\n// src/errors.ts\nimport { ConnectorNotFoundError } from \"@wagmi/connectors\";\nvar ChainMismatchError = class extends Error {\n constructor({\n activeChain,\n targetChain\n }) {\n super(\n `Chain mismatch: Expected \"${targetChain}\", received \"${activeChain}\".`\n );\n this.name = \"ChainMismatchError\";\n }\n};\nvar ChainNotConfiguredError = class extends Error {\n constructor({\n chainId,\n connectorId\n }) {\n super(\n `Chain \"${chainId}\" not configured${connectorId ? ` for connector \"${connectorId}\"` : \"\"}.`\n );\n this.name = \"ChainNotConfigured\";\n }\n};\nvar ConnectorAlreadyConnectedError = class extends Error {\n constructor() {\n super(...arguments);\n this.name = \"ConnectorAlreadyConnectedError\";\n this.message = \"Connector already connected\";\n }\n};\nvar ConfigChainsNotFound = class extends Error {\n constructor() {\n super(...arguments);\n this.name = \"ConfigChainsNotFound\";\n this.message = \"No chains were found on the wagmi config. Some functions that require a chain may not work.\";\n }\n};\nvar SwitchChainNotSupportedError = class extends Error {\n constructor({ connector }) {\n super(`\"${connector.name}\" does not support programmatic chain switching.`);\n this.name = \"SwitchChainNotSupportedError\";\n }\n};\n\n// src/utils/deepEqual.ts\nfunction deepEqual(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n if (a.constructor !== b.constructor)\n return false;\n let length;\n let i;\n if (Array.isArray(a) && Array.isArray(b)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (!deepEqual(a[i], b[i]))\n return false;\n return true;\n }\n if (a.valueOf !== Object.prototype.valueOf)\n return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString)\n return a.toString() === b.toString();\n const keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0; )\n if (!Object.prototype.hasOwnProperty.call(b, keys[i]))\n return false;\n for (i = length; i-- !== 0; ) {\n const key = keys[i];\n if (key && !deepEqual(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\n// src/utils/deserialize.ts\nvar findAndReplace = (cacheRef, {\n find,\n replace\n}) => {\n if (cacheRef && find(cacheRef)) {\n return replace(cacheRef);\n }\n if (typeof cacheRef !== \"object\") {\n return cacheRef;\n }\n if (Array.isArray(cacheRef)) {\n return cacheRef.map((item) => findAndReplace(item, { find, replace }));\n }\n if (cacheRef instanceof Object) {\n return Object.entries(cacheRef).reduce(\n (curr, [key, value]) => ({\n ...curr,\n [key]: findAndReplace(value, { find, replace })\n }),\n {}\n );\n }\n return cacheRef;\n};\nfunction deserialize(cachedString) {\n const cache = JSON.parse(cachedString);\n const deserializedCacheWithBigInts = findAndReplace(cache, {\n find: (data) => typeof data === \"string\" && data.startsWith(\"#bigint.\"),\n replace: (data) => BigInt(data.replace(\"#bigint.\", \"\"))\n });\n return deserializedCacheWithBigInts;\n}\n\n// src/utils/getParameters.ts\nfunction getCallParameters(args) {\n return {\n accessList: args.accessList,\n account: args.account,\n blockNumber: args.blockNumber,\n blockTag: args.blockTag,\n data: args.data,\n gas: args.gas,\n gasPrice: args.gasPrice,\n maxFeePerGas: args.maxFeePerGas,\n maxPriorityFeePerGas: args.maxPriorityFeePerGas,\n nonce: args.nonce,\n to: args.to,\n value: args.value\n };\n}\nfunction getSendTransactionParameters(args) {\n return {\n accessList: args.accessList,\n account: args.account,\n data: args.data,\n gas: args.gas,\n gasPrice: args.gasPrice,\n maxFeePerGas: args.maxFeePerGas,\n maxPriorityFeePerGas: args.maxPriorityFeePerGas,\n nonce: args.nonce,\n to: args.to,\n value: args.value\n };\n}\n\n// src/utils/getUnit.ts\nimport { weiUnits } from \"viem\";\nfunction getUnit(unit) {\n if (typeof unit === \"number\")\n return unit;\n if (unit === \"wei\")\n return 0;\n return Math.abs(weiUnits[unit]);\n}\n\n// src/utils/serialize.ts\nfunction getReferenceKey(keys, cutoff) {\n return keys.slice(0, cutoff).join(\".\") || \".\";\n}\nfunction getCutoff(array, value) {\n const { length } = array;\n for (let index = 0; index < length; ++index) {\n if (array[index] === value) {\n return index + 1;\n }\n }\n return 0;\n}\nfunction createReplacer(replacer, circularReplacer) {\n const hasReplacer = typeof replacer === \"function\";\n const hasCircularReplacer = typeof circularReplacer === \"function\";\n const cache = [];\n const keys = [];\n return function replace(key, value) {\n if (typeof value === \"object\") {\n if (cache.length) {\n const thisCutoff = getCutoff(cache, this);\n if (thisCutoff === 0) {\n cache[cache.length] = this;\n } else {\n cache.splice(thisCutoff);\n keys.splice(thisCutoff);\n }\n keys[keys.length] = key;\n const valueCutoff = getCutoff(cache, value);\n if (valueCutoff !== 0) {\n return hasCircularReplacer ? circularReplacer.call(\n this,\n key,\n value,\n getReferenceKey(keys, valueCutoff)\n ) : `[ref=${getReferenceKey(keys, valueCutoff)}]`;\n }\n } else {\n cache[0] = value;\n keys[0] = key;\n }\n }\n return hasReplacer ? replacer.call(this, key, value) : value;\n };\n}\nfunction serialize(value, replacer, indent, circularReplacer) {\n return JSON.stringify(\n value,\n createReplacer((key, value_) => {\n const value2 = typeof value_ === \"bigint\" ? `#bigint.${value_.toString()}` : value_;\n return replacer?.(key, value2) || value2;\n }, circularReplacer),\n indent ?? void 0\n );\n}\n\n// src/config.ts\nimport { persist, subscribeWithSelector } from \"zustand/middleware\";\nimport { createStore } from \"zustand/vanilla\";\n\n// src/storage.ts\nvar noopStorage = {\n getItem: (_key) => \"\",\n setItem: (_key, _value) => null,\n removeItem: (_key) => null\n};\nfunction createStorage({\n deserialize: deserialize2 = deserialize,\n key: prefix = \"wagmi\",\n serialize: serialize2 = serialize,\n storage\n}) {\n return {\n ...storage,\n getItem: (key, defaultState = null) => {\n const value = storage.getItem(`${prefix}.${key}`);\n try {\n return value ? deserialize2(value) : defaultState;\n } catch (error) {\n console.warn(error);\n return defaultState;\n }\n },\n setItem: (key, value) => {\n if (value === null) {\n storage.removeItem(`${prefix}.${key}`);\n } else {\n try {\n storage.setItem(`${prefix}.${key}`, serialize2(value));\n } catch (err) {\n console.error(err);\n }\n }\n },\n removeItem: (key) => storage.removeItem(`${prefix}.${key}`)\n };\n}\n\n// src/config.ts\nvar storeKey = \"store\";\nvar _isAutoConnecting, _lastUsedConnector, _addEffects, addEffects_fn;\nvar Config = class {\n constructor({\n autoConnect = false,\n connectors = [new InjectedConnector()],\n publicClient,\n storage = createStorage({\n storage: typeof window !== \"undefined\" ? window.localStorage : noopStorage\n }),\n logger = {\n warn: console.warn\n },\n webSocketPublicClient\n }) {\n __privateAdd(this, _addEffects);\n this.publicClients = /* @__PURE__ */ new Map();\n this.webSocketPublicClients = /* @__PURE__ */ new Map();\n __privateAdd(this, _isAutoConnecting, void 0);\n __privateAdd(this, _lastUsedConnector, void 0);\n this.args = {\n autoConnect,\n connectors,\n logger,\n publicClient,\n storage,\n webSocketPublicClient\n };\n let status = \"disconnected\";\n let chainId;\n if (autoConnect) {\n try {\n const rawState = storage.getItem(storeKey);\n const data = rawState?.state?.data;\n status = data?.account ? \"reconnecting\" : \"connecting\";\n chainId = data?.chain?.id;\n } catch (_error) {\n }\n }\n const connectors_ = typeof connectors === \"function\" ? connectors() : connectors;\n connectors_.forEach((connector) => connector.setStorage(storage));\n this.store = createStore(\n subscribeWithSelector(\n persist(\n () => ({\n connectors: connectors_,\n publicClient: this.getPublicClient({ chainId }),\n status,\n webSocketPublicClient: this.getWebSocketPublicClient({ chainId })\n }),\n {\n name: storeKey,\n storage,\n partialize: (state) => ({\n ...autoConnect && {\n data: {\n account: state?.data?.account,\n chain: state?.data?.chain\n }\n },\n chains: state?.chains\n }),\n version: 2\n }\n )\n )\n );\n this.storage = storage;\n __privateSet(this, _lastUsedConnector, storage?.getItem(\"wallet\"));\n __privateMethod(this, _addEffects, addEffects_fn).call(this);\n if (autoConnect && typeof window !== \"undefined\")\n setTimeout(async () => await this.autoConnect(), 0);\n }\n get chains() {\n return this.store.getState().chains;\n }\n get connectors() {\n return this.store.getState().connectors;\n }\n get connector() {\n return this.store.getState().connector;\n }\n get data() {\n return this.store.getState().data;\n }\n get error() {\n return this.store.getState().error;\n }\n get lastUsedChainId() {\n return this.data?.chain?.id;\n }\n get publicClient() {\n return this.store.getState().publicClient;\n }\n get status() {\n return this.store.getState().status;\n }\n get subscribe() {\n return this.store.subscribe;\n }\n get webSocketPublicClient() {\n return this.store.getState().webSocketPublicClient;\n }\n setState(updater) {\n const newState = typeof updater === \"function\" ? updater(this.store.getState()) : updater;\n this.store.setState(newState, true);\n }\n clearState() {\n this.setState((x) => ({\n ...x,\n chains: void 0,\n connector: void 0,\n data: void 0,\n error: void 0,\n status: \"disconnected\"\n }));\n }\n async destroy() {\n if (this.connector)\n await this.connector.disconnect?.();\n __privateSet(this, _isAutoConnecting, false);\n this.clearState();\n this.store.destroy();\n }\n async autoConnect() {\n if (__privateGet(this, _isAutoConnecting))\n return;\n __privateSet(this, _isAutoConnecting, true);\n this.setState((x) => ({\n ...x,\n status: x.data?.account ? \"reconnecting\" : \"connecting\"\n }));\n const sorted = __privateGet(this, _lastUsedConnector) ? [...this.connectors].sort(\n (x) => x.id === __privateGet(this, _lastUsedConnector) ? -1 : 1\n ) : this.connectors;\n let connected = false;\n for (const connector of sorted) {\n if (!connector.ready || !connector.isAuthorized)\n continue;\n const isAuthorized = await connector.isAuthorized();\n if (!isAuthorized)\n continue;\n const data = await connector.connect();\n this.setState((x) => ({\n ...x,\n connector,\n chains: connector?.chains,\n data,\n status: \"connected\"\n }));\n connected = true;\n break;\n }\n if (!connected)\n this.setState((x) => ({\n ...x,\n data: void 0,\n status: \"disconnected\"\n }));\n __privateSet(this, _isAutoConnecting, false);\n return this.data;\n }\n setConnectors(connectors) {\n this.args = {\n ...this.args,\n connectors\n };\n const connectors_ = typeof connectors === \"function\" ? connectors() : connectors;\n connectors_.forEach((connector) => connector.setStorage(this.args.storage));\n this.setState((x) => ({\n ...x,\n connectors: connectors_\n }));\n }\n getPublicClient({ chainId } = {}) {\n let publicClient_ = this.publicClients.get(-1);\n if (publicClient_ && publicClient_?.chain.id === chainId)\n return publicClient_;\n publicClient_ = this.publicClients.get(chainId ?? -1);\n if (publicClient_)\n return publicClient_;\n const { publicClient } = this.args;\n publicClient_ = typeof publicClient === \"function\" ? publicClient({ chainId }) : publicClient;\n this.publicClients.set(chainId ?? -1, publicClient_);\n return publicClient_;\n }\n setPublicClient(publicClient) {\n const chainId = this.data?.chain?.id;\n this.args = {\n ...this.args,\n publicClient\n };\n this.publicClients.clear();\n this.setState((x) => ({\n ...x,\n publicClient: this.getPublicClient({ chainId })\n }));\n }\n getWebSocketPublicClient({ chainId } = {}) {\n let webSocketPublicClient_ = this.webSocketPublicClients.get(-1);\n if (webSocketPublicClient_ && webSocketPublicClient_?.chain.id === chainId)\n return webSocketPublicClient_;\n webSocketPublicClient_ = this.webSocketPublicClients.get(chainId ?? -1);\n if (webSocketPublicClient_)\n return webSocketPublicClient_;\n const { webSocketPublicClient } = this.args;\n webSocketPublicClient_ = typeof webSocketPublicClient === \"function\" ? webSocketPublicClient({ chainId }) : webSocketPublicClient;\n if (webSocketPublicClient_)\n this.webSocketPublicClients.set(chainId ?? -1, webSocketPublicClient_);\n return webSocketPublicClient_;\n }\n setWebSocketPublicClient(webSocketPublicClient) {\n const chainId = this.data?.chain?.id;\n this.args = {\n ...this.args,\n webSocketPublicClient\n };\n this.webSocketPublicClients.clear();\n this.setState((x) => ({\n ...x,\n webSocketPublicClient: this.getWebSocketPublicClient({\n chainId\n })\n }));\n }\n setLastUsedConnector(lastUsedConnector = null) {\n this.storage?.setItem(\"wallet\", lastUsedConnector);\n }\n};\n_isAutoConnecting = new WeakMap();\n_lastUsedConnector = new WeakMap();\n_addEffects = new WeakSet();\naddEffects_fn = function() {\n const onChange = (data) => {\n this.setState((x) => ({\n ...x,\n data: { ...x.data, ...data }\n }));\n };\n const onDisconnect = () => {\n this.clearState();\n };\n const onError = (error) => {\n this.setState((x) => ({ ...x, error }));\n };\n this.store.subscribe(\n ({ connector }) => connector,\n (connector, prevConnector) => {\n prevConnector?.off?.(\"change\", onChange);\n prevConnector?.off?.(\"disconnect\", onDisconnect);\n prevConnector?.off?.(\"error\", onError);\n if (!connector)\n return;\n connector.on?.(\"change\", onChange);\n connector.on?.(\"disconnect\", onDisconnect);\n connector.on?.(\"error\", onError);\n }\n );\n const { publicClient, webSocketPublicClient } = this.args;\n const subscribePublicClient = typeof publicClient === \"function\";\n const subscribeWebSocketPublicClient = typeof webSocketPublicClient === \"function\";\n if (subscribePublicClient || subscribeWebSocketPublicClient)\n this.store.subscribe(\n ({ data }) => data?.chain?.id,\n (chainId) => {\n this.setState((x) => ({\n ...x,\n publicClient: this.getPublicClient({ chainId }),\n webSocketPublicClient: this.getWebSocketPublicClient({\n chainId\n })\n }));\n }\n );\n};\nvar config;\nfunction createConfig(args) {\n const config_ = new Config(args);\n config = config_;\n return config_;\n}\nfunction getConfig() {\n if (!config) {\n throw new Error(\n \"No wagmi config found. Ensure you have set up a config: https://wagmi.sh/react/config\"\n );\n }\n return config;\n}\n\n// src/actions/accounts/connect.ts\nasync function connect({ chainId, connector }) {\n const config2 = getConfig();\n const activeConnector = config2.connector;\n if (activeConnector && connector.id === activeConnector.id)\n throw new ConnectorAlreadyConnectedError();\n try {\n config2.setState((x) => ({ ...x, status: \"connecting\" }));\n const data = await connector.connect({ chainId });\n config2.setLastUsedConnector(connector.id);\n config2.setState((x) => ({\n ...x,\n connector,\n chains: connector?.chains,\n data,\n status: \"connected\"\n }));\n config2.storage.setItem(\"connected\", true);\n return { ...data, connector };\n } catch (err) {\n config2.setState((x) => {\n return {\n ...x,\n status: x.connector ? \"connected\" : \"disconnected\"\n };\n });\n throw err;\n }\n}\n\n// src/actions/accounts/disconnect.ts\nasync function disconnect() {\n const config2 = getConfig();\n if (config2.connector)\n await config2.connector.disconnect();\n config2.clearState();\n config2.storage.removeItem(\"connected\");\n}\n\n// src/actions/accounts/fetchBalance.ts\nimport {\n ContractFunctionExecutionError as ContractFunctionExecutionError3,\n formatUnits as formatUnits2,\n hexToString as hexToString2,\n trim as trim2\n} from \"viem\";\n\n// src/constants/abis.ts\nvar erc20ABI = [\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"allowance\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"spender\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"approve\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"account\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"decimals\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint8\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"name\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"symbol\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transfer\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"sender\",\n type: \"address\"\n },\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n }\n];\nvar erc20ABI_bytes32 = [\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"allowance\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"spender\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"approve\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"account\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"decimals\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint8\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"name\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"symbol\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transfer\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"sender\",\n type: \"address\"\n },\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n }\n];\nvar erc721ABI = [\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"tokenId\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"event\",\n name: \"ApprovalForAll\",\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"operator\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"approved\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"tokenId\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"approve\",\n stateMutability: \"payable\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\"\n },\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: []\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"account\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"getApproved\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"address\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"isApprovedForAll\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"operator\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"name\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"ownerOf\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"owner\",\n type: \"address\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"safeTransferFrom\",\n stateMutability: \"payable\",\n inputs: [\n {\n name: \"from\",\n type: \"address\"\n },\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: []\n },\n {\n type: \"function\",\n name: \"safeTransferFrom\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"from\",\n type: \"address\"\n },\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"id\",\n type: \"uint256\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n }\n ],\n outputs: []\n },\n {\n type: \"function\",\n name: \"setApprovalForAll\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"operator\",\n type: \"address\"\n },\n {\n name: \"approved\",\n type: \"bool\"\n }\n ],\n outputs: []\n },\n {\n type: \"function\",\n name: \"symbol\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"tokenByIndex\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"index\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"tokenByIndex\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"index\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"tokenURI\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n stateMutability: \"payable\",\n inputs: [\n {\n name: \"sender\",\n type: \"address\"\n },\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"tokeId\",\n type: \"uint256\"\n }\n ],\n outputs: []\n }\n];\nvar erc4626ABI = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ],\n name: \"Approval\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"receiver\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"assets\",\n type: \"uint256\"\n },\n {\n indexed: false,\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ],\n name: \"Transfer\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"receiver\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"assets\",\n type: \"uint256\"\n },\n {\n indexed: false,\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"Withdraw\",\n type: \"event\"\n },\n {\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"spender\",\n type: \"address\"\n }\n ],\n name: \"allowance\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"spender\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n name: \"approve\",\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"asset\",\n outputs: [\n {\n name: \"assetTokenAddress\",\n type: \"address\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"account\",\n type: \"address\"\n }\n ],\n name: \"balanceOf\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"convertToAssets\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n name: \"convertToShares\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n },\n {\n name: \"receiver\",\n type: \"address\"\n }\n ],\n name: \"deposit\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"caller\",\n type: \"address\"\n }\n ],\n name: \"maxDeposit\",\n outputs: [\n {\n name: \"maxAssets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"caller\",\n type: \"address\"\n }\n ],\n name: \"maxMint\",\n outputs: [\n {\n name: \"maxShares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"maxRedeem\",\n outputs: [\n {\n name: \"maxShares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"maxWithdraw\",\n outputs: [\n {\n name: \"maxAssets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n },\n {\n name: \"receiver\",\n type: \"address\"\n }\n ],\n name: \"mint\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n name: \"previewDeposit\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"previewMint\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"previewRedeem\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n name: \"previewWithdraw\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n },\n {\n name: \"receiver\",\n type: \"address\"\n },\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"redeem\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"totalAssets\",\n outputs: [\n {\n name: \"totalManagedAssets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"totalSupply\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n name: \"transfer\",\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"from\",\n type: \"address\"\n },\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n name: \"transferFrom\",\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n },\n {\n name: \"receiver\",\n type: \"address\"\n },\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"withdraw\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n }\n];\n\n// src/actions/contracts/fetchToken.ts\nimport {\n ContractFunctionExecutionError,\n formatUnits,\n hexToString,\n trim\n} from \"viem\";\nasync function fetchToken({\n address,\n chainId,\n formatUnits: unit = 18\n}) {\n async function fetchToken_({ abi }) {\n const erc20Config = { address, abi, chainId };\n const [decimals, name, symbol, totalSupply] = await readContracts({\n allowFailure: false,\n contracts: [\n { ...erc20Config, functionName: \"decimals\" },\n { ...erc20Config, functionName: \"name\" },\n { ...erc20Config, functionName: \"symbol\" },\n { ...erc20Config, functionName: \"totalSupply\" }\n ]\n });\n return {\n address,\n decimals,\n name,\n symbol,\n totalSupply: {\n formatted: formatUnits(totalSupply, getUnit(unit)),\n value: totalSupply\n }\n };\n }\n try {\n return await fetchToken_({ abi: erc20ABI });\n } catch (err) {\n if (err instanceof ContractFunctionExecutionError) {\n const { name, symbol, ...rest } = await fetchToken_({\n abi: erc20ABI_bytes32\n });\n return {\n name: hexToString(trim(name, { dir: \"right\" })),\n symbol: hexToString(trim(symbol, { dir: \"right\" })),\n ...rest\n };\n }\n throw err;\n }\n}\n\n// src/actions/viem/getPublicClient.ts\nfunction getPublicClient({ chainId } = {}) {\n const config2 = getConfig();\n if (chainId)\n return config2.getPublicClient({ chainId }) || config2.publicClient;\n return config2.publicClient;\n}\n\n// src/actions/viem/getWalletClient.ts\nasync function getWalletClient({\n chainId\n} = {}) {\n const config2 = getConfig();\n const walletClient = await config2.connector?.getWalletClient?.({ chainId }) || null;\n return walletClient;\n}\n\n// src/actions/viem/getWebSocketPublicClient.ts\nfunction getWebSocketPublicClient({\n chainId\n} = {}) {\n const config2 = getConfig();\n if (chainId)\n return config2.getWebSocketPublicClient({ chainId }) || config2.webSocketPublicClient;\n return config2.webSocketPublicClient;\n}\n\n// src/actions/viem/watchPublicClient.ts\nfunction watchPublicClient(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(getPublicClient(args));\n const unsubscribe = config2.subscribe(\n ({ publicClient }) => publicClient,\n handleChange\n );\n return unsubscribe;\n}\n\n// src/actions/viem/watchWalletClient.ts\nimport { shallow } from \"zustand/shallow\";\nfunction watchWalletClient({ chainId }, callback) {\n const config2 = getConfig();\n const handleChange = async ({ chainId: chainId_ }) => {\n if (chainId && chainId_ && chainId !== chainId_)\n return;\n const walletClient = await getWalletClient({ chainId });\n if (!getConfig().connector)\n return callback(null);\n return callback(walletClient);\n };\n const unsubscribe = config2.subscribe(\n ({ data, connector }) => ({\n account: data?.account,\n chainId: data?.chain?.id,\n connector\n }),\n handleChange,\n {\n equalityFn: shallow\n }\n );\n return unsubscribe;\n}\n\n// src/actions/viem/watchWebSocketPublicClient.ts\nfunction watchWebSocketPublicClient(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(getWebSocketPublicClient(args));\n const unsubscribe = config2.subscribe(\n ({ webSocketPublicClient }) => webSocketPublicClient,\n handleChange\n );\n return unsubscribe;\n}\n\n// src/actions/contracts/prepareWriteContract.ts\nasync function prepareWriteContract({\n abi,\n address,\n args,\n chainId,\n functionName,\n walletClient: walletClient_,\n ...config2\n}) {\n const publicClient = getPublicClient({ chainId });\n const walletClient = walletClient_ ?? await getWalletClient({ chainId });\n if (!walletClient)\n throw new ConnectorNotFoundError();\n if (chainId)\n assertActiveChain({ chainId });\n const {\n account,\n accessList,\n blockNumber,\n blockTag,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value\n } = getCallParameters(config2);\n const { result, request } = await publicClient.simulateContract({\n abi,\n address,\n functionName,\n args,\n account: account || walletClient.account,\n accessList,\n blockNumber,\n blockTag,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value\n });\n const minimizedAbi = abi.filter(\n (abiItem) => \"name\" in abiItem && abiItem.name === functionName\n );\n return {\n mode: \"prepared\",\n request: {\n ...request,\n abi: minimizedAbi,\n chainId\n },\n result\n };\n}\n\n// src/actions/contracts/getContract.ts\nimport { getContract as getContract_ } from \"viem\";\nfunction getContract({\n address,\n abi,\n chainId,\n walletClient\n}) {\n const publicClient = getPublicClient({ chainId });\n return getContract_({\n address,\n abi,\n publicClient,\n walletClient\n });\n}\n\n// src/actions/contracts/multicall.ts\nasync function multicall({\n chainId,\n contracts,\n blockNumber,\n blockTag,\n ...args\n}) {\n const publicClient = getPublicClient({ chainId });\n if (!publicClient.chains)\n throw new ConfigChainsNotFound();\n if (chainId && publicClient.chain.id !== chainId)\n throw new ChainNotConfiguredError({ chainId });\n return publicClient.multicall({\n allowFailure: args.allowFailure ?? true,\n blockNumber,\n blockTag,\n contracts\n });\n}\n\n// src/actions/contracts/readContract.ts\nasync function readContract({\n address,\n account,\n chainId,\n abi,\n args,\n functionName,\n blockNumber,\n blockTag\n}) {\n const publicClient = getPublicClient({ chainId });\n return publicClient.readContract({\n abi,\n address,\n account,\n functionName,\n args,\n blockNumber,\n blockTag\n });\n}\n\n// src/actions/contracts/readContracts.ts\nimport { ContractFunctionExecutionError as ContractFunctionExecutionError2 } from \"viem\";\nasync function readContracts({\n contracts,\n blockNumber,\n blockTag,\n ...args\n}) {\n const { allowFailure = true } = args;\n try {\n const publicClient = getPublicClient();\n const contractsByChainId = contracts.reduce((contracts2, contract, index) => {\n const chainId = contract.chainId ?? publicClient.chain.id;\n return {\n ...contracts2,\n [chainId]: [...contracts2[chainId] || [], { contract, index }]\n };\n }, {});\n const promises = () => Object.entries(contractsByChainId).map(\n ([chainId, contracts2]) => multicall({\n allowFailure,\n chainId: parseInt(chainId),\n contracts: contracts2.map(\n ({ contract }) => contract\n ),\n blockNumber,\n blockTag\n })\n );\n const multicallResults = (await Promise.all(promises())).flat();\n const resultIndexes = Object.values(contractsByChainId).flatMap(\n (contracts2) => contracts2.map(({ index }) => index)\n );\n return multicallResults.reduce((results, result, index) => {\n if (results)\n results[resultIndexes[index]] = result;\n return results;\n }, []);\n } catch (err) {\n if (err instanceof ContractFunctionExecutionError2)\n throw err;\n const promises = () => contracts.map(\n (contract) => readContract({ ...contract, blockNumber, blockTag })\n );\n if (allowFailure)\n return (await Promise.allSettled(promises())).map((result) => {\n if (result.status === \"fulfilled\")\n return { result: result.value, status: \"success\" };\n return { error: result.reason, result: void 0, status: \"failure\" };\n });\n return await Promise.all(promises());\n }\n}\n\n// src/actions/contracts/watchContractEvent.ts\nimport { shallow as shallow2 } from \"zustand/shallow\";\nfunction watchContractEvent({\n address,\n abi,\n chainId,\n eventName\n}, callback) {\n let unwatch;\n const watchEvent = async () => {\n if (unwatch)\n unwatch();\n const publicClient = getWebSocketPublicClient({ chainId }) || getPublicClient({ chainId });\n unwatch = publicClient.watchContractEvent({\n address,\n abi,\n eventName,\n onLogs: callback\n });\n };\n watchEvent();\n const config2 = getConfig();\n const unsubscribe = config2.subscribe(\n ({ publicClient, webSocketPublicClient }) => ({\n publicClient,\n webSocketPublicClient\n }),\n watchEvent,\n { equalityFn: shallow2 }\n );\n return () => {\n unwatch?.();\n unsubscribe();\n };\n}\n\n// src/actions/network-status/watchBlockNumber.ts\nimport { shallow as shallow3 } from \"zustand/shallow\";\nfunction watchBlockNumber(args, callback) {\n let unwatch;\n const createListener = (publicClient) => {\n if (unwatch)\n unwatch();\n unwatch = publicClient.watchBlockNumber({\n onBlockNumber: callback,\n emitOnBegin: true,\n poll: true\n });\n };\n const publicClient_ = getWebSocketPublicClient({ chainId: args.chainId }) ?? getPublicClient({ chainId: args.chainId });\n if (args.listen)\n createListener(publicClient_);\n const config2 = getConfig();\n const unsubscribe = config2.subscribe(\n ({ publicClient, webSocketPublicClient }) => ({\n publicClient,\n webSocketPublicClient\n }),\n async ({ publicClient, webSocketPublicClient }) => {\n const publicClient_2 = webSocketPublicClient ?? publicClient;\n if (args.listen && !args.chainId && publicClient_2) {\n createListener(publicClient_2);\n }\n },\n {\n equalityFn: shallow3\n }\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/actions/contracts/watchMulticall.ts\nfunction watchMulticall(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(await multicall(args));\n const unwatch = args.listenToBlock ? watchBlockNumber({ listen: true }, handleChange) : void 0;\n const unsubscribe = config2.subscribe(\n ({ publicClient }) => publicClient,\n handleChange\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/actions/contracts/watchReadContract.ts\nfunction watchReadContract(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(await readContract(args));\n const unwatch = args.listenToBlock ? watchBlockNumber({ listen: true }, handleChange) : void 0;\n const unsubscribe = config2.subscribe(\n ({ publicClient }) => publicClient,\n handleChange\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/actions/contracts/watchReadContracts.ts\nfunction watchReadContracts(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(await readContracts(args));\n const unwatch = args.listenToBlock ? watchBlockNumber({ listen: true }, handleChange) : void 0;\n const unsubscribe = config2.subscribe(\n ({ publicClient }) => publicClient,\n handleChange\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/actions/contracts/writeContract.ts\nasync function writeContract(config2) {\n const walletClient = await getWalletClient({ chainId: config2.chainId });\n if (!walletClient)\n throw new ConnectorNotFoundError();\n if (config2.chainId)\n assertActiveChain({ chainId: config2.chainId });\n let request;\n if (config2.mode === \"prepared\") {\n request = config2.request;\n } else {\n const { chainId: _, mode: __, ...args } = config2;\n const res = await prepareWriteContract(args);\n request = res.request;\n }\n const hash = await walletClient.writeContract({\n ...request,\n chain: null\n });\n return { hash };\n}\n\n// src/actions/accounts/fetchBalance.ts\nasync function fetchBalance({\n address,\n chainId,\n formatUnits: unit,\n token\n}) {\n const config2 = getConfig();\n const publicClient = getPublicClient({ chainId });\n if (token) {\n const fetchContractBalance = async ({ abi }) => {\n const erc20Config = { abi, address: token, chainId };\n const [value2, decimals, symbol] = await readContracts({\n allowFailure: false,\n contracts: [\n {\n ...erc20Config,\n functionName: \"balanceOf\",\n args: [address]\n },\n { ...erc20Config, functionName: \"decimals\" },\n { ...erc20Config, functionName: \"symbol\" }\n ]\n });\n return {\n decimals,\n formatted: formatUnits2(value2 ?? \"0\", getUnit(unit ?? decimals)),\n symbol,\n value: value2\n };\n };\n try {\n return await fetchContractBalance({ abi: erc20ABI });\n } catch (err) {\n if (err instanceof ContractFunctionExecutionError3) {\n const { symbol, ...rest } = await fetchContractBalance({\n abi: erc20ABI_bytes32\n });\n return {\n symbol: hexToString2(trim2(symbol, { dir: \"right\" })),\n ...rest\n };\n }\n throw err;\n }\n }\n const chains = [\n ...config2.publicClient.chains || [],\n ...config2.chains ?? []\n ];\n const value = await publicClient.getBalance({ address });\n const chain = chains.find((x) => x.id === publicClient.chain.id);\n return {\n decimals: chain?.nativeCurrency.decimals ?? 18,\n formatted: formatUnits2(value ?? \"0\", getUnit(unit ?? 18)),\n symbol: chain?.nativeCurrency.symbol ?? \"ETH\",\n value\n };\n}\n\n// src/actions/accounts/getAccount.ts\nfunction getAccount() {\n const { data, connector, status } = getConfig();\n switch (status) {\n case \"connected\":\n return {\n address: data?.account,\n connector,\n isConnected: true,\n isConnecting: false,\n isDisconnected: false,\n isReconnecting: false,\n status\n };\n case \"reconnecting\":\n return {\n address: data?.account,\n connector,\n isConnected: !!data?.account,\n isConnecting: false,\n isDisconnected: false,\n isReconnecting: true,\n status\n };\n case \"connecting\":\n return {\n address: data?.account,\n connector,\n isConnected: false,\n isConnecting: true,\n isDisconnected: false,\n isReconnecting: false,\n status\n };\n case \"disconnected\":\n return {\n address: void 0,\n connector: void 0,\n isConnected: false,\n isConnecting: false,\n isDisconnected: true,\n isReconnecting: false,\n status\n };\n }\n}\n\n// src/actions/accounts/getNetwork.ts\nfunction getNetwork() {\n const config2 = getConfig();\n const chainId = config2.data?.chain?.id;\n const activeChains = config2.chains ?? [];\n const activeChain = [\n ...config2.publicClient?.chains || [],\n ...activeChains\n ].find((x) => x.id === chainId) ?? {\n id: chainId,\n name: `Chain ${chainId}`,\n network: `${chainId}`,\n nativeCurrency: { name: \"Ether\", decimals: 18, symbol: \"ETH\" },\n rpcUrls: {\n default: { http: [\"\"] },\n public: { http: [\"\"] }\n }\n };\n return {\n chain: chainId ? {\n ...activeChain,\n ...config2.data?.chain,\n id: chainId\n } : void 0,\n chains: activeChains\n };\n}\n\n// src/actions/accounts/signMessage.ts\nasync function signMessage(args) {\n const walletClient = await getWalletClient();\n if (!walletClient)\n throw new ConnectorNotFoundError();\n return await walletClient.signMessage({\n message: args.message\n });\n}\n\n// src/actions/accounts/signTypedData.ts\nasync function signTypedData({\n domain,\n message,\n primaryType,\n types\n}) {\n const walletClient = await getWalletClient();\n if (!walletClient)\n throw new ConnectorNotFoundError();\n const { chainId } = domain;\n if (chainId)\n assertActiveChain({ chainId });\n return walletClient.signTypedData({\n message,\n primaryType,\n types,\n domain\n });\n}\n\n// src/actions/accounts/switchNetwork.ts\nasync function switchNetwork({\n chainId\n}) {\n const { connector } = getConfig();\n if (!connector)\n throw new ConnectorNotFoundError();\n if (!connector.switchChain)\n throw new SwitchChainNotSupportedError({\n connector\n });\n return connector.switchChain(chainId);\n}\n\n// src/actions/accounts/watchAccount.ts\nimport { shallow as shallow4 } from \"zustand/shallow\";\nfunction watchAccount(callback, { selector = (x) => x } = {}) {\n const config2 = getConfig();\n const handleChange = () => callback(getAccount());\n const unsubscribe = config2.subscribe(\n ({ data, connector, status }) => selector({\n address: data?.account,\n connector,\n status\n }),\n handleChange,\n {\n equalityFn: shallow4\n }\n );\n return unsubscribe;\n}\n\n// src/actions/accounts/watchNetwork.ts\nimport { shallow as shallow5 } from \"zustand/shallow\";\nfunction watchNetwork(callback, { selector = (x) => x } = {}) {\n const config2 = getConfig();\n const handleChange = () => callback(getNetwork());\n const unsubscribe = config2.subscribe(\n ({ data, chains }) => selector({ chainId: data?.chain?.id, chains }),\n handleChange,\n {\n equalityFn: shallow5\n }\n );\n return unsubscribe;\n}\n\n// src/actions/ens/fetchEnsAddress.ts\nimport { getAddress } from \"viem\";\nimport { normalize } from \"viem/ens\";\nasync function fetchEnsAddress({\n chainId,\n name\n}) {\n const publicClient = getPublicClient({ chainId });\n const address = await publicClient.getEnsAddress({\n name: normalize(name)\n });\n try {\n if (address === \"0x0000000000000000000000000000000000000000\")\n return null;\n return address ? getAddress(address) : null;\n } catch (_error) {\n return null;\n }\n}\n\n// src/actions/ens/fetchEnsAvatar.ts\nimport { normalize as normalize2 } from \"viem/ens\";\nasync function fetchEnsAvatar({\n name,\n chainId\n}) {\n const publicClient = getPublicClient({ chainId });\n const avatar = await publicClient.getEnsAvatar({ name: normalize2(name) });\n return avatar;\n}\n\n// src/actions/ens/fetchEnsName.ts\nimport { getAddress as getAddress2 } from \"viem\";\nasync function fetchEnsName({\n address,\n chainId\n}) {\n const publicClient = getPublicClient({ chainId });\n return publicClient.getEnsName({\n address: getAddress2(address)\n });\n}\n\n// src/actions/ens/fetchEnsResolver.ts\nimport { normalize as normalize3 } from \"viem/ens\";\nasync function fetchEnsResolver({\n chainId,\n name\n}) {\n const publicClient = getPublicClient({ chainId });\n const resolver = await publicClient.getEnsResolver({ name: normalize3(name) });\n return resolver;\n}\n\n// src/actions/network-status/fetchBlockNumber.ts\nasync function fetchBlockNumber({\n chainId\n} = {}) {\n const publicClient = getPublicClient({ chainId });\n const blockNumber = await publicClient.getBlockNumber();\n return blockNumber;\n}\n\n// src/actions/network-status/fetchFeeData.ts\nimport { formatUnits as formatUnits3, parseGwei } from \"viem\";\nasync function fetchFeeData({\n chainId,\n formatUnits: units = \"gwei\"\n} = {}) {\n const publicClient = getPublicClient({ chainId });\n const block = await publicClient.getBlock();\n let gasPrice = null;\n try {\n gasPrice = await publicClient.getGasPrice();\n } catch {\n }\n let lastBaseFeePerGas = null;\n let maxFeePerGas = null;\n let maxPriorityFeePerGas = null;\n if (block?.baseFeePerGas) {\n lastBaseFeePerGas = block.baseFeePerGas;\n maxPriorityFeePerGas = parseGwei(\"1\");\n maxFeePerGas = block.baseFeePerGas * 2n + maxPriorityFeePerGas;\n }\n const unit = getUnit(units);\n const formatted = {\n gasPrice: gasPrice ? formatUnits3(gasPrice, unit) : null,\n maxFeePerGas: maxFeePerGas ? formatUnits3(maxFeePerGas, unit) : null,\n maxPriorityFeePerGas: maxPriorityFeePerGas ? formatUnits3(maxPriorityFeePerGas, unit) : null\n };\n return {\n lastBaseFeePerGas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n formatted\n };\n}\n\n// src/actions/transactions/fetchTransaction.ts\nasync function fetchTransaction({\n chainId,\n hash\n}) {\n const publicClient = getPublicClient({ chainId });\n return publicClient.getTransaction({ hash });\n}\n\n// src/actions/transactions/prepareSendTransaction.ts\nimport { isAddress } from \"viem\";\nasync function prepareSendTransaction({\n accessList,\n account,\n chainId,\n data,\n gas: gas_,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to: to_,\n value,\n walletClient: walletClient_\n}) {\n const publicClient = getPublicClient({ chainId });\n const walletClient = walletClient_ ?? await getWalletClient({ chainId });\n if (!walletClient)\n throw new ConnectorNotFoundError();\n if (chainId)\n assertActiveChain({ chainId });\n const to = (to_ && !isAddress(to_) ? await fetchEnsAddress({ name: to_ }) : to_) || void 0;\n if (to && !isAddress(to))\n throw new Error(\"Invalid address\");\n const gas = typeof gas_ === \"undefined\" ? await publicClient.estimateGas({\n accessList,\n account: walletClient.account,\n data,\n gas: gas_ ?? void 0,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value\n }) : gas_ || void 0;\n return {\n accessList,\n account,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode: \"prepared\",\n nonce,\n to,\n value,\n ...chainId ? { chainId } : {}\n };\n}\n\n// src/actions/transactions/sendTransaction.ts\nasync function sendTransaction({\n accessList,\n account,\n chainId,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode,\n nonce,\n to,\n value\n}) {\n const walletClient = await getWalletClient({ chainId });\n if (!walletClient)\n throw new ConnectorNotFoundError();\n if (chainId)\n assertActiveChain({ chainId });\n let args;\n if (mode === \"prepared\") {\n args = {\n account,\n accessList,\n chain: null,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value\n };\n } else {\n args = await prepareSendTransaction({\n accessList,\n account,\n chainId,\n data,\n gas: gas || null,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value\n });\n }\n const hash = await walletClient.sendTransaction({ ...args, chain: null });\n return { hash };\n}\n\n// src/actions/transactions/waitForTransaction.ts\nimport { hexToString as hexToString3 } from \"viem\";\nasync function waitForTransaction({\n chainId,\n confirmations = 1,\n hash,\n onReplaced,\n timeout = 0\n}) {\n const publicClient = getPublicClient({ chainId });\n const receipt = await publicClient.waitForTransactionReceipt({\n hash,\n confirmations,\n onReplaced,\n timeout\n });\n if (receipt.status === \"reverted\") {\n const txn = await publicClient.getTransaction({\n hash: receipt.transactionHash\n });\n const code = await publicClient.call({\n ...txn,\n gasPrice: txn.type !== \"eip1559\" ? txn.gasPrice : void 0,\n maxFeePerGas: txn.type === \"eip1559\" ? txn.maxFeePerGas : void 0,\n maxPriorityFeePerGas: txn.type === \"eip1559\" ? txn.maxPriorityFeePerGas : void 0\n });\n const reason = hexToString3(`0x${code.substring(138)}`);\n throw new Error(reason);\n }\n return receipt;\n}\n\n// src/actions/transactions/watchPendingTransactions.ts\nimport { shallow as shallow6 } from \"zustand/shallow\";\nfunction watchPendingTransactions(args, callback) {\n let unwatch;\n const createListener = (publicClient) => {\n if (unwatch)\n unwatch();\n unwatch = publicClient.watchPendingTransactions({\n onTransactions: callback,\n poll: true\n });\n };\n const publicClient_ = getWebSocketPublicClient({ chainId: args.chainId }) ?? getPublicClient({ chainId: args.chainId });\n createListener(publicClient_);\n const config2 = getConfig();\n const unsubscribe = config2.subscribe(\n ({ publicClient, webSocketPublicClient }) => ({\n publicClient,\n webSocketPublicClient\n }),\n async ({ publicClient, webSocketPublicClient }) => {\n const publicClient_2 = webSocketPublicClient ?? publicClient;\n if (!args.chainId && publicClient_2) {\n createListener(publicClient_2);\n }\n },\n {\n equalityFn: shallow6\n }\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/utils/assertActiveChain.ts\nfunction assertActiveChain({ chainId }) {\n const { chain: activeChain, chains } = getNetwork();\n const activeChainId = activeChain?.id;\n if (activeChainId && chainId !== activeChainId) {\n throw new ChainMismatchError({\n activeChain: chains.find((x) => x.id === activeChainId)?.name ?? `Chain ${activeChainId}`,\n targetChain: chains.find((x) => x.id === chainId)?.name ?? `Chain ${chainId}`\n });\n }\n}\n\nexport {\n configureChains,\n ChainMismatchError,\n ChainNotConfiguredError,\n ConnectorAlreadyConnectedError,\n ConfigChainsNotFound,\n SwitchChainNotSupportedError,\n ConnectorNotFoundError,\n deepEqual,\n deserialize,\n getCallParameters,\n getSendTransactionParameters,\n getUnit,\n serialize,\n noopStorage,\n createStorage,\n Config,\n createConfig,\n getConfig,\n connect,\n disconnect,\n erc20ABI,\n erc721ABI,\n erc4626ABI,\n fetchToken,\n getPublicClient,\n getWalletClient,\n getWebSocketPublicClient,\n watchPublicClient,\n watchWalletClient,\n watchWebSocketPublicClient,\n prepareWriteContract,\n getContract,\n multicall,\n readContract,\n readContracts,\n watchContractEvent,\n watchBlockNumber,\n watchMulticall,\n watchReadContract,\n watchReadContracts,\n writeContract,\n fetchBalance,\n getAccount,\n getNetwork,\n signMessage,\n signTypedData,\n switchNetwork,\n watchAccount,\n watchNetwork,\n fetchEnsAddress,\n fetchEnsAvatar,\n fetchEnsName,\n fetchEnsResolver,\n fetchBlockNumber,\n fetchFeeData,\n fetchTransaction,\n prepareSendTransaction,\n sendTransaction,\n waitForTransaction,\n watchPendingTransactions\n};\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\n\nexport {\n __privateGet,\n __privateAdd,\n __privateSet,\n __privateMethod\n};\n","import { panicReasons } from '../../constants/solidity.js';\nimport { BaseError } from '../../errors/base.js';\nimport { ContractFunctionRevertedError } from '../../errors/contract.js';\n/*\n * @description Checks if error is a valid null result UniversalResolver error\n */\nexport function isNullUniversalResolverError(err, callType) {\n if (!(err instanceof BaseError))\n return false;\n const cause = err.walk((e) => e instanceof ContractFunctionRevertedError);\n if (!(cause instanceof ContractFunctionRevertedError))\n return false;\n if (cause.data?.errorName === 'ResolverNotFound')\n return true;\n if (cause.data?.errorName === 'ResolverWildcardNotSupported')\n return true;\n if (cause.data?.errorName === 'ResolverNotContract')\n return true;\n if (cause.data?.errorName === 'ResolverError')\n return true;\n if (cause.data?.errorName === 'HttpError')\n return true;\n // Backwards compatibility for older UniversalResolver contracts\n if (cause.reason?.includes('Wildcard on non-extended resolvers is not supported'))\n return true;\n // No primary name set for address.\n if (callType === 'reverse' && cause.reason === panicReasons[50])\n return true;\n return false;\n}\n//# sourceMappingURL=errors.js.map","import { isHex } from '../data/isHex.js';\nexport function encodedLabelToLabelhash(label) {\n if (label.length !== 66)\n return null;\n if (label.indexOf('[') !== 0)\n return null;\n if (label.indexOf(']') !== 65)\n return null;\n const hash = `0x${label.slice(1, 65)}`;\n if (!isHex(hash))\n return null;\n return hash;\n}\n//# sourceMappingURL=encodedLabelToLabelhash.js.map","import { concat } from '../data/concat.js';\nimport { stringToBytes, toBytes, } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { encodedLabelToLabelhash, } from './encodedLabelToLabelhash.js';\n/**\n * @description Hashes ENS name\n *\n * - Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `namehash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize) function for this.\n *\n * @example\n * namehash('wevm.eth')\n * '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'\n *\n * @link https://eips.ethereum.org/EIPS/eip-137\n */\nexport function namehash(name) {\n let result = new Uint8Array(32).fill(0);\n if (!name)\n return bytesToHex(result);\n const labels = name.split('.');\n // Iterate in reverse order building up hash\n for (let i = labels.length - 1; i >= 0; i -= 1) {\n const hashFromEncodedLabel = encodedLabelToLabelhash(labels[i]);\n const hashed = hashFromEncodedLabel\n ? toBytes(hashFromEncodedLabel)\n : keccak256(stringToBytes(labels[i]), 'bytes');\n result = keccak256(concat([result, hashed]), 'bytes');\n }\n return bytesToHex(result);\n}\n//# sourceMappingURL=namehash.js.map","import { stringToBytes, } from '../encoding/toBytes.js';\nimport { encodeLabelhash, } from './encodeLabelhash.js';\nimport { labelhash } from './labelhash.js';\n/*\n * @description Encodes a DNS packet into a ByteArray containing a UDP payload.\n *\n * @example\n * packetToBytes('awkweb.eth')\n * '0x0661776b7765620365746800'\n *\n * @see https://docs.ens.domains/resolution/names#dns\n *\n */\nexport function packetToBytes(packet) {\n // strip leading and trailing `.`\n const value = packet.replace(/^\\.|\\.$/gm, '');\n if (value.length === 0)\n return new Uint8Array(1);\n const bytes = new Uint8Array(stringToBytes(value).byteLength + 2);\n let offset = 0;\n const list = value.split('.');\n for (let i = 0; i < list.length; i++) {\n let encoded = stringToBytes(list[i]);\n // if the length is > 255, make the encoded label value a labelhash\n // this is compatible with the universal resolver\n if (encoded.byteLength > 255)\n encoded = stringToBytes(encodeLabelhash(labelhash(list[i])));\n bytes[offset] = encoded.length;\n bytes.set(encoded, offset + 1);\n offset += encoded.length + 1;\n }\n if (bytes.byteLength !== offset + 1)\n return bytes.slice(0, offset + 1);\n return bytes;\n}\n//# sourceMappingURL=packetToBytes.js.map","export function encodeLabelhash(hash) {\n return `[${hash.slice(2)}]`;\n}\n//# sourceMappingURL=encodeLabelhash.js.map","import { stringToBytes, } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { encodedLabelToLabelhash, } from './encodedLabelToLabelhash.js';\n/**\n * @description Hashes ENS label\n *\n * - Since ENS labels prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS labels](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `labelhash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize) function for this.\n *\n * @example\n * labelhash('eth')\n * '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'\n */\nexport function labelhash(label) {\n const result = new Uint8Array(32).fill(0);\n if (!label)\n return bytesToHex(result);\n return encodedLabelToLabelhash(label) || keccak256(stringToBytes(label));\n}\n//# sourceMappingURL=labelhash.js.map","import { AbiDecodingZeroDataError } from '../../errors/abi.js';\nimport { BaseError } from '../../errors/base.js';\nimport { ContractFunctionExecutionError, ContractFunctionRevertedError, ContractFunctionZeroDataError, RawContractError, } from '../../errors/contract.js';\nimport { InternalRpcError } from '../../errors/rpc.js';\nconst EXECUTION_REVERTED_ERROR_CODE = 3;\nexport function getContractError(err, { abi, address, args, docsPath, functionName, sender, }) {\n const { code, data, message, shortMessage } = (err instanceof RawContractError\n ? err\n : err instanceof BaseError\n ? err.walk((err) => 'data' in err) || err.walk()\n : {});\n const cause = (() => {\n if (err instanceof AbiDecodingZeroDataError)\n return new ContractFunctionZeroDataError({ functionName });\n if ([EXECUTION_REVERTED_ERROR_CODE, InternalRpcError.code].includes(code) &&\n (data || message || shortMessage)) {\n return new ContractFunctionRevertedError({\n abi,\n data: typeof data === 'object' ? data.data : data,\n functionName,\n message: shortMessage ?? message,\n });\n }\n return err;\n })();\n return new ContractFunctionExecutionError(cause, {\n abi,\n args,\n contractAddress: address,\n docsPath,\n functionName,\n sender,\n });\n}\n//# sourceMappingURL=getContractError.js.map","import { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getContractError, } from '../../utils/errors/getContractError.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { call } from './call.js';\n/**\n * Calls a read-only function on a contract, and returns the response.\n *\n * - Docs: https://viem.sh/docs/contract/readContract\n * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/reading-contracts\n *\n * A \"read-only\" function (constant function) on a Solidity contract is denoted by a `view` or `pure` keyword. They can only read the state of the contract, and cannot make any changes to it. Since read-only methods do not change the state of the contract, they do not require any gas to be executed, and can be called by any user without the need to pay for gas.\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public) to call the [`call` action](https://viem.sh/docs/actions/public/call) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData).\n *\n * @param client - Client to use\n * @param parameters - {@link ReadContractParameters}\n * @returns The response from the contract. Type is inferred. {@link ReadContractReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { readContract } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const result = await readContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function balanceOf(address) view returns (uint256)']),\n * functionName: 'balanceOf',\n * args: ['0xA0Cf798816D4b9b9866b5330EEa46a18382f251e'],\n * })\n * // 424122n\n */\nexport async function readContract(client, parameters) {\n const { abi, address, args, functionName, ...rest } = parameters;\n const calldata = encodeFunctionData({\n abi,\n args,\n functionName,\n });\n try {\n const { data } = await getAction(client, call, 'call')({\n ...rest,\n data: calldata,\n to: address,\n });\n return decodeFunctionResult({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n }\n catch (error) {\n throw getContractError(error, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/readContract',\n functionName,\n });\n }\n}\n//# sourceMappingURL=readContract.js.map","import { addressResolverAbi, universalResolverResolveAbi, } from '../../constants/abis.js';\nimport { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getChainContractAddress, } from '../../utils/chain/getChainContractAddress.js';\nimport { trim } from '../../utils/data/trim.js';\nimport { toHex } from '../../utils/encoding/toHex.js';\nimport { isNullUniversalResolverError } from '../../utils/ens/errors.js';\nimport { namehash } from '../../utils/ens/namehash.js';\nimport { packetToBytes, } from '../../utils/ens/packetToBytes.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { readContract, } from '../public/readContract.js';\n/**\n * Gets address for ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsAddress\n * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/ens\n *\n * Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsAddressParameters}\n * @returns Address for ENS name or `null` if not found. {@link GetEnsAddressReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsAddress, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const ensAddress = await getEnsAddress(client, {\n * name: normalize('wevm.eth'),\n * })\n * // '0xd2135CfB216b74109775236E36d4b433F1DF507B'\n */\nexport async function getEnsAddress(client, { blockNumber, blockTag, coinType, name, gatewayUrls, strict, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n try {\n const functionData = encodeFunctionData({\n abi: addressResolverAbi,\n functionName: 'addr',\n ...(coinType != null\n ? { args: [namehash(name), BigInt(coinType)] }\n : { args: [namehash(name)] }),\n });\n const readContractParameters = {\n address: universalResolverAddress,\n abi: universalResolverResolveAbi,\n functionName: 'resolve',\n args: [toHex(packetToBytes(name)), functionData],\n blockNumber,\n blockTag,\n };\n const readContractAction = getAction(client, readContract, 'readContract');\n const res = gatewayUrls\n ? await readContractAction({\n ...readContractParameters,\n args: [...readContractParameters.args, gatewayUrls],\n })\n : await readContractAction(readContractParameters);\n if (res[0] === '0x')\n return null;\n const address = decodeFunctionResult({\n abi: addressResolverAbi,\n args: coinType != null ? [namehash(name), BigInt(coinType)] : undefined,\n functionName: 'addr',\n data: res[0],\n });\n if (address === '0x')\n return null;\n if (trim(address) === '0x00')\n return null;\n return address;\n }\n catch (err) {\n if (strict)\n throw err;\n if (isNullUniversalResolverError(err, 'resolve'))\n return null;\n throw err;\n }\n}\n//# sourceMappingURL=getEnsAddress.js.map","import { BaseError } from './base.js';\nexport class EnsAvatarInvalidMetadataError extends BaseError {\n constructor({ data }) {\n super('Unable to extract image from metadata. The metadata may be malformed or invalid.', {\n metaMessages: [\n '- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.',\n '',\n `Provided data: ${JSON.stringify(data)}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarInvalidMetadataError'\n });\n }\n}\nexport class EnsAvatarInvalidNftUriError extends BaseError {\n constructor({ reason }) {\n super(`ENS NFT avatar URI is invalid. ${reason}`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarInvalidNftUriError'\n });\n }\n}\nexport class EnsAvatarUriResolutionError extends BaseError {\n constructor({ uri }) {\n super(`Unable to resolve ENS avatar URI \"${uri}\". The URI may be malformed, invalid, or does not respond with a valid image.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarUriResolutionError'\n });\n }\n}\nexport class EnsAvatarUnsupportedNamespaceError extends BaseError {\n constructor({ namespace }) {\n super(`ENS NFT avatar namespace \"${namespace}\" is not supported. Must be \"erc721\" or \"erc1155\".`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarUnsupportedNamespaceError'\n });\n }\n}\n//# sourceMappingURL=ens.js.map","import { readContract, } from '../../../actions/public/readContract.js';\nimport { EnsAvatarInvalidMetadataError, EnsAvatarInvalidNftUriError, EnsAvatarUnsupportedNamespaceError, EnsAvatarUriResolutionError, } from '../../../errors/ens.js';\nconst networkRegex = /(?https?:\\/\\/[^\\/]*|ipfs:\\/|ipns:\\/|ar:\\/)?(?\\/)?(?ipfs\\/|ipns\\/)?(?[\\w\\-.]+)(?\\/.*)?/;\nconst ipfsHashRegex = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\\/(?[\\w\\-.]+))?(?\\/.*)?$/;\nconst base64Regex = /^data:([a-zA-Z\\-/+]*);base64,([^\"].*)/;\nconst dataURIRegex = /^data:([a-zA-Z\\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;\n/** @internal */\nexport async function isImageUri(uri) {\n try {\n const res = await fetch(uri, { method: 'HEAD' });\n // retrieve content type header to check if content is image\n if (res.status === 200) {\n const contentType = res.headers.get('content-type');\n return contentType?.startsWith('image/');\n }\n return false;\n }\n catch (error) {\n // if error is not cors related then fail\n if (typeof error === 'object' && typeof error.response !== 'undefined') {\n return false;\n }\n // fail in NodeJS, since the error is not cors but any other network issue\n // biome-ignore lint/suspicious/noPrototypeBuiltins:\n if (!globalThis.hasOwnProperty('Image'))\n return false;\n // in case of cors, use image api to validate if given url is an actual image\n return new Promise((resolve) => {\n const img = new Image();\n img.onload = () => {\n resolve(true);\n };\n img.onerror = () => {\n resolve(false);\n };\n img.src = uri;\n });\n }\n}\n/** @internal */\nexport function getGateway(custom, defaultGateway) {\n if (!custom)\n return defaultGateway;\n if (custom.endsWith('/'))\n return custom.slice(0, -1);\n return custom;\n}\nexport function resolveAvatarUri({ uri, gatewayUrls, }) {\n const isEncoded = base64Regex.test(uri);\n if (isEncoded)\n return { uri, isOnChain: true, isEncoded };\n const ipfsGateway = getGateway(gatewayUrls?.ipfs, 'https://ipfs.io');\n const arweaveGateway = getGateway(gatewayUrls?.arweave, 'https://arweave.net');\n const networkRegexMatch = uri.match(networkRegex);\n const { protocol, subpath, target, subtarget = '', } = networkRegexMatch?.groups || {};\n const isIPNS = protocol === 'ipns:/' || subpath === 'ipns/';\n const isIPFS = protocol === 'ipfs:/' || subpath === 'ipfs/' || ipfsHashRegex.test(uri);\n if (uri.startsWith('http') && !isIPNS && !isIPFS) {\n let replacedUri = uri;\n if (gatewayUrls?.arweave)\n replacedUri = uri.replace(/https:\\/\\/arweave.net/g, gatewayUrls?.arweave);\n return { uri: replacedUri, isOnChain: false, isEncoded: false };\n }\n if ((isIPNS || isIPFS) && target) {\n return {\n uri: `${ipfsGateway}/${isIPNS ? 'ipns' : 'ipfs'}/${target}${subtarget}`,\n isOnChain: false,\n isEncoded: false,\n };\n }\n if (protocol === 'ar:/' && target) {\n return {\n uri: `${arweaveGateway}/${target}${subtarget || ''}`,\n isOnChain: false,\n isEncoded: false,\n };\n }\n let parsedUri = uri.replace(dataURIRegex, '');\n if (parsedUri.startsWith('