@bitgo-beta/sdk-coin-xtz 1.4.3-alpha.401 → 1.4.3-alpha.403

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 (71) hide show
  1. package/dist/src/index.d.ts +5 -0
  2. package/dist/src/index.d.ts.map +1 -0
  3. package/dist/src/index.js +44 -0
  4. package/dist/src/lib/address.d.ts +8 -0
  5. package/dist/src/lib/address.d.ts.map +1 -0
  6. package/dist/src/lib/address.js +10 -0
  7. package/dist/src/lib/iface.d.ts +148 -0
  8. package/dist/src/lib/iface.d.ts.map +1 -0
  9. package/dist/src/lib/iface.js +3 -0
  10. package/dist/src/lib/index.d.ts +10 -0
  11. package/dist/src/lib/index.d.ts.map +1 -0
  12. package/dist/src/lib/index.js +51 -0
  13. package/dist/src/lib/keyPair.d.ts +40 -0
  14. package/dist/src/lib/keyPair.d.ts.map +1 -0
  15. package/dist/src/lib/keyPair.js +149 -0
  16. package/dist/src/lib/multisigUtils.d.ts +134 -0
  17. package/dist/src/lib/multisigUtils.d.ts.map +1 -0
  18. package/dist/src/lib/multisigUtils.js +1193 -0
  19. package/dist/src/lib/transaction.d.ts +119 -0
  20. package/dist/src/lib/transaction.d.ts.map +1 -0
  21. package/dist/src/lib/transaction.js +329 -0
  22. package/dist/src/lib/transactionBuilder.d.ts +171 -0
  23. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  24. package/dist/src/lib/transactionBuilder.js +453 -0
  25. package/dist/src/lib/transferBuilder.d.ts +24 -0
  26. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  27. package/dist/src/lib/transferBuilder.js +64 -0
  28. package/dist/src/lib/utils.d.ts +280 -0
  29. package/dist/src/lib/utils.d.ts.map +1 -0
  30. package/dist/src/lib/utils.js +492 -0
  31. package/dist/src/register.d.ts +3 -0
  32. package/dist/src/register.d.ts.map +1 -0
  33. package/dist/src/register.js +11 -0
  34. package/dist/src/txtz.d.ts +13 -0
  35. package/dist/src/txtz.d.ts.map +1 -0
  36. package/dist/src/txtz.js +14 -0
  37. package/dist/src/xtz.d.ts +125 -0
  38. package/dist/src/xtz.d.ts.map +1 -0
  39. package/dist/src/xtz.js +409 -0
  40. package/dist/test/fixtures.d.ts +571 -0
  41. package/dist/test/fixtures.d.ts.map +1 -0
  42. package/dist/test/fixtures.js +656 -0
  43. package/dist/test/resources.d.ts +451 -0
  44. package/dist/test/resources.d.ts.map +1 -0
  45. package/dist/test/resources.js +349 -0
  46. package/dist/test/unit/keyPair.d.ts +2 -0
  47. package/dist/test/unit/keyPair.d.ts.map +1 -0
  48. package/dist/test/unit/keyPair.js +142 -0
  49. package/dist/test/unit/offlineTransactionBuilder.d.ts +2 -0
  50. package/dist/test/unit/offlineTransactionBuilder.d.ts.map +1 -0
  51. package/dist/test/unit/offlineTransactionBuilder.js +291 -0
  52. package/dist/test/unit/transaction.d.ts +2 -0
  53. package/dist/test/unit/transaction.d.ts.map +1 -0
  54. package/dist/test/unit/transaction.js +98 -0
  55. package/dist/test/unit/transactionBuilder.d.ts +2 -0
  56. package/dist/test/unit/transactionBuilder.d.ts.map +1 -0
  57. package/dist/test/unit/transactionBuilder.js +656 -0
  58. package/dist/test/unit/transferBuilder.d.ts +2 -0
  59. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  60. package/dist/test/unit/transferBuilder.js +82 -0
  61. package/dist/test/unit/util.d.ts +2 -0
  62. package/dist/test/unit/util.d.ts.map +1 -0
  63. package/dist/test/unit/util.js +198 -0
  64. package/dist/test/unit/xtz.d.ts +2 -0
  65. package/dist/test/unit/xtz.d.ts.map +1 -0
  66. package/dist/test/unit/xtz.js +192 -0
  67. package/dist/tsconfig.tsbuildinfo +1 -0
  68. package/package.json +10 -7
  69. package/.eslintignore +0 -5
  70. package/.mocharc.yml +0 -8
  71. package/CHANGELOG.md +0 -784
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsedTransaction = exports.validDataToSign = exports.signedSerializedOriginationTransaction = exports.unsignedSerializedOriginationTransaction = exports.emptyUnsignedSerializedOriginationTransaction = exports.defaultDataToSign = exports.defaultKeyPairFromPub = exports.defaultKeyPairFromPrv = void 0;
4
+ const src_1 = require("../src");
5
+ exports.defaultKeyPairFromPrv = new src_1.XtzLib.KeyPair({
6
+ prv: 'xprv9s21ZrQH143K3D8TXfvAJgHVfTEeQNW5Ys9wZtnUZkqPzFzSjbEJrWC1vZ4GnXCvR7rQL2UFX3RSuYeU9MrERm1XBvACow7c36vnz5iYyj2',
7
+ });
8
+ exports.defaultKeyPairFromPub = new src_1.XtzLib.KeyPair({
9
+ pub: 'xpub661MyMwAqRbcFhCvdhTAfpEEDV58oqDvv65YNHC686NNs4KbH8YZQJWVmrfbve7aAVHzxw8bKFxA7MLeDK6BbLfkE3bqkvHLPgaGHHtYGeY',
10
+ });
11
+ exports.defaultDataToSign = '0507070a000000160196369c90625575ba44594b23794832a9337f7a2d0007070000050502000000320320053d036d0743035d0a00000015006b5ddaef3fb5d7c151cfb36fbe43a7a066777394031e0743036a0001034f034d031b';
12
+ exports.emptyUnsignedSerializedOriginationTransaction = 'ad0cce1d666f0fb7861d89d53faf0de01039c5f24170937d773ae9cd42c68f63';
13
+ exports.unsignedSerializedOriginationTransaction = 'ba7a04fab1a3f77eda96b551947dd343e165d1b91b6f9f806648b63e57c88cc86d006b5ddaef3fb5d7c151cfb36fbe43a7a0667773949c25f48f07b389028c0ac0843d0000000381020000037c05000764046c000000082564656661756c740865086504620000000825636f756e7465720864085e036c055f036d0000000a256f7065726174696f6e086504620000000a257468726573686f6c64065f035c00000005256b6579730000000c256368616e67655f6b657973000000073a616374696f6e000000083a7061796c6f6164065f0563036700000005257369677300000005256d61696e0501076504620000000f2573746f7265645f636f756e746572076504620000000a257468726573686f6c64065f035c00000005256b657973050202000002a30200000012020000000d03210316051f02000000020317072e02000000080320053d036d034202000002780743036a00000313020000001e020000000403190325072c020000000002000000090200000004034f0327034c0321051f0200000002034c051f02000000560200000012020000000d03210316051f020000000203170321034903540342030c051f020000002c020000001e0200000019032104160000000840636f756e746572051f02000000020317051f0200000002034c034c02000000250200000020032104160000000f4073746f7265645f636f756e746572051f02000000020317051f0200000002034c020000001e020000000403190325072c020000000002000000090200000004034f0327051f0200000002034c02000000290200000024032104160000000a407468726573686f6c64051f020000000b041700000005406b657973051f02000000ba084303620000000000064076616c6964034c055202000000a1051f0200000002034c034c072d020000007f020000007a072f0200000004034c0320020000006a034c051f0200000061034c071f00020200000010020000000b051f02000000020321034c020000002f020000000f071f00020200000002032105700003051f02000000020318034c072c02000000020320020000000203270743036200010412000000064076616c696402000000090200000004034f0327034c020000001e020000000403190332072c020000000002000000090200000004034f0327072d02000000090200000004034f032702000000000320051f02000000310200000012020000000d03210316051f0200000002031707430362000104120000000c406e65775f636f756e7465720342072e0200000004034f03260200000011051f02000000020316034c0342053d036d0342000000c1070700000707000202000000b401000000377370706b375a574238646955325457656878646b57435632445446766e3168507a34714c6a6944336e4a516f7a4b6e6f53456e5343386201000000377370706b375a71394b5074776b7a6b6741736861346a5532394334334d63675032736b4b3536746a64374b4a6a68636d4836415a43314601000000377370706b3764327a747a62724c644261544237797a6157526b506663574773724e514e4a646b42453962435453537a656b4c4e7a707666';
14
+ exports.signedSerializedOriginationTransaction = 'ba7a04fab1a3f77eda96b551947dd343e165d1b91b6f9f806648b63e57c88cc86d006b5ddaef3fb5d7c151cfb36fbe43a7a0667773949c25f48f07b389028c0ac0843d0000000381020000037c05000764046c000000082564656661756c740865086504620000000825636f756e7465720864085e036c055f036d0000000a256f7065726174696f6e086504620000000a257468726573686f6c64065f035c00000005256b6579730000000c256368616e67655f6b657973000000073a616374696f6e000000083a7061796c6f6164065f0563036700000005257369677300000005256d61696e0501076504620000000f2573746f7265645f636f756e746572076504620000000a257468726573686f6c64065f035c00000005256b657973050202000002a30200000012020000000d03210316051f02000000020317072e02000000080320053d036d034202000002780743036a00000313020000001e020000000403190325072c020000000002000000090200000004034f0327034c0321051f0200000002034c051f02000000560200000012020000000d03210316051f020000000203170321034903540342030c051f020000002c020000001e0200000019032104160000000840636f756e746572051f02000000020317051f0200000002034c034c02000000250200000020032104160000000f4073746f7265645f636f756e746572051f02000000020317051f0200000002034c020000001e020000000403190325072c020000000002000000090200000004034f0327051f0200000002034c02000000290200000024032104160000000a407468726573686f6c64051f020000000b041700000005406b657973051f02000000ba084303620000000000064076616c6964034c055202000000a1051f0200000002034c034c072d020000007f020000007a072f0200000004034c0320020000006a034c051f0200000061034c071f00020200000010020000000b051f02000000020321034c020000002f020000000f071f00020200000002032105700003051f02000000020318034c072c02000000020320020000000203270743036200010412000000064076616c696402000000090200000004034f0327034c020000001e020000000403190332072c020000000002000000090200000004034f0327072d02000000090200000004034f032702000000000320051f02000000310200000012020000000d03210316051f0200000002031707430362000104120000000c406e65775f636f756e7465720342072e0200000004034f03260200000011051f02000000020316034c0342053d036d0342000000c1070700000707000202000000b401000000377370706b375a574238646955325457656878646b57435632445446766e3168507a34714c6a6944336e4a516f7a4b6e6f53456e5343386201000000377370706b375a71394b5074776b7a6b6741736861346a5532394334334d63675032736b4b3536746a64374b4a6a68636d4836415a43314601000000377370706b3764327a747a62724c644261544237797a6157526b506663574773724e514e4a646b42453962435453537a656b4c4e7a707666a319a0ac5c5c949dcf4a49452e0bd13cf3e05903379784317a821d2f323f677c84acef4a3c1d68e2b216df9ca225d426cf23c3c2f57c19e95063fbd4b30b620b';
15
+ exports.validDataToSign = {
16
+ data: {
17
+ prim: 'Pair',
18
+ args: [
19
+ { string: 'KT1NH2M23xovhw7uwWVuoGTYxykeCcVfSqhL' },
20
+ {
21
+ prim: 'Pair',
22
+ args: [
23
+ { int: '0' },
24
+ {
25
+ prim: 'Left',
26
+ args: [
27
+ [
28
+ { prim: 'DROP' },
29
+ { prim: 'NIL', args: [{ prim: 'operation' }] },
30
+ { prim: 'PUSH', args: [{ prim: 'key_hash' }, { string: 'tz2PtJ9zgEgFVTRqy6GXsst54tH3ksEnYvvS' }] },
31
+ { prim: 'IMPLICIT_ACCOUNT' },
32
+ { prim: 'PUSH', args: [{ prim: 'mutez' }, { int: '100' }] },
33
+ { prim: 'UNIT' },
34
+ { prim: 'TRANSFER_TOKENS' },
35
+ { prim: 'CONS' },
36
+ ],
37
+ ],
38
+ },
39
+ ],
40
+ },
41
+ ],
42
+ },
43
+ type: {
44
+ prim: 'pair',
45
+ args: [
46
+ { prim: 'address' },
47
+ {
48
+ prim: 'pair',
49
+ args: [
50
+ { prim: 'nat', annots: ['%counter'] },
51
+ {
52
+ prim: 'or',
53
+ args: [
54
+ {
55
+ prim: 'lambda',
56
+ args: [{ prim: 'unit' }, { prim: 'list', args: [{ prim: 'operation' }] }],
57
+ annots: ['%operation'],
58
+ },
59
+ {
60
+ prim: 'pair',
61
+ args: [
62
+ { prim: 'nat', annots: ['%threshold'] },
63
+ { prim: 'list', args: [{ prim: 'key' }], annots: ['%keys'] },
64
+ ],
65
+ annots: ['%change_keys'],
66
+ },
67
+ ],
68
+ annots: [':action'],
69
+ },
70
+ ],
71
+ annots: [':payload'],
72
+ },
73
+ ],
74
+ },
75
+ };
76
+ exports.parsedTransaction = {
77
+ branch: 'BM8QdZ92VyaH1s5nwAF9rUXjiPZ3g3Nsn6oYbdKqj2RgHxvWXVS',
78
+ contents: [
79
+ {
80
+ kind: 'origination',
81
+ source: 'tz1VRjRpVKnv16AVprFH1tkDn4TDfVqA893A',
82
+ fee: '4764',
83
+ counter: '116724',
84
+ gas_limit: '33971',
85
+ storage_limit: '1292',
86
+ balance: '1000000',
87
+ script: {
88
+ code: [
89
+ {
90
+ prim: 'parameter',
91
+ args: [
92
+ {
93
+ prim: 'or',
94
+ args: [
95
+ { prim: 'unit', annots: ['%default'] },
96
+ {
97
+ prim: 'pair',
98
+ args: [
99
+ {
100
+ prim: 'pair',
101
+ args: [
102
+ { prim: 'nat', annots: ['%counter'] },
103
+ {
104
+ prim: 'or',
105
+ args: [
106
+ {
107
+ prim: 'lambda',
108
+ args: [{ prim: 'unit' }, { prim: 'list', args: [{ prim: 'operation' }] }],
109
+ annots: ['%operation'],
110
+ },
111
+ {
112
+ prim: 'pair',
113
+ args: [
114
+ { prim: 'nat', annots: ['%threshold'] },
115
+ { prim: 'list', args: [{ prim: 'key' }], annots: ['%keys'] },
116
+ ],
117
+ annots: ['%change_keys'],
118
+ },
119
+ ],
120
+ annots: [':action'],
121
+ },
122
+ ],
123
+ annots: [':payload'],
124
+ },
125
+ { prim: 'list', args: [{ prim: 'option', args: [{ prim: 'signature' }] }], annots: ['%sigs'] },
126
+ ],
127
+ annots: ['%main'],
128
+ },
129
+ ],
130
+ },
131
+ ],
132
+ },
133
+ {
134
+ prim: 'storage',
135
+ args: [
136
+ {
137
+ prim: 'pair',
138
+ args: [
139
+ { prim: 'nat', annots: ['%stored_counter'] },
140
+ {
141
+ prim: 'pair',
142
+ args: [
143
+ { prim: 'nat', annots: ['%threshold'] },
144
+ { prim: 'list', args: [{ prim: 'key' }], annots: ['%keys'] },
145
+ ],
146
+ },
147
+ ],
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ prim: 'code',
153
+ args: [
154
+ [
155
+ [[{ prim: 'DUP' }, { prim: 'CAR' }, { prim: 'DIP', args: [[{ prim: 'CDR' }]] }]],
156
+ {
157
+ prim: 'IF_LEFT',
158
+ args: [
159
+ [{ prim: 'DROP' }, { prim: 'NIL', args: [{ prim: 'operation' }] }, { prim: 'PAIR' }],
160
+ [
161
+ { prim: 'PUSH', args: [{ prim: 'mutez' }, { int: '0' }] },
162
+ { prim: 'AMOUNT' },
163
+ [
164
+ [{ prim: 'COMPARE' }, { prim: 'EQ' }],
165
+ { prim: 'IF', args: [[], [[{ prim: 'UNIT' }, { prim: 'FAILWITH' }]]] },
166
+ ],
167
+ { prim: 'SWAP' },
168
+ { prim: 'DUP' },
169
+ { prim: 'DIP', args: [[{ prim: 'SWAP' }]] },
170
+ {
171
+ prim: 'DIP',
172
+ args: [
173
+ [
174
+ [[{ prim: 'DUP' }, { prim: 'CAR' }, { prim: 'DIP', args: [[{ prim: 'CDR' }]] }]],
175
+ { prim: 'DUP' },
176
+ { prim: 'SELF' },
177
+ { prim: 'ADDRESS' },
178
+ { prim: 'PAIR' },
179
+ { prim: 'PACK' },
180
+ {
181
+ prim: 'DIP',
182
+ args: [
183
+ [
184
+ [
185
+ [
186
+ { prim: 'DUP' },
187
+ { prim: 'CAR', annots: ['@counter'] },
188
+ { prim: 'DIP', args: [[{ prim: 'CDR' }]] },
189
+ ],
190
+ ],
191
+ { prim: 'DIP', args: [[{ prim: 'SWAP' }]] },
192
+ ],
193
+ ],
194
+ },
195
+ { prim: 'SWAP' },
196
+ ],
197
+ ],
198
+ },
199
+ [
200
+ [
201
+ { prim: 'DUP' },
202
+ { prim: 'CAR', annots: ['@stored_counter'] },
203
+ { prim: 'DIP', args: [[{ prim: 'CDR' }]] },
204
+ ],
205
+ ],
206
+ { prim: 'DIP', args: [[{ prim: 'SWAP' }]] },
207
+ [
208
+ [{ prim: 'COMPARE' }, { prim: 'EQ' }],
209
+ { prim: 'IF', args: [[], [[{ prim: 'UNIT' }, { prim: 'FAILWITH' }]]] },
210
+ ],
211
+ { prim: 'DIP', args: [[{ prim: 'SWAP' }]] },
212
+ [
213
+ [
214
+ { prim: 'DUP' },
215
+ { prim: 'CAR', annots: ['@threshold'] },
216
+ { prim: 'DIP', args: [[{ prim: 'CDR', annots: ['@keys'] }]] },
217
+ ],
218
+ ],
219
+ {
220
+ prim: 'DIP',
221
+ args: [
222
+ [
223
+ { prim: 'PUSH', args: [{ prim: 'nat' }, { int: '0' }], annots: ['@valid'] },
224
+ { prim: 'SWAP' },
225
+ {
226
+ prim: 'ITER',
227
+ args: [
228
+ [
229
+ { prim: 'DIP', args: [[{ prim: 'SWAP' }]] },
230
+ { prim: 'SWAP' },
231
+ {
232
+ prim: 'IF_CONS',
233
+ args: [
234
+ [
235
+ [
236
+ {
237
+ prim: 'IF_NONE',
238
+ args: [
239
+ [{ prim: 'SWAP' }, { prim: 'DROP' }],
240
+ [
241
+ { prim: 'SWAP' },
242
+ {
243
+ prim: 'DIP',
244
+ args: [
245
+ [
246
+ { prim: 'SWAP' },
247
+ {
248
+ prim: 'DIP',
249
+ args: [
250
+ { int: '2' },
251
+ [
252
+ [
253
+ { prim: 'DIP', args: [[{ prim: 'DUP' }]] },
254
+ { prim: 'SWAP' },
255
+ ],
256
+ ],
257
+ ],
258
+ },
259
+ [
260
+ [
261
+ { prim: 'DIP', args: [{ int: '2' }, [{ prim: 'DUP' }]] },
262
+ { prim: 'DIG', args: [{ int: '3' }] },
263
+ ],
264
+ { prim: 'DIP', args: [[{ prim: 'CHECK_SIGNATURE' }]] },
265
+ { prim: 'SWAP' },
266
+ {
267
+ prim: 'IF',
268
+ args: [[{ prim: 'DROP' }], [{ prim: 'FAILWITH' }]],
269
+ },
270
+ ],
271
+ { prim: 'PUSH', args: [{ prim: 'nat' }, { int: '1' }] },
272
+ { prim: 'ADD', annots: ['@valid'] },
273
+ ],
274
+ ],
275
+ },
276
+ ],
277
+ ],
278
+ },
279
+ ],
280
+ ],
281
+ [[{ prim: 'UNIT' }, { prim: 'FAILWITH' }]],
282
+ ],
283
+ },
284
+ { prim: 'SWAP' },
285
+ ],
286
+ ],
287
+ },
288
+ ],
289
+ ],
290
+ },
291
+ [
292
+ [{ prim: 'COMPARE' }, { prim: 'LE' }],
293
+ { prim: 'IF', args: [[], [[{ prim: 'UNIT' }, { prim: 'FAILWITH' }]]] },
294
+ ],
295
+ { prim: 'IF_CONS', args: [[[{ prim: 'UNIT' }, { prim: 'FAILWITH' }]], []] },
296
+ { prim: 'DROP' },
297
+ {
298
+ prim: 'DIP',
299
+ args: [
300
+ [
301
+ [[{ prim: 'DUP' }, { prim: 'CAR' }, { prim: 'DIP', args: [[{ prim: 'CDR' }]] }]],
302
+ { prim: 'PUSH', args: [{ prim: 'nat' }, { int: '1' }] },
303
+ { prim: 'ADD', annots: ['@new_counter'] },
304
+ { prim: 'PAIR' },
305
+ ],
306
+ ],
307
+ },
308
+ {
309
+ prim: 'IF_LEFT',
310
+ args: [
311
+ [{ prim: 'UNIT' }, { prim: 'EXEC' }],
312
+ [
313
+ { prim: 'DIP', args: [[{ prim: 'CAR' }]] },
314
+ { prim: 'SWAP' },
315
+ { prim: 'PAIR' },
316
+ { prim: 'NIL', args: [{ prim: 'operation' }] },
317
+ ],
318
+ ],
319
+ },
320
+ { prim: 'PAIR' },
321
+ ],
322
+ ],
323
+ },
324
+ ],
325
+ ],
326
+ },
327
+ ],
328
+ storage: {
329
+ prim: 'Pair',
330
+ args: [
331
+ { int: '0' },
332
+ {
333
+ prim: 'Pair',
334
+ args: [
335
+ { int: '2' },
336
+ [
337
+ { string: 'sppk7ZWB8diU2TWehxdkWCV2DTFvn1hPz4qLjiD3nJQozKnoSEnSC8b' },
338
+ { string: 'sppk7Zq9KPtwkzkgAsha4jU29C43McgP2skK56tjd7KJjhcmH6AZC1F' },
339
+ { string: 'sppk7d2ztzbrLdBaTB7yzaWRkPfcWGsrNQNJdkBE9bCTSSzekLNzpvf' },
340
+ ],
341
+ ],
342
+ },
343
+ ],
344
+ },
345
+ },
346
+ },
347
+ ],
348
+ };
349
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0NBQWdDO0FBRW5CLFFBQUEscUJBQXFCLEdBQUcsSUFBSSxZQUFNLENBQUMsT0FBTyxDQUFDO0lBQ3RELEdBQUcsRUFBRSxpSEFBaUg7Q0FDdkgsQ0FBQyxDQUFDO0FBRVUsUUFBQSxxQkFBcUIsR0FBRyxJQUFJLFlBQU0sQ0FBQyxPQUFPLENBQUM7SUFDdEQsR0FBRyxFQUFFLGlIQUFpSDtDQUN2SCxDQUFDLENBQUM7QUFDVSxRQUFBLGlCQUFpQixHQUM1Qix3TEFBd0wsQ0FBQztBQUU5SyxRQUFBLDZDQUE2QyxHQUN4RCxrRUFBa0UsQ0FBQztBQUV4RCxRQUFBLHdDQUF3QyxHQUNuRCw4eEVBQTh4RSxDQUFDO0FBRXB4RSxRQUFBLHNDQUFzQyxHQUNqRCw4NUVBQTg1RSxDQUFDO0FBRXA1RSxRQUFBLGVBQWUsR0FBRztJQUM3QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRTtZQUNKLEVBQUUsTUFBTSxFQUFFLHNDQUFzQyxFQUFFO1lBQ2xEO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRTtvQkFDSixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQ1o7d0JBQ0UsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFOzRCQUNKO2dDQUNFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQ0FDaEIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0NBQzlDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxzQ0FBc0MsRUFBRSxDQUFDLEVB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QUksRUFBRSxTQUFTO2dEQUNmLElBQUksRUFBRTtvREFDSixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO29EQUNwQzt3REFDRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUU7d0RBQzFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTt3REFDaEIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO3dEQUNoQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRTtxREFDL0M7aURBQ0Y7NkNBQ0Y7NENBQ0QsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO3lDQUNqQjtxQ0FDRjtpQ0FDRjs2QkFDRjt5QkFDRjtxQkFDRjtpQkFDRjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFO3dCQUNKLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTt3QkFDWjs0QkFDRSxJQUFJLEVBQUUsTUFBTTs0QkFDWixJQUFJLEVBQUU7Z0NBQ0osRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO2dDQUNaO29DQUNFLEVBQUUsTUFBTSxFQUFFLHlEQUF5RCxFQUFFO29DQUNyRSxFQUFFLE1BQU0sRUFBRSx5REFBeUQsRUFBRTtvQ0FDckUsRUFBRSxNQUFNLEVBQUUseURBQXlELEVBQUU7aUNBQ3RFOzZCQUNGO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFh0ekxpYiB9IGZyb20gJy4uL3NyYyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0S2V5UGFpckZyb21QcnYgPSBuZXcgWHR6TGliLktleVBhaXIoe1xuICBwcnY6ICd4cHJ2OXMyMVpyUUgxNDNLM0Q4VFhmdkFKZ0hWZlRFZVFOVzVZczl3WnRuVVprcVB6RnpTamJFSnJXQzF2WjRHblhDdlI3clFMMlVGWDNSU3VZZVU5TXJFUm0xWEJ2QUNvdzdjMzZ2bno1aVl5ajInLFxufSk7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0S2V5UGFpckZyb21QdWIgPSBuZXcgWHR6TGliLktleVBhaXIoe1xuICBwdWI6ICd4cHViNjYxTXlNd0FxUmJjRmhDdmRoVEFmcEVFRFY1OG9xRHZ2NjVZTkhDNjg2Tk5zNEtiSDhZWlFKV1ZtcmZidmU3YUFWSHp4dzhiS0Z4QTdNTGVESzZCYkxma0UzYnFrdkhMUGdhR0hIdFlHZVknLFxufSk7XG5leHBvcnQgY29uc3QgZGVmYXVsdERhdGFUb1NpZ24gPVxuICAnMDUwNzA3MGEwMDAwMDAxNjAxOTYzNjljOTA2MjU1NzViYTQ0NTk0YjIzNzk0ODMyYTkzMzdmN2EyZDAwMDcwNzAwMDAwNTA1MDIwMDAwMDAzMjAzMjAwNTNkMDM2ZDA3NDMwMzVkMGEwMDAwMDAxNTAwNmI1ZGRhZWYzZmI1ZDdjMTUxY2ZiMzZmYmU0M2E3YTA2Njc3NzM5NDAzMWUwNzQzMDM2YTAwMDEwMzRmMDM0ZDAzMWInO1xuXG5leHBvcnQgY29uc3QgZW1wdHlVbnNpZ25lZFNlcmlhbGl6ZWRPcmlnaW5hdGlvblRyYW5zYWN0aW9uID1cbiAgJ2FkMGNjZTFkNjY2ZjBmYjc4NjFkODlkNTNmYWYwZGUwMTAzOWM1ZjI0MTcwOTM3ZDc3M2FlOWNkNDJjNjhmNjMnO1xuXG5leHBvcnQgY29uc3QgdW5zaWduZWRTZXJpYWxpemVkT3JpZ2luYXRpb25UcmFuc2FjdGlvbiA9XG4gICdiYTdhMDRmYWIxYTNmNzdlZGE5NmI1NTE5NDdkZDM0M2UxNjVkMWI5MWI2ZjlmODA2NjQ4YjYzZTU3Yzg4Y2M4NmQwMDZiNWRkYWVmM2ZiNWQ3YzE1MWNmYjM2ZmJlNDNhN2EwNjY3NzczOTQ5YzI1ZjQ4ZjA3YjM4OTAyOGMwYWMwODQzZDAwMDAwMDAzODEwMjAwMDAwMzdjMDUwMDA3NjQwNDZjMDAwMDAwMDgyNTY0NjU2NjYxNzU2Yzc0MDg2NTA4NjUwNDYyMDAwMDAwMDgyNTYzNmY3NTZlNzQ2NTcyMDg2NDA4NWUwMzZjMDU1ZjAzNmQwMDAwMDAwYTI1NmY3MDY1NzI2MTc0Njk2ZjZlMDg2NTA0NjIwMDAwMDAwYTI1NzQ2ODcyNjU3MzY4NmY2YzY0MDY1ZjAzNWMwMDAwMDAwNTI1NmI2NTc5NzMwMDAwMDAwYzI1NjM2ODYxNmU2NzY1NWY2YjY1Nzk3MzAwMDAwMDA3M2E2MTYzNzQ2OTZmNmUwMDAwMDAwODNhNzA2MTc5NmM2ZjYxNjQwNjVmMDU2MzAzNjcwMDAwMDAwNTI1NzM2OTY3NzMwMDAwMDAwNTI1NmQ2MTY5NmUwNTAxMDc2NTA0NjIwMDAwMDAwZjI1NzM3NDZmNzI2NTY0NWY2MzZmNzU2ZTc0NjU3MjA3NjUwNDYyMDAwMDAwMGEyNTc0Njg3MjY1NzM2ODZmNmM2NDA2NWYwMzVjMDAwMDAwMDUyNTZiNjU3OTczMDUwMjAyMDAwMDAyYTMwMjAwMDAwMDEyMDIwMDAwMDAwZDAzMjEwMzE2MDUxZjAyMDAwMDAwMDIwMzE3MDcyZTAyMDAwMDAwMDgwMzIwMDUzZDAzNmQwMzQyMDIwMDAwMDI3ODA3NDMwMzZhMDAwMDAzMTMwMjAwMDAwMDFlMDIwMDAwMDAwNDAzMTkwMzI1MDcyYzAyMDAwMDAwMDAwMjAwMDAwMDA5MDIwMDAwMDAwNDAzNGYwMzI3MDM0YzAzMjEwNTFmMDIwMDAwMDAwMjAzNGMwNTFmMDIwMDAwMDA1NjAyMDAwMDAwMTIwMjAwMDAwMDBkMDMyMTAzMTYwNTFmMDIwMDAwMDAwMjAzMTcwMzIxMDM0OTAzNTQwMzQyMDMwYzA1MWYwMjAwMDAwMDJjMDIwMDAwMDAxZTAyMDAwMDAwMTkwMzIxMDQxNjAwMDAwMDA4NDA2MzZmNzU2ZTc0NjU3MjA1MWYwMjAwMDAwMDAyMDMxNzA1MWYwMjAwMDAwMDAyMDM0YzAzNGMwMjAwMDAwMDI1MDIwMDAwMDAyMDAzMjEwNDE2MDAwMDAwMGY0MDczNzQ2ZjcyNjU2NDVmNjM2Zjc1NmU3NDY1NzIwNTFmMDIwMDAwMDAwMjAzMTcwNTFmMDIwMDAwMDAwMjAzNGMwMjAwMDAwMDFlMDIwMDAwMDAwNDAzMTkwMzI1MDcyYzAyMDAwMDAwMDAwMjAwMDAwMDA5MDIwMDAwMDAwNDAzNGYwMzI3MDUxZjAyMDAwMDAwMDIwMzRjMDIwMDAwMDAyOTAyMDAwMDAwMjQwMzIxMDQxNjAwMDAwMDBhNDA3NDY4NzI2NTczNjg2ZjZjNjQwNTFmMDIwMDAwMDAwYjA0MTcwMDAwMDAwNTQwNmI2NTc5NzMwNTFmMDIwMDAwMDBiYTA4NDMwMzYyMDAwMDAwMDAwMDA2NDA3NjYxNmM2OTY0MDM0YzA1NTIwMjAwMDAwMGExMDUxZjAyMDAwMDAwMDIwMzRjMDM0YzA3MmQwMjAwMDAwMDdmMDIwMDAwMDA3YTA3MmYwMjAwMDAwMDA0MDM0YzAzMjAwMjAwMDAwMDZhMDM0YzA1MWYwMjAwMDAwMDYxMDM0YzA3MWYwMDAyMDIwMDAwMDAxMDAyMDAwMDAwMGIwNTFmMDIwMDAwMDAwMjAzMjEwMzRjMDIwMDAwMDAyZjAyMDAwMDAwMGYwNzFmMDAwMjAyMDAwMDAwMDIwMzIxMDU3MDAwMDMwNTFmMDIwMDAwMDAwMjAzMTgwMzRjMDcyYzAyMDAwMDAwMDIwMzIwMDIwMDAwMDAwMjAzMjcwNzQzMDM2MjAwMDEwNDEyMDAwMDAwMDY0MDc2NjE2YzY5NjQwMjAwMDAwMDA5MDIwMDAwMDAwNDAzNGYwMzI3MDM0YzAyMDAwMDAwMWUwMjAwMDAwMDA0MDMxOTAzMzIwNzJjMDIwMDAwMDAwMDAyMDAwMDAwMDkwMjAwMDAwMDA0MDM0ZjAzMjcwNzJkMDIwMDAwMDAwOTAyMDAwMDAwMDQwMzRmMDMyNzAyMDAwMDAwMDAwMzIwMDUxZjAyMDAwMDAwMzEwMjAwMDAwMDEyMDIwMDAwMDAwZDAzMjEwMzE2MDUxZjAyMDAwMDAwMDIwMzE3MDc0MzAzNjIwMDAxMDQxMjAwMDAwMDBjNDA2ZTY1Nzc1ZjYzNmY3NTZlNzQ2NTcyMDM0MjA3MmUwMjAwMDAwMDA0MDM0ZjAzMjYwMjAwMDAwMDExMDUxZjAyMDAwMDAwMDIwMzE2MDM0YzAzNDIwNTNkMDM2ZDAzNDIwMDAwMDBjMTA3MDcwMDAwMDcwNzAwMDIwMjAwMDAwMGI0MDEwMDAwMDAzNzczNzA3MDZiMzc1YTU3NDIzODY0Njk1NTMyNTQ1NzY1Njg3ODY0NmI1NzQzNTYzMjQ0NTQ0Njc2NmUzMTY4NTA3YTM0NzE0YzZhNjk0NDMzNmU0YTUxNmY3YTRiNmU2ZjUzNDU2ZTUzNDMzODYyMDEwMDAwMDAzNzczNzA3MDZiMzc1YTcxMzk0YjUwNzQ3NzZiN2E2YjY3NDE3MzY4NjEzNDZhNTUzMjM5NDMzNDMzNGQ2MzY3NTAzMjczNmI0YjM1MzY3NDZhNjQzNzRiNGE2YTY4NjM2ZDQ4MzY0MTVhNDMzMTQ2MDEwMDAwMDAzNzczNzA3MDZiMzc2NDMyN2E3NDdhNjI3MjRjNjQ0MjYxNTQ0MjM3Nzk3YTYxNTc1MjZiNTA2NjYzNTc0NzczNzI0ZTUxNGU0YTY0NmI0MjQ1Mzk2MjQzNTQ1MzUzN2E2NTZiNGM0ZTdhNzA3NjY2JztcblxuZXhwb3J0IGNvbnN0IHNpZ25lZFNlcmlhbGl6ZWRPcmlnaW5hdGlvblRyYW5zYWN0aW9uID1cbiAgJ2JhN2EwNGZhYjFhM2Y3N2VkYTk2YjU1MTk0N2RkMzQzZTE2NWQxYjkxYjZmOWY4MDY2NDhiNjNlNTdjODhjYzg2ZDAwNmI1ZGRhZWYzZmI1ZDdjMTUxY2ZiMzZmYmU0M2E3YTA2Njc3NzM5NDljMjVmNDhmMDdiMzg5MDI4YzBhYzA4NDNkMDAwMDAwMDM4MTAyMDAwMDAzN2MwNTAwMDc2NDA0NmMwMDAwMDAwODI1NjQ2NTY2NjE3NTZjNzQwODY1MDg2NTA0NjIwMDAwMDAwODI1NjM2Zjc1NmU3NDY1NzIwODY0MDg1ZTAzNmMwNTVmMDM2ZDAwMDAwMDBhMjU2ZjcwNjU3MjYxNzQ2OTZmNmUwODY1MDQ2MjAwMDAwMDBhMjU3NDY4NzI2NTczNjg2ZjZjNjQwNjVmMDM1YzAwMDAwMDA1MjU2YjY1Nzk3MzAwMDAwMDBjMjU2MzY4NjE2ZTY3NjU1ZjZiNjU3OTczMDAwMDAwMDczYTYxNjM3NDY5NmY2ZTAwMDAwMDA4M2E3MDYxNzk2YzZmNjE2NDA2NWYwNTYzMDM2NzAwMDAwMDA1MjU3MzY5Njc3MzAwMDAwMDA1MjU2ZDYxNjk2ZTA1MDEwNzY1MDQ2MjAwMDAwMDBmMjU3Mzc0NmY3MjY1NjQ1ZjYzNmY3NTZlNzQ2NTcyMDc2NTA0NjIwMDAwMDAwYTI1NzQ2ODcyNjU3MzY4NmY2YzY0MDY1ZjAzNWMwMDAwMDAwNTI1NmI2NTc5NzMwNTAyMDIwMDAwMDJhMzAyMDAwMDAwMTIwMjAwMDAwMDBkMDMyMTAzMTYwNTFmMDIwMDAwMDAwMjAzMTcwNzJlMDIwMDAwMDAwODAzMjAwNTNkMDM2ZDAzNDIwMjAwMDAwMjc4MDc0MzAzNmEwMDAwMDMxMzAyMDAwMDAwMWUwMjAwMDAwMDA0MDMxOTAzMjUwNzJjMDIwMDAwMDAwMDAyMDAwMDAwMDkwMjAwMDAwMDA0MDM0ZjAzMjcwMzRjMDMyMTA1MWYwMjAwMDAwMDAyMDM0YzA1MWYwMjAwMDAwMDU2MDIwMDAwMDAxMjAyMDAwMDAwMGQwMzIxMDMxNjA1MWYwMjAwMDAwMDAyMDMxNzAzMjEwMzQ5MDM1NDAzNDIwMzBjMDUxZjAyMDAwMDAwMmMwMjAwMDAwMDFlMDIwMDAwMDAxOTAzMjEwNDE2MDAwMDAwMDg0MDYzNmY3NTZlNzQ2NTcyMDUxZjAyMDAwMDAwMDIwMzE3MDUxZjAyMDAwMDAwMDIwMzRjMDM0YzAyMDAwMDAwMjUwMjAwMDAwMDIwMDMyMTA0MTYwMDAwMDAwZjQwNzM3NDZmNzI2NTY0NWY2MzZmNzU2ZTc0NjU3MjA1MWYwMjAwMDAwMDAyMDMxNzA1MWYwMjAwMDAwMDAyMDM0YzAyMDAwMDAwMWUwMjAwMDAwMDA0MDMxOTAzMjUwNzJjMDIwMDAwMDAwMDAyMDAwMDAwMDkwMjAwMDAwMDA0MDM0ZjAzMjcwNTFmMDIwMDAwMDAwMjAzNGMwMjAwMDAwMDI5MDIwMDAwMDAyNDAzMjEwNDE2MDAwMDAwMGE0MDc0Njg3MjY1NzM2ODZmNmM2NDA1MWYwMjAwMDAwMDBiMDQxNzAwMDAwMDA1NDA2YjY1Nzk3MzA1MWYwMjAwMDAwMGJhMDg0MzAzNjIwMDAwMDAwMDAwMDY0MDc2NjE2YzY5NjQwMzRjMDU1MjAyMDAwMDAwYTEwNTFmMDIwMDAwMDAwMjAzNGMwMzRjMDcyZDAyMDAwMDAwN2YwMjAwMDAwMDdhMDcyZjAyMDAwMDAwMDQwMzRjMDMyMDAyMDAwMDAwNmEwMzRjMDUxZjAyMDAwMDAwNjEwMzRjMDcxZjAwMDIwMjAwMDAwMDEwMDIwMDAwMDAwYjA1MWYwMjAwMDAwMDAyMDMyMTAzNGMwMjAwMDAwMDJmMDIwMDAwMDAwZjA3MWYwMDAyMDIwMDAwMDAwMjAzMjEwNTcwMDAwMzA1MWYwMjAwMDAwMDAyMDMxODAzNGMwNzJjMDIwMDAwMDAwMjAzMjAwMjAwMDAwMDAyMDMyNzA3NDMwMzYyMDAwMTA0MTIwMDAwMDAwNjQwNzY2MTZjNjk2NDAyMDAwMDAwMDkwMjAwMDAwMDA0MDM0ZjAzMjcwMzRjMDIwMDAwMDAxZTAyMDAwMDAwMDQwMzE5MDMzMjA3MmMwMjAwMDAwMDAwMDIwMDAwMDAwOTAyMDAwMDAwMDQwMzRmMDMyNzA3MmQwMjAwMDAwMDA5MDIwMDAwMDAwNDAzNGYwMzI3MDIwMDAwMDAwMDAzMjAwNTFmMDIwMDAwMDAzMTAyMDAwMDAwMTIwMjAwMDAwMDBkMDMyMTAzMTYwNTFmMDIwMDAwMDAwMjAzMTcwNzQzMDM2MjAwMDEwNDEyMDAwMDAwMGM0MDZlNjU3NzVmNjM2Zjc1NmU3NDY1NzIwMzQyMDcyZTAyMDAwMDAwMDQwMzRmMDMyNjAyMDAwMDAwMTEwNTFmMDIwMDAwMDAwMjAzMTYwMzRjMDM0MjA1M2QwMzZkMDM0MjAwMDAwMGMxMDcwNzAwMDAwNzA3MDAwMjAyMDAwMDAwYjQwMTAwMDAwMDM3NzM3MDcwNmIzNzVhNTc0MjM4NjQ2OTU1MzI1NDU3NjU2ODc4NjQ2YjU3NDM1NjMyNDQ1NDQ2NzY2ZTMxNjg1MDdhMzQ3MTRjNmE2OTQ0MzM2ZTRhNTE2ZjdhNGI2ZTZmNTM0NTZlNTM0MzM4NjIwMTAwMDAwMDM3NzM3MDcwNmIzNzVhNzEzOTRiNTA3NDc3NmI3YTZiNjc0MTczNjg2MTM0NmE1NTMyMzk0MzM0MzM0ZDYzNjc1MDMyNzM2YjRiMzUzNjc0NmE2NDM3NGI0YTZhNjg2MzZkNDgzNjQxNWE0MzMxNDYwMTAwMDAwMDM3NzM3MDcwNmIzNzY0MzI3YTc0N2E2MjcyNGM2NDQyNjE1NDQyMzc3OTdhNjE1NzUyNmI1MDY2NjM1NzQ3NzM3MjRlNTE0ZTRhNjQ2YjQyNDUzOTYyNDM1NDUzNTM3YTY1NmI0YzRlN2E3MDc2NjZhMzE5YTBhYzVjNWM5NDlkY2Y0YTQ5NDUyZTBiZDEzY2YzZTA1OTAzMzc5Nzg0MzE3YTgyMWQyZjMyM2Y2NzdjODRhY2VmNGEzYzFkNjhlMmIyMTZkZjljYTIyNWQ0MjZjZjIzYzNjMmY1N2MxOWU5NTA2M2ZiZDRiMzBiNjIwYic7XG5cbmV4cG9ydCBjb25zdCB2YWxpZERhdGFUb1NpZ24gPSB7XG4gIGRhdGE6IHtcbiAgICBwcmltOiAnUGFpcicsXG4gICAgYXJnczogW1xuICAgICAgeyBzdHJpbmc6ICdLVDFOSDJNMjN4b3Zodzd1d1dWdW9HVFl4eWtlQ2NWZlNxaEwnIH0sXG4gICAgICB7XG4gICAgICAgIHByaW06ICdQYWlyJyxcbiAgICAgICAgYXJnczogW1xuICAgICAgICAgIHsgaW50OiAnMCcgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcmltOiAnTGVmdCcsXG4gICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB7IHByaW06ICdEUk9QJyB9LFxuICAgICAgICAgICAgICAgIHsgcHJpbTogJ05JTCcsIGFyZ3M6IFt7IHByaW06ICdvcGVyYXRpb24nIH1dIH0sXG4gICAgICAgICAgICAgICAgeyBwcmltOiAnUFVTSCcsIGFyZ3M6IFt7IHByaW06ICdrZXlfaGFzaCcgfSwgeyBzdHJpbmc6ICd0ejJQdEo5emdFZ0ZWVFJxeTZHWHNzdDU0dEgza3NFbll2dlMnIH1dIH0sXG4gICAgICAgICAgICAgICAgeyBwcmltOiAnSU1QTElDSVRfQUNDT1VOVCcgfSxcbiAgICAgICAgICAgICAgICB7IHByaW06ICdQVVNIJywgYXJnczogW3sgcHJpbTogJ211dGV6JyB9LCB7IGludDogJzEwMCcgfV0gfSxcbiAgICAgICAgICAgICAgICB7IHByaW06ICdVTklUJyB9LFxuICAgICAgICAgICAgICAgIHsgcHJpbTogJ1RSQU5TRkVSX1RPS0VOUycgfSxcbiAgICAgICAgICAgICAgICB7IHByaW06ICdDT05TJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB0eXBlOiB7XG4gICAgcHJpbTogJ3BhaXInLFxuICAgIGFyZ3M6IFtcbiAgICAgIHsgcHJpbTogJ2FkZHJlc3MnIH0sXG4gICAgICB7XG4gICAgICAgIHByaW06ICdwYWlyJyxcbiAgICAgICAgYXJnczogW1xuICAgICAgICAgIHsgcHJpbTogJ25hdCcsIGFubm90czogWyclY291bnRlciddIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJpbTogJ29yJyxcbiAgICAgICAgICAgIGFyZ3M6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByaW06ICdsYW1iZGEnLFxuICAgICAgICAgICAgICAgIGFyZ3M6IFt7IHByaW06ICd1bml0JyB9LCB7IHByaW06ICdsaXN0JywgYXJnczogW3sgcHJpbTogJ29wZXJhdGlvbicgfV0gfV0sXG4gICAgICAgICAgICAgICAgYW5ub3RzOiBbJyVvcGVyYXRpb24nXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByaW06ICdwYWlyJyxcbiAgICAgICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgICAgICB7IHByaW06ICduYXQnLCBhbm5vdHM6IFsnJXRocmVzaG9sZCddIH0sXG4gICAgICAgICAgICAgICAgICB7IHByaW06ICdsaXN0JywgYXJnczogW3sgcHJpbTogJ2tleScgfV0sIGFubm90czogWycla2V5cyddIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBhbm5vdHM6IFsnJWNoYW5nZV9rZXlzJ10sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYW5ub3RzOiBbJzphY3Rpb24nXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBhbm5vdHM6IFsnOnBheWxvYWQnXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZWRUcmFuc2FjdGlvbiA9IHtcbiAgYnJhbmNoOiAnQk04UWRaOTJWeWFIMXM1bndBRjlyVVhqaVBaM2czTnNuNm9ZYmRLcWoyUmdIeHZXWFZTJyxcbiAgY29udGVudHM6IFtcbiAgICB7XG4gICAgICBraW5kOiAnb3JpZ2luYXRpb24nLFxuICAgICAgc291cmNlOiAndHoxVlJqUnBWS252MTZBVnByRkgxdGtEbjRURGZWcUE4OTNBJyxcbiAgICAgIGZlZTogJzQ3NjQnLFxuICAgICAgY291bnRlcjogJzExNjcyNCcsXG4gICAgICBnYXNfbGltaXQ6ICczMzk3MScsXG4gICAgICBzdG9yYWdlX2xpbWl0OiAnMTI5MicsXG4gICAgICBiYWxhbmNlOiAnMTAwMDAwMCcsXG4gICAgICBzY3JpcHQ6IHtcbiAgICAgICAgY29kZTogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByaW06ICdwYXJhbWV0ZXInLFxuICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJpbTogJ29yJyxcbiAgICAgICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgICAgICB7IHByaW06ICd1bml0JywgYW5ub3RzOiBbJyVkZWZhdWx0J10gfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJpbTogJ3BhaXInLFxuICAgICAgICAgICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJpbTogJ3BhaXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICduYXQnLCBhbm5vdHM6IFsnJWNvdW50ZXInXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbTogJ29yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW06ICdsYW1iZGEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBbeyBwcmltOiAndW5pdCcgfSwgeyBwcmltOiAnbGlzdCcsIGFyZ3M6IFt7IHByaW06ICdvcGVyYXRpb24nIH1dIH1dLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm5vdHM6IFsnJW9wZXJhdGlvbiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbTogJ3BhaXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnbmF0JywgYW5ub3RzOiBbJyV0aHJlc2hvbGQnXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ2xpc3QnLCBhcmdzOiBbeyBwcmltOiAna2V5JyB9XSwgYW5ub3RzOiBbJyVrZXlzJ10gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5ub3RzOiBbJyVjaGFuZ2Vfa2V5cyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFubm90czogWyc6YWN0aW9uJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgYW5ub3RzOiBbJzpwYXlsb2FkJ10sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdsaXN0JywgYXJnczogW3sgcHJpbTogJ29wdGlvbicsIGFyZ3M6IFt7IHByaW06ICdzaWduYXR1cmUnIH1dIH1dLCBhbm5vdHM6IFsnJXNpZ3MnXSB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBhbm5vdHM6IFsnJW1haW4nXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcmltOiAnc3RvcmFnZScsXG4gICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcmltOiAncGFpcicsXG4gICAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICAgeyBwcmltOiAnbmF0JywgYW5ub3RzOiBbJyVzdG9yZWRfY291bnRlciddIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByaW06ICdwYWlyJyxcbiAgICAgICAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ25hdCcsIGFubm90czogWycldGhyZXNob2xkJ10gfSxcbiAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdsaXN0JywgYXJnczogW3sgcHJpbTogJ2tleScgfV0sIGFubm90czogWycla2V5cyddIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJpbTogJ2NvZGUnLFxuICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgW1t7IHByaW06ICdEVVAnIH0sIHsgcHJpbTogJ0NBUicgfSwgeyBwcmltOiAnRElQJywgYXJnczogW1t7IHByaW06ICdDRFInIH1dXSB9XV0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcHJpbTogJ0lGX0xFRlQnLFxuICAgICAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICAgICBbeyBwcmltOiAnRFJPUCcgfSwgeyBwcmltOiAnTklMJywgYXJnczogW3sgcHJpbTogJ29wZXJhdGlvbicgfV0gfSwgeyBwcmltOiAnUEFJUicgfV0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdQVVNIJywgYXJnczogW3sgcHJpbTogJ211dGV6JyB9LCB7IGludDogJzAnIH1dIH0sXG4gICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnQU1PVU5UJyB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFt7IHByaW06ICdDT01QQVJFJyB9LCB7IHByaW06ICdFUScgfV0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdJRicsIGFyZ3M6IFtbXSwgW1t7IHByaW06ICdVTklUJyB9LCB7IHByaW06ICdGQUlMV0lUSCcgfV1dXSB9LFxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnU1dBUCcgfSxcbiAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdEVVAnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnRElQJywgYXJnczogW1t7IHByaW06ICdTV0FQJyB9XV0gfSxcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmltOiAnRElQJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbeyBwcmltOiAnRFVQJyB9LCB7IHByaW06ICdDQVInIH0sIHsgcHJpbTogJ0RJUCcsIGFyZ3M6IFtbeyBwcmltOiAnQ0RSJyB9XV0gfV1dLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0RVUCcgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdTRUxGJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0FERFJFU1MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnUEFJUicgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdQQUNLJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW06ICdESVAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdEVVAnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0NBUicsIGFubm90czogWydAY291bnRlciddIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0RJUCcsIGFyZ3M6IFtbeyBwcmltOiAnQ0RSJyB9XV0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdESVAnLCBhcmdzOiBbW3sgcHJpbTogJ1NXQVAnIH1dXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ1NXQVAnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdEVVAnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0NBUicsIGFubm90czogWydAc3RvcmVkX2NvdW50ZXInXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdESVAnLCBhcmdzOiBbW3sgcHJpbTogJ0NEUicgfV1dIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnRElQJywgYXJnczogW1t7IHByaW06ICdTV0FQJyB9XV0gfSxcbiAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBbeyBwcmltOiAnQ09NUEFSRScgfSwgeyBwcmltOiAnRVEnIH1dLFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnSUYnLCBhcmdzOiBbW10sIFtbeyBwcmltOiAnVU5JVCcgfSwgeyBwcmltOiAnRkFJTFdJVEgnIH1dXV0gfSxcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0RJUCcsIGFyZ3M6IFtbeyBwcmltOiAnU1dBUCcgfV1dIH0sXG4gICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdEVVAnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0NBUicsIGFubm90czogWydAdGhyZXNob2xkJ10gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnRElQJywgYXJnczogW1t7IHByaW06ICdDRFInLCBhbm5vdHM6IFsnQGtleXMnXSB9XV0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmltOiAnRElQJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ1BVU0gnLCBhcmdzOiBbeyBwcmltOiAnbmF0JyB9LCB7IGludDogJzAnIH1dLCBhbm5vdHM6IFsnQHZhbGlkJ10gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdTV0FQJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW06ICdJVEVSJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0RJUCcsIGFyZ3M6IFtbeyBwcmltOiAnU1dBUCcgfV1dIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnU1dBUCcgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltOiAnSUZfQ09OUycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW06ICdJRl9OT05FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHByaW06ICdTV0FQJyB9LCB7IHByaW06ICdEUk9QJyB9XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdTV0FQJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltOiAnRElQJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ1NXQVAnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW06ICdESVAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBpbnQ6ICcyJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnRElQJywgYXJnczogW1t7IHByaW06ICdEVVAnIH1dXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdTV0FQJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0RJUCcsIGFyZ3M6IFt7IGludDogJzInIH0sIFt7IHByaW06ICdEVVAnIH1dXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0RJRycsIGFyZ3M6IFt7IGludDogJzMnIH1dIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0RJUCcsIGFyZ3M6IFtbeyBwcmltOiAnQ0hFQ0tfU0lHTkFUVVJFJyB9XV0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnU1dBUCcgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW06ICdJRicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnczogW1t7IHByaW06ICdEUk9QJyB9XSwgW3sgcHJpbTogJ0ZBSUxXSVRIJyB9XV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnUFVTSCcsIGFyZ3M6IFt7IHByaW06ICduYXQnIH0sIHsgaW50OiAnMScgfV0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0FERCcsIGFubm90czogWydAdmFsaWQnXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbeyBwcmltOiAnVU5JVCcgfSwgeyBwcmltOiAnRkFJTFdJVEgnIH1dXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdTV0FQJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFt7IHByaW06ICdDT01QQVJFJyB9LCB7IHByaW06ICdMRScgfV0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdJRicsIGFyZ3M6IFtbXSwgW1t7IHByaW06ICdVTklUJyB9LCB7IHByaW06ICdGQUlMV0lUSCcgfV1dXSB9LFxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnSUZfQ09OUycsIGFyZ3M6IFtbW3sgcHJpbTogJ1VOSVQnIH0sIHsgcHJpbTogJ0ZBSUxXSVRIJyB9XV0sIFtdXSB9LFxuICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0RST1AnIH0sXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJpbTogJ0RJUCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW3sgcHJpbTogJ0RVUCcgfSwgeyBwcmltOiAnQ0FSJyB9LCB7IHByaW06ICdESVAnLCBhcmdzOiBbW3sgcHJpbTogJ0NEUicgfV1dIH1dXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdQVVNIJywgYXJnczogW3sgcHJpbTogJ25hdCcgfSwgeyBpbnQ6ICcxJyB9XSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ0FERCcsIGFubm90czogWydAbmV3X2NvdW50ZXInXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ1BBSVInIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJpbTogJ0lGX0xFRlQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBbeyBwcmltOiAnVU5JVCcgfSwgeyBwcmltOiAnRVhFQycgfV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdESVAnLCBhcmdzOiBbW3sgcHJpbTogJ0NBUicgfV1dIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnU1dBUCcgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW06ICdQQUlSJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbTogJ05JTCcsIGFyZ3M6IFt7IHByaW06ICdvcGVyYXRpb24nIH1dIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgeyBwcmltOiAnUEFJUicgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc3RvcmFnZToge1xuICAgICAgICAgIHByaW06ICdQYWlyJyxcbiAgICAgICAgICBhcmdzOiBbXG4gICAgICAgICAgICB7IGludDogJzAnIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByaW06ICdQYWlyJyxcbiAgICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgIHsgaW50OiAnMicgfSxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICB7IHN0cmluZzogJ3NwcGs3WldCOGRpVTJUV2VoeGRrV0NWMkRURnZuMWhQejRxTGppRDNuSlFvektub1NFblNDOGInIH0sXG4gICAgICAgICAgICAgICAgICB7IHN0cmluZzogJ3NwcGs3WnE5S1B0d2t6a2dBc2hhNGpVMjlDNDNNY2dQMnNrSzU2dGpkN0tKamhjbUg2QVpDMUYnIH0sXG4gICAgICAgICAgICAgICAgICB7IHN0cmluZzogJ3NwcGs3ZDJ6dHpickxkQmFUQjd5emFXUmtQZmNXR3NyTlFOSmRrQkU5YkNUU1N6ZWtMTnpwdmYnIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSxcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=keyPair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../test/unit/keyPair.ts"],"names":[],"mappings":""}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const should_1 = __importDefault(require("should"));
8
+ const src_1 = require("../../src");
9
+ describe('Xtz KeyPair', function () {
10
+ const defaultSeed = { seed: Buffer.alloc(32) };
11
+ describe('should create a KeyPair', function () {
12
+ it('from an xpub', () => {
13
+ const source = {
14
+ pub: 'xpub661MyMwAqRbcFhCvdhTAfpEEDV58oqDvv65YNHC686NNs4KbH8YZQJWVmrfbve7aAVHzxw8bKFxA7MLeDK6BbLfkE3bqkvHLPgaGHHtYGeY',
15
+ };
16
+ const keyPair = new src_1.XtzLib.KeyPair(source);
17
+ const defaultKeys = keyPair.getKeys();
18
+ should_1.default.not.exist(defaultKeys.prv);
19
+ defaultKeys.pub.should.equal('sppk7csjXKT4wvUNCPMfAgZMNuvSjzW4Y2ZAKZEdvyEPtYagE6pCwkw');
20
+ const extendedKeys = keyPair.getExtendedKeys();
21
+ should_1.default.not.exist(extendedKeys.xprv);
22
+ extendedKeys.xpub.should.equal('xpub661MyMwAqRbcFhCvdhTAfpEEDV58oqDvv65YNHC686NNs4KbH8YZQJWVmrfbve7aAVHzxw8bKFxA7MLeDK6BbLfkE3bqkvHLPgaGHHtYGeY');
23
+ });
24
+ it('from an xprv', () => {
25
+ const source = {
26
+ prv: 'xprv9s21ZrQH143K3D8TXfvAJgHVfTEeQNW5Ys9wZtnUZkqPzFzSjbEJrWC1vZ4GnXCvR7rQL2UFX3RSuYeU9MrERm1XBvACow7c36vnz5iYyj2',
27
+ };
28
+ const keyPair = new src_1.XtzLib.KeyPair(source);
29
+ const defaultKeys = keyPair.getKeys();
30
+ defaultKeys.prv.should.equal('spsk2R6ek35CtfJMt2XHPWgFcf1wUGLK2fKbU3f4hWZNABo1YrrqP7');
31
+ defaultKeys.pub.should.equal('sppk7csjXKT4wvUNCPMfAgZMNuvSjzW4Y2ZAKZEdvyEPtYagE6pCwkw');
32
+ const extendedKeys = keyPair.getExtendedKeys();
33
+ extendedKeys.xprv.should.equal('xprv9s21ZrQH143K3D8TXfvAJgHVfTEeQNW5Ys9wZtnUZkqPzFzSjbEJrWC1vZ4GnXCvR7rQL2UFX3RSuYeU9MrERm1XBvACow7c36vnz5iYyj2');
34
+ extendedKeys.xpub.should.equal('xpub661MyMwAqRbcFhCvdhTAfpEEDV58oqDvv65YNHC686NNs4KbH8YZQJWVmrfbve7aAVHzxw8bKFxA7MLeDK6BbLfkE3bqkvHLPgaGHHtYGeY');
35
+ });
36
+ it('from an uncompressed public key', () => {
37
+ const source = {
38
+ pub: '04D63D9FD9FD772A989C5B90EDB37716406356E98273E5F98FE07652247A3A827503E948A2FDBF74A981D4E0054F10EDA7042C2D469F44473D3C7791E0E326E355',
39
+ };
40
+ const keyPair = new src_1.XtzLib.KeyPair(source);
41
+ const defaultKeys = keyPair.getKeys();
42
+ should_1.default.not.exist(defaultKeys.prv);
43
+ defaultKeys.pub.should.equal('sppk7csjXKT4wvUNCPMfAgZMNuvSjzW4Y2ZAKZEdvyEPtYagE6pCwkw');
44
+ assert_1.default.throws(() => keyPair.getExtendedKeys());
45
+ });
46
+ it('from a compressed public key', () => {
47
+ const source = {
48
+ pub: '03D63D9FD9FD772A989C5B90EDB37716406356E98273E5F98FE07652247A3A8275',
49
+ };
50
+ const keyPair = new src_1.XtzLib.KeyPair(source);
51
+ const defaultKeys = keyPair.getKeys();
52
+ should_1.default.not.exist(defaultKeys.prv);
53
+ defaultKeys.pub.should.equal('sppk7csjXKT4wvUNCPMfAgZMNuvSjzW4Y2ZAKZEdvyEPtYagE6pCwkw');
54
+ assert_1.default.throws(() => keyPair.getExtendedKeys());
55
+ });
56
+ it('from a Tezos public key', () => {
57
+ const source = {
58
+ pub: 'sppk7csjXKT4wvUNCPMfAgZMNuvSjzW4Y2ZAKZEdvyEPtYagE6pCwkw',
59
+ };
60
+ const keyPair = new src_1.XtzLib.KeyPair(source);
61
+ const defaultKeys = keyPair.getKeys();
62
+ should_1.default.not.exist(defaultKeys.prv);
63
+ defaultKeys.pub.should.equal('sppk7csjXKT4wvUNCPMfAgZMNuvSjzW4Y2ZAKZEdvyEPtYagE6pCwkw');
64
+ assert_1.default.throws(() => keyPair.getExtendedKeys());
65
+ });
66
+ it('from a raw private key', () => {
67
+ const source = {
68
+ prv: '82A34E3867EA7EA4E67E27865D500AE84E98D07AB1BAB06526F0A5A5FDCC3EBA',
69
+ };
70
+ const keyPair = new src_1.XtzLib.KeyPair(source);
71
+ const defaultKeys = keyPair.getKeys();
72
+ defaultKeys.prv.should.equal('spsk2R6ek35CtfJMt2XHPWgFcf1wUGLK2fKbU3f4hWZNABo1YrrqP7');
73
+ defaultKeys.pub.should.equal('sppk7csjXKT4wvUNCPMfAgZMNuvSjzW4Y2ZAKZEdvyEPtYagE6pCwkw');
74
+ assert_1.default.throws(() => keyPair.getExtendedKeys());
75
+ });
76
+ it('from a Tezos private key', () => {
77
+ const source = {
78
+ prv: 'spsk2cbiVsAvpGKmau9XcMscL3NRwjkyT575N5AyAofcoj41x6g6TL',
79
+ };
80
+ const keyPair = new src_1.XtzLib.KeyPair(source);
81
+ const defaultKeys = keyPair.getKeys();
82
+ defaultKeys.prv.should.equal('spsk2cbiVsAvpGKmau9XcMscL3NRwjkyT575N5AyAofcoj41x6g6TL');
83
+ defaultKeys.pub.should.equal('sppk7ZWB8diU2TWehxdkWCV2DTFvn1hPz4qLjiD3nJQozKnoSEnSC8b');
84
+ keyPair.getAddress().should.equal('tz2P2E8EgHaLA6A17rH3pE9T2tx6DA7D4siW');
85
+ assert_1.default.throws(() => keyPair.getExtendedKeys());
86
+ });
87
+ });
88
+ describe('should fail to create a KeyPair', function () {
89
+ it('from an invalid seed', () => {
90
+ const seed = { seed: Buffer.alloc(8) }; // Seed should be at least 128 bits (16 bytes, not 8)
91
+ assert_1.default.throws(() => new src_1.XtzLib.KeyPair(seed));
92
+ });
93
+ it('from an invalid public key', () => {
94
+ const source = {
95
+ pub: '01D63D',
96
+ };
97
+ assert_1.default.throws(() => new src_1.XtzLib.KeyPair(source));
98
+ });
99
+ it('from an invalid private key', () => {
100
+ const source = {
101
+ prv: '82A34E',
102
+ };
103
+ assert_1.default.throws(() => new src_1.XtzLib.KeyPair(source));
104
+ });
105
+ });
106
+ describe('getAddress', function () {
107
+ it('should get an address', () => {
108
+ const keyPair = new src_1.XtzLib.KeyPair(defaultSeed);
109
+ const address = keyPair.getAddress();
110
+ address.should.equal('tz2PtJ9zgEgFVTRqy6GXsst54tH3ksEnYvvS');
111
+ });
112
+ });
113
+ describe('getKeys', function () {
114
+ it('should get private and public keys in the protocol default format', () => {
115
+ const keyPair = new src_1.XtzLib.KeyPair(defaultSeed);
116
+ const { prv, pub } = keyPair.getKeys();
117
+ prv.should.equal('spsk2R6ek35CtfJMt2XHPWgFcf1wUGLK2fKbU3f4hWZNABo1YrrqP7');
118
+ pub.should.equal('sppk7csjXKT4wvUNCPMfAgZMNuvSjzW4Y2ZAKZEdvyEPtYagE6pCwkw');
119
+ });
120
+ it('should get private and public keys for a random seed', () => {
121
+ const keyPair = new src_1.XtzLib.KeyPair();
122
+ const { prv, pub } = keyPair.getKeys();
123
+ should_1.default.exist(prv);
124
+ should_1.default.exist(pub);
125
+ });
126
+ });
127
+ describe('getExtendedKeys', function () {
128
+ it('should get the keys in extended format', () => {
129
+ const keyPair = new src_1.XtzLib.KeyPair(defaultSeed);
130
+ const { xprv, xpub } = keyPair.getExtendedKeys();
131
+ xprv.should.equal('xprv9s21ZrQH143K3D8TXfvAJgHVfTEeQNW5Ys9wZtnUZkqPzFzSjbEJrWC1vZ4GnXCvR7rQL2UFX3RSuYeU9MrERm1XBvACow7c36vnz5iYyj2');
132
+ xpub.should.equal('xpub661MyMwAqRbcFhCvdhTAfpEEDV58oqDvv65YNHC686NNs4KbH8YZQJWVmrfbve7aAVHzxw8bKFxA7MLeDK6BbLfkE3bqkvHLPgaGHHtYGeY');
133
+ });
134
+ it('should get the keys in extended format for a random seed', () => {
135
+ const keyPair = new src_1.XtzLib.KeyPair();
136
+ const { xprv, xpub } = keyPair.getExtendedKeys();
137
+ should_1.default.exist(xprv);
138
+ should_1.default.exist(xpub);
139
+ });
140
+ });
141
+ });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9rZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixtQ0FBbUM7QUFFbkMsUUFBUSxDQUFDLGFBQWEsRUFBRTtJQUN0QixNQUFNLFdBQVcsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFL0MsUUFBUSxDQUFDLHlCQUF5QixFQUFFO1FBQ2xDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO1lBQ3RCLE1BQU0sTUFBTSxHQUFHO2dCQUNiLEdBQUcsRUFBRSxpSEFBaUg7YUFDdkgsQ0FBQztZQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksWUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEMsZ0JBQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztZQUV4RixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0MsZ0JBQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQzVCLGlIQUFpSCxDQUNsSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRztnQkFDYixHQUFHLEVBQUUsaUhBQWlIO2FBQ3ZILENBQUM7WUFDRixN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RyxJQUFJLFlBQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNqRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixnQkFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCB7IFh0ekxpYiB9IGZyb20gJy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdYdHogS2V5UGFpcicsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgZGVmYXVsdFNlZWQgPSB7IHNlZWQ6IEJ1ZmZlci5hbGxvYygzMikgfTtcblxuICBkZXNjcmliZSgnc2hvdWxkIGNyZWF0ZSBhIEtleVBhaXInLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ2Zyb20gYW4geHB1YicsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHtcbiAgICAgICAgcHViOiAneHB1YjY2MU15TXdBcVJiY0ZoQ3ZkaFRBZnBFRURWNThvcUR2djY1WU5IQzY4Nk5OczRLYkg4WVpRSldWbXJmYnZlN2FBVkh6eHc4YktGeEE3TUxlREs2QmJMZmtFM2Jxa3ZITFBnYUdISHRZR2VZJyxcbiAgICAgIH07XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IFh0ekxpYi5LZXlQYWlyKHNvdXJjZSk7XG4gICAgICBjb25zdCBkZWZhdWx0S2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChkZWZhdWx0S2V5cy5wcnYpO1xuICAgICAgZGVmYXVsdEtleXMucHViLnNob3VsZC5lcXVhbCgnc3Bwazdjc2pYS1Q0d3ZVTkNQTWZBZ1pNTnV2U2p6VzRZMlpBS1pFZHZ5RVB0WWFnRTZwQ3drdycpO1xuXG4gICAgICBjb25zdCBleHRlbmRlZEtleXMgPSBrZXlQYWlyLmdldEV4dGVuZGVkS2V5cygpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChleHRlbmRlZEtleXMueHBydik7XG4gICAgICBleHRlbmRlZEtleXMueHB1Yi5zaG91bGQuZXF1YWwoXG4gICAgICAgICd4cHViNjYxTXlNd0FxUmJjRmhDdmRoVEFmcEVFRFY1OG9xRHZ2NjVZTkhDNjg2Tk5zNEtiSDhZWlFKV1ZtcmZidmU3YUFWSHp4dzhiS0Z4QTdNTGVESzZCYkxma0UzYnFrdkhMUGdhR0hIdFlHZVknXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4geHBydicsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHtcbiAgICAgICAgcHJ2OiAneHBydjlzMjFaclFIMTQzSzNEOFRYZnZBSmdIVmZURWVRTlc1WXM5d1p0blVaa3FQekZ6U2piRUpyV0Mxdlo0R25YQ3ZSN3JRTDJVRlgzUlN1WWVVOU1yRVJtMVhCdkFDb3c3YzM2dm56NWlZeWoyJyxcbiAgICAgIH07XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IFh0ekxpYi5LZXlQYWlyKHNvdXJjZSk7XG4gICAgICBjb25zdCBkZWZhdWx0S2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgICAgZGVmYXVsdEtleXMucHJ2IS5zaG91bGQuZXF1YWwoJ3Nwc2syUjZlazM1Q3RmSk10MlhIUFdnRmNmMXdVR0xLMmZLYlUzZjRoV1pOQUJvMVlycnFQNycpO1xuICAgICAgZGVmYXVsdEtleXMucHViLnNob3VsZC5lcXVhbCgnc3Bwazdjc2pYS1Q0d3ZVTkNQTWZBZ1pNTnV2U2p6VzRZMlpBS1pFZHZ5RVB0WWFnRTZwQ3drdycpO1xuXG4gICAgICBjb25zdCBleHRlbmRlZEtleXMgPSBrZXlQYWlyLmdldEV4dGVuZGVkS2V5cygpO1xuICAgICAgZXh0ZW5kZWRLZXlzLnhwcnYhLnNob3VsZC5lcXVhbChcbiAgICAgICAgJ3hwcnY5czIxWnJRSDE0M0szRDhUWGZ2QUpnSFZmVEVlUU5XNVlzOXdadG5VWmtxUHpGelNqYkVKcldDMXZaNEduWEN2UjdyUUwyVUZYM1JTdVllVTlNckVSbTFYQnZBQ293N2MzNnZuejVpWXlqMidcbiAgICAgICk7XG4gICAgICBleHRlbmRlZEtleXMueHB1Yi5zaG91bGQuZXF1YWwoXG4gICAgICAgICd4cHViNjYxTXlNd0FxUmJjRmhDdmRoVEFmcEVFRFY1OG9xRHZ2NjVZTkhDNjg2Tk5zNEtiSDhZWlFKV1ZtcmZidmU3YUFWSHp4dzhiS0Z4QTdNTGVESzZCYkxma0UzYnFrdkhMUGdhR0hIdFlHZVknXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4gdW5jb21wcmVzc2VkIHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSB7XG4gICAgICAgIHB1YjogJzA0RDYzRDlGRDlGRDc3MkE5ODlDNUI5MEVEQjM3NzE2NDA2MzU2RTk4MjczRTVGOThGRTA3NjUyMjQ3QTNBODI3NTAzRTk0OEEyRkRCRjc0QTk4MUQ0RTAwNTRGMTBFREE3MDQyQzJENDY5RjQ0NDczRDNDNzc5MUUwRTMyNkUzNTUnLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgWHR6TGliLktleVBhaXIoc291cmNlKTtcbiAgICAgIGNvbnN0IGRlZmF1bHRLZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgICBzaG91bGQubm90LmV4aXN0KGRlZmF1bHRLZXlzLnBydik7XG4gICAgICBkZWZhdWx0S2V5cy5wdWIuc2hvdWxkLmVxdWFsKCdzcHBrN2NzalhLVDR3dlVOQ1BNZkFnWk1OdXZTanpXNFkyWkFLWkVkdnlFUHRZYWdFNnBDd2t3Jyk7XG5cbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ga2V5UGFpci5nZXRFeHRlbmRlZEtleXMoKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhIGNvbXByZXNzZWQgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHtcbiAgICAgICAgcHViOiAnMDNENjNEOUZEOUZENzcyQTk4OUM1QjkwRURCMzc3MTY0MDYzNTZFOTgyNzNFNUY5OEZFMDc2NTIyNDdBM0E4Mjc1JyxcbiAgICAgIH07XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IFh0ekxpYi5LZXlQYWlyKHNvdXJjZSk7XG4gICAgICBjb25zdCBkZWZhdWx0S2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChkZWZhdWx0S2V5cy5wcnYpO1xuICAgICAgZGVmYXVsdEtleXMucHViLnNob3VsZC5lcXVhbCgnc3Bwazdjc2pYS1Q0d3ZVTkNQTWZBZ1pNTnV2U2p6VzRZMlpBS1pFZHZ5RVB0WWFnRTZwQ3drdycpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGtleVBhaXIuZ2V0RXh0ZW5kZWRLZXlzKCkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYSBUZXpvcyBwdWJsaWMga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0ge1xuICAgICAgICBwdWI6ICdzcHBrN2NzalhLVDR3dlVOQ1BNZkFnWk1OdXZTanpXNFkyWkFLWkVkdnlFUHRZYWdFNnBDd2t3JyxcbiAgICAgIH07XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IFh0ekxpYi5LZXlQYWlyKHNvdXJjZSk7XG4gICAgICBjb25zdCBkZWZhdWx0S2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChkZWZhdWx0S2V5cy5wcnYpO1xuICAgICAgZGVmYXVsdEtleXMucHViLnNob3VsZC5lcXVhbCgnc3Bwazdjc2pYS1Q0d3ZVTkNQTWZBZ1pNTnV2U2p6VzRZMlpBS1pFZHZ5RVB0WWFnRTZwQ3drdycpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGtleVBhaXIuZ2V0RXh0ZW5kZWRLZXlzKCkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYSByYXcgcHJpdmF0ZSBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSB7XG4gICAgICAgIHBydjogJzgyQTM0RTM4NjdFQTdFQTRFNjdFMjc4NjVENTAwQUU4NEU5OEQwN0FCMUJBQjA2NTI2RjBBNUE1RkRDQzNFQkEnLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgWHR6TGliLktleVBhaXIoc291cmNlKTtcbiAgICAgIGNvbnN0IGRlZmF1bHRLZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgICBkZWZhdWx0S2V5cy5wcnYhLnNob3VsZC5lcXVhbCgnc3BzazJSNmVrMzVDdGZKTXQyWEhQV2dGY2Yxd1VHTEsyZktiVTNmNGhXWk5BQm8xWXJycVA3Jyk7XG4gICAgICBkZWZhdWx0S2V5cy5wdWIuc2hvdWxkLmVxdWFsKCdzcHBrN2NzalhLVDR3dlVOQ1BNZkFnWk1OdXZTanpXNFkyWkFLWkVkdnlFUHRZYWdFNnBDd2t3Jyk7XG5cbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ga2V5UGFpci5nZXRFeHRlbmRlZEtleXMoKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhIFRlem9zIHByaXZhdGUga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0ge1xuICAgICAgICBwcnY6ICdzcHNrMmNiaVZzQXZwR0ttYXU5WGNNc2NMM05Sd2preVQ1NzVONUF5QW9mY29qNDF4Nmc2VEwnLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgWHR6TGliLktleVBhaXIoc291cmNlKTtcbiAgICAgIGNvbnN0IGRlZmF1bHRLZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgICBkZWZhdWx0S2V5cy5wcnYhLnNob3VsZC5lcXVhbCgnc3BzazJjYmlWc0F2cEdLbWF1OVhjTXNjTDNOUndqa3lUNTc1TjVBeUFvZmNvajQxeDZnNlRMJyk7XG4gICAgICBkZWZhdWx0S2V5cy5wdWIuc2hvdWxkLmVxdWFsKCdzcHBrN1pXQjhkaVUyVFdlaHhka1dDVjJEVEZ2bjFoUHo0cUxqaUQzbkpRb3pLbm9TRW5TQzhiJyk7XG4gICAgICBrZXlQYWlyLmdldEFkZHJlc3MoKS5zaG91bGQuZXF1YWwoJ3R6MlAyRThFZ0hhTEE2QTE3ckgzcEU5VDJ0eDZEQTdENHNpVycpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGtleVBhaXIuZ2V0RXh0ZW5kZWRLZXlzKCkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2hvdWxkIGZhaWwgdG8gY3JlYXRlIGEgS2V5UGFpcicsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnZnJvbSBhbiBpbnZhbGlkIHNlZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzZWVkID0geyBzZWVkOiBCdWZmZXIuYWxsb2MoOCkgfTsgLy8gIFNlZWQgc2hvdWxkIGJlIGF0IGxlYXN0IDEyOCBiaXRzICgxNiBieXRlcywgbm90IDgpXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IG5ldyBYdHpMaWIuS2V5UGFpcihzZWVkKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhbiBpbnZhbGlkIHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSB7XG4gICAgICAgIHB1YjogJzAxRDYzRCcsXG4gICAgICB9O1xuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBuZXcgWHR6TGliLktleVBhaXIoc291cmNlKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhbiBpbnZhbGlkIHByaXZhdGUga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0ge1xuICAgICAgICBwcnY6ICc4MkEzNEUnLFxuICAgICAgfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gbmV3IFh0ekxpYi5LZXlQYWlyKHNvdXJjZSkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0QWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGdldCBhbiBhZGRyZXNzJywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBYdHpMaWIuS2V5UGFpcihkZWZhdWx0U2VlZCk7XG4gICAgICBjb25zdCBhZGRyZXNzID0ga2V5UGFpci5nZXRBZGRyZXNzKCk7XG4gICAgICBhZGRyZXNzLnNob3VsZC5lcXVhbCgndHoyUHRKOXpnRWdGVlRScXk2R1hzc3Q1NHRIM2tzRW5ZdnZTJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRLZXlzJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgZ2V0IHByaXZhdGUgYW5kIHB1YmxpYyBrZXlzIGluIHRoZSBwcm90b2NvbCBkZWZhdWx0IGZvcm1hdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgWHR6TGliLktleVBhaXIoZGVmYXVsdFNlZWQpO1xuICAgICAgY29uc3QgeyBwcnYsIHB1YiB9ID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgICBwcnYhLnNob3VsZC5lcXVhbCgnc3BzazJSNmVrMzVDdGZKTXQyWEhQV2dGY2Yxd1VHTEsyZktiVTNmNGhXWk5BQm8xWXJycVA3Jyk7XG4gICAgICBwdWIuc2hvdWxkLmVxdWFsKCdzcHBrN2NzalhLVDR3dlVOQ1BNZkFnWk1OdXZTanpXNFkyWkFLWkVkdnlFUHRZYWdFNnBDd2t3Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGdldCBwcml2YXRlIGFuZCBwdWJsaWMga2V5cyBmb3IgYSByYW5kb20gc2VlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgWHR6TGliLktleVBhaXIoKTtcbiAgICAgIGNvbnN0IHsgcHJ2LCBwdWIgfSA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgICAgc2hvdWxkLmV4aXN0KHBydik7XG4gICAgICBzaG91bGQuZXhpc3QocHViKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldEV4dGVuZGVkS2V5cycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGdldCB0aGUga2V5cyBpbiBleHRlbmRlZCBmb3JtYXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IFh0ekxpYi5LZXlQYWlyKGRlZmF1bHRTZWVkKTtcbiAgICAgIGNvbnN0IHsgeHBydiwgeHB1YiB9ID0ga2V5UGFpci5nZXRFeHRlbmRlZEtleXMoKTtcbiAgICAgIHhwcnYhLnNob3VsZC5lcXVhbChcbiAgICAgICAgJ3hwcnY5czIxWnJRSDE0M0szRDhUWGZ2QUpnSFZmVEVlUU5XNVlzOXdadG5VWmtxUHpGelNqYkVKcldDMXZaNEduWEN2UjdyUUwyVUZYM1JTdVllVTlNckVSbTFYQnZBQ293N2MzNnZuejVpWXlqMidcbiAgICAgICk7XG4gICAgICB4cHViLnNob3VsZC5lcXVhbChcbiAgICAgICAgJ3hwdWI2NjFNeU13QXFSYmNGaEN2ZGhUQWZwRUVEVjU4b3FEdnY2NVlOSEM2ODZOTnM0S2JIOFlaUUpXVm1yZmJ2ZTdhQVZIenh3OGJLRnhBN01MZURLNkJiTGZrRTNicWt2SExQZ2FHSEh0WUdlWSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGdldCB0aGUga2V5cyBpbiBleHRlbmRlZCBmb3JtYXQgIGZvciBhIHJhbmRvbSBzZWVkJywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBYdHpMaWIuS2V5UGFpcigpO1xuICAgICAgY29uc3QgeyB4cHJ2LCB4cHViIH0gPSBrZXlQYWlyLmdldEV4dGVuZGVkS2V5cygpO1xuICAgICAgc2hvdWxkLmV4aXN0KHhwcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0KHhwdWIpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=offlineTransactionBuilder.d.ts.map