@bitgo/abstract-utxo 12.6.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/cjs/src/abstractUtxoCoin.d.ts +7 -2
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
  3. package/dist/cjs/src/abstractUtxoCoin.js +19 -34
  4. package/dist/cjs/src/address/fixedScript.d.ts +4 -4
  5. package/dist/cjs/src/address/fixedScript.d.ts.map +1 -1
  6. package/dist/cjs/src/address/fixedScript.js +4 -3
  7. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
  8. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  9. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +3 -4
  10. package/dist/cjs/src/impl/bch/bch.d.ts +15 -1
  11. package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -1
  12. package/dist/cjs/src/impl/bch/bch.js +29 -5
  13. package/dist/cjs/src/impl/btc/index.d.ts +2 -0
  14. package/dist/cjs/src/impl/btc/index.d.ts.map +1 -1
  15. package/dist/cjs/src/impl/btc/index.js +3 -1
  16. package/dist/cjs/src/impl/btc/inscriptionBuilder.js +4 -4
  17. package/dist/cjs/src/impl/btc/tbtcstx.d.ts +10 -0
  18. package/dist/cjs/src/impl/btc/tbtcstx.d.ts.map +1 -0
  19. package/dist/cjs/src/impl/btc/tbtcstx.js +18 -0
  20. package/dist/cjs/src/impl/btc/tbtcstxprivate1.d.ts +9 -0
  21. package/dist/cjs/src/impl/btc/tbtcstxprivate1.d.ts.map +1 -0
  22. package/dist/cjs/src/impl/btc/tbtcstxprivate1.js +15 -0
  23. package/dist/cjs/src/impl/zec/address.d.ts +51 -0
  24. package/dist/cjs/src/impl/zec/address.d.ts.map +1 -1
  25. package/dist/cjs/src/impl/zec/address.js +103 -1
  26. package/dist/cjs/src/impl/zec/recipients.d.ts +4 -2
  27. package/dist/cjs/src/impl/zec/recipients.d.ts.map +1 -1
  28. package/dist/cjs/src/impl/zec/recipients.js +7 -3
  29. package/dist/cjs/src/impl/zec/types.d.ts +5 -2
  30. package/dist/cjs/src/impl/zec/types.d.ts.map +1 -1
  31. package/dist/cjs/src/impl/zec/types.js +1 -1
  32. package/dist/cjs/src/impl/zec/zec.d.ts +23 -2
  33. package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -1
  34. package/dist/cjs/src/impl/zec/zec.js +61 -2
  35. package/dist/cjs/src/names.d.ts +5 -2
  36. package/dist/cjs/src/names.d.ts.map +1 -1
  37. package/dist/cjs/src/names.js +19 -1
  38. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +2 -2
  39. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  40. package/dist/cjs/src/recovery/backupKeyRecovery.js +5 -5
  41. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
  42. package/dist/cjs/src/recovery/crossChainRecovery.js +4 -4
  43. package/dist/cjs/src/transaction/decode.d.ts +2 -2
  44. package/dist/cjs/src/transaction/decode.d.ts.map +1 -1
  45. package/dist/cjs/src/transaction/decode.js +3 -2
  46. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +2 -2
  47. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  48. package/dist/cjs/src/transaction/descriptor/explainPsbt.js +6 -5
  49. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
  50. package/dist/cjs/src/transaction/descriptor/parse.js +3 -4
  51. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
  52. package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +2 -3
  53. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  54. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +2 -3
  55. package/dist/cjs/src/transaction/explainTransaction.d.ts +3 -2
  56. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -1
  57. package/dist/cjs/src/transaction/explainTransaction.js +3 -2
  58. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +2 -0
  59. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
  60. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +4 -1
  61. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
  62. package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +11 -5
  63. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +4 -4
  64. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -1
  65. package/dist/cjs/src/transaction/fixedScript/replayProtection.js +1 -1
  66. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +2 -2
  67. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
  68. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +1 -1
  69. package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -1
  70. package/dist/cjs/src/transaction/parseTransaction.js +2 -3
  71. package/dist/cjs/src/transaction/recipient.d.ts +30 -4
  72. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
  73. package/dist/cjs/src/transaction/recipient.js +48 -9
  74. package/dist/cjs/src/transaction/signTransaction.js +2 -2
  75. package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -1
  76. package/dist/cjs/src/transaction/verifyTransaction.js +2 -3
  77. package/dist/cjs/test/unit/bip322.js +14 -4
  78. package/dist/cjs/test/unit/customChangeWallet.js +3 -1
  79. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -1
  80. package/dist/cjs/test/unit/descriptorAddress.js +24 -4
  81. package/dist/cjs/test/unit/impl/bch/unit/bch.js +9 -1
  82. package/dist/cjs/test/unit/impl/zec/psbtDecode.d.ts +2 -0
  83. package/dist/cjs/test/unit/impl/zec/psbtDecode.d.ts.map +1 -0
  84. package/dist/cjs/test/unit/impl/zec/psbtDecode.js +69 -0
  85. package/dist/cjs/test/unit/impl/zec/shieldedPrebuildAndSign.d.ts +2 -0
  86. package/dist/cjs/test/unit/impl/zec/shieldedPrebuildAndSign.d.ts.map +1 -0
  87. package/dist/cjs/test/unit/impl/zec/shieldedPrebuildAndSign.js +329 -0
  88. package/dist/cjs/test/unit/impl/zec/unit/address.js +162 -1
  89. package/dist/cjs/test/unit/impl/zec/unit/resolvePsbtRecipients.js +7 -5
  90. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +2 -2
  91. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +2 -2
  92. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +2 -2
  93. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -1
  94. package/dist/cjs/test/unit/recovery/mock.js +5 -3
  95. package/dist/cjs/test/unit/tbtcstx.d.ts +2 -0
  96. package/dist/cjs/test/unit/tbtcstx.d.ts.map +1 -0
  97. package/dist/cjs/test/unit/tbtcstx.js +60 -0
  98. package/dist/cjs/test/unit/tbtcstxprivate1.d.ts +2 -0
  99. package/dist/cjs/test/unit/tbtcstxprivate1.d.ts.map +1 -0
  100. package/dist/cjs/test/unit/tbtcstxprivate1.js +61 -0
  101. package/dist/cjs/test/unit/transaction/addressCodec.d.ts +2 -0
  102. package/dist/cjs/test/unit/transaction/addressCodec.d.ts.map +1 -0
  103. package/dist/cjs/test/unit/transaction/addressCodec.js +30 -0
  104. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +9 -1
  105. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +2 -1
  106. package/dist/cjs/test/unit/transaction.js +2 -2
  107. package/dist/cjs/test/unit/util/address.d.ts +2 -1
  108. package/dist/cjs/test/unit/util/address.d.ts.map +1 -1
  109. package/dist/cjs/test/unit/util/address.js +3 -2
  110. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -1
  111. package/dist/cjs/test/unit/util/nockIndexerAPI.js +3 -4
  112. package/dist/cjs/test/unit/util/transaction.d.ts +1 -1
  113. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -1
  114. package/dist/cjs/test/unit/util/transaction.js +5 -4
  115. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -1
  116. package/dist/cjs/test/unit/util/unspents.js +3 -3
  117. package/dist/cjs/test/unit/util/utxoCoins.d.ts +2 -2
  118. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -1
  119. package/dist/cjs/test/unit/util/utxoCoins.js +17 -33
  120. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  121. package/dist/esm/abstractUtxoCoin.d.ts +7 -2
  122. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
  123. package/dist/esm/abstractUtxoCoin.js +21 -36
  124. package/dist/esm/address/fixedScript.d.ts +4 -4
  125. package/dist/esm/address/fixedScript.d.ts.map +1 -1
  126. package/dist/esm/address/fixedScript.js +4 -3
  127. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
  128. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  129. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +3 -4
  130. package/dist/esm/impl/bch/bch.d.ts +15 -1
  131. package/dist/esm/impl/bch/bch.d.ts.map +1 -1
  132. package/dist/esm/impl/bch/bch.js +29 -5
  133. package/dist/esm/impl/btc/index.d.ts +2 -0
  134. package/dist/esm/impl/btc/index.d.ts.map +1 -1
  135. package/dist/esm/impl/btc/index.js +3 -1
  136. package/dist/esm/impl/btc/inscriptionBuilder.js +4 -4
  137. package/dist/esm/impl/btc/tbtcstx.d.ts +10 -0
  138. package/dist/esm/impl/btc/tbtcstx.d.ts.map +1 -0
  139. package/dist/esm/impl/btc/tbtcstx.js +14 -0
  140. package/dist/esm/impl/btc/tbtcstxprivate1.d.ts +9 -0
  141. package/dist/esm/impl/btc/tbtcstxprivate1.d.ts.map +1 -0
  142. package/dist/esm/impl/btc/tbtcstxprivate1.js +11 -0
  143. package/dist/esm/impl/zec/address.d.ts +51 -0
  144. package/dist/esm/impl/zec/address.d.ts.map +1 -1
  145. package/dist/esm/impl/zec/address.js +102 -2
  146. package/dist/esm/impl/zec/recipients.d.ts +4 -2
  147. package/dist/esm/impl/zec/recipients.d.ts.map +1 -1
  148. package/dist/esm/impl/zec/recipients.js +7 -3
  149. package/dist/esm/impl/zec/types.d.ts +5 -2
  150. package/dist/esm/impl/zec/types.d.ts.map +1 -1
  151. package/dist/esm/impl/zec/types.js +1 -1
  152. package/dist/esm/impl/zec/zec.d.ts +23 -2
  153. package/dist/esm/impl/zec/zec.d.ts.map +1 -1
  154. package/dist/esm/impl/zec/zec.js +62 -3
  155. package/dist/esm/names.d.ts +5 -2
  156. package/dist/esm/names.d.ts.map +1 -1
  157. package/dist/esm/names.js +18 -1
  158. package/dist/esm/recovery/backupKeyRecovery.d.ts +2 -2
  159. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
  160. package/dist/esm/recovery/backupKeyRecovery.js +6 -6
  161. package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
  162. package/dist/esm/recovery/crossChainRecovery.js +4 -4
  163. package/dist/esm/transaction/decode.d.ts +2 -2
  164. package/dist/esm/transaction/decode.d.ts.map +1 -1
  165. package/dist/esm/transaction/decode.js +3 -2
  166. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +2 -2
  167. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  168. package/dist/esm/transaction/descriptor/explainPsbt.js +6 -5
  169. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
  170. package/dist/esm/transaction/descriptor/parse.js +3 -4
  171. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
  172. package/dist/esm/transaction/descriptor/parseToAmountType.js +2 -3
  173. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  174. package/dist/esm/transaction/descriptor/verifyTransaction.js +2 -3
  175. package/dist/esm/transaction/explainTransaction.d.ts +3 -2
  176. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
  177. package/dist/esm/transaction/explainTransaction.js +3 -2
  178. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +2 -0
  179. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
  180. package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +4 -1
  181. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
  182. package/dist/esm/transaction/fixedScript/parseTransaction.js +11 -5
  183. package/dist/esm/transaction/fixedScript/replayProtection.d.ts +4 -4
  184. package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -1
  185. package/dist/esm/transaction/fixedScript/replayProtection.js +1 -1
  186. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +2 -2
  187. package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
  188. package/dist/esm/transaction/fixedScript/signTransaction.js +1 -1
  189. package/dist/esm/transaction/parseTransaction.d.ts.map +1 -1
  190. package/dist/esm/transaction/parseTransaction.js +2 -3
  191. package/dist/esm/transaction/recipient.d.ts +30 -4
  192. package/dist/esm/transaction/recipient.d.ts.map +1 -1
  193. package/dist/esm/transaction/recipient.js +48 -9
  194. package/dist/esm/transaction/signTransaction.js +2 -2
  195. package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -1
  196. package/dist/esm/transaction/verifyTransaction.js +2 -3
  197. package/package.json +6 -5
@@ -1,9 +1,111 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZecAddressCodec = void 0;
3
4
  exports.isShieldedZcashAddress = isShieldedZcashAddress;
4
5
  exports.getZcashAddressKind = getZcashAddressKind;
5
6
  exports.isValidZcashAddress = isValidZcashAddress;
6
7
  const wasm_utxo_1 = require("@bitgo/wasm-utxo");
8
+ const recipient_1 = require("../../transaction/recipient");
9
+ /**
10
+ * Address codec for Zcash coins ('zec'/'tzec') that understands ZIP-316
11
+ * Unified Addresses in addition to ordinary transparent addresses.
12
+ *
13
+ * - `decode` resolves the bytes a recipient pays to (see its doc): by default
14
+ * the transparent scriptPubKey; with `unifiedRecipientPreference: 'shielded'`
15
+ * the raw Orchard/Ironwood receiver of a Unified Address.
16
+ * - `encode`/`toExtendedAddressFormat` are unchanged: scripts can only be
17
+ * written back out as transparent addresses.
18
+ * - `isValidAddress` accepts transparent addresses and Unified Addresses with
19
+ * a transparent or Orchard receiver.
20
+ */
21
+ class ZecAddressCodec extends recipient_1.AddressCodec {
22
+ constructor(coinName, wasmName, unifiedRecipientPreference = 'transparent') {
23
+ super(coinName, wasmName);
24
+ this.zcashNetworkName = wasmName;
25
+ this.unifiedRecipientPreference = unifiedRecipientPreference;
26
+ }
27
+ /**
28
+ * Whether `address` is a valid Zcash address for this coin's network.
29
+ *
30
+ * Mirrors the pre-codec `Zec.isValidAddress` logic exactly: the address is
31
+ * valid iff it has a usable transparent receiver (an ordinary transparent
32
+ * address, or a UA carrying a transparent receiver) or an Orchard receiver
33
+ * (a UA carrying one).
34
+ */
35
+ isValidAddress(address) {
36
+ return (wasm_utxo_1.zcashAddress.hasTransparentReceiver(address, this.wasmName) ||
37
+ wasm_utxo_1.zcashAddress.hasOrchardReceiver(address, this.wasmName));
38
+ }
39
+ /**
40
+ * Resolve `address` to the bytes this codec's unified-recipient preference pays to.
41
+ *
42
+ * - `'transparent'` (default) resolves the scriptPubKey: an ordinary
43
+ * transparent address decodes to its own script, and a UA with a
44
+ * transparent receiver decodes to that receiver's script. A UA without a
45
+ * transparent receiver (e.g. Orchard-only) throws, since a shielded
46
+ * output has no script.
47
+ * - `'shielded'` resolves the raw Orchard (Ironwood) receiver — the
48
+ * 43-byte diversifier + `pk_d` — of a UA carrying one. Any other address
49
+ * (plain transparent, transparent-only UA, malformed, wrong network)
50
+ * throws, since it has no Orchard receiver to resolve.
51
+ */
52
+ decode(address) {
53
+ if (this.unifiedRecipientPreference !== 'shielded') {
54
+ return wasm_utxo_1.zcashAddress.toTransparentReceiverWithCoin(address, this.wasmName);
55
+ }
56
+ // The raw Orchard receiver exists only for a Unified Address carrying one; anything else
57
+ // (plain transparent address, transparent-only UA, malformed, wrong network) throws.
58
+ let unified;
59
+ try {
60
+ unified = wasm_utxo_1.fixedScriptWallet.ZcashUnifiedAddress.parse(address, this.zcashNetworkName);
61
+ }
62
+ catch {
63
+ throw new Error(`address ${address} is not a valid address for network ${this.zcashNetworkName}`);
64
+ }
65
+ if (!unified?.hasOrchardReceiver) {
66
+ throw new Error(`address ${address} has no Orchard receiver to resolve as shielded`);
67
+ }
68
+ return wasm_utxo_1.zcashAddress.toShieldedReceiverWithCoin(address, this.wasmName);
69
+ }
70
+ /** Change addresses are always transparent wallet addresses. */
71
+ decodeChangeAddress(address) {
72
+ return wasm_utxo_1.zcashAddress.toTransparentReceiverWithCoin(address, this.wasmName);
73
+ }
74
+ isMatchingScript(output) {
75
+ const address = output.address;
76
+ if (address === undefined || address === null) {
77
+ return true;
78
+ }
79
+ if (recipient_1.AddressCodec.isScriptRecipient(address)) {
80
+ return super.isMatchingScript(output);
81
+ }
82
+ const matchesOutput = (decode) => {
83
+ try {
84
+ return Buffer.from(decode()).equals(Buffer.from(output.script));
85
+ }
86
+ catch {
87
+ return false;
88
+ }
89
+ };
90
+ const isShielded = output.isShielded;
91
+ if (isShielded === true) {
92
+ return matchesOutput(() => wasm_utxo_1.zcashAddress.toShieldedReceiverWithCoin(address, this.wasmName));
93
+ }
94
+ if (isShielded === false) {
95
+ return matchesOutput(() => wasm_utxo_1.zcashAddress.toTransparentReceiverWithCoin(address, this.wasmName));
96
+ }
97
+ return (matchesOutput(() => wasm_utxo_1.zcashAddress.toTransparentReceiverWithCoin(address, this.wasmName)) ||
98
+ matchesOutput(() => wasm_utxo_1.zcashAddress.toShieldedReceiverWithCoin(address, this.wasmName)));
99
+ }
100
+ /** Preserve a shielded output's original UA only after validating it against the raw script. */
101
+ toExtendedAddressFormat(script, address) {
102
+ if (address !== undefined && !this.isMatchingScript({ address, script })) {
103
+ throw new Error(`address ${address} does not match the output script`);
104
+ }
105
+ return address ?? super.toExtendedAddressFormat(script);
106
+ }
107
+ }
108
+ exports.ZecAddressCodec = ZecAddressCodec;
7
109
  /**
8
110
  * Whether `address` is a well-formed ZIP-316 Unified Address for `network`
9
111
  * with an Orchard receiver. BitGo only supports Orchard, so a UA without one
@@ -52,4 +154,4 @@ function getZcashAddressKind(address, network) {
52
154
  function isValidZcashAddress(address, network) {
53
155
  return getZcashAddressKind(address, network) !== undefined;
54
156
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsL3plYy9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esd0RBTUM7QUFPRCxrREFnQkM7QUFjRCxrREFFQztBQXRERCxnREFBeUY7QUFJekY7Ozs7R0FJRztBQUNILFNBQWdCLHNCQUFzQixDQUFDLE9BQWUsRUFBRSxPQUEyQztJQUNqRyxJQUFJLENBQUM7UUFDSCxPQUFPLDZCQUFpQixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsa0JBQWtCLENBQUM7SUFDMUYsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQ2pDLE9BQWUsRUFDZixPQUEyQztJQUUzQyxrRkFBa0Y7SUFDbEYsZ0ZBQWdGO0lBQ2hGLGlGQUFpRjtJQUNqRixJQUFJLElBQUEsc0JBQVUsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQztZQUNILG1CQUFXLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxrRUFBa0U7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsT0FBZSxFQUFFLE9BQTJDO0lBQzlGLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyBhcyB3YXNtQWRkcmVzcywgZml4ZWRTY3JpcHRXYWxsZXQsIGlzQ29pbk5hbWUgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuZXhwb3J0IHR5cGUgWmNhc2hBZGRyZXNzS2luZCA9ICd0cmFuc3BhcmVudCcgfCAnc2hpZWxkZWQnO1xuXG4vKipcbiAqIFdoZXRoZXIgYGFkZHJlc3NgIGlzIGEgd2VsbC1mb3JtZWQgWklQLTMxNiBVbmlmaWVkIEFkZHJlc3MgZm9yIGBuZXR3b3JrYFxuICogd2l0aCBhbiBPcmNoYXJkIHJlY2VpdmVyLiBCaXRHbyBvbmx5IHN1cHBvcnRzIE9yY2hhcmQsIHNvIGEgVUEgd2l0aG91dCBvbmVcbiAqIChlLmcuIFNhcGxpbmctIG9yIHRyYW5zcGFyZW50LW9ubHkpIGlzIG5vdCBjb25zaWRlcmVkIHZhbGlkIGhlcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NoaWVsZGVkWmNhc2hBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgbmV0d29yazogZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hOZXR3b3JrTmFtZSk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaFVuaWZpZWRBZGRyZXNzLnBhcnNlKGFkZHJlc3MsIG5ldHdvcmspLmhhc09yY2hhcmRSZWNlaXZlcjtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQ2xhc3NpZnkgYSBaY2FzaCBhZGRyZXNzIHN0cmluZyBhcyB0cmFuc3BhcmVudCBvciBzaGllbGRlZCwgdmFsaWRhdGluZyBpdCBpblxuICogdGhlIHByb2Nlc3MuIFJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBhZGRyZXNzIGlzIG5laXRoZXIgYSB2YWxpZCB0cmFuc3BhcmVudFxuICogYWRkcmVzcyBub3IgYSB3ZWxsLWZvcm1lZCBaSVAtMzE2IFVuaWZpZWQgQWRkcmVzcyBmb3IgYG5ldHdvcmtgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0WmNhc2hBZGRyZXNzS2luZChcbiAgYWRkcmVzczogc3RyaW5nLFxuICBuZXR3b3JrOiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaE5ldHdvcmtOYW1lXG4pOiBaY2FzaEFkZHJlc3NLaW5kIHwgdW5kZWZpbmVkIHtcbiAgLy8gWmNhc2hOZXR3b3JrTmFtZSBhbHNvIHBlcm1pdHMgJ3pjYXNoJy8nemNhc2hUZXN0Jywgd2hpY2ggdG9PdXRwdXRTY3JpcHRXaXRoQ29pblxuICAvLyBkb2Vzbid0IGFjY2VwdCAoaXQgdGFrZXMgYSBDb2luTmFtZSwgaS5lLiAnemVjJy8ndHplYycpLiBTa2lwIHN0cmFpZ2h0IHRvIHRoZVxuICAvLyBzaGllbGRlZCBjaGVjayBmb3IgdGhvc2UgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBhbiB1bnNhZmUgY2FzdCArIGNhdWdodCB0aHJvdy5cbiAgaWYgKGlzQ29pbk5hbWUobmV0d29yaykpIHtcbiAgICB0cnkge1xuICAgICAgd2FzbUFkZHJlc3MudG9PdXRwdXRTY3JpcHRXaXRoQ29pbihhZGRyZXNzLCBuZXR3b3JrKTtcbiAgICAgIHJldHVybiAndHJhbnNwYXJlbnQnO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gbm90IGEgdmFsaWQgdHJhbnNwYXJlbnQgYWRkcmVzczsgZmFsbCB0aHJvdWdoIHRvIHNoaWVsZGVkIGNoZWNrXG4gICAgfVxuICB9XG4gIHJldHVybiBpc1NoaWVsZGVkWmNhc2hBZGRyZXNzKGFkZHJlc3MsIG5ldHdvcmspID8gJ3NoaWVsZGVkJyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBTdGFuZGFsb25lIGNvdW50ZXJwYXJ0IHRvIGBaZWMuaXNWYWxpZEFkZHJlc3NgLCBwYXJhbWV0ZXJpemVkIGJ5IGBuZXR3b3JrYFxuICogaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBjb2luIGluc3RhbmNlLiBBY2NlcHRzIHRyYW5zcGFyZW50IGFkZHJlc3NlcyBhbmRcbiAqIHNoaWVsZGVkIFpJUC0zMTYgVW5pZmllZCBBZGRyZXNzZXMuXG4gKlxuICogTm90IHN0cnVjdHVyYWxseSBpZGVudGljYWwgdG8gYFplYy5pc1ZhbGlkQWRkcmVzc2A6IHRoZSBiYXNlIGNsYXNzIGFsc29cbiAqIHJvdW5kLXRyaXBzIHRoZSBwYXJzZWQgc2NyaXB0IHRocm91Z2ggZWFjaCBrbm93biBlbmNvZGluZyBmb3JtYXQgKHNlZVxuICogYEFic3RyYWN0VXR4b0NvaW4uaXNWYWxpZEFkZHJlc3NgKSwgd2hlcmVhcyB0aGlzIG9ubHkgY2FsbHNcbiAqIGB0b091dHB1dFNjcmlwdFdpdGhDb2luYCBvbmNlIHZpYSBgZ2V0WmNhc2hBZGRyZXNzS2luZGAuIFRoZXkgYWdyZWUgaW5cbiAqIHByYWN0aWNlIHNpbmNlIHplYy90emVjIGhhdmUgbm8gYWx0ZXJuYXRlIHRyYW5zcGFyZW50LWFkZHJlc3MgZW5jb2RpbmcgdG9cbiAqIHJvdW5kLXRyaXAgYWdhaW5zdCwgYnV0IHRoYXQncyBub3QgZ3VhcmFudGVlZCB0byByZW1haW4gdHJ1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRaY2FzaEFkZHJlc3MoYWRkcmVzczogc3RyaW5nLCBuZXR3b3JrOiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaE5ldHdvcmtOYW1lKTogYm9vbGVhbiB7XG4gIHJldHVybiBnZXRaY2FzaEFkZHJlc3NLaW5kKGFkZHJlc3MsIG5ldHdvcmspICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsL3plYy9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1JQSx3REFNQztBQU9ELGtEQWdCQztBQWNELGtEQUVDO0FBaExELGdEQUF1RztBQUd2RywyREFBMkQ7QUFPM0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFhLGVBQWdCLFNBQVEsd0JBQVk7SUFNL0MsWUFDRSxRQUFzQixFQUN0QixRQUEwQixFQUMxQiw2QkFBeUQsYUFBYTtRQUV0RSxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUE4QyxDQUFDO1FBQ3ZFLElBQUksQ0FBQywwQkFBMEIsR0FBRywwQkFBMEIsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNNLGNBQWMsQ0FBQyxPQUFlO1FBQ3JDLE9BQU8sQ0FDTCx3QkFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzNELHdCQUFZLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDTSxNQUFNLENBQUMsT0FBZTtRQUM3QixJQUFJLElBQUksQ0FBQywwQkFBMEIsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNuRCxPQUFPLHdCQUFZLENBQUMsNkJBQTZCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQ0QseUZBQXlGO1FBQ3pGLHFGQUFxRjtRQUNyRixJQUFJLE9BQTBELENBQUM7UUFDL0QsSUFBSSxDQUFDO1lBQ0gsT0FBTyxHQUFHLDZCQUFpQixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFD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LE9BQWUsRUFBRSxPQUEyQztJQUNqRyxJQUFJLENBQUM7UUFDSCxPQUFPLDZCQUFpQixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsa0JBQWtCLENBQUM7SUFDMUYsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQ2pDLE9BQWUsRUFDZixPQUEyQztJQUUzQyxrRkFBa0Y7SUFDbEYsZ0ZBQWdGO0lBQ2hGLGlGQUFpRjtJQUNqRixJQUFJLElBQUEsc0JBQVUsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQztZQUNILG1CQUFXLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxrRUFBa0U7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsT0FBZSxFQUFFLE9BQTJDO0lBQzlGLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyBhcyB3YXNtQWRkcmVzcywgZml4ZWRTY3JpcHRXYWxsZXQsIGlzQ29pbk5hbWUsIHpjYXNoQWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuaW1wb3J0IHR5cGUgeyBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmltcG9ydCB7IEFkZHJlc3NDb2RlYyB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL3JlY2lwaWVudCc7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUsIFdhc21VdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5cbmltcG9ydCB0eXBlIHsgWmVjQWRkcmVzc0NvZGVjT3V0cHV0IH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFpjYXNoQWRkcmVzc0tpbmQgPSAndHJhbnNwYXJlbnQnIHwgJ3NoaWVsZGVkJztcblxuLyoqXG4gKiBBZGRyZXNzIGNvZGVjIGZvciBaY2FzaCBjb2lucyAoJ3plYycvJ3R6ZWMnKSB0aGF0IHVuZGVyc3RhbmRzIFpJUC0zMTZcbiAqIFVuaWZpZWQgQWRkcmVzc2VzIGluIGFkZGl0aW9uIHRvIG9yZGluYXJ5IHRyYW5zcGFyZW50IGFkZHJlc3Nlcy5cbiAqXG4gKiAtIGBkZWNvZGVgIHJlc29sdmVzIHRoZSBieXRlcyBhIHJlY2lwaWVudCBwYXlzIHRvIChzZWUgaXRzIGRvYyk6IGJ5IGRlZmF1bHRcbiAqICAgdGhlIHRyYW5zcGFyZW50IHNjcmlwdFB1YktleTsgd2l0aCBgdW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2U6ICdzaGllbGRlZCdgXG4gKiAgIHRoZSByYXcgT3JjaGFyZC9Jcm9ud29vZCByZWNlaXZlciBvZiBhIFVuaWZpZWQgQWRkcmVzcy5cbiAqIC0gYGVuY29kZWAvYHRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0YCBhcmUgdW5jaGFuZ2VkOiBzY3JpcHRzIGNhbiBvbmx5IGJlXG4gKiAgIHdyaXR0ZW4gYmFjayBvdXQgYXMgdHJhbnNwYXJlbnQgYWRkcmVzc2VzLlxuICogLSBgaXNWYWxpZEFkZHJlc3NgIGFjY2VwdHMgdHJhbnNwYXJlbnQgYWRkcmVzc2VzIGFuZCBVbmlmaWVkIEFkZHJlc3NlcyB3aXRoXG4gKiAgIGEgdHJhbnNwYXJlbnQgb3IgT3JjaGFyZCByZWNlaXZlci5cbiAqL1xuZXhwb3J0IGNsYXNzIFplY0FkZHJlc3NDb2RlYyBleHRlbmRzIEFkZHJlc3NDb2RlYyB7XG4gIC8qKiBUaGUgWmNhc2ggbmV0d29yayBuYW1lIGZvciB3YXNtIGNhbGxzIOKAlCAnemVjJyBvciAndHplYycuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgemNhc2hOZXR3b3JrTmFtZTogZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hOZXR3b3JrTmFtZTtcbiAgLyoqIEhvdyBVbmlmaWVkIEFkZHJlc3MgcmVjaXBpZW50cyByZXNvbHZlIHdoZW4gdGhpcyBjb2RlYyBkZWNvZGVzIHRoZW0uICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2U6IFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsXG4gICAgd2FzbU5hbWU6IFdhc21VdHhvQ29pbk5hbWUsXG4gICAgdW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2U6IFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlID0gJ3RyYW5zcGFyZW50J1xuICApIHtcbiAgICBzdXBlcihjb2luTmFtZSwgd2FzbU5hbWUpO1xuICAgIHRoaXMuemNhc2hOZXR3b3JrTmFtZSA9IHdhc21OYW1lIGFzIGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoTmV0d29ya05hbWU7XG4gICAgdGhpcy51bmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSA9IHVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYGFkZHJlc3NgIGlzIGEgdmFsaWQgWmNhc2ggYWRkcmVzcyBmb3IgdGhpcyBjb2luJ3MgbmV0d29yay5cbiAgICpcbiAgICogTWlycm9ycyB0aGUgcHJlLWNvZGVjIGBaZWMuaXNWYWxpZEFkZHJlc3NgIGxvZ2ljIGV4YWN0bHk6IHRoZSBhZGRyZXNzIGlzXG4gICAqIHZhbGlkIGlmZiBpdCBoYXMgYSB1c2FibGUgdHJhbnNwYXJlbnQgcmVjZWl2ZXIgKGFuIG9yZGluYXJ5IHRyYW5zcGFyZW50XG4gICAqIGFkZHJlc3MsIG9yIGEgVUEgY2FycnlpbmcgYSB0cmFuc3BhcmVudCByZWNlaXZlcikgb3IgYW4gT3JjaGFyZCByZWNlaXZlclxuICAgKiAoYSBVQSBjYXJyeWluZyBvbmUpLlxuICAgKi9cbiAgb3ZlcnJpZGUgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHpjYXNoQWRkcmVzcy5oYXNUcmFuc3BhcmVudFJlY2VpdmVyKGFkZHJlc3MsIHRoaXMud2FzbU5hbWUpIHx8XG4gICAgICB6Y2FzaEFkZHJlc3MuaGFzT3JjaGFyZFJlY2VpdmVyKGFkZHJlc3MsIHRoaXMud2FzbU5hbWUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIGBhZGRyZXNzYCB0byB0aGUgYnl0ZXMgdGhpcyBjb2RlYydzIHVuaWZpZWQtcmVjaXBpZW50IHByZWZlcmVuY2UgcGF5cyB0by5cbiAgICpcbiAgICogLSBgJ3RyYW5zcGFyZW50J2AgKGRlZmF1bHQpIHJlc29sdmVzIHRoZSBzY3JpcHRQdWJLZXk6IGFuIG9yZGluYXJ5XG4gICAqICAgdHJhbnNwYXJlbnQgYWRkcmVzcyBkZWNvZGVzIHRvIGl0cyBvd24gc2NyaXB0LCBhbmQgYSBVQSB3aXRoIGFcbiAgICogICB0cmFuc3BhcmVudCByZWNlaXZlciBkZWNvZGVzIHRvIHRoYXQgcmVjZWl2ZXIncyBzY3JpcHQuIEEgVUEgd2l0aG91dCBhXG4gICAqICAgdHJhbnNwYXJlbnQgcmVjZWl2ZXIgKGUuZy4gT3JjaGFyZC1vbmx5KSB0aHJvd3MsIHNpbmNlIGEgc2hpZWxkZWRcbiAgICogICBvdXRwdXQgaGFzIG5vIHNjcmlwdC5cbiAgICogLSBgJ3NoaWVsZGVkJ2AgcmVzb2x2ZXMgdGhlIHJhdyBPcmNoYXJkIChJcm9ud29vZCkgcmVjZWl2ZXIg4oCUIHRoZVxuICAgKiAgIDQzLWJ5dGUgZGl2ZXJzaWZpZXIgKyBgcGtfZGAg4oCUIG9mIGEgVUEgY2Fycnlpbmcgb25lLiBBbnkgb3RoZXIgYWRkcmVzc1xuICAgKiAgIChwbGFpbiB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQtb25seSBVQSwgbWFsZm9ybWVkLCB3cm9uZyBuZXR3b3JrKVxuICAgKiAgIHRocm93cywgc2luY2UgaXQgaGFzIG5vIE9yY2hhcmQgcmVjZWl2ZXIgdG8gcmVzb2x2ZS5cbiAgICovXG4gIG92ZXJyaWRlIGRlY29kZShhZGRyZXNzOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICBpZiAodGhpcy51bmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSAhPT0gJ3NoaWVsZGVkJykge1xuICAgICAgcmV0dXJuIHpjYXNoQWRkcmVzcy50b1RyYW5zcGFyZW50UmVjZWl2ZXJXaXRoQ29pbihhZGRyZXNzLCB0aGlzLndhc21OYW1lKTtcbiAgICB9XG4gICAgLy8gVGhlIHJhdyBPcmNoYXJkIHJlY2VpdmVyIGV4aXN0cyBvbmx5IGZvciBhIFVuaWZpZWQgQWRkcmVzcyBjYXJyeWluZyBvbmU7IGFueXRoaW5nIGVsc2VcbiAgICAvLyAocGxhaW4gdHJhbnNwYXJlbnQgYWRkcmVzcywgdHJhbnNwYXJlbnQtb25seSBVQSwgbWFsZm9ybWVkLCB3cm9uZyBuZXR3b3JrKSB0aHJvd3MuXG4gICAgbGV0IHVuaWZpZWQ6IGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoVW5pZmllZEFkZHJlc3MgfCB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIHVuaWZpZWQgPSBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaFVuaWZpZWRBZGRyZXNzLnBhcnNlKGFkZHJlc3MsIHRoaXMuemNhc2hOZXR3b3JrTmFtZSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGFkZHJlc3MgJHthZGRyZXNzfSBpcyBub3QgYSB2YWxpZCBhZGRyZXNzIGZvciBuZXR3b3JrICR7dGhpcy56Y2FzaE5ldHdvcmtOYW1lfWApO1xuICAgIH1cbiAgICBpZiAoIXVuaWZpZWQ/Lmhhc09yY2hhcmRSZWNlaXZlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhZGRyZXNzICR7YWRkcmVzc30gaGFzIG5vIE9yY2hhcmQgcmVjZWl2ZXIgdG8gcmVzb2x2ZSBhcyBzaGllbGRlZGApO1xuICAgIH1cbiAgICByZXR1cm4gemNhc2hBZGRyZXNzLnRvU2hpZWxkZWRSZWNlaXZlcldpdGhDb2luKGFkZHJlc3MsIHRoaXMud2FzbU5hbWUpO1xuICB9XG5cbiAgLyoqIENoYW5nZSBhZGRyZXNzZXMgYXJlIGFsd2F5cyB0cmFuc3BhcmVudCB3YWxsZXQgYWRkcmVzc2VzLiAqL1xuICBvdmVycmlkZSBkZWNvZGVDaGFuZ2VBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICAgIHJldHVybiB6Y2FzaEFkZHJlc3MudG9UcmFuc3BhcmVudFJlY2VpdmVyV2l0aENvaW4oYWRkcmVzcywgdGhpcy53YXNtTmFtZSk7XG4gIH1cbiAgb3ZlcnJpZGUgaXNNYXRjaGluZ1NjcmlwdChvdXRwdXQ6IFplY0FkZHJlc3NDb2RlY091dHB1dCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGFkZHJlc3MgPSBvdXRwdXQuYWRkcmVzcztcbiAgICBpZiAoYWRkcmVzcyA9PT0gdW5kZWZpbmVkIHx8IGFkZHJlc3MgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoQWRkcmVzc0NvZGVjLmlzU2NyaXB0UmVjaXBpZW50KGFkZHJlc3MpKSB7XG4gICAgICByZXR1cm4gc3VwZXIuaXNNYXRjaGluZ1NjcmlwdChvdXRwdXQpO1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoZXNPdXRwdXQgPSAoZGVjb2RlOiAoKSA9PiBVaW50OEFycmF5KTogYm9vbGVhbiA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oZGVjb2RlKCkpLmVxdWFscyhCdWZmZXIuZnJvbShvdXRwdXQuc2NyaXB0KSk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgaXNTaGllbGRlZCA9IG91dHB1dC5pc1NoaWVsZGVkO1xuICAgIGlmIChpc1NoaWVsZGVkID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gbWF0Y2hlc091dHB1dCgoKSA9PiB6Y2FzaEFkZHJlc3MudG9TaGllbGRlZFJlY2VpdmVyV2l0aENvaW4oYWRkcmVzcywgdGhpcy53YXNtTmFtZSkpO1xuICAgIH1cbiAgICBpZiAoaXNTaGllbGRlZCA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBtYXRjaGVzT3V0cHV0KCgpID0+IHpjYXNoQWRkcmVzcy50b1RyYW5zcGFyZW50UmVjZWl2ZXJXaXRoQ29pbihhZGRyZXNzLCB0aGlzLndhc21OYW1lKSk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBtYXRjaGVzT3V0cHV0KCgpID0+IHpjYXNoQWRkcmVzcy50b1RyYW5zcGFyZW50UmVjZWl2ZXJXaXRoQ29pbihhZGRyZXNzLCB0aGlzLndhc21OYW1lKSkgfHxcbiAgICAgIG1hdGNoZXNPdXRwdXQoKCkgPT4gemNhc2hBZGRyZXNzLnRvU2hpZWxkZWRSZWNlaXZlcldpdGhDb2luKGFkZHJlc3MsIHRoaXMud2FzbU5hbWUpKVxuICAgICk7XG4gIH1cblxuICAvKiogUHJlc2VydmUgYSBzaGllbGRlZCBvdXRwdXQncyBvcmlnaW5hbCBVQSBvbmx5IGFmdGVyIHZhbGlkYXRpbmcgaXQgYWdhaW5zdCB0aGUgcmF3IHNjcmlwdC4gKi9cbiAgb3ZlcnJpZGUgdG9FeHRlbmRlZEFkZHJlc3NGb3JtYXQoc2NyaXB0OiBCdWZmZXIsIGFkZHJlc3M/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChhZGRyZXNzICE9PSB1bmRlZmluZWQgJiYgIXRoaXMuaXNNYXRjaGluZ1NjcmlwdCh7IGFkZHJlc3MsIHNjcmlwdCB9KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhZGRyZXNzICR7YWRkcmVzc30gZG9lcyBub3QgbWF0Y2ggdGhlIG91dHB1dCBzY3JpcHRgKTtcbiAgICB9XG4gICAgcmV0dXJuIGFkZHJlc3MgPz8gc3VwZXIudG9FeHRlbmRlZEFkZHJlc3NGb3JtYXQoc2NyaXB0KTtcbiAgfVxufVxuXG4vKipcbiAqIFdoZXRoZXIgYGFkZHJlc3NgIGlzIGEgd2VsbC1mb3JtZWQgWklQLTMxNiBVbmlmaWVkIEFkZHJlc3MgZm9yIGBuZXR3b3JrYFxuICogd2l0aCBhbiBPcmNoYXJkIHJlY2VpdmVyLiBCaXRHbyBvbmx5IHN1cHBvcnRzIE9yY2hhcmQsIHNvIGEgVUEgd2l0aG91dCBvbmVcbiAqIChlLmcuIFNhcGxpbmctIG9yIHRyYW5zcGFyZW50LW9ubHkpIGlzIG5vdCBjb25zaWRlcmVkIHZhbGlkIGhlcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NoaWVsZGVkWmNhc2hBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgbmV0d29yazogZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hOZXR3b3JrTmFtZSk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaFVuaWZpZWRBZGRyZXNzLnBhcnNlKGFkZHJlc3MsIG5ldHdvcmspLmhhc09yY2hhcmRSZWNlaXZlcjtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQ2xhc3NpZnkgYSBaY2FzaCBhZGRyZXNzIHN0cmluZyBhcyB0cmFuc3BhcmVudCBvciBzaGllbGRlZCwgdmFsaWRhdGluZyBpdCBpblxuICogdGhlIHByb2Nlc3MuIFJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBhZGRyZXNzIGlzIG5laXRoZXIgYSB2YWxpZCB0cmFuc3BhcmVudFxuICogYWRkcmVzcyBub3IgYSB3ZWxsLWZvcm1lZCBaSVAtMzE2IFVuaWZpZWQgQWRkcmVzcyBmb3IgYG5ldHdvcmtgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0WmNhc2hBZGRyZXNzS2luZChcbiAgYWRkcmVzczogc3RyaW5nLFxuICBuZXR3b3JrOiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaE5ldHdvcmtOYW1lXG4pOiBaY2FzaEFkZHJlc3NLaW5kIHwgdW5kZWZpbmVkIHtcbiAgLy8gWmNhc2hOZXR3b3JrTmFtZSBhbHNvIHBlcm1pdHMgJ3pjYXNoJy8nemNhc2hUZXN0Jywgd2hpY2ggdG9PdXRwdXRTY3JpcHRXaXRoQ29pblxuICAvLyBkb2Vzbid0IGFjY2VwdCAoaXQgdGFrZXMgYSBDb2luTmFtZSwgaS5lLiAnemVjJy8ndHplYycpLiBTa2lwIHN0cmFpZ2h0IHRvIHRoZVxuICAvLyBzaGllbGRlZCBjaGVjayBmb3IgdGhvc2UgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBhbiB1bnNhZmUgY2FzdCArIGNhdWdodCB0aHJvdy5cbiAgaWYgKGlzQ29pbk5hbWUobmV0d29yaykpIHtcbiAgICB0cnkge1xuICAgICAgd2FzbUFkZHJlc3MudG9PdXRwdXRTY3JpcHRXaXRoQ29pbihhZGRyZXNzLCBuZXR3b3JrKTtcbiAgICAgIHJldHVybiAndHJhbnNwYXJlbnQnO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gbm90IGEgdmFsaWQgdHJhbnNwYXJlbnQgYWRkcmVzczsgZmFsbCB0aHJvdWdoIHRvIHNoaWVsZGVkIGNoZWNrXG4gICAgfVxuICB9XG4gIHJldHVybiBpc1NoaWVsZGVkWmNhc2hBZGRyZXNzKGFkZHJlc3MsIG5ldHdvcmspID8gJ3NoaWVsZGVkJyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBTdGFuZGFsb25lIGNvdW50ZXJwYXJ0IHRvIGBaZWMuaXNWYWxpZEFkZHJlc3NgLCBwYXJhbWV0ZXJpemVkIGJ5IGBuZXR3b3JrYFxuICogaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBjb2luIGluc3RhbmNlLiBBY2NlcHRzIHRyYW5zcGFyZW50IGFkZHJlc3NlcyBhbmRcbiAqIHNoaWVsZGVkIFpJUC0zMTYgVW5pZmllZCBBZGRyZXNzZXMuXG4gKlxuICogTm90IHN0cnVjdHVyYWxseSBpZGVudGljYWwgdG8gYFplYy5pc1ZhbGlkQWRkcmVzc2A6IHRoZSBiYXNlIGNsYXNzIGFsc29cbiAqIHJvdW5kLXRyaXBzIHRoZSBwYXJzZWQgc2NyaXB0IHRocm91Z2ggZWFjaCBrbm93biBlbmNvZGluZyBmb3JtYXQgKHNlZVxuICogYEFic3RyYWN0VXR4b0NvaW4uaXNWYWxpZEFkZHJlc3NgKSwgd2hlcmVhcyB0aGlzIG9ubHkgY2FsbHNcbiAqIGB0b091dHB1dFNjcmlwdFdpdGhDb2luYCBvbmNlIHZpYSBgZ2V0WmNhc2hBZGRyZXNzS2luZGAuIFRoZXkgYWdyZWUgaW5cbiAqIHByYWN0aWNlIHNpbmNlIHplYy90emVjIGhhdmUgbm8gYWx0ZXJuYXRlIHRyYW5zcGFyZW50LWFkZHJlc3MgZW5jb2RpbmcgdG9cbiAqIHJvdW5kLXRyaXAgYWdhaW5zdCwgYnV0IHRoYXQncyBub3QgZ3VhcmFudGVlZCB0byByZW1haW4gdHJ1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRaY2FzaEFkZHJlc3MoYWRkcmVzczogc3RyaW5nLCBuZXR3b3JrOiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaE5ldHdvcmtOYW1lKTogYm9vbGVhbiB7XG4gIHJldHVybiBnZXRaY2FzaEFkZHJlc3NLaW5kKGFkZHJlc3MsIG5ldHdvcmspICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  import { fixedScriptWallet } from '@bitgo/wasm-utxo';
2
- import { ZcashCoinName, UnifiedRecipientPreference } from './types';
2
+ import type { UnifiedRecipientPreference } from '@bitgo/sdk-core';
3
+ import type { AddressCodec } from '../../transaction/recipient';
4
+ import { ZcashCoinName } from './types';
3
5
  /**
4
6
  * How a recipient parsed from a Zcash PSBT is spent.
5
7
  *
@@ -60,7 +62,7 @@ export interface PsbtRecipient {
60
62
  * and `unifiedAddress` report it verbatim. Opaque outputs with no address (e.g. OP_RETURN) are
61
63
  * skipped, as they carry no recipient.
62
64
  */
63
- export declare function resolvePsbtRecipients(psbt: fixedScriptWallet.ZcashBitGoPsbt, walletKeys: fixedScriptWallet.RootWalletKeys): PsbtRecipient[];
65
+ export declare function resolvePsbtRecipients(psbt: fixedScriptWallet.ZcashBitGoPsbt, walletKeys: fixedScriptWallet.RootWalletKeys, addressCodec: AddressCodec): PsbtRecipient[];
64
66
  /**
65
67
  * Infer the Unified-Address recipient preference for a Zcash transaction when the caller did
66
68
  * not pass one — the counterpart of wallet-platform's utxo-core `buildTransaction`
@@ -1 +1 @@
1
- {"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../../../../src/impl/zec/recipients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AAInE,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,eAAe,CAAC;IACtB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,wBAAwB,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,CAAC,cAAc,EACtC,UAAU,EAAE,iBAAiB,CAAC,cAAc,GAC3C,aAAa,EAAE,CAgCjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,GAC5C,0BAA0B,GAAG,SAAS,CA0BxC"}
1
+ {"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../../../../src/impl/zec/recipients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,eAAe,CAAC;IACtB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,wBAAwB,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,CAAC,cAAc,EACtC,UAAU,EAAE,iBAAiB,CAAC,cAAc,EAC5C,YAAY,EAAE,YAAY,GACzB,aAAa,EAAE,CAoCjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,GAC5C,0BAA0B,GAAG,SAAS,CA0BxC"}
@@ -15,7 +15,7 @@ const replayProtection_1 = require("../../transaction/fixedScript/replayProtecti
15
15
  * and `unifiedAddress` report it verbatim. Opaque outputs with no address (e.g. OP_RETURN) are
16
16
  * skipped, as they carry no recipient.
17
17
  */
18
- function resolvePsbtRecipients(psbt, walletKeys) {
18
+ function resolvePsbtRecipients(psbt, walletKeys, addressCodec) {
19
19
  const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, {
20
20
  replayProtection: { publicKeys: (0, replayProtection_1.getReplayProtectionPubkeys)('zec') },
21
21
  });
@@ -29,8 +29,12 @@ function resolvePsbtRecipients(psbt, walletKeys) {
29
29
  if (output.address === null) {
30
30
  return;
31
31
  }
32
+ // The raw parsed receiver/script is authoritative; proprietary Unified Address metadata
33
+ // must match it before it is exposed to callers.
34
+ if (!addressCodec.isMatchingScript(output)) {
35
+ throw new Error(`Output ${i} address ${output.address} does not match its raw recipient`);
36
+ }
32
37
  // The original client-passed Unified Address, stored verbatim in the PSBT's key-value
33
- // pairs: the orchard PCZT for a shielded output (parsed `address` reports it in full), the
34
38
  // transparent-output proprietary map for a v4 transparent output.
35
39
  const unifiedAddress = output.isShielded ? output.address : psbt.transparentOutputUnifiedAddress(i) ?? undefined;
36
40
  recipients.push({
@@ -91,4 +95,4 @@ function getUnifiedRecipientPreference(name, recipients) {
91
95
  }
92
96
  return hasShielded ? 'shielded' : undefined;
93
97
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsL3plYy9yZWNpcGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBcUVBLHNEQW1DQztBQW1CRCxzRUE2QkM7QUF4SkQsZ0RBQW1FO0FBRW5FLHFGQUE0RjtBQXdENUY7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLHFCQUFxQixDQUNuQyxJQUFzQyxFQUN0QyxVQUE0QztJQUU1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsVUFBVSxFQUFFO1FBQzdELGdCQUFnQixFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUEsNkNBQTBCLEVBQUMsS0FBSyxDQUFDLEVBQUU7S0FDcEUsQ0FBQyxDQUFDO0lBRUgsTUFBTSxVQUFVLEdBQW9CLEVBQUUsQ0FBQztJQUN2QyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNuQyxpQ0FBaUM7UUFDakMsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBQ0QsOERBQThEO1FBQzlELElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1QsQ0FBQztRQUNELHNGQUFzRjtRQUN0RiwyRkFBMkY7UUFDM0Ysa0VBQWtFO1FBQ2xFLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDakgsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNkLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSztZQUNwQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLGNBQWM7WUFDZCxXQUFXLEVBQUUsTUFBTSxDQUFDLFVBQVU7Z0JBQzVCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzNELENBQUMsQ0FBQyxjQUFjO29CQUNoQixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsY0FBYyxFQUFFO29CQUNyRCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IsNkJBQTZCLENBQzNDLElBQW1CLEVBQ25CLFVBQTZDO0lBRTdDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNoRCxJQUFJLFNBQVMsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMscUNBQXFDO1lBQ3JDLE9BQU8sYUFBc0IsQ0FBQztRQUNoQyxDQUFDO1FBQ0Qsc0ZBQXNGO1FBQ3RGLHVGQUF1RjtRQUN2RixJQUFJLHdCQUFZLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sYUFBc0IsQ0FBQztRQUNoQyxDQUFDO1FBQ0Qsc0ZBQXNGO1FBQ3RGLG1GQUFtRjtRQUNuRixzQkFBc0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsNkJBQWlCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckYsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMvQixPQUFPLFVBQW1CLENBQUM7UUFDN0IsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxTQUFTLENBQUMsT0FBTyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQzdGLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVELElBQUksV0FBVyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXhlZFNjcmlwdFdhbGxldCwgemNhc2hBZGRyZXNzIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzIH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvcmVwbGF5UHJvdGVjdGlvbic7XG5cbmltcG9ydCB7IFpjYXNoQ29pbk5hbWUsIFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogSG93IGEgcmVjaXBpZW50IHBhcnNlZCBmcm9tIGEgWmNhc2ggUFNCVCBpcyBzcGVudC5cbiAqXG4gKiBUaGUgZGVjb2RlLXNpZGUgY291bnRlcnBhcnQgb2YgdXR4by1jb3JlJ3MgYGJ1aWxkVHJhbnNhY3Rpb24vemNhc2gudHNgIGBaY2FzaERlc3RpbmF0aW9uYCBvblxuICogdGhlIGJ1aWxkIHNpZGU6IGEgc2hpZWxkZWQgcmVjaXBpZW50IGlzIGFuIE9yY2hhcmQvSXJvbndvb2Qgb3V0cHV0IHN0b3JlZCBpbiB0aGUgdjYgKElyb253b29kKVxuICogUFNCVCdzIG9yY2hhcmQgUENaVCwgYW5kIGV2ZXJ5dGhpbmcgZWxzZSBpcyBhbiBvcmRpbmFyeSB0cmFuc3BhcmVudCBvdXRwdXQuIEEgdHJhbnNwYXJlbnRcbiAqIG91dHB1dCByZXNvbHZlZCBmcm9tIGEgVW5pZmllZCBBZGRyZXNzIGNhcnJpZXMgdGhhdCBvcmlnaW5hbCBVQSAoYHpjYXNoVW5pZmllZFRyYW5zcGFyZW50YCksIGFcbiAqIHBsYWluIGFkZHJlc3MgZG9lcyBub3QuXG4gKi9cbmV4cG9ydCB0eXBlIFBzYnRSZWNpcGllbnREZXN0aW5hdGlvbiA9XG4gIHwge1xuICAgICAga2luZDogJ3pjYXNoU2hpZWxkZWQnO1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgVW5pZmllZCBBZGRyZXNzIHRoZSBvdXRwdXQgd2FzIGFkZHJlc3NlZCB0byDigJQgdGhlIG9yaWdpbmFsIG11bHRpLXJlY2VpdmVyIFVBIHRoZVxuICAgICAgICogY2xpZW50IHBhc3NlZCB3aGVuIHRoZSBQU0JUIHN0b3JlcyBvbmUgdmVyYmF0aW0sIG90aGVyd2lzZSBhIHJlLWVuY29kZWQgc2luZ2xlLXJlY2VpdmVyXG4gICAgICAgKiBPcmNoYXJkIFVBLlxuICAgICAgICovXG4gICAgICB1bmlmaWVkQWRkcmVzczogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAnemNhc2hVbmlmaWVkVHJhbnNwYXJlbnQnO1xuICAgICAgLyoqIFRoZSBvcmlnaW5hbCBVbmlmaWVkIEFkZHJlc3MgdGhlIHRyYW5zcGFyZW50IHJlY2VpdmVyIHdhcyByZXNvbHZlZCBmcm9tLiAqL1xuICAgICAgdW5pZmllZEFkZHJlc3M6IHN0cmluZztcbiAgICB9XG4gIHwgeyBraW5kOiAndHJhbnNwYXJlbnQnIH07XG5cbi8qKiBBIHJlY2lwaWVudCByZXNvbHZlZCBmcm9tIGEgZGVjb2RlZCBaY2FzaCBQU0JUJ3MgZXh0ZXJuYWwgb3V0cHV0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHNidFJlY2lwaWVudCB7XG4gIC8qKiBBbW91bnQgaW4gc2F0b3NoaXMuICovXG4gIGFtb3VudDogYmlnaW50O1xuICAvKipcbiAgICogVGhlIHJlY2lwaWVudCBhZGRyZXNzLiBGb3IgYSBzaGllbGRlZCBvdXRwdXQgdGhpcyBpcyB0aGUgVW5pZmllZCBBZGRyZXNzIHRoZSBvdXRwdXQgd2FzXG4gICAqIGFkZHJlc3NlZCB0byDigJQgdGhlIG9yaWdpbmFsIG11bHRpLXJlY2VpdmVyIFVBIHdoZW4gdGhlIFBTQlQgc3RvcmVzIG9uZSB2ZXJiYXRpbSwgb3RoZXJ3aXNlIGFcbiAgICogcmUtZW5jb2RlZCBzaW5nbGUtcmVjZWl2ZXIgT3JjaGFyZCBVQS4gRm9yIGEgdHJhbnNwYXJlbnQgb3V0cHV0IGl0IGlzIHRoZSBvcmlnaW5hbCBVbmlmaWVkXG4gICAqIEFkZHJlc3Mgd2hlbiBvbmUgd2FzIHN0b3JlZCwgZWxzZSB0aGUgZGVjb2RlZCB0cmFuc3BhcmVudCBhZGRyZXNzLlxuICAgKi9cbiAgYWRkcmVzczogc3RyaW5nO1xuICAvKipcbiAgICogUmF3IHJlY2VpdmVyIGJ5dGVzOiB0aGUgNDMtYnl0ZSBPcmNoYXJkL0lyb253b29kIHJlY2VpdmVyIGZvciBhIHNoaWVsZGVkIG91dHB1dCwgdGhlXG4gICAqIHNjcmlwdFB1YktleSBmb3IgYSB0cmFuc3BhcmVudCBvbmUuXG4gICAqL1xuICBzY3JpcHQ6IFVpbnQ4QXJyYXk7XG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgVW5pZmllZCBBZGRyZXNzIHRoZSBjbGllbnQgc3VwcGxpZWQgZm9yIHRoaXMgcmVjaXBpZW50LCB3aGVuIHRoZSBQU0JUIHN0b3Jlc1xuICAgKiBvbmU6IHRoZSB2NiAoSXJvbndvb2QpIFBDWlQgZm9yIGEgc2hpZWxkZWQgb3V0cHV0LCB0aGUgdHJhbnNwYXJlbnQtb3V0cHV0IHByb3ByaWV0YXJ5XG4gICAqIGtleS12YWx1ZSBtYXAgZm9yIGEgdjQgdHJhbnNwYXJlbnQgb3V0cHV0LiBgdW5kZWZpbmVkYCB3aGVuIHRoZSByZWNpcGllbnQgd2FzIGJ1aWx0IGZyb20gYVxuICAgKiBwbGFpbiBhZGRyZXNzLlxuICAgKi9cbiAgdW5pZmllZEFkZHJlc3M/OiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uOiBQc2J0UmVjaXBpZW50RGVzdGluYXRpb247XG59XG5cbi8qKlxuICogUmVzb2x2ZSB0aGUgcmVjaXBpZW50IGxpc3Qgb2YgYSBkZWNvZGVkIFpjYXNoIFBTQlQgKHY0IFNhcGxpbmctc2hhcGVkIG9yIHY2IElyb253b29kKS5cbiAqXG4gKiBNaXJyb3JzIHRoZSByZWNpcGllbnQgcmVzb2x1dGlvbiBvZiB3YWxsZXQtcGxhdGZvcm0ncyB1dHhvLWNvcmUgYGJ1aWxkVHJhbnNhY3Rpb25gIGluIHRoZVxuICogZGVjb2RlIGRpcmVjdGlvbjogZXZlcnkgbm9uLXdhbGxldCBvdXRwdXQgd2l0aCBhIHJlc29sdmFibGUgYWRkcmVzcyBpcyBhIHJlY2lwaWVudC4gQVxuICogc2hpZWxkZWQgb3V0cHV0IHBhcnNlcyB3aXRoIGBpc1NoaWVsZGVkOiB0cnVlYCwgaXRzIGBzY3JpcHRgIGJlaW5nIHRoZSByYXcgNDMtYnl0ZSByZWNlaXZlcjtcbiAqIHdoZW4gdGhlIGJ1aWxkIHN0b3JlZCB0aGUgY2xpZW50J3Mgb3JpZ2luYWwgVW5pZmllZCBBZGRyZXNzICh0aGUgdjYgUENaVCBmb3Igc2hpZWxkZWRcbiAqIG91dHB1dHMsIHRoZSB0cmFuc3BhcmVudC1vdXRwdXQgcHJvcHJpZXRhcnkga2V5LXZhbHVlIG1hcCBmb3IgdjQpLCBib3RoIHRoZSBwYXJzZWQgYWRkcmVzc1xuICogYW5kIGB1bmlmaWVkQWRkcmVzc2AgcmVwb3J0IGl0IHZlcmJhdGltLiBPcGFxdWUgb3V0cHV0cyB3aXRoIG5vIGFkZHJlc3MgKGUuZy4gT1BfUkVUVVJOKSBhcmVcbiAqIHNraXBwZWQsIGFzIHRoZXkgY2Fycnkgbm8gcmVjaXBpZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBzYnRSZWNpcGllbnRzKFxuICBwc2J0OiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaEJpdEdvUHNidCxcbiAgd2FsbGV0S2V5czogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXNcbik6IFBzYnRSZWNpcGllbnRbXSB7XG4gIGNvbnN0IHBhcnNlZCA9IHBzYnQucGFyc2VUcmFuc2FjdGlvbldpdGhXYWxsZXRLZXlzKHdhbGxldEtleXMsIHtcbiAgICByZXBsYXlQcm90ZWN0aW9uOiB7IHB1YmxpY0tleXM6IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzKCd6ZWMnKSB9LFxuICB9KTtcblxuICBjb25zdCByZWNpcGllbnRzOiBQc2J0UmVjaXBpZW50W10gPSBbXTtcbiAgcGFyc2VkLm91dHB1dHMuZm9yRWFjaCgob3V0cHV0LCBpKSA9PiB7XG4gICAgLy8gV2FsbGV0LW93bmVkIChjaGFuZ2UpIG91dHB1dHMuXG4gICAgaWYgKG91dHB1dC5zY3JpcHRJZCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBPcGFxdWUgb3V0cHV0cyAoZS5nLiBPUF9SRVRVUk4pIGNhcnJ5IG5vIHJlY2lwaWVudCBhZGRyZXNzLlxuICAgIGlmIChvdXRwdXQuYWRkcmVzcyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBUaGUgb3JpZ2luYWwgY2xpZW50LXBhc3NlZCBVbmlmaWVkIEFkZHJlc3MsIHN0b3JlZCB2ZXJiYXRpbSBpbiB0aGUgUFNCVCdzIGtleS12YWx1ZVxuICAgIC8vIHBhaXJzOiB0aGUgb3JjaGFyZCBQQ1pUIGZvciBhIHNoaWVsZGVkIG91dHB1dCAocGFyc2VkIGBhZGRyZXNzYCByZXBvcnRzIGl0IGluIGZ1bGwpLCB0aGVcbiAgICAvLyB0cmFuc3BhcmVudC1vdXRwdXQgcHJvcHJpZXRhcnkgbWFwIGZvciBhIHY0IHRyYW5zcGFyZW50IG91dHB1dC5cbiAgICBjb25zdCB1bmlmaWVkQWRkcmVzcyA9IG91dHB1dC5pc1NoaWVsZGVkID8gb3V0cHV0LmFkZHJlc3MgOiBwc2J0LnRyYW5zcGFyZW50T3V0cHV0VW5pZmllZEFkZHJlc3MoaSkgPz8gdW5kZWZpbmVkO1xuICAgIHJlY2lwaWVudHMucHVzaCh7XG4gICAgICBhbW91bnQ6IG91dHB1dC52YWx1ZSxcbiAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgc2NyaXB0OiBvdXRwdXQuc2NyaXB0LFxuICAgICAgdW5pZmllZEFkZHJlc3MsXG4gICAgICBkZXN0aW5hdGlvbjogb3V0cHV0LmlzU2hpZWxkZWRcbiAgICAgICAgPyB7IGtpbmQ6ICd6Y2FzaFNoaWVsZGVkJywgdW5pZmllZEFkZHJlc3M6IG91dHB1dC5hZGRyZXNzIH1cbiAgICAgICAgOiB1bmlmaWVkQWRkcmVzc1xuICAgICAgICA/IHsga2luZDogJ3pjYXNoVW5pZmllZFRyYW5zcGFyZW50JywgdW5pZmllZEFkZHJlc3MgfVxuICAgICAgICA6IHsga2luZDogJ3RyYW5zcGFyZW50JyB9LFxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIHJlY2lwaWVudHM7XG59XG5cbi8qKlxuICogSW5mZXIgdGhlIFVuaWZpZWQtQWRkcmVzcyByZWNpcGllbnQgcHJlZmVyZW5jZSBmb3IgYSBaY2FzaCB0cmFuc2FjdGlvbiB3aGVuIHRoZSBjYWxsZXIgZGlkXG4gKiBub3QgcGFzcyBvbmUg4oCUIHRoZSBjb3VudGVycGFydCBvZiB3YWxsZXQtcGxhdGZvcm0ncyB1dHhvLWNvcmUgYGJ1aWxkVHJhbnNhY3Rpb25gXG4gKiBgY2xhc3NpZnlSZWNpcGllbnRTaGllbGRlZG5lc3NgLlxuICpcbiAqIEEgcmVjaXBpZW50IHRoYXQgcmVzb2x2ZXMgdG8gYSB0cmFuc3BhcmVudCBvdXRwdXQg4oCUIGFuIG9yZGluYXJ5IHRyYW5zcGFyZW50IGFkZHJlc3MsIG9yIGFcbiAqIFVuaWZpZWQgQWRkcmVzcyBjYXJyeWluZyBhIHRyYW5zcGFyZW50IHJlY2VpdmVyIOKAlCBpcyBjbGFzc2lmaWVkIGAndHJhbnNwYXJlbnQnYDsgYSBVbmlmaWVkXG4gKiBBZGRyZXNzIGNhcnJ5aW5nIG9ubHkgYW4gT3JjaGFyZC9Jcm9ud29vZCByZWNlaXZlciBpcyBjbGFzc2lmaWVkIGAnc2hpZWxkZWQnYC4gQSBtaXggb2ZcbiAqIHNoaWVsZGVkIGFuZCB0cmFuc3BhcmVudCByZWNpcGllbnRzIGlzIHJlamVjdGVkLiBBbiBhZGRyZXNzIHRoYXQgaXMgbmVpdGhlciBhIHRyYW5zcGFyZW50XG4gKiBhZGRyZXNzIG5vciBhIFVuaWZpZWQgQWRkcmVzcyBwcm9wYWdhdGVzIHRoZSBVbmlmaWVkLUFkZHJlc3MgcGFyc2UgZXJyb3Ig4oCUIGl0IGlzIG5vdFxuICogc2lsZW50bHkgZGVmYXVsdGVkIHRvIGAndHJhbnNwYXJlbnQnYC5cbiAqXG4gKiBAcmV0dXJucyBgJ3NoaWVsZGVkJ2Agd2hlbiBldmVyeSByZWNpcGllbnQgcmVzb2x2ZXMgc2hpZWxkZWQsIGB1bmRlZmluZWRgIHdoZW4gZXZlcnlcbiAqICAgcmVjaXBpZW50IHJlc29sdmVzIHRyYW5zcGFyZW50ICh0aGUgYnVpbGQncyBkZWZhdWx0KS4gVGhlIGAndHJhbnNwYXJlbnQnYCBhcm0gb2YgdGhlXG4gKiAgIHJldHVybiB0eXBlIGV4aXN0cyBzbyBjYWxsZXJzIGNhbiBwYXNzIHRoZSBleHBsaWNpdCBwcmVmZXJlbmNlIHRocm91Z2ggdW5jaGFuZ2VkOyB0aGlzXG4gKiAgIGZ1bmN0aW9uIGl0c2VsZiBuZXZlciByZXR1cm5zIGAndHJhbnNwYXJlbnQnYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlKFxuICBuYW1lOiBaY2FzaENvaW5OYW1lLFxuICByZWNpcGllbnRzOiB7IGFkZHJlc3M6IHN0cmluZyB8IHVuZGVmaW5lZCB9W11cbik6IFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc2hpZWxkZWRuZXNzID0gcmVjaXBpZW50cy5tYXAoKHJlY2lwaWVudCkgPT4ge1xuICAgIGlmIChyZWNpcGllbnQuYWRkcmVzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBSYXcgc2NyaXB0IGluaGVyZW50bHkgdHJhbnNwYXJlbnQuXG4gICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JyBhcyBjb25zdDtcbiAgICB9XG4gICAgLy8gT3JkaW5hcnkgdHJhbnNwYXJlbnQgYWRkcmVzcywgb3IgYSBVbmlmaWVkIEFkZHJlc3MgY2FycnlpbmcgYSB0cmFuc3BhcmVudCByZWNlaXZlcjpcbiAgICAvLyByZXNvbHZlcyB0cmFuc3BhcmVudGx5IGVpdGhlciB3YXkgKHRoZSBidWlsZCdzIGRlZmF1bHQgd2hlbiBubyBwcmVmZXJlbmNlIGlzIGdpdmVuKS5cbiAgICBpZiAoemNhc2hBZGRyZXNzLmhhc1RyYW5zcGFyZW50UmVjZWl2ZXIocmVjaXBpZW50LmFkZHJlc3MsIG5hbWUpKSB7XG4gICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JyBhcyBjb25zdDtcbiAgICB9XG4gICAgLy8gQSBzaGllbGRlZCAoT3JjaGFyZC9Jcm9ud29vZC1vbmx5KSBVbmlmaWVkIEFkZHJlc3MgaXMgdGhlIG9ubHkgcmVtYWluaW5nIHJlc29sdmFibGVcbiAgICAvLyBmb3JtLiBBbiBhZGRyZXNzIHRoYXQgaXMgbm9uZSBvZiB0aGUgYWJvdmUgcHJvcGFnYXRlcyB0aGUgcGFyc2UgZXJyb3IgaW5zdGVhZCBvZlxuICAgIC8vIGFzc3VtaW5nIGEgZGVmYXVsdC5cbiAgICBjb25zdCB1bmlmaWVkID0gZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hVbmlmaWVkQWRkcmVzcy5wYXJzZShyZWNpcGllbnQuYWRkcmVzcywgbmFtZSk7XG4gICAgaWYgKHVuaWZpZWQuaGFzT3JjaGFyZFJlY2VpdmVyKSB7XG4gICAgICByZXR1cm4gJ3NoaWVsZGVkJyBhcyBjb25zdDtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBhZGRyZXNzICR7cmVjaXBpZW50LmFkZHJlc3N9IGNhcnJpZXMgbm8gdHJhbnNwYXJlbnQgb3IgT3JjaGFyZCByZWNlaXZlcmApO1xuICB9KTtcbiAgY29uc3QgaGFzU2hpZWxkZWQgPSBzaGllbGRlZG5lc3MuaW5jbHVkZXMoJ3NoaWVsZGVkJyk7XG4gIGNvbnN0IGhhc1RyYW5zcGFyZW50ID0gc2hpZWxkZWRuZXNzLmluY2x1ZGVzKCd0cmFuc3BhcmVudCcpO1xuICBpZiAoaGFzU2hpZWxkZWQgJiYgaGFzVHJhbnNwYXJlbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01peGVkIHNoaWVsZGVkIGFuZCB0cmFuc3BhcmVudCByZWNpcGllbnRzIGFyZSBub3Qgc3VwcG9ydGVkJyk7XG4gIH1cbiAgcmV0dXJuIGhhc1NoaWVsZGVkID8gJ3NoaWVsZGVkJyA6IHVuZGVmaW5lZDtcbn1cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsL3plYy9yZWNpcGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBdUVBLHNEQXdDQztBQW1CRCxzRUE2QkM7QUEvSkQsZ0RBQW1FO0FBR25FLHFGQUE0RjtBQXlENUY7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLHFCQUFxQixDQUNuQyxJQUFzQyxFQUN0QyxVQUE0QyxFQUM1QyxZQUEwQjtJQUUxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsVUFBVSxFQUFFO1FBQzdELGdCQUFnQixFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUEsNkNBQTBCLEVBQUMsS0FBSyxDQUFDLEVBQUU7S0FDcEUsQ0FBQyxDQUFDO0lBRUgsTUFBTSxVQUFVLEdBQW9CLEVBQUUsQ0FBQztJQUN2QyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNuQyxpQ0FBaUM7UUFDakMsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBQ0QsOERBQThEO1FBQzlELElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1QsQ0FBQztRQUNELHdGQUF3RjtRQUN4RixpREFBaUQ7UUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sbUNBQW1DLENBQUMsQ0FBQztRQUM1RixDQUFDO1FBQ0Qsc0ZBQXNGO1FBQ3RGLGtFQUFrRTtRQUNsRSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDO1FBQ2pILFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDZCxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDcEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixjQUFjO1lBQ2QsV0FBVyxFQUFFLE1BQU0sQ0FBQyxVQUFVO2dCQUM1QixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUMzRCxDQUFDLENBQUMsY0FBYztvQkFDaEIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRTtvQkFDckQsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILFNBQWdCLDZCQUE2QixDQUMzQyxJQUFtQixFQUNuQixVQUE2QztJQUU3QyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDaEQsSUFBSSxTQUFTLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLHFDQUFxQztZQUNyQyxPQUFPLGFBQXNCLENBQUM7UUFDaEMsQ0FBQztRQUNELHNGQUFzRjtRQUN0Rix1RkFBdUY7UUFDdkYsSUFBSSx3QkFBWSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRSxPQUFPLGFBQXNCLENBQUM7UUFDaEMsQ0FBQztRQUNELHNGQUFzRjtRQUN0RixtRkFBbUY7UUFDbkYsc0JBQXNCO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLDZCQUFpQixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JGLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDL0IsT0FBTyxVQUFtQixDQUFDO1FBQzdCLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsU0FBUyxDQUFDLE9BQU8sNkNBQTZDLENBQUMsQ0FBQztJQUM3RixDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RCxJQUFJLFdBQVcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZml4ZWRTY3JpcHRXYWxsZXQsIHpjYXNoQWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuaW1wb3J0IHR5cGUgeyBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmltcG9ydCB7IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzIH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvcmVwbGF5UHJvdGVjdGlvbic7XG5pbXBvcnQgdHlwZSB7IEFkZHJlc3NDb2RlYyB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL3JlY2lwaWVudCc7XG5cbmltcG9ydCB7IFpjYXNoQ29pbk5hbWUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBIb3cgYSByZWNpcGllbnQgcGFyc2VkIGZyb20gYSBaY2FzaCBQU0JUIGlzIHNwZW50LlxuICpcbiAqIFRoZSBkZWNvZGUtc2lkZSBjb3VudGVycGFydCBvZiB1dHhvLWNvcmUncyBgYnVpbGRUcmFuc2FjdGlvbi96Y2FzaC50c2AgYFpjYXNoRGVzdGluYXRpb25gIG9uXG4gKiB0aGUgYnVpbGQgc2lkZTogYSBzaGllbGRlZCByZWNpcGllbnQgaXMgYW4gT3JjaGFyZC9Jcm9ud29vZCBvdXRwdXQgc3RvcmVkIGluIHRoZSB2NiAoSXJvbndvb2QpXG4gKiBQU0JUJ3Mgb3JjaGFyZCBQQ1pULCBhbmQgZXZlcnl0aGluZyBlbHNlIGlzIGFuIG9yZGluYXJ5IHRyYW5zcGFyZW50IG91dHB1dC4gQSB0cmFuc3BhcmVudFxuICogb3V0cHV0IHJlc29sdmVkIGZyb20gYSBVbmlmaWVkIEFkZHJlc3MgY2FycmllcyB0aGF0IG9yaWdpbmFsIFVBIChgemNhc2hVbmlmaWVkVHJhbnNwYXJlbnRgKSwgYVxuICogcGxhaW4gYWRkcmVzcyBkb2VzIG5vdC5cbiAqL1xuZXhwb3J0IHR5cGUgUHNidFJlY2lwaWVudERlc3RpbmF0aW9uID1cbiAgfCB7XG4gICAgICBraW5kOiAnemNhc2hTaGllbGRlZCc7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBVbmlmaWVkIEFkZHJlc3MgdGhlIG91dHB1dCB3YXMgYWRkcmVzc2VkIHRvIOKAlCB0aGUgb3JpZ2luYWwgbXVsdGktcmVjZWl2ZXIgVUEgdGhlXG4gICAgICAgKiBjbGllbnQgcGFzc2VkIHdoZW4gdGhlIFBTQlQgc3RvcmVzIG9uZSB2ZXJiYXRpbSwgb3RoZXJ3aXNlIGEgcmUtZW5jb2RlZCBzaW5nbGUtcmVjZWl2ZXJcbiAgICAgICAqIE9yY2hhcmQgVUEuXG4gICAgICAgKi9cbiAgICAgIHVuaWZpZWRBZGRyZXNzOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICd6Y2FzaFVuaWZpZWRUcmFuc3BhcmVudCc7XG4gICAgICAvKiogVGhlIG9yaWdpbmFsIFVuaWZpZWQgQWRkcmVzcyB0aGUgdHJhbnNwYXJlbnQgcmVjZWl2ZXIgd2FzIHJlc29sdmVkIGZyb20uICovXG4gICAgICB1bmlmaWVkQWRkcmVzczogc3RyaW5nO1xuICAgIH1cbiAgfCB7IGtpbmQ6ICd0cmFuc3BhcmVudCcgfTtcblxuLyoqIEEgcmVjaXBpZW50IHJlc29sdmVkIGZyb20gYSBkZWNvZGVkIFpjYXNoIFBTQlQncyBleHRlcm5hbCBvdXRwdXRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQc2J0UmVjaXBpZW50IHtcbiAgLyoqIEFtb3VudCBpbiBzYXRvc2hpcy4gKi9cbiAgYW1vdW50OiBiaWdpbnQ7XG4gIC8qKlxuICAgKiBUaGUgcmVjaXBpZW50IGFkZHJlc3MuIEZvciBhIHNoaWVsZGVkIG91dHB1dCB0aGlzIGlzIHRoZSBVbmlmaWVkIEFkZHJlc3MgdGhlIG91dHB1dCB3YXNcbiAgICogYWRkcmVzc2VkIHRvIOKAlCB0aGUgb3JpZ2luYWwgbXVsdGktcmVjZWl2ZXIgVUEgd2hlbiB0aGUgUFNCVCBzdG9yZXMgb25lIHZlcmJhdGltLCBvdGhlcndpc2UgYVxuICAgKiByZS1lbmNvZGVkIHNpbmdsZS1yZWNlaXZlciBPcmNoYXJkIFVBLiBGb3IgYSB0cmFuc3BhcmVudCBvdXRwdXQgaXQgaXMgdGhlIG9yaWdpbmFsIFVuaWZpZWRcbiAgICogQWRkcmVzcyB3aGVuIG9uZSB3YXMgc3RvcmVkLCBlbHNlIHRoZSBkZWNvZGVkIHRyYW5zcGFyZW50IGFkZHJlc3MuXG4gICAqL1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSYXcgcmVjZWl2ZXIgYnl0ZXM6IHRoZSA0My1ieXRlIE9yY2hhcmQvSXJvbndvb2QgcmVjZWl2ZXIgZm9yIGEgc2hpZWxkZWQgb3V0cHV0LCB0aGVcbiAgICogc2NyaXB0UHViS2V5IGZvciBhIHRyYW5zcGFyZW50IG9uZS5cbiAgICovXG4gIHNjcmlwdDogVWludDhBcnJheTtcbiAgLyoqXG4gICAqIFRoZSBvcmlnaW5hbCBVbmlmaWVkIEFkZHJlc3MgdGhlIGNsaWVudCBzdXBwbGllZCBmb3IgdGhpcyByZWNpcGllbnQsIHdoZW4gdGhlIFBTQlQgc3RvcmVzXG4gICAqIG9uZTogdGhlIHY2IChJcm9ud29vZCkgUENaVCBmb3IgYSBzaGllbGRlZCBvdXRwdXQsIHRoZSB0cmFuc3BhcmVudC1vdXRwdXQgcHJvcHJpZXRhcnlcbiAgICoga2V5LXZhbHVlIG1hcCBmb3IgYSB2NCB0cmFuc3BhcmVudCBvdXRwdXQuIGB1bmRlZmluZWRgIHdoZW4gdGhlIHJlY2lwaWVudCB3YXMgYnVpbHQgZnJvbSBhXG4gICAqIHBsYWluIGFkZHJlc3MuXG4gICAqL1xuICB1bmlmaWVkQWRkcmVzcz86IHN0cmluZztcbiAgZGVzdGluYXRpb246IFBzYnRSZWNpcGllbnREZXN0aW5hdGlvbjtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSByZWNpcGllbnQgbGlzdCBvZiBhIGRlY29kZWQgWmNhc2ggUFNCVCAodjQgU2FwbGluZy1zaGFwZWQgb3IgdjYgSXJvbndvb2QpLlxuICpcbiAqIE1pcnJvcnMgdGhlIHJlY2lwaWVudCByZXNvbHV0aW9uIG9mIHdhbGxldC1wbGF0Zm9ybSdzIHV0eG8tY29yZSBgYnVpbGRUcmFuc2FjdGlvbmAgaW4gdGhlXG4gKiBkZWNvZGUgZGlyZWN0aW9uOiBldmVyeSBub24td2FsbGV0IG91dHB1dCB3aXRoIGEgcmVzb2x2YWJsZSBhZGRyZXNzIGlzIGEgcmVjaXBpZW50LiBBXG4gKiBzaGllbGRlZCBvdXRwdXQgcGFyc2VzIHdpdGggYGlzU2hpZWxkZWQ6IHRydWVgLCBpdHMgYHNjcmlwdGAgYmVpbmcgdGhlIHJhdyA0My1ieXRlIHJlY2VpdmVyO1xuICogd2hlbiB0aGUgYnVpbGQgc3RvcmVkIHRoZSBjbGllbnQncyBvcmlnaW5hbCBVbmlmaWVkIEFkZHJlc3MgKHRoZSB2NiBQQ1pUIGZvciBzaGllbGRlZFxuICogb3V0cHV0cywgdGhlIHRyYW5zcGFyZW50LW91dHB1dCBwcm9wcmlldGFyeSBrZXktdmFsdWUgbWFwIGZvciB2NCksIGJvdGggdGhlIHBhcnNlZCBhZGRyZXNzXG4gKiBhbmQgYHVuaWZpZWRBZGRyZXNzYCByZXBvcnQgaXQgdmVyYmF0aW0uIE9wYXF1ZSBvdXRwdXRzIHdpdGggbm8gYWRkcmVzcyAoZS5nLiBPUF9SRVRVUk4pIGFyZVxuICogc2tpcHBlZCwgYXMgdGhleSBjYXJyeSBubyByZWNpcGllbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUHNidFJlY2lwaWVudHMoXG4gIHBzYnQ6IGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoQml0R29Qc2J0LFxuICB3YWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyxcbiAgYWRkcmVzc0NvZGVjOiBBZGRyZXNzQ29kZWNcbik6IFBzYnRSZWNpcGllbnRbXSB7XG4gIGNvbnN0IHBhcnNlZCA9IHBzYnQucGFyc2VUcmFuc2FjdGlvbldpdGhXYWxsZXRLZXlzKHdhbGxldEtleXMsIHtcbiAgICByZXBsYXlQcm90ZWN0aW9uOiB7IHB1YmxpY0tleXM6IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzKCd6ZWMnKSB9LFxuICB9KTtcblxuICBjb25zdCByZWNpcGllbnRzOiBQc2J0UmVjaXBpZW50W10gPSBbXTtcbiAgcGFyc2VkLm91dHB1dHMuZm9yRWFjaCgob3V0cHV0LCBpKSA9PiB7XG4gICAgLy8gV2FsbGV0LW93bmVkIChjaGFuZ2UpIG91dHB1dHMuXG4gICAgaWYgKG91dHB1dC5zY3JpcHRJZCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBPcGFxdWUgb3V0cHV0cyAoZS5nLiBPUF9SRVRVUk4pIGNhcnJ5IG5vIHJlY2lwaWVudCBhZGRyZXNzLlxuICAgIGlmIChvdXRwdXQuYWRkcmVzcyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBUaGUgcmF3IHBhcnNlZCByZWNlaXZlci9zY3JpcHQgaXMgYXV0aG9yaXRhdGl2ZTsgcHJvcHJpZXRhcnkgVW5pZmllZCBBZGRyZXNzIG1ldGFkYXRhXG4gICAgLy8gbXVzdCBtYXRjaCBpdCBiZWZvcmUgaXQgaXMgZXhwb3NlZCB0byBjYWxsZXJzLlxuICAgIGlmICghYWRkcmVzc0NvZGVjLmlzTWF0Y2hpbmdTY3JpcHQob3V0cHV0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBPdXRwdXQgJHtpfSBhZGRyZXNzICR7b3V0cHV0LmFkZHJlc3N9IGRvZXMgbm90IG1hdGNoIGl0cyByYXcgcmVjaXBpZW50YCk7XG4gICAgfVxuICAgIC8vIFRoZSBvcmlnaW5hbCBjbGllbnQtcGFzc2VkIFVuaWZpZWQgQWRkcmVzcywgc3RvcmVkIHZlcmJhdGltIGluIHRoZSBQU0JUJ3Mga2V5LXZhbHVlXG4gICAgLy8gdHJhbnNwYXJlbnQtb3V0cHV0IHByb3ByaWV0YXJ5IG1hcCBmb3IgYSB2NCB0cmFuc3BhcmVudCBvdXRwdXQuXG4gICAgY29uc3QgdW5pZmllZEFkZHJlc3MgPSBvdXRwdXQuaXNTaGllbGRlZCA/IG91dHB1dC5hZGRyZXNzIDogcHNidC50cmFuc3BhcmVudE91dHB1dFVuaWZpZWRBZGRyZXNzKGkpID8/IHVuZGVmaW5lZDtcbiAgICByZWNpcGllbnRzLnB1c2goe1xuICAgICAgYW1vdW50OiBvdXRwdXQudmFsdWUsXG4gICAgICBhZGRyZXNzOiBvdXRwdXQuYWRkcmVzcyxcbiAgICAgIHNjcmlwdDogb3V0cHV0LnNjcmlwdCxcbiAgICAgIHVuaWZpZWRBZGRyZXNzLFxuICAgICAgZGVzdGluYXRpb246IG91dHB1dC5pc1NoaWVsZGVkXG4gICAgICAgID8geyBraW5kOiAnemNhc2hTaGllbGRlZCcsIHVuaWZpZWRBZGRyZXNzOiBvdXRwdXQuYWRkcmVzcyB9XG4gICAgICAgIDogdW5pZmllZEFkZHJlc3NcbiAgICAgICAgPyB7IGtpbmQ6ICd6Y2FzaFVuaWZpZWRUcmFuc3BhcmVudCcsIHVuaWZpZWRBZGRyZXNzIH1cbiAgICAgICAgOiB7IGtpbmQ6ICd0cmFuc3BhcmVudCcgfSxcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiByZWNpcGllbnRzO1xufVxuXG4vKipcbiAqIEluZmVyIHRoZSBVbmlmaWVkLUFkZHJlc3MgcmVjaXBpZW50IHByZWZlcmVuY2UgZm9yIGEgWmNhc2ggdHJhbnNhY3Rpb24gd2hlbiB0aGUgY2FsbGVyIGRpZFxuICogbm90IHBhc3Mgb25lIOKAlCB0aGUgY291bnRlcnBhcnQgb2Ygd2FsbGV0LXBsYXRmb3JtJ3MgdXR4by1jb3JlIGBidWlsZFRyYW5zYWN0aW9uYFxuICogYGNsYXNzaWZ5UmVjaXBpZW50U2hpZWxkZWRuZXNzYC5cbiAqXG4gKiBBIHJlY2lwaWVudCB0aGF0IHJlc29sdmVzIHRvIGEgdHJhbnNwYXJlbnQgb3V0cHV0IOKAlCBhbiBvcmRpbmFyeSB0cmFuc3BhcmVudCBhZGRyZXNzLCBvciBhXG4gKiBVbmlmaWVkIEFkZHJlc3MgY2FycnlpbmcgYSB0cmFuc3BhcmVudCByZWNlaXZlciDigJQgaXMgY2xhc3NpZmllZCBgJ3RyYW5zcGFyZW50J2A7IGEgVW5pZmllZFxuICogQWRkcmVzcyBjYXJyeWluZyBvbmx5IGFuIE9yY2hhcmQvSXJvbndvb2QgcmVjZWl2ZXIgaXMgY2xhc3NpZmllZCBgJ3NoaWVsZGVkJ2AuIEEgbWl4IG9mXG4gKiBzaGllbGRlZCBhbmQgdHJhbnNwYXJlbnQgcmVjaXBpZW50cyBpcyByZWplY3RlZC4gQW4gYWRkcmVzcyB0aGF0IGlzIG5laXRoZXIgYSB0cmFuc3BhcmVudFxuICogYWRkcmVzcyBub3IgYSBVbmlmaWVkIEFkZHJlc3MgcHJvcGFnYXRlcyB0aGUgVW5pZmllZC1BZGRyZXNzIHBhcnNlIGVycm9yIOKAlCBpdCBpcyBub3RcbiAqIHNpbGVudGx5IGRlZmF1bHRlZCB0byBgJ3RyYW5zcGFyZW50J2AuXG4gKlxuICogQHJldHVybnMgYCdzaGllbGRlZCdgIHdoZW4gZXZlcnkgcmVjaXBpZW50IHJlc29sdmVzIHNoaWVsZGVkLCBgdW5kZWZpbmVkYCB3aGVuIGV2ZXJ5XG4gKiAgIHJlY2lwaWVudCByZXNvbHZlcyB0cmFuc3BhcmVudCAodGhlIGJ1aWxkJ3MgZGVmYXVsdCkuIFRoZSBgJ3RyYW5zcGFyZW50J2AgYXJtIG9mIHRoZVxuICogICByZXR1cm4gdHlwZSBleGlzdHMgc28gY2FsbGVycyBjYW4gcGFzcyB0aGUgZXhwbGljaXQgcHJlZmVyZW5jZSB0aHJvdWdoIHVuY2hhbmdlZDsgdGhpc1xuICogICBmdW5jdGlvbiBpdHNlbGYgbmV2ZXIgcmV0dXJucyBgJ3RyYW5zcGFyZW50J2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZShcbiAgbmFtZTogWmNhc2hDb2luTmFtZSxcbiAgcmVjaXBpZW50czogeyBhZGRyZXNzOiBzdHJpbmcgfCB1bmRlZmluZWQgfVtdXG4pOiBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHNoaWVsZGVkbmVzcyA9IHJlY2lwaWVudHMubWFwKChyZWNpcGllbnQpID0+IHtcbiAgICBpZiAocmVjaXBpZW50LmFkZHJlc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gUmF3IHNjcmlwdCBpbmhlcmVudGx5IHRyYW5zcGFyZW50LlxuICAgICAgcmV0dXJuICd0cmFuc3BhcmVudCcgYXMgY29uc3Q7XG4gICAgfVxuICAgIC8vIE9yZGluYXJ5IHRyYW5zcGFyZW50IGFkZHJlc3MsIG9yIGEgVW5pZmllZCBBZGRyZXNzIGNhcnJ5aW5nIGEgdHJhbnNwYXJlbnQgcmVjZWl2ZXI6XG4gICAgLy8gcmVzb2x2ZXMgdHJhbnNwYXJlbnRseSBlaXRoZXIgd2F5ICh0aGUgYnVpbGQncyBkZWZhdWx0IHdoZW4gbm8gcHJlZmVyZW5jZSBpcyBnaXZlbikuXG4gICAgaWYgKHpjYXNoQWRkcmVzcy5oYXNUcmFuc3BhcmVudFJlY2VpdmVyKHJlY2lwaWVudC5hZGRyZXNzLCBuYW1lKSkge1xuICAgICAgcmV0dXJuICd0cmFuc3BhcmVudCcgYXMgY29uc3Q7XG4gICAgfVxuICAgIC8vIEEgc2hpZWxkZWQgKE9yY2hhcmQvSXJvbndvb2Qtb25seSkgVW5pZmllZCBBZGRyZXNzIGlzIHRoZSBvbmx5IHJlbWFpbmluZyByZXNvbHZhYmxlXG4gICAgLy8gZm9ybS4gQW4gYWRkcmVzcyB0aGF0IGlzIG5vbmUgb2YgdGhlIGFib3ZlIHByb3BhZ2F0ZXMgdGhlIHBhcnNlIGVycm9yIGluc3RlYWQgb2ZcbiAgICAvLyBhc3N1bWluZyBhIGRlZmF1bHQuXG4gICAgY29uc3QgdW5pZmllZCA9IGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoVW5pZmllZEFkZHJlc3MucGFyc2UocmVjaXBpZW50LmFkZHJlc3MsIG5hbWUpO1xuICAgIGlmICh1bmlmaWVkLmhhc09yY2hhcmRSZWNlaXZlcikge1xuICAgICAgcmV0dXJuICdzaGllbGRlZCcgYXMgY29uc3Q7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgYWRkcmVzcyAke3JlY2lwaWVudC5hZGRyZXNzfSBjYXJyaWVzIG5vIHRyYW5zcGFyZW50IG9yIE9yY2hhcmQgcmVjZWl2ZXJgKTtcbiAgfSk7XG4gIGNvbnN0IGhhc1NoaWVsZGVkID0gc2hpZWxkZWRuZXNzLmluY2x1ZGVzKCdzaGllbGRlZCcpO1xuICBjb25zdCBoYXNUcmFuc3BhcmVudCA9IHNoaWVsZGVkbmVzcy5pbmNsdWRlcygndHJhbnNwYXJlbnQnKTtcbiAgaWYgKGhhc1NoaWVsZGVkICYmIGhhc1RyYW5zcGFyZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXhlZCBzaGllbGRlZCBhbmQgdHJhbnNwYXJlbnQgcmVjaXBpZW50cyBhcmUgbm90IHN1cHBvcnRlZCcpO1xuICB9XG4gIHJldHVybiBoYXNTaGllbGRlZCA/ICdzaGllbGRlZCcgOiB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -1,5 +1,8 @@
1
+ import type { AddressCodecOutput } from '../../transaction/recipient';
1
2
  /** A Zcash coin name — the only UTXO coins with shielded (Orchard/Ironwood) support. */
2
3
  export type ZcashCoinName = 'zec' | 'tzec';
3
- /** How a Zcash Unified Address recipient should be resolved: to its shielded (Orchard/Ironwood) receiver or its transparent receiver. */
4
- export type UnifiedRecipientPreference = 'shielded' | 'transparent';
4
+ /** Parsed output metadata used to distinguish Zcash transparent and shielded receivers. */
5
+ export interface ZecAddressCodecOutput extends AddressCodecOutput {
6
+ isShielded?: boolean;
7
+ }
5
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/impl/zec/types.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,yIAAyI;AACzI,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/impl/zec/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,2FAA2F;AAC3F,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbC96ZWMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBIFpjYXNoIGNvaW4gbmFtZSDigJQgdGhlIG9ubHkgVVRYTyBjb2lucyB3aXRoIHNoaWVsZGVkIChPcmNoYXJkL0lyb253b29kKSBzdXBwb3J0LiAqL1xuZXhwb3J0IHR5cGUgWmNhc2hDb2luTmFtZSA9ICd6ZWMnIHwgJ3R6ZWMnO1xuXG4vKiogSG93IGEgWmNhc2ggVW5pZmllZCBBZGRyZXNzIHJlY2lwaWVudCBzaG91bGQgYmUgcmVzb2x2ZWQ6IHRvIGl0cyBzaGllbGRlZCAoT3JjaGFyZC9Jcm9ud29vZCkgcmVjZWl2ZXIgb3IgaXRzIHRyYW5zcGFyZW50IHJlY2VpdmVyLiAqL1xuZXhwb3J0IHR5cGUgVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgPSAnc2hpZWxkZWQnIHwgJ3RyYW5zcGFyZW50JztcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbC96ZWMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWRkcmVzc0NvZGVjT3V0cHV0IH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24vcmVjaXBpZW50JztcblxuLyoqIEEgWmNhc2ggY29pbiBuYW1lIOKAlCB0aGUgb25seSBVVFhPIGNvaW5zIHdpdGggc2hpZWxkZWQgKE9yY2hhcmQvSXJvbndvb2QpIHN1cHBvcnQuICovXG5leHBvcnQgdHlwZSBaY2FzaENvaW5OYW1lID0gJ3plYycgfCAndHplYyc7XG5cbi8qKiBQYXJzZWQgb3V0cHV0IG1ldGFkYXRhIHVzZWQgdG8gZGlzdGluZ3Vpc2ggWmNhc2ggdHJhbnNwYXJlbnQgYW5kIHNoaWVsZGVkIHJlY2VpdmVycy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgWmVjQWRkcmVzc0NvZGVjT3V0cHV0IGV4dGVuZHMgQWRkcmVzc0NvZGVjT3V0cHV0IHtcbiAgaXNTaGllbGRlZD86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,9 +1,13 @@
1
1
  /**
2
2
  * @prettier
3
3
  */
4
- import { BitGoBase, MPCAlgorithm } from '@bitgo/sdk-core';
5
- import { AbstractUtxoCoin } from '../../abstractUtxoCoin';
4
+ import { fixedScriptWallet } from '@bitgo/wasm-utxo';
5
+ import { BitGoBase, ExtraPrebuildParamsOptions, MPCAlgorithm, Wallet } from '@bitgo/sdk-core';
6
+ import { AbstractUtxoCoin, ParseTransactionOptions } from '../../abstractUtxoCoin';
7
+ import type { ParsedTransaction } from '../../transaction/types';
6
8
  import { UtxoCoinName } from '../../names';
9
+ import { ZecAddressCodec } from './address';
10
+ import { PsbtRecipient } from './recipients';
7
11
  export declare class Zec extends AbstractUtxoCoin {
8
12
  readonly name: UtxoCoinName;
9
13
  constructor(bitgo: BitGoBase);
@@ -15,9 +19,26 @@ export declare class Zec extends AbstractUtxoCoin {
15
19
  */
16
20
  getMPCAlgorithm(): MPCAlgorithm;
17
21
  static createInstance(bitgo: BitGoBase): Zec;
22
+ get addressCodec(): ZecAddressCodec;
18
23
  isValidAddress(address: string, param?: {
19
24
  anyFormat?: boolean;
20
25
  allowLightning?: boolean;
21
26
  } | boolean): boolean;
27
+ private inferUnifiedRecipientPreference;
28
+ parseTransaction<TNumber extends number | bigint = number>(params: ParseTransactionOptions<TNumber>): Promise<ParsedTransaction<TNumber>>;
29
+ getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions & {
30
+ wallet: Wallet;
31
+ }): Promise<{
32
+ txFormat?: import("../../abstractUtxoCoin").TxFormat;
33
+ changeAddressType?: ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr")[] | ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr");
34
+ allowedInputScriptTypes?: ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr")[];
35
+ } | {
36
+ unifiedRecipientPreference: "shielded" | "transparent";
37
+ txFormat?: import("../../abstractUtxoCoin").TxFormat;
38
+ changeAddressType?: ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr")[] | ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr");
39
+ allowedInputScriptTypes?: ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr")[];
40
+ }>;
41
+ decodeTransaction(input: Buffer | string): fixedScriptWallet.BitGoPsbt;
42
+ resolveRecipientsFromPsbt(input: Buffer | string, walletKeys: fixedScriptWallet.RootWalletKeys): PsbtRecipient[];
22
43
  }
23
44
  //# sourceMappingURL=zec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zec.d.ts","sourceRoot":"","sources":["../../../../../src/impl/zec/zec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qBAAa,GAAI,SAAQ,gBAAgB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;gBAExB,KAAK,EAAE,SAAS;IAI5B;;;;;OAKG;IACH,eAAe,IAAI,YAAY;IAI/B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG;IAI5C,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,GAAG,OAAO;CAK9G"}
1
+ {"version":3,"file":"zec.d.ts","sourceRoot":"","sources":["../../../../../src/impl/zec/zec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAA8B,MAAM,kBAAkB,CAAC;AACjF,OAAO,EACL,SAAS,EACT,0BAA0B,EAC1B,YAAY,EACZ,MAAM,EAEP,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAG/D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAyB,aAAa,EAAE,MAAM,cAAc,CAAC;AAGpE,qBAAa,GAAI,SAAQ,gBAAgB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;gBAExB,KAAK,EAAE,SAAS;IAI5B;;;;;OAKG;IACH,eAAe,IAAI,YAAY;IAI/B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG;IAI5C,IAAa,YAAY,IAAI,eAAe,CAE3C;IAED,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,GAAG,OAAO;IAI7G,OAAO,CAAC,+BAA+B;IAyBxB,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACtE,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IASvB,sBAAsB,CAAC,WAAW,EAAE,0BAA0B,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;IASzF,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,SAAS;IAO/E,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,cAAc,GAAG,aAAa,EAAE;CAOjH"}
@@ -1,8 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Zec = void 0;
4
+ /**
5
+ * @prettier
6
+ */
4
7
  const wasm_utxo_1 = require("@bitgo/wasm-utxo");
5
8
  const abstractUtxoCoin_1 = require("../../abstractUtxoCoin");
9
+ const decode_1 = require("../../transaction/decode");
10
+ const names_1 = require("../../names");
11
+ const recipient_1 = require("../../transaction/recipient");
12
+ const address_1 = require("./address");
13
+ const recipients_1 = require("./recipients");
6
14
  class Zec extends abstractUtxoCoin_1.AbstractUtxoCoin {
7
15
  constructor(bitgo) {
8
16
  super(bitgo);
@@ -20,9 +28,60 @@ class Zec extends abstractUtxoCoin_1.AbstractUtxoCoin {
20
28
  static createInstance(bitgo) {
21
29
  return new Zec(bitgo);
22
30
  }
31
+ get addressCodec() {
32
+ return new address_1.ZecAddressCodec(this.name, this.wasmName);
33
+ }
23
34
  isValidAddress(address, param) {
24
- return (wasm_utxo_1.zcashAddress.hasTransparentReceiver(address, this.name) || wasm_utxo_1.zcashAddress.hasOrchardReceiver(address, this.name));
35
+ return this.addressCodec.isValidAddress(address);
36
+ }
37
+ inferUnifiedRecipientPreference(recipients) {
38
+ const shieldedness = (recipients ?? []).map((recipient) => {
39
+ const address = recipient.address;
40
+ if (address === undefined) {
41
+ return 'transparent';
42
+ }
43
+ if (recipient_1.AddressCodec.isScriptRecipient(address)) {
44
+ return 'transparent';
45
+ }
46
+ const hasTransparentReceiver = wasm_utxo_1.zcashAddress.hasTransparentReceiver(address, this.wasmName);
47
+ const hasOrchardReceiver = wasm_utxo_1.zcashAddress.hasOrchardReceiver(address, this.wasmName);
48
+ return hasOrchardReceiver && !hasTransparentReceiver
49
+ ? 'shielded'
50
+ : hasTransparentReceiver
51
+ ? 'transparent'
52
+ : undefined;
53
+ });
54
+ if (shieldedness.includes('shielded') && shieldedness.includes('transparent')) {
55
+ throw new Error('Mixed shielded and transparent recipients are not supported');
56
+ }
57
+ return shieldedness.includes('shielded') ? 'shielded' : undefined;
58
+ }
59
+ async parseTransaction(params) {
60
+ const preference = params.txParams.unifiedRecipientPreference ?? this.inferUnifiedRecipientPreference(params.txParams.recipients);
61
+ return this.parseTransactionWithAddressCodec(params, new address_1.ZecAddressCodec(this.name, this.wasmName, preference ?? 'transparent'));
62
+ }
63
+ async getExtraPrebuildParams(buildParams) {
64
+ const extraParams = await super.getExtraPrebuildParams(buildParams);
65
+ const { unifiedRecipientPreference } = buildParams;
66
+ if (unifiedRecipientPreference === undefined) {
67
+ return extraParams;
68
+ }
69
+ return { ...extraParams, unifiedRecipientPreference };
70
+ }
71
+ decodeTransaction(input) {
72
+ const buffer = typeof input === 'string' ? (0, decode_1.stringToBufferTryFormats)(input, ['hex', 'base64']) : input;
73
+ if (!(0, wasm_utxo_1.hasPsbtMagic)(buffer)) {
74
+ return super.decodeTransaction(input);
75
+ }
76
+ return wasm_utxo_1.fixedScriptWallet.ZcashPsbt.fromBytes(buffer, (0, names_1.toWasmUtxoCoinName)(this.name));
77
+ }
78
+ resolveRecipientsFromPsbt(input, walletKeys) {
79
+ const psbt = this.decodeTransaction(input);
80
+ if (!(psbt instanceof wasm_utxo_1.fixedScriptWallet.ZcashBitGoPsbt)) {
81
+ throw new Error('expected a Zcash PSBT');
82
+ }
83
+ return (0, recipients_1.resolvePsbtRecipients)(psbt, walletKeys, this.addressCodec);
25
84
  }
26
85
  }
27
86
  exports.Zec = Zec;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGwvemVjL3plYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxnREFBZ0Q7QUFFaEQsNkRBQTBEO0FBRzFELE1BQWEsR0FBSSxTQUFRLG1DQUFnQjtJQUd2QyxZQUFZLEtBQWdCO1FBQzFCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUhOLFNBQUksR0FBaUIsS0FBSyxDQUFDO0lBSXBDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWU7UUFDYixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZSxFQUFFLEtBQW1FO1FBQ2pHLE9BQU8sQ0FDTCx3QkFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksd0JBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBMUJELGtCQTBCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IEJpdEdvQmFzZSwgTVBDQWxnb3JpdGhtIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IHpjYXNoQWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5cbmV4cG9ydCBjbGFzcyBaZWMgZXh0ZW5kcyBBYnN0cmFjdFV0eG9Db2luIHtcbiAgcmVhZG9ubHkgbmFtZTogVXR4b0NvaW5OYW1lID0gJ3plYyc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSkge1xuICAgIHN1cGVyKGJpdGdvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBaRUMgc2hpZWxkZWQgKE9yY2hhcmQvSXJvbndvb2QpIGN1c3RvZGlhbCB3YWxsZXRzIHVzZSBSZWRQYWxsYXMgdGhyZXNob2xkIGtleXMuXG4gICAqIFRyYW5zcGFyZW50IChzZWNwMjU2azEgbXVsdGlzaWcpIGZsb3dzIGFyZSB1bmFmZmVjdGVkOiBNUENBbGdvcml0aG0gaXMgb25seVxuICAgKiBjb25zdWx0ZWQgb24gdGhlIFRTUyBjdXN0b2RpYWwgd2FsbGV0LWNyZWF0aW9uIHBhdGguXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ3JlZHBhbGxhcyc7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IFplYyB7XG4gICAgcmV0dXJuIG5ldyBaZWMoYml0Z28pO1xuICB9XG5cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nLCBwYXJhbT86IHsgYW55Rm9ybWF0PzogYm9vbGVhbjsgYWxsb3dMaWdodG5pbmc/OiBib29sZWFuIH0gfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHpjYXNoQWRkcmVzcy5oYXNUcmFuc3BhcmVudFJlY2VpdmVyKGFkZHJlc3MsIHRoaXMubmFtZSkgfHwgemNhc2hBZGRyZXNzLmhhc09yY2hhcmRSZWNlaXZlcihhZGRyZXNzLCB0aGlzLm5hbWUpXG4gICAgKTtcbiAgfVxufVxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGwvemVjL3plYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILGdEQUFpRjtBQVNqRiw2REFBbUY7QUFFbkYscURBQW9FO0FBQ3BFLHVDQUErRDtBQUMvRCwyREFBMkQ7QUFFM0QsdUNBQTRDO0FBQzVDLDZDQUFvRTtBQUdwRSxNQUFhLEdBQUksU0FBUSxtQ0FBZ0I7SUFHdkMsWUFBWSxLQUFnQjtRQUMxQixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFITixTQUFJLEdBQWlCLEtBQUssQ0FBQztJQUlwQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlO1FBQ2IsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBYSxZQUFZO1FBQ3ZCLE9BQU8sSUFBSSx5QkFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZSxFQUFFLEtBQW1FO1FBQ2pHLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLCtCQUErQixDQUNyQyxVQUF5RDtRQUV6RCxNQUFNLFlBQVksR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQTBDLEVBQUU7WUFDaEcsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNsQyxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxhQUFhLENBQUM7WUFDdkIsQ0FBQztZQUNELElBQUksd0JBQVksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxPQUFPLGFBQWEsQ0FBQztZQUN2QixDQUFDO1lBQ0QsTUFBTSxzQkFBc0IsR0FBRyx3QkFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0YsTUFBTSxrQkFBa0IsR0FBRyx3QkFBWSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkYsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLHNCQUFzQjtnQkFDbEQsQ0FBQyxDQUFDLFVBQVU7Z0JBQ1osQ0FBQyxDQUFDLHNCQUFzQjtvQkFDeEIsQ0FBQyxDQUFDLGFBQWE7b0JBQ2YsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDOUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3BFLENBQUM7SUFFUSxLQUFLLENBQUMsZ0JBQWdCLENBQzdCLE1BQXdDO1FBRXhDLE1BQU0sVUFBVSxHQUNkLE1BQU0sQ0FBQyxRQUFRLENBQUMsMEJBQTBCLElBQUksSUFBSSxDQUFDLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakgsT0FBTyxJQUFJLENBQUMsZ0NBQWdDLENBQzFDLE1BQU0sRUFDTixJQUFJLHlCQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsSUFBSSxhQUFhLENBQUMsQ0FDM0UsQ0FBQztJQUNKLENBQUM7SUFFUSxLQUFLLENBQUMsc0JBQXNCLENBQUMsV0FBNEQ7UUFDaEcsTUFBTSxXQUFXLEdBQUcsTUFBTSxLQUFLLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsTUFBTSxFQUFFLDBCQUEwQixFQUFFLEdBQUcsV0FBVyxDQUFDO1FBQ25ELElBQUksMEJBQTBCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0MsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFUSxpQkFBaUIsQ0FBQyxLQUFzQjtRQUMvQyxNQUFNLE1BQU0sR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsaUNBQXdCLEVBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN0RyxJQUFJLENBQUMsSUFBQSx3QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sNkJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBQSwwQkFBa0IsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFrQixDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUNELHlCQUF5QixDQUFDLEtBQXNCLEVBQUUsVUFBNEM7UUFDNUYsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxDQUFDLElBQUksWUFBWSw2QkFBaUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxJQUFBLGtDQUFxQixFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRjtBQXhGRCxrQkF3RkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBmaXhlZFNjcmlwdFdhbGxldCwgaGFzUHNidE1hZ2ljLCB6Y2FzaEFkZHJlc3MgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7XG4gIEJpdEdvQmFzZSxcbiAgRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMsXG4gIE1QQ0FsZ29yaXRobSxcbiAgV2FsbGV0LFxuICBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB0eXBlIHsgUGFyc2VkVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi90eXBlcyc7XG5pbXBvcnQgeyBzdHJpbmdUb0J1ZmZlclRyeUZvcm1hdHMgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9kZWNvZGUnO1xuaW1wb3J0IHsgVXR4b0NvaW5OYW1lLCB0b1dhc21VdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5pbXBvcnQgeyBBZGRyZXNzQ29kZWMgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9yZWNpcGllbnQnO1xuXG5pbXBvcnQgeyBaZWNBZGRyZXNzQ29kZWMgfSBmcm9tICcuL2FkZHJlc3MnO1xuaW1wb3J0IHsgcmVzb2x2ZVBzYnRSZWNpcGllbnRzLCBQc2J0UmVjaXBpZW50IH0gZnJvbSAnLi9yZWNpcGllbnRzJztcbmltcG9ydCB0eXBlIHsgWmNhc2hDb2luTmFtZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgWmVjIGV4dGVuZHMgQWJzdHJhY3RVdHhvQ29pbiB7XG4gIHJlYWRvbmx5IG5hbWU6IFV0eG9Db2luTmFtZSA9ICd6ZWMnO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UpIHtcbiAgICBzdXBlcihiaXRnbyk7XG4gIH1cblxuICAvKipcbiAgICogWkVDIHNoaWVsZGVkIChPcmNoYXJkL0lyb253b29kKSBjdXN0b2RpYWwgd2FsbGV0cyB1c2UgUmVkUGFsbGFzIHRocmVzaG9sZCBrZXlzLlxuICAgKiBUcmFuc3BhcmVudCAoc2VjcDI1NmsxIG11bHRpc2lnKSBmbG93cyBhcmUgdW5hZmZlY3RlZDogTVBDQWxnb3JpdGhtIGlzIG9ubHlcbiAgICogY29uc3VsdGVkIG9uIHRoZSBUU1MgY3VzdG9kaWFsIHdhbGxldC1jcmVhdGlvbiBwYXRoLlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdyZWRwYWxsYXMnO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBaZWMge1xuICAgIHJldHVybiBuZXcgWmVjKGJpdGdvKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBhZGRyZXNzQ29kZWMoKTogWmVjQWRkcmVzc0NvZGVjIHtcbiAgICByZXR1cm4gbmV3IFplY0FkZHJlc3NDb2RlYyh0aGlzLm5hbWUsIHRoaXMud2FzbU5hbWUpO1xuICB9XG5cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nLCBwYXJhbT86IHsgYW55Rm9ybWF0PzogYm9vbGVhbjsgYWxsb3dMaWdodG5pbmc/OiBib29sZWFuIH0gfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0NvZGVjLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmZlclVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlKFxuICAgIHJlY2lwaWVudHM6IHsgYWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkIH1bXSB8IHVuZGVmaW5lZFxuICApOiBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgc2hpZWxkZWRuZXNzID0gKHJlY2lwaWVudHMgPz8gW10pLm1hcCgocmVjaXBpZW50KTogVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgfCB1bmRlZmluZWQgPT4ge1xuICAgICAgY29uc3QgYWRkcmVzcyA9IHJlY2lwaWVudC5hZGRyZXNzO1xuICAgICAgaWYgKGFkZHJlc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JztcbiAgICAgIH1cbiAgICAgIGlmIChBZGRyZXNzQ29kZWMuaXNTY3JpcHRSZWNpcGllbnQoYWRkcmVzcykpIHtcbiAgICAgICAgcmV0dXJuICd0cmFuc3BhcmVudCc7XG4gICAgICB9XG4gICAgICBjb25zdCBoYXNUcmFuc3BhcmVudFJlY2VpdmVyID0gemNhc2hBZGRyZXNzLmhhc1RyYW5zcGFyZW50UmVjZWl2ZXIoYWRkcmVzcywgdGhpcy53YXNtTmFtZSk7XG4gICAgICBjb25zdCBoYXNPcmNoYXJkUmVjZWl2ZXIgPSB6Y2FzaEFkZHJlc3MuaGFzT3JjaGFyZFJlY2VpdmVyKGFkZHJlc3MsIHRoaXMud2FzbU5hbWUpO1xuICAgICAgcmV0dXJuIGhhc09yY2hhcmRSZWNlaXZlciAmJiAhaGFzVHJhbnNwYXJlbnRSZWNlaXZlclxuICAgICAgICA/ICdzaGllbGRlZCdcbiAgICAgICAgOiBoYXNUcmFuc3BhcmVudFJlY2VpdmVyXG4gICAgICAgID8gJ3RyYW5zcGFyZW50J1xuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgICBpZiAoc2hpZWxkZWRuZXNzLmluY2x1ZGVzKCdzaGllbGRlZCcpICYmIHNoaWVsZGVkbmVzcy5pbmNsdWRlcygndHJhbnNwYXJlbnQnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXhlZCBzaGllbGRlZCBhbmQgdHJhbnNwYXJlbnQgcmVjaXBpZW50cyBhcmUgbm90IHN1cHBvcnRlZCcpO1xuICAgIH1cbiAgICByZXR1cm4gc2hpZWxkZWRuZXNzLmluY2x1ZGVzKCdzaGllbGRlZCcpID8gJ3NoaWVsZGVkJyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHBhcnNlVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gICAgcGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuICApOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPFROdW1iZXI+PiB7XG4gICAgY29uc3QgcHJlZmVyZW5jZSA9XG4gICAgICBwYXJhbXMudHhQYXJhbXMudW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgPz8gdGhpcy5pbmZlclVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlKHBhcmFtcy50eFBhcmFtcy5yZWNpcGllbnRzKTtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVRyYW5zYWN0aW9uV2l0aEFkZHJlc3NDb2RlYyhcbiAgICAgIHBhcmFtcyxcbiAgICAgIG5ldyBaZWNBZGRyZXNzQ29kZWModGhpcy5uYW1lLCB0aGlzLndhc21OYW1lLCBwcmVmZXJlbmNlID8/ICd0cmFuc3BhcmVudCcpXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldEV4dHJhUHJlYnVpbGRQYXJhbXMoYnVpbGRQYXJhbXM6IEV4dHJhUHJlYnVpbGRQYXJhbXNPcHRpb25zICYgeyB3YWxsZXQ6IFdhbGxldCB9KSB7XG4gICAgY29uc3QgZXh0cmFQYXJhbXMgPSBhd2FpdCBzdXBlci5nZXRFeHRyYVByZWJ1aWxkUGFyYW1zKGJ1aWxkUGFyYW1zKTtcbiAgICBjb25zdCB7IHVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlIH0gPSBidWlsZFBhcmFtcztcbiAgICBpZiAodW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGV4dHJhUGFyYW1zO1xuICAgIH1cbiAgICByZXR1cm4geyAuLi5leHRyYVBhcmFtcywgdW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgfTtcbiAgfVxuXG4gIG92ZXJyaWRlIGRlY29kZVRyYW5zYWN0aW9uKGlucHV0OiBCdWZmZXIgfCBzdHJpbmcpOiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQge1xuICAgIGNvbnN0IGJ1ZmZlciA9IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycgPyBzdHJpbmdUb0J1ZmZlclRyeUZvcm1hdHMoaW5wdXQsIFsnaGV4JywgJ2Jhc2U2NCddKSA6IGlucHV0O1xuICAgIGlmICghaGFzUHNidE1hZ2ljKGJ1ZmZlcikpIHtcbiAgICAgIHJldHVybiBzdXBlci5kZWNvZGVUcmFuc2FjdGlvbihpbnB1dCk7XG4gICAgfVxuICAgIHJldHVybiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaFBzYnQuZnJvbUJ5dGVzKGJ1ZmZlciwgdG9XYXNtVXR4b0NvaW5OYW1lKHRoaXMubmFtZSkgYXMgWmNhc2hDb2luTmFtZSk7XG4gIH1cbiAgcmVzb2x2ZVJlY2lwaWVudHNGcm9tUHNidChpbnB1dDogQnVmZmVyIHwgc3RyaW5nLCB3YWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyk6IFBzYnRSZWNpcGllbnRbXSB7XG4gICAgY29uc3QgcHNidCA9IHRoaXMuZGVjb2RlVHJhbnNhY3Rpb24oaW5wdXQpO1xuICAgIGlmICghKHBzYnQgaW5zdGFuY2VvZiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaEJpdEdvUHNidCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgYSBaY2FzaCBQU0JUJyk7XG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlUHNidFJlY2lwaWVudHMocHNidCwgd2FsbGV0S2V5cywgdGhpcy5hZGRyZXNzQ29kZWMpO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,11 @@
1
+ import { type CoinName } from '@bitgo/wasm-utxo';
2
+ export type WasmUtxoCoinName = CoinName;
1
3
  export declare const utxoCoinsMainnet: readonly ["btc", "bch", "bcha", "bsv", "btg", "dash", "doge", "ltc", "pearl", "zec"];
2
- export declare const utxoCoinsTestnet: readonly ["tbtc", "tbtc4", "tbtcsig", "tbtcbgsig", "tbch", "tbcha", "tbsv", "tbtg", "tdash", "tdoge", "tltc", "tpearl", "tzec"];
4
+ export declare const utxoCoinsTestnet: readonly ["tbtc", "tbtc4", "tbtcsig", "tbtcbgsig", "tbtcstx", "tbtcstxprivate1", "tbch", "tbcha", "tbsv", "tbtg", "tdash", "tdoge", "tltc", "tpearl", "tzec"];
3
5
  export type UtxoCoinNameMainnet = (typeof utxoCoinsMainnet)[number];
4
- export type UtxoCoinNameTestnet = `t${UtxoCoinNameMainnet}` | 'tbtcsig' | 'tbtc4' | 'tbtcbgsig';
6
+ export type UtxoCoinNameTestnet = `t${UtxoCoinNameMainnet}` | 'tbtcsig' | 'tbtc4' | 'tbtcbgsig' | 'tbtcstx' | 'tbtcstxprivate1';
5
7
  export type UtxoCoinName = UtxoCoinNameMainnet | UtxoCoinNameTestnet;
8
+ export declare function toWasmUtxoCoinName(coinName: UtxoCoinName | WasmUtxoCoinName): WasmUtxoCoinName;
6
9
  export declare function isUtxoCoinNameMainnet(coinName: string): coinName is UtxoCoinNameMainnet;
7
10
  export declare function isUtxoCoinNameTestnet(coinName: string): coinName is UtxoCoinNameTestnet;
8
11
  export declare function isUtxoCoinName(coinName: string): coinName is UtxoCoinName;
@@ -1 +1 @@
1
- {"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../../src/names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,sFAAuF,CAAC;AACrH,eAAO,MAAM,gBAAgB,iIAcnB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAChG,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,YAAY,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,mBAAmB,CAY9E;AA2BD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAiBtE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D"}
1
+ {"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../../src/names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAExC,eAAO,MAAM,gBAAgB,sFAAuF,CAAC;AACrH,eAAO,MAAM,gBAAgB,+JAgBnB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAC3B,IAAI,mBAAmB,EAAE,GACzB,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,GACT,iBAAiB,CAAC;AACtB,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,CAK9F;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,YAAY,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,mBAAmB,CAc9E;AA2BD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAwBtE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.utxoCoinsTestnet = exports.utxoCoinsMainnet = void 0;
4
+ exports.toWasmUtxoCoinName = toWasmUtxoCoinName;
4
5
  exports.isUtxoCoinNameMainnet = isUtxoCoinNameMainnet;
5
6
  exports.isUtxoCoinNameTestnet = isUtxoCoinNameTestnet;
6
7
  exports.isUtxoCoinName = isUtxoCoinName;
@@ -8,12 +9,15 @@ exports.getMainnetCoinName = getMainnetCoinName;
8
9
  exports.getFullNameFromCoinName = getFullNameFromCoinName;
9
10
  exports.isTestnetCoin = isTestnetCoin;
10
11
  exports.isMainnetCoin = isMainnetCoin;
12
+ const wasm_utxo_1 = require("@bitgo/wasm-utxo");
11
13
  exports.utxoCoinsMainnet = ['btc', 'bch', 'bcha', 'bsv', 'btg', 'dash', 'doge', 'ltc', 'pearl', 'zec'];
12
14
  exports.utxoCoinsTestnet = [
13
15
  'tbtc',
14
16
  'tbtc4',
15
17
  'tbtcsig',
16
18
  'tbtcbgsig',
19
+ 'tbtcstx',
20
+ 'tbtcstxprivate1',
17
21
  'tbch',
18
22
  'tbcha',
19
23
  'tbsv',
@@ -24,6 +28,12 @@ exports.utxoCoinsTestnet = [
24
28
  'tpearl',
25
29
  'tzec',
26
30
  ];
31
+ function toWasmUtxoCoinName(coinName) {
32
+ if (!(0, wasm_utxo_1.isCoinName)(coinName)) {
33
+ throw new Error(`coin ${coinName} is not supported by wasm-utxo`);
34
+ }
35
+ return coinName;
36
+ }
27
37
  function isUtxoCoinNameMainnet(coinName) {
28
38
  return exports.utxoCoinsMainnet.includes(coinName);
29
39
  }
@@ -41,6 +51,8 @@ function getMainnetCoinName(coinName) {
41
51
  case 'tbtc4':
42
52
  case 'tbtcsig':
43
53
  case 'tbtcbgsig':
54
+ case 'tbtcstx':
55
+ case 'tbtcstxprivate1':
44
56
  return 'btc';
45
57
  default:
46
58
  return coinName.slice(1);
@@ -71,6 +83,9 @@ function getBaseNameFromMainnet(coinName) {
71
83
  }
72
84
  }
73
85
  function getFullNameFromCoinName(coinName) {
86
+ if (coinName === 'tbtcstxprivate1') {
87
+ return 'Stacks Bitcoin (Private-1 Regtest)';
88
+ }
74
89
  let prefix;
75
90
  switch (coinName) {
76
91
  case 'tbtc4':
@@ -82,6 +97,9 @@ function getFullNameFromCoinName(coinName) {
82
97
  case 'tbtcbgsig':
83
98
  prefix = 'BitGo Signet ';
84
99
  break;
100
+ case 'tbtcstx':
101
+ prefix = 'Stacks ';
102
+ break;
85
103
  default:
86
104
  prefix = isUtxoCoinNameTestnet(coinName) ? 'Testnet ' : '';
87
105
  }
@@ -93,4 +111,4 @@ function isTestnetCoin(coinName) {
93
111
  function isMainnetCoin(coinName) {
94
112
  return isUtxoCoinNameMainnet(coinName);
95
113
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUJBLHNEQUVDO0FBRUQsc0RBRUM7QUFFRCx3Q0FFQztBQUVELGdEQVlDO0FBMkJELDBEQWlCQztBQUVELHNDQUVDO0FBRUQsc0NBRUM7QUFqR1ksUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBQ3hHLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsTUFBTTtJQUNOLE9BQU87SUFDUCxTQUFTO0lBQ1QsV0FBVztJQUNYLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixRQUFRO0lBQ1IsTUFBTTtDQUNFLENBQUM7QUFNWCxTQUFnQixxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxPQUFPLHdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUErQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLFFBQWdCO0lBQ3BELE9BQU8sd0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQStCLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLFFBQWdCO0lBQzdDLE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLFFBQXNCO0lBQ3ZELElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxXQUFXO1lBQ2QsT0FBTyxLQUFLLENBQUM7UUFDZjtZQUNFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQXdCLENBQUM7SUFDcEQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLFFBQTZCO0lBQzNELFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxhQUFhLENBQUM7UUFDdkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxRQUFzQjtJQUM1RCxJQUFJLE1BQWMsQ0FBQztJQUNuQixRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssT0FBTztZQUNWLE1BQU0sR0FBRyxXQUFXLENBQUM7WUFDckIsTUFBTTtRQUNSLEtBQUssU0FBUztZQUNaLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQztZQUMxQixNQUFNO1FBQ1IsS0FBSyxXQUFXO1lBQ2QsTUFBTSxHQUFHLGVBQWUsQ0FBQztZQUN6QixNQUFNO1FBQ1I7WUFDRSxNQUFNLEdBQUcscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsUUFBc0I7SUFDbEQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLFFBQXNCO0lBQ2xELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB1dHhvQ29pbnNNYWlubmV0ID0gWydidGMnLCAnYmNoJywgJ2JjaGEnLCAnYnN2JywgJ2J0ZycsICdkYXNoJywgJ2RvZ2UnLCAnbHRjJywgJ3BlYXJsJywgJ3plYyddIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IHV0eG9Db2luc1Rlc3RuZXQgPSBbXG4gICd0YnRjJyxcbiAgJ3RidGM0JyxcbiAgJ3RidGNzaWcnLFxuICAndGJ0Y2Jnc2lnJyxcbiAgJ3RiY2gnLFxuICAndGJjaGEnLFxuICAndGJzdicsXG4gICd0YnRnJyxcbiAgJ3RkYXNoJyxcbiAgJ3Rkb2dlJyxcbiAgJ3RsdGMnLFxuICAndHBlYXJsJyxcbiAgJ3R6ZWMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lTWFpbm5ldCA9ICh0eXBlb2YgdXR4b0NvaW5zTWFpbm5ldClbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFV0eG9Db2luTmFtZVRlc3RuZXQgPSBgdCR7VXR4b0NvaW5OYW1lTWFpbm5ldH1gIHwgJ3RidGNzaWcnIHwgJ3RidGM0JyB8ICd0YnRjYmdzaWcnO1xuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lID0gVXR4b0NvaW5OYW1lTWFpbm5ldCB8IFV0eG9Db2luTmFtZVRlc3RuZXQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZU1haW5uZXQge1xuICByZXR1cm4gdXR4b0NvaW5zTWFpbm5ldC5pbmNsdWRlcyhjb2luTmFtZSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lVGVzdG5ldCB7XG4gIHJldHVybiB1dHhvQ29pbnNUZXN0bmV0LmluY2x1ZGVzKGNvaW5OYW1lIGFzIFV0eG9Db2luTmFtZVRlc3RuZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVdHhvQ29pbk5hbWUoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZSB7XG4gIHJldHVybiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpIHx8IGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYWlubmV0Q29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IFV0eG9Db2luTmFtZU1haW5uZXQge1xuICBpZiAoaXNVdHhvQ29pbk5hbWVNYWlubmV0KGNvaW5OYW1lKSkge1xuICAgIHJldHVybiBjb2luTmFtZTtcbiAgfVxuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgIGNhc2UgJ3RidGNzaWcnOlxuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgICByZXR1cm4gJ2J0Yyc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjb2luTmFtZS5zbGljZSgxKSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoY29pbk5hbWU6IFV0eG9Db2luTmFtZU1haW5uZXQpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAnYnRjJzpcbiAgICAgIHJldHVybiAnQml0Y29pbic7XG4gICAgY2FzZSAnYmNoJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBDYXNoJztcbiAgICBjYXNlICdiY2hhJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBBQkMnO1xuICAgIGNhc2UgJ2J0Zyc6XG4gICAgICByZXR1cm4gJ0JpdGNvaW4gR29sZCc7XG4gICAgY2FzZSAnYnN2JzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBTVic7XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgICByZXR1cm4gJ0Rhc2gnO1xuICAgIGNhc2UgJ2RvZ2UnOlxuICAgICAgcmV0dXJuICdEb2dlY29pbic7XG4gICAgY2FzZSAnbHRjJzpcbiAgICAgIHJldHVybiAnTGl0ZWNvaW4nO1xuICAgIGNhc2UgJ3BlYXJsJzpcbiAgICAgIHJldHVybiAnUGVhcmwnO1xuICAgIGNhc2UgJ3plYyc6XG4gICAgICByZXR1cm4gJ1pDYXNoJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnVsbE5hbWVGcm9tQ29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IHN0cmluZyB7XG4gIGxldCBwcmVmaXg6IHN0cmluZztcbiAgc3dpdGNoIChjb2luTmFtZSkge1xuICAgIGNhc2UgJ3RidGM0JzpcbiAgICAgIHByZWZpeCA9ICdUZXN0bmV0NCAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndGJ0Y3NpZyc6XG4gICAgICBwcmVmaXggPSAnUHVibGljIFNpZ25ldCAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndGJ0Y2Jnc2lnJzpcbiAgICAgIHByZWZpeCA9ICdCaXRHbyBTaWduZXQgJztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBwcmVmaXggPSBpc1V0eG9Db2luTmFtZVRlc3RuZXQoY29pbk5hbWUpID8gJ1Rlc3RuZXQgJyA6ICcnO1xuICB9XG5cbiAgcmV0dXJuIHByZWZpeCArIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoZ2V0TWFpbm5ldENvaW5OYW1lKGNvaW5OYW1lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rlc3RuZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01haW5uZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZSk7XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaUNBLGdEQUtDO0FBRUQsc0RBRUM7QUFFRCxzREFFQztBQUVELHdDQUVDO0FBRUQsZ0RBY0M7QUEyQkQsMERBd0JDO0FBRUQsc0NBRUM7QUFFRCxzQ0FFQztBQTdIRCxnREFBNkQ7QUFJaEQsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBQ3hHLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsTUFBTTtJQUNOLE9BQU87SUFDUCxTQUFTO0lBQ1QsV0FBVztJQUNYLFNBQVM7SUFDVCxpQkFBaUI7SUFDakIsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sTUFBTTtJQUNOLE9BQU87SUFDUCxPQUFPO0lBQ1AsTUFBTTtJQUNOLFFBQVE7SUFDUixNQUFNO0NBQ0UsQ0FBQztBQVlYLFNBQWdCLGtCQUFrQixDQUFDLFFBQXlDO0lBQzFFLElBQUksQ0FBQyxJQUFBLHNCQUFVLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsUUFBUSxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsT0FBTyx3QkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBK0IsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxPQUFPLHdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUErQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxRQUFnQjtJQUM3QyxPQUFPLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxJQUFJLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxRQUFzQjtJQUN2RCxJQUFJLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDcEMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNELFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLFNBQVMsQ0FBQztRQUNmLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxpQkFBaUI7WUFDcEIsT0FBTyxLQUFLLENBQUM7UUFDZjtZQUNFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQXdCLENBQUM7SUFDcEQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLFFBQTZCO0lBQzNELFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxhQUFhLENBQUM7UUFDdkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxRQUFzQjtJQUM1RCxJQUFJLFFBQVEsS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1FBQ25DLE9BQU8sb0NBQW9DLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksTUFBYyxDQUFDO0lBQ25CLFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxPQUFPO1lBQ1YsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUNyQixNQUFNO1FBQ1IsS0FBSyxTQUFTO1lBQ1osTUFBTSxHQUFHLGdCQUFnQixDQUFDO1lBQzFCLE1BQU07UUFDUixLQUFLLFdBQVc7WUFDZCxNQUFNLEdBQUcsZUFBZSxDQUFDO1lBQ3pCLE1BQU07UUFDUixLQUFLLFNBQVM7WUFDWixNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ25CLE1BQU07UUFDUjtZQUNFLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sTUFBTSxHQUFHLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxRQUFzQjtJQUNsRCxPQUFPLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsUUFBc0I7SUFDbEQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDb2luTmFtZSwgdHlwZSBDb2luTmFtZSB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5leHBvcnQgdHlwZSBXYXNtVXR4b0NvaW5OYW1lID0gQ29pbk5hbWU7XG5cbmV4cG9ydCBjb25zdCB1dHhvQ29pbnNNYWlubmV0ID0gWydidGMnLCAnYmNoJywgJ2JjaGEnLCAnYnN2JywgJ2J0ZycsICdkYXNoJywgJ2RvZ2UnLCAnbHRjJywgJ3BlYXJsJywgJ3plYyddIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IHV0eG9Db2luc1Rlc3RuZXQgPSBbXG4gICd0YnRjJyxcbiAgJ3RidGM0JyxcbiAgJ3RidGNzaWcnLFxuICAndGJ0Y2Jnc2lnJyxcbiAgJ3RidGNzdHgnLFxuICAndGJ0Y3N0eHByaXZhdGUxJyxcbiAgJ3RiY2gnLFxuICAndGJjaGEnLFxuICAndGJzdicsXG4gICd0YnRnJyxcbiAgJ3RkYXNoJyxcbiAgJ3Rkb2dlJyxcbiAgJ3RsdGMnLFxuICAndHBlYXJsJyxcbiAgJ3R6ZWMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lTWFpbm5ldCA9ICh0eXBlb2YgdXR4b0NvaW5zTWFpbm5ldClbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFV0eG9Db2luTmFtZVRlc3RuZXQgPVxuICB8IGB0JHtVdHhvQ29pbk5hbWVNYWlubmV0fWBcbiAgfCAndGJ0Y3NpZydcbiAgfCAndGJ0YzQnXG4gIHwgJ3RidGNiZ3NpZydcbiAgfCAndGJ0Y3N0eCdcbiAgfCAndGJ0Y3N0eHByaXZhdGUxJztcbmV4cG9ydCB0eXBlIFV0eG9Db2luTmFtZSA9IFV0eG9Db2luTmFtZU1haW5uZXQgfCBVdHhvQ29pbk5hbWVUZXN0bmV0O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9XYXNtVXR4b0NvaW5OYW1lKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUgfCBXYXNtVXR4b0NvaW5OYW1lKTogV2FzbVV0eG9Db2luTmFtZSB7XG4gIGlmICghaXNDb2luTmFtZShjb2luTmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGNvaW4gJHtjb2luTmFtZX0gaXMgbm90IHN1cHBvcnRlZCBieSB3YXNtLXV0eG9gKTtcbiAgfVxuICByZXR1cm4gY29pbk5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZU1haW5uZXQge1xuICByZXR1cm4gdXR4b0NvaW5zTWFpbm5ldC5pbmNsdWRlcyhjb2luTmFtZSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lVGVzdG5ldCB7XG4gIHJldHVybiB1dHhvQ29pbnNUZXN0bmV0LmluY2x1ZGVzKGNvaW5OYW1lIGFzIFV0eG9Db2luTmFtZVRlc3RuZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVdHhvQ29pbk5hbWUoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZSB7XG4gIHJldHVybiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpIHx8IGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYWlubmV0Q29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IFV0eG9Db2luTmFtZU1haW5uZXQge1xuICBpZiAoaXNVdHhvQ29pbk5hbWVNYWlubmV0KGNvaW5OYW1lKSkge1xuICAgIHJldHVybiBjb2luTmFtZTtcbiAgfVxuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgIGNhc2UgJ3RidGNzaWcnOlxuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgY2FzZSAndGJ0Y3N0eCc6XG4gICAgY2FzZSAndGJ0Y3N0eHByaXZhdGUxJzpcbiAgICAgIHJldHVybiAnYnRjJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNvaW5OYW1lLnNsaWNlKDEpIGFzIFV0eG9Db2luTmFtZU1haW5uZXQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QmFzZU5hbWVGcm9tTWFpbm5ldChjb2luTmFtZTogVXR4b0NvaW5OYW1lTWFpbm5ldCk6IHN0cmluZyB7XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICdidGMnOlxuICAgICAgcmV0dXJuICdCaXRjb2luJztcbiAgICBjYXNlICdiY2gnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIENhc2gnO1xuICAgIGNhc2UgJ2JjaGEnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIEFCQyc7XG4gICAgY2FzZSAnYnRnJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBHb2xkJztcbiAgICBjYXNlICdic3YnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIFNWJztcbiAgICBjYXNlICdkYXNoJzpcbiAgICAgIHJldHVybiAnRGFzaCc7XG4gICAgY2FzZSAnZG9nZSc6XG4gICAgICByZXR1cm4gJ0RvZ2Vjb2luJztcbiAgICBjYXNlICdsdGMnOlxuICAgICAgcmV0dXJuICdMaXRlY29pbic7XG4gICAgY2FzZSAncGVhcmwnOlxuICAgICAgcmV0dXJuICdQZWFybCc7XG4gICAgY2FzZSAnemVjJzpcbiAgICAgIHJldHVybiAnWkNhc2gnO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsTmFtZUZyb21Db2luTmFtZShjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogc3RyaW5nIHtcbiAgaWYgKGNvaW5OYW1lID09PSAndGJ0Y3N0eHByaXZhdGUxJykge1xuICAgIHJldHVybiAnU3RhY2tzIEJpdGNvaW4gKFByaXZhdGUtMSBSZWd0ZXN0KSc7XG4gIH1cblxuICBsZXQgcHJlZml4OiBzdHJpbmc7XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICd0YnRjNCc6XG4gICAgICBwcmVmaXggPSAnVGVzdG5ldDQgJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3RidGNzaWcnOlxuICAgICAgcHJlZml4ID0gJ1B1YmxpYyBTaWduZXQgJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgICBwcmVmaXggPSAnQml0R28gU2lnbmV0ICc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0YnRjc3R4JzpcbiAgICAgIHByZWZpeCA9ICdTdGFja3MgJztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBwcmVmaXggPSBpc1V0eG9Db2luTmFtZVRlc3RuZXQoY29pbk5hbWUpID8gJ1Rlc3RuZXQgJyA6ICcnO1xuICB9XG5cbiAgcmV0dXJuIHByZWZpeCArIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoZ2V0TWFpbm5ldENvaW5OYW1lKGNvaW5OYW1lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rlc3RuZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01haW5uZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZSk7XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { BitGoBase, Triple } from '@bitgo/sdk-core';
2
2
  import { BIP32, fixedScriptWallet } from '@bitgo/wasm-utxo';
3
3
  import { AbstractUtxoCoin } from '../abstractUtxoCoin';
4
- import { UtxoCoinName } from '../names';
4
+ import { UtxoCoinName, WasmUtxoCoinName } from '../names';
5
5
  import { type WalletUnspent } from '../unspent';
6
6
  import { RecoveryProvider } from './RecoveryProvider';
7
7
  type ScriptType2Of3 = fixedScriptWallet.OutputScriptType;
@@ -94,7 +94,7 @@ export interface RecoverWithUnspentsParams {
94
94
  * @param unspents - The wallet unspents to recover (must be non-empty)
95
95
  * @returns The PSBT at the appropriate signing stage (never finalized)
96
96
  */
97
- export declare function backupKeyRecoveryWithWalletUnspents(coinName: UtxoCoinName, params: RecoverWithUnspentsParams, unspents: WalletUnspent<bigint>[]): fixedScriptWallet.BitGoPsbt;
97
+ export declare function backupKeyRecoveryWithWalletUnspents(coinName: UtxoCoinName | WasmUtxoCoinName, params: RecoverWithUnspentsParams, unspents: WalletUnspent<bigint>[]): fixedScriptWallet.BitGoPsbt;
98
98
  /**
99
99
  * Parameters for formatting a backup key recovery result.
100
100
  */
@@ -1 +1 @@
1
- {"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"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"}