@bitgo/sdk-coin-sui 5.8.7 → 5.8.9

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 (65) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/src/lib/compareTransactionBlocks.js +2 -3
  3. package/dist/src/lib/constants.d.ts +1 -3
  4. package/dist/src/lib/constants.d.ts.map +1 -1
  5. package/dist/src/lib/customTransaction.js +3 -3
  6. package/dist/src/lib/customTransactionBuilder.js +1 -1
  7. package/dist/src/lib/iface.js +3 -3
  8. package/dist/src/lib/index.js +18 -8
  9. package/dist/src/lib/keyPair.js +18 -8
  10. package/dist/src/lib/mystenlab/builder/Inputs.js +6 -6
  11. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +14 -328
  12. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -1
  13. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +1 -1
  14. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +1 -1
  15. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -1
  16. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +1 -1
  17. package/dist/src/lib/mystenlab/builder/Transactions.d.ts +5 -60
  18. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -1
  19. package/dist/src/lib/mystenlab/builder/Transactions.js +3 -3
  20. package/dist/src/lib/mystenlab/builder/bcs.js +1 -1
  21. package/dist/src/lib/mystenlab/builder/serializer.js +3 -4
  22. package/dist/src/lib/mystenlab/builder/utils.js +3 -3
  23. package/dist/src/lib/mystenlab/cryptography/hash.js +2 -3
  24. package/dist/src/lib/mystenlab/framework/framework.d.ts +1 -1
  25. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -1
  26. package/dist/src/lib/mystenlab/framework/framework.js +3 -3
  27. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +1 -1
  28. package/dist/src/lib/mystenlab/types/common.js +7 -7
  29. package/dist/src/lib/mystenlab/types/events.js +4 -4
  30. package/dist/src/lib/mystenlab/types/normalized.js +5 -5
  31. package/dist/src/lib/mystenlab/types/objects.js +21 -21
  32. package/dist/src/lib/mystenlab/types/option.js +2 -3
  33. package/dist/src/lib/mystenlab/types/sui-bcs.js +3 -3
  34. package/dist/src/lib/mystenlab/types/transactions.js +28 -29
  35. package/dist/src/lib/rpcClient.js +20 -11
  36. package/dist/src/lib/stakingBuilder.js +1 -1
  37. package/dist/src/lib/stakingTransaction.d.ts +0 -2
  38. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  39. package/dist/src/lib/stakingTransaction.js +1 -1
  40. package/dist/src/lib/tokenTransferBuilder.js +1 -1
  41. package/dist/src/lib/tokenTransferTransaction.d.ts +0 -2
  42. package/dist/src/lib/tokenTransferTransaction.d.ts.map +1 -1
  43. package/dist/src/lib/tokenTransferTransaction.js +18 -8
  44. package/dist/src/lib/transaction.d.ts +0 -2
  45. package/dist/src/lib/transaction.d.ts.map +1 -1
  46. package/dist/src/lib/transaction.js +18 -8
  47. package/dist/src/lib/transactionBuilder.d.ts +0 -2
  48. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  49. package/dist/src/lib/transactionBuilder.js +1 -1
  50. package/dist/src/lib/transactionBuilderFactory.js +1 -1
  51. package/dist/src/lib/transferBuilder.js +1 -1
  52. package/dist/src/lib/transferTransaction.d.ts +0 -2
  53. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  54. package/dist/src/lib/transferTransaction.js +1 -1
  55. package/dist/src/lib/unstakingBuilder.js +1 -1
  56. package/dist/src/lib/unstakingTransaction.d.ts +0 -2
  57. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -1
  58. package/dist/src/lib/unstakingTransaction.js +18 -8
  59. package/dist/src/lib/utils.js +7 -7
  60. package/dist/src/sui.d.ts +0 -2
  61. package/dist/src/sui.d.ts.map +1 -1
  62. package/dist/src/sui.js +18 -8
  63. package/dist/src/suiToken.js +1 -1
  64. package/dist/src/tsui.js +1 -1
  65. package/package.json +6 -6
@@ -28,337 +28,23 @@ export declare class TransactionBlock {
28
28
  static from(serialized: string | Uint8Array): TransactionBlock;
29
29
  /** A helper to retrieve the Transaction builder `Transactions` */
30
30
  static get Transactions(): {
31
- MoveCall(input: Omit<{
32
- arguments: ({
33
- index: number;
34
- kind: "Input";
35
- type?: "object" | "pure" | undefined;
36
- value?: any;
37
- } | {
38
- kind: "GasCoin";
39
- } | {
40
- index: number;
41
- kind: "Result";
42
- } | {
43
- index: number;
44
- kind: "NestedResult";
45
- resultIndex: number;
46
- })[];
47
- kind: "MoveCall";
48
- typeArguments: string[];
49
- target: `${string}::${string}::${string}`;
50
- }, "arguments" | "kind" | "typeArguments"> & {
51
- arguments?: ({
52
- index: number;
53
- kind: "Input";
54
- type?: "object" | "pure" | undefined;
55
- value?: any;
56
- } | {
57
- kind: "GasCoin";
58
- } | {
59
- index: number;
60
- kind: "Result";
61
- } | {
62
- index: number;
63
- kind: "NestedResult";
64
- resultIndex: number;
65
- })[] | undefined;
66
- typeArguments?: string[] | undefined;
67
- }): {
68
- arguments: ({
69
- index: number;
70
- kind: "Input";
71
- type?: "object" | "pure" | undefined;
72
- value?: any;
73
- } | {
74
- kind: "GasCoin";
75
- } | {
76
- index: number;
77
- kind: "Result";
78
- } | {
79
- index: number;
80
- kind: "NestedResult";
81
- resultIndex: number;
82
- })[];
83
- kind: "MoveCall";
84
- typeArguments: string[];
85
- target: `${string}::${string}::${string}`;
86
- };
87
- TransferObjects(objects: ({
88
- index: number;
89
- kind: "Input";
90
- type?: "object" | "pure" | undefined;
91
- value?: any;
92
- } | {
93
- kind: "GasCoin";
94
- } | {
95
- index: number;
96
- kind: "Result";
97
- } | {
98
- index: number;
99
- kind: "NestedResult";
100
- resultIndex: number;
101
- })[], address: {
102
- index: number;
103
- kind: "Input";
104
- type?: "object" | "pure" | undefined;
105
- value?: any;
106
- } | {
107
- kind: "GasCoin";
108
- } | {
109
- index: number;
110
- kind: "Result";
111
- } | {
112
- index: number;
113
- kind: "NestedResult";
114
- resultIndex: number;
115
- }): {
116
- address: {
117
- index: number;
118
- kind: "Input";
119
- type?: "object" | "pure" | undefined;
120
- value?: any;
121
- } | {
122
- kind: "GasCoin";
123
- } | {
124
- index: number;
125
- kind: "Result";
126
- } | {
127
- index: number;
128
- kind: "NestedResult";
129
- resultIndex: number;
130
- };
131
- objects: ({
132
- index: number;
133
- kind: "Input";
134
- type?: "object" | "pure" | undefined;
135
- value?: any;
136
- } | {
137
- kind: "GasCoin";
138
- } | {
139
- index: number;
140
- kind: "Result";
141
- } | {
142
- index: number;
143
- kind: "NestedResult";
144
- resultIndex: number;
145
- })[];
146
- kind: "TransferObjects";
147
- };
148
- SplitCoins(coin: {
149
- index: number;
150
- kind: "Input";
151
- type?: "object" | "pure" | undefined;
152
- value?: any;
153
- } | {
154
- kind: "GasCoin";
155
- } | {
156
- index: number;
157
- kind: "Result";
158
- } | {
159
- index: number;
160
- kind: "NestedResult";
161
- resultIndex: number;
162
- }, amounts: ({
163
- index: number;
164
- kind: "Input";
165
- type?: "object" | "pure" | undefined;
166
- value?: any;
167
- } | {
168
- kind: "GasCoin";
169
- } | {
170
- index: number;
171
- kind: "Result";
172
- } | {
173
- index: number;
174
- kind: "NestedResult";
175
- resultIndex: number;
176
- })[]): {
177
- coin: {
178
- index: number;
179
- kind: "Input";
180
- type?: "object" | "pure" | undefined;
181
- value?: any;
182
- } | {
183
- kind: "GasCoin";
184
- } | {
185
- index: number;
186
- kind: "Result";
187
- } | {
188
- index: number;
189
- kind: "NestedResult";
190
- resultIndex: number;
191
- };
192
- kind: "SplitCoins";
193
- amounts: ({
194
- index: number;
195
- kind: "Input";
196
- type?: "object" | "pure" | undefined;
197
- value?: any;
198
- } | {
199
- kind: "GasCoin";
200
- } | {
201
- index: number;
202
- kind: "Result";
203
- } | {
204
- index: number;
205
- kind: "NestedResult";
206
- resultIndex: number;
207
- })[];
208
- };
209
- MergeCoins(destination: {
210
- index: number;
211
- kind: "Input";
212
- type?: "object" | "pure" | undefined;
213
- value?: any;
214
- } | {
215
- kind: "GasCoin";
216
- } | {
217
- index: number;
218
- kind: "Result";
219
- } | {
220
- index: number;
221
- kind: "NestedResult";
222
- resultIndex: number;
223
- }, sources: ({
224
- index: number;
225
- kind: "Input";
226
- type?: "object" | "pure" | undefined;
227
- value?: any;
228
- } | {
229
- kind: "GasCoin";
230
- } | {
231
- index: number;
232
- kind: "Result";
233
- } | {
234
- index: number;
235
- kind: "NestedResult";
236
- resultIndex: number;
237
- })[]): {
238
- kind: "MergeCoins";
239
- destination: {
240
- index: number;
241
- kind: "Input";
242
- type?: "object" | "pure" | undefined;
243
- value?: any;
244
- } | {
245
- kind: "GasCoin";
246
- } | {
247
- index: number;
248
- kind: "Result";
249
- } | {
250
- index: number;
251
- kind: "NestedResult";
252
- resultIndex: number;
253
- };
254
- sources: ({
255
- index: number;
256
- kind: "Input";
257
- type?: "object" | "pure" | undefined;
258
- value?: any;
259
- } | {
260
- kind: "GasCoin";
261
- } | {
262
- index: number;
263
- kind: "Result";
264
- } | {
265
- index: number;
266
- kind: "NestedResult";
267
- resultIndex: number;
268
- })[];
269
- };
270
- Publish(modules: number[][], dependencies: string[]): {
271
- kind: "Publish";
272
- dependencies: string[];
273
- modules: number[][];
274
- };
275
- MakeMoveVec({ type, objects, }: Omit<{
276
- objects: ({
277
- index: number;
278
- kind: "Input";
279
- type?: "object" | "pure" | undefined;
280
- value?: any;
281
- } | {
282
- kind: "GasCoin";
283
- } | {
284
- index: number;
285
- kind: "Result";
286
- } | {
287
- index: number;
288
- kind: "NestedResult";
289
- resultIndex: number;
290
- })[];
291
- kind: "MakeMoveVec";
292
- type?: {
293
- None: null;
294
- } | {
295
- Some: string;
296
- } | undefined;
297
- }, "type" | "kind"> & {
298
- type?: string | undefined;
299
- }): {
300
- objects: ({
301
- index: number;
302
- kind: "Input";
303
- type?: "object" | "pure" | undefined;
304
- value?: any;
305
- } | {
306
- kind: "GasCoin";
307
- } | {
308
- index: number;
309
- kind: "Result";
310
- } | {
311
- index: number;
312
- kind: "NestedResult";
313
- resultIndex: number;
314
- })[];
315
- kind: "MakeMoveVec";
316
- type?: {
317
- None: null;
318
- } | {
319
- Some: string;
320
- } | undefined;
321
- };
31
+ MoveCall(input: Omit<import("./Transactions").MoveCallTransaction, "kind" | "arguments" | "typeArguments"> & {
32
+ arguments?: TransactionArgument[];
33
+ typeArguments?: string[];
34
+ }): import("./Transactions").MoveCallTransaction;
35
+ TransferObjects(objects: TransactionArgument[], address: TransactionArgument): import("./Transactions").TransferObjectsTransaction;
36
+ SplitCoins(coin: TransactionArgument, amounts: TransactionArgument[]): import("./Transactions").SplitCoinsTransaction;
37
+ MergeCoins(destination: TransactionArgument, sources: TransactionArgument[]): import("./Transactions").MergeCoinsTransaction;
38
+ Publish(modules: number[][], dependencies: ObjectId[]): import("./Transactions").PublishTransaction;
39
+ MakeMoveVec({ type, objects, }: Omit<import("./Transactions").MakeMoveVecTransaction, "kind" | "type"> & {
40
+ type?: string;
41
+ }): import("./Transactions").MakeMoveVecTransaction;
322
42
  };
323
43
  /** A helper to retrieve the Transaction builder `Inputs` */
324
44
  static get Inputs(): {
325
- Pure(data: unknown, type?: string | undefined): {
326
- Pure: number[];
327
- };
328
- ObjectRef(ref: {
329
- version: string | number;
330
- objectId: string;
331
- digest: string;
332
- }): {
333
- Object: {
334
- ImmOrOwned: {
335
- version: string | number;
336
- objectId: string;
337
- digest: string;
338
- };
339
- } | {
340
- Shared: {
341
- objectId: string;
342
- initialSharedVersion: string | number;
343
- mutable: boolean;
344
- };
345
- };
346
- };
347
- SharedObjectRef(ref: import("../types").SharedObjectRef): {
348
- Object: {
349
- ImmOrOwned: {
350
- version: string | number;
351
- objectId: string;
352
- digest: string;
353
- };
354
- } | {
355
- Shared: {
356
- objectId: string;
357
- initialSharedVersion: string | number;
358
- mutable: boolean;
359
- };
360
- };
361
- };
45
+ Pure(data: unknown, type?: string): import("./Inputs").PureCallArg;
46
+ ObjectRef(ref: SuiObjectRef): ObjectCallArg;
47
+ SharedObjectRef(ref: import("../types").SharedObjectRef): ObjectCallArg;
362
48
  };
363
49
  setSender(sender: string): void;
364
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionBlock.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/builder/TransactionBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAyB,MAAM,gBAAgB,CAAC;AAC3G,OAAO,EAA4C,aAAa,EAAE,MAAM,UAAU,CAAC;AACnF,OAAO,EAA+B,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG5F,KAAK,iBAAiB,GAAG,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;AA8CrE,QAAA,MAAM,iBAAiB,eAAoC,CAAC;AAY5D,UAAU,YAAY;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,gBAAgB;;IAC3B,oFAAoF;IACpF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,gBAAgB;IAIhD;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;IAU/C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;IAe3C,kEAAkE;IAClE,MAAM,KAAK,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEtB;IAED,4DAA4D;IAC5D,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEhB;IAED,SAAS,CAAC,MAAM,EAAE,MAAM;IAGxB;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAKhC,aAAa,CAAC,UAAU,CAAC,EAAE,qBAAqB;IAGhD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAGlC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAGpC,WAAW,CAAC,KAAK,EAAE,MAAM;IAGzB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE;IAQtC,4DAA4D;IAC5D,IAAI,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEZ;IAID,IAAI,CAAC,iBAAiB,CAAC,YAEtB;gBAEW,WAAW,CAAC,EAAE,gBAAgB;IAI1C,yEAAyE;IACzE,IAAI,GAAG,IAAI,mBAAmB,CAE7B;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;;;;;;IAgB9C;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa;;;;;;IAOtC;;OAEG;IACH,IAAI;IACF;;;OAGG;IACH,KAAK,EAAE,OAAO;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM;;;;;;IASf,kDAAkD;IAClD,GAAG,CAAC,WAAW,EAAE,eAAe;IAOhC,UAAU,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC;IAGnE,UAAU,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC;IAGnE,OAAO,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;IAG7D,QAAQ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;IAG/D,eAAe,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAG7E,WAAW,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC;IAIrE;;;;;;;;;;;OAWG;IACH,SAAS;IAIT,0CAA0C;IACpC,KAAK,CAAC,EAAE,mBAAmB,EAAE,GAAE,YAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI5E,gCAAgC;IAC1B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;CAGnC"}
1
+ {"version":3,"file":"TransactionBlock.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/builder/TransactionBlock.ts"],"names":[],"mappings":"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"}
@@ -255,4 +255,4 @@ class TransactionBlock {
255
255
  }
256
256
  }
257
257
  exports.TransactionBlock = TransactionBlock;
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25CbG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL2J1aWxkZXIvVHJhbnNhY3Rpb25CbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBc0M7QUFDdEMsNkNBQXVDO0FBQ3ZDLG9DQUFrRDtBQUNsRCxpREFBMkc7QUFDM0cscUNBQW1GO0FBQ25GLGlFQUE0RjtBQUM1RixtQ0FBaUM7QUFJakMsU0FBUyx1QkFBdUIsQ0FBQyxLQUFhO0lBQzVDLE1BQU0sVUFBVSxHQUF3QixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFFbEUsTUFBTSxhQUFhLEdBQTBCLEVBQUUsQ0FBQztJQUNoRCxNQUFNLGVBQWUsR0FBRyxDQUFDLFdBQW1CLEVBQXVCLEVBQUU7O1FBQ25FLE9BQUEsT0FBQyxhQUFhLENBQUMsV0FBVyxxQ0FBekIsYUFBYSxDQUFDLFdBQVcsSUFBTTtZQUM5QixJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLO1lBQ0wsV0FBVztTQUNaLEVBQUMsQ0FBQTtLQUFBLENBQUM7SUFFTCxPQUFPLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtRQUMzQixHQUFHO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxRkFBcUYsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7UUFDRCw2RUFBNkU7UUFDN0UsNEVBQTRFO1FBQzVFLG1DQUFtQztRQUNuQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVE7WUFDbEIseUVBQXlFO1lBQ3pFLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRTtnQkFDdEIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQzthQUN0QztZQUVELHlCQUF5QjtZQUN6QixJQUFJLFFBQVEsS0FBSyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUNoQyxPQUFPLFFBQVEsQ0FB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LElBQW1EO1FBQzdELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELGVBQWUsQ0FBQyxHQUFHLElBQTBEO1FBQzNFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELFdBQVcsQ0FBQyxHQUFHLElBQXNEO1FBQ25FLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLG1DQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxtQkFBbUIsS0FBbUIsRUFBRTtRQUNwRCxPQUFPLHVCQUFBLElBQUksbUNBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxLQUFLLENBQUMsU0FBUztRQUNiLE9BQU8sdUJBQUEsSUFBSSxtQ0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQXBORCw0Q0FvTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tQjY0IH0gZnJvbSAnQG15c3Rlbi9iY3MnO1xuaW1wb3J0IHsgaXMsIG1hc2sgfSBmcm9tICdzdXBlcnN0cnVjdCc7XG5pbXBvcnQgeyBPYmplY3RJZCwgU3VpT2JqZWN0UmVmIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25zLCBUcmFuc2FjdGlvbkFyZ3VtZW50LCBUcmFuc2FjdGlvblR5cGUsIFRyYW5zYWN0aW9uQmxvY2tJbnB1dCB9IGZyb20gJy4vVHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEJ1aWxkZXJDYWxsQXJnLCBnZXRJZEZyb21DYWxsQXJnLCBJbnB1dHMsIE9iamVjdENhbGxBcmcgfSBmcm9tICcuL0lucHV0cyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIsIFRyYW5zYWN0aW9uRXhwaXJhdGlvbiB9IGZyb20gJy4vVHJhbnNhY3Rpb25EYXRhQmxvY2snO1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnLi91dGlscyc7XG5cbnR5cGUgVHJhbnNhY3Rpb25SZXN1bHQgPSBUcmFuc2FjdGlvbkFyZ3VtZW50ICYgVHJhbnNhY3Rpb25Bcmd1bWVudFtdO1xuXG5mdW5jdGlvbiBjcmVhdGVUcmFuc2FjdGlvblJlc3VsdChpbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25SZXN1bHQge1xuICBjb25zdCBiYXNlUmVzdWx0OiBUcmFuc2FjdGlvbkFyZ3VtZW50ID0geyBraW5kOiAnUmVzdWx0JywgaW5kZXggfTtcblxuICBjb25zdCBuZXN0ZWRSZXN1bHRzOiBUcmFuc2FjdGlvbkFyZ3VtZW50W10gPSBbXTtcbiAgY29uc3QgbmVzdGVkUmVzdWx0Rm9yID0gKHJlc3VsdEluZGV4OiBudW1iZXIpOiBUcmFuc2FjdGlvbkFyZ3VtZW50ID0+XG4gICAgKG5lc3RlZFJlc3VsdHNbcmVzdWx0SW5kZXhdID8/PSB7XG4gICAgICBraW5kOiAnTmVzdGVkUmVzdWx0JyxcbiAgICAgIGluZGV4LFxuICAgICAgcmVzdWx0SW5kZXgsXG4gICAgfSk7XG5cbiAgcmV0dXJuIG5ldyBQcm94eShiYXNlUmVzdWx0LCB7XG4gICAgc2V0KCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgdHJhbnNhY3Rpb24gcmVzdWx0IGlzIGEgcHJveHksIGFuZCBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgcHJvcGVydGllcyBkaXJlY3RseScpO1xuICAgIH0sXG4gICAgLy8gVE9ETzogSW5zdGVhZCBvZiBtYWtpbmcgdGhpcyByZXR1cm4gYSBjb25jcmV0ZSBhcmd1bWVudCwgd2Ugc2hvdWxkIGlkZWFsbHlcbiAgICAvLyBtYWtlIGl0IHJlZmVyZW5jZS1iYXNlZCAoc28gdGhhdCB0aGlzIGdldHMgcmVzb2x2ZWQgYXQgYnVpbGQtdGltZSksIHdoaWNoXG4gICAgLy8gYWxsb3dzIHJlLW9yZGVyaW5nIHRyYW5zYWN0aW9ucy5cbiAgICBnZXQodGFyZ2V0LCBwcm9wZXJ0eSkge1xuICAgICAgLy8gVGhpcyBhbGxvd3MgdGhpcyB0cmFuc2FjdGlvbiBhcmd1bWVudCB0byBiZSB1c2VkIGluIHRoZSBzaW5ndWxhciBmb3JtOlxuICAgICAgaWYgKHByb3BlcnR5IGluIHRhcmdldCkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wZXJ0eSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1cHBvcnQgZGVzdHJ1Y3R1cmluZzpcbiAgICAgIGlmIChwcm9wZXJ0eSA9PT0gU3ltYm9sLml0ZXJhdG9yKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiogKCkge1xuICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgeWllbGQgbmVzdGVkUmVzdWx0Rm9yKGkpO1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBwcm9wZXJ0eSA9PT0gJ3N5bWJvbCcpIHJldHVybjtcblxuICAgICAgY29uc3QgcmVzdWx0SW5kZXggPSBwYXJzZUludChwcm9wZXJ0eSwgMTApO1xuICAgICAgaWYgKE51bWJlci5pc05hTihyZXN1bHRJbmRleCkgfHwgcmVzdWx0SW5kZXggPCAwKSByZXR1cm47XG4gICAgICByZXR1cm4gbmVzdGVkUmVzdWx0Rm9yKHJlc3VsdEluZGV4KTtcbiAgICB9LFxuICB9KSBhcyBUcmFuc2FjdGlvblJlc3VsdDtcbn1cblxuY29uc3QgVFJBTlNBQ1RJT05fQlJBTkQgPSBTeW1ib2wuZm9yKCdAbXlzdGVuL3RyYW5zYWN0aW9uJyk7XG5cbi8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBnYXMgb2JqZWN0cyB0aGF0IGNhbiBiZSBzZWxlY3RlZCBmb3Igb25lIHRyYW5zYWN0aW9uLlxuY29uc3QgTUFYX0dBU19PQkpFQ1RTID0gMjU2O1xuXG4vLyBUaGUgbWF4aW11bSBnYXMgdGhhdCBpcyBhbGxvd2VkLlxuY29uc3QgTUFYX0dBUyA9IDEwMDAwMDAwMDA7XG5cbi8vIEEgZ3Vlc3MgYWJvdXQgaG93IG11Y2ggb3ZlcmhlYWQgZWFjaCBjb2luIHByb3ZpZGVzIGZvciBnYXMgY2FsY3VsYXRpb25zLlxuLy8gQHRzLWlnbm9yZVxuY29uc3QgR0FTX09WRVJIRUFEX1BFUl9DT0lOID0gMTBuO1xuXG5pbnRlcmZhY2UgQnVpbGRPcHRpb25zIHtcbiAgb25seVRyYW5zYWN0aW9uS2luZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVHJhbnNhY3Rpb24gQnVpbGRlclxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CbG9jayB7XG4gIC8qKiBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIHRoZSBUcmFuc2FjdGlvbiBidWlsZGVyIGNsYXNzLiAqL1xuICBzdGF0aWMgaXMob2JqOiB1bmtub3duKTogb2JqIGlzIFRyYW5zYWN0aW9uQmxvY2sge1xuICAgIHJldHVybiAhIW9iaiAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiAob2JqIGFzIGFueSlbVFJBTlNBQ1RJT05fQlJBTkRdID09PSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGZyb20gYSBzZXJpYWxpemUgdHJhbnNhY3Rpb24ga2luZCAoYnVpbHQgd2l0aCBgYnVpbGQoeyBvbmx5VHJhbnNhY3Rpb25LaW5kOiB0cnVlIH0pYCkgdG8gYSBgVHJhbnNhY3Rpb25gIGNsYXNzLlxuICAgKiBTdXBwb3J0cyBlaXRoZXIgYSBieXRlIGFycmF5LCBvciBiYXNlNjQtZW5jb2RlZCBieXRlcy5cbiAgICovXG4gIHN0YXRpYyBmcm9tS2luZChzZXJpYWxpemVkOiBzdHJpbmcgfCBVaW50OEFycmF5KSB7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb25CbG9jaygpO1xuXG4gICAgdHguI2Jsb2NrRGF0YSA9IFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlci5mcm9tS2luZEJ5dGVzKFxuICAgICAgdHlwZW9mIHNlcmlhbGl6ZWQgPT09ICdzdHJpbmcnID8gZnJvbUI2NChzZXJpYWxpemVkKSA6IHNlcmlhbGl6ZWRcbiAgICApO1xuXG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGZyb20gYSBzZXJpYWxpemVkIHRyYW5zYWN0aW9uIGZvcm1hdCB0byBhIGBUcmFuc2FjdGlvbmAgY2xhc3MuXG4gICAqIFRoZXJlIGFyZSB0d28gc3VwcG9ydGVkIHNlcmlhbGl6ZWQgZm9ybWF0czpcbiAgICogLSBBIHN0cmluZyByZXR1cm5lZCBmcm9tIGBUcmFuc2FjdGlvbiNzZXJpYWxpemVgLiBUaGUgc2VyaWFsaXplZCBmb3JtYXQgbXVzdCBiZSBjb21wYXRpYmxlLCBvciBpdCB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgKiAtIEEgYnl0ZSBhcnJheSAob3IgYmFzZTY0LWVuY29kZWQgYnl0ZXMpIGNvbnRhaW5pbmcgQkNTIHRyYW5zYWN0aW9uIGRhdGEuXG4gICAqL1xuICBzdGF0aWMgZnJvbShzZXJpYWxpemVkOiBzdHJpbmcgfCBVaW50OEFycmF5KSB7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb25CbG9jaygpO1xuXG4gICAgLy8gQ2hlY2sgZm9yIGJ5dGVzOlxuICAgIGlmICh0eXBlb2Ygc2VyaWFsaXplZCAhPT0gJ3N0cmluZycgfHwgIXNlcmlhbGl6ZWQuc3RhcnRzV2l0aCgneycpKSB7XG4gICAgICB0eC4jYmxvY2tEYXRhID0gVHJhbnNhY3Rpb25CbG9ja0RhdGFCdWlsZGVyLmZyb21CeXRlcyhcbiAgICAgICAgdHlwZW9mIHNlcmlhbGl6ZWQgPT09ICdzdHJpbmcnID8gZnJvbUI2NChzZXJpYWxpemVkKSA6IHNlcmlhbGl6ZWRcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4LiNibG9ja0RhdGEgPSBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIucmVzdG9yZShKU09OLnBhcnNlKHNlcmlhbGl6ZWQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQSBoZWxwZXIgdG8gcmV0cmlldmUgdGhlIFRyYW5zYWN0aW9uIGJ1aWxkZXIgYFRyYW5zYWN0aW9uc2AgKi9cbiAgc3RhdGljIGdldCBUcmFuc2FjdGlvbnMoKSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9ucztcbiAgfVxuXG4gIC8qKiBBIGhlbHBlciB0byByZXRyaWV2ZSB0aGUgVHJhbnNhY3Rpb24gYnVpbGRlciBgSW5wdXRzYCAqL1xuICBzdGF0aWMgZ2V0IElucHV0cygpIHtcbiAgICByZXR1cm4gSW5wdXRzO1xuICB9XG5cbiAgc2V0U2VuZGVyKHNlbmRlcjogc3RyaW5nKSB7XG4gICAgdGhpcy4jYmxvY2tEYXRhLnNlbmRlciA9IHNlbmRlcjtcbiAgfVxuICAvKipcbiAgICogU2V0cyB0aGUgc2VuZGVyIG9ubHkgaWYgaXQgaGFzIG5vdCBhbHJlYWR5IGJlZW4gc2V0LlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3Igc3BvbnNvcmVkIHRyYW5zYWN0aW9uIGZsb3dzIHdoZXJlIHRoZSBzZW5kZXIgbWF5IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgc2lnbmVyIGFkZHJlc3MuXG4gICAqL1xuICBzZXRTZW5kZXJJZk5vdFNldChzZW5kZXI6IHN0cmluZykge1xuICAgIGlmICghdGhpcy4jYmxvY2tEYXRhLnNlbmRlcikge1xuICAgICAgdGhpcy4jYmxvY2tEYXRhLnNlbmRlciA9IHNlbmRlcjtcbiAgICB9XG4gIH1cbiAgc2V0RXhwaXJhdGlvbihleHBpcmF0aW9uPzogVHJhbnNhY3Rpb25FeHBpcmF0aW9uKSB7XG4gICAgdGhpcy4jYmxvY2tEYXRhLmV4cGlyYXRpb24gPSBleHBpcmF0aW9uO1xuICB9XG4gIHNldEdhc1ByaWNlKHByaWNlOiBudW1iZXIgfCBiaWdpbnQpIHtcbiAgICB0aGlzLiNibG9ja0RhdGEuZ2FzQ29uZmlnLnByaWNlID0gU3RyaW5nKHByaWNlKTtcbiAgfVxuICBzZXRHYXNCdWRnZXQoYnVkZ2V0OiBudW1iZXIgfCBiaWdpbnQpIHtcbiAgICB0aGlzLiNibG9ja0RhdGEuZ2FzQ29uZmlnLmJ1ZGdldCA9IFN0cmluZyhidWRnZXQpO1xuICB9XG4gIHNldEdhc093bmVyKG93bmVyOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNibG9ja0RhdGEuZ2FzQ29uZmlnLm93bmVyID0gb3duZXI7XG4gIH1cbiAgc2V0R2FzUGF5bWVudChwYXltZW50czogU3VpT2JqZWN0UmVmW10pIHtcbiAgICBpZiAocGF5bWVudHMubGVuZ3RoID49IE1BWF9HQVNfT0JKRUNUUykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXltZW50IG9iamVjdHMgZXhjZWVkIG1heGltdW0gYW1vdW50ICR7TUFYX0dBU19PQkpFQ1RTfWApO1xuICAgIH1cbiAgICB0aGlzLiNibG9ja0RhdGEuZ2FzQ29uZmlnLnBheW1lbnQgPSBwYXltZW50cy5tYXAoKHBheW1lbnQpID0+IG1hc2socGF5bWVudCwgU3VpT2JqZWN0UmVmKSk7XG4gIH1cblxuICAjYmxvY2tEYXRhOiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXI7XG4gIC8qKiBHZXQgYSBzbmFwc2hvdCBvZiB0aGUgdHJhbnNhY3Rpb24gZGF0YSwgaW4gSlNPTiBmb3JtOiAqL1xuICBnZXQgYmxvY2tEYXRhKCkge1xuICAgIHJldHVybiB0aGlzLiNibG9ja0RhdGEuc25hcHNob3QoKTtcbiAgfVxuXG4gIC8vIFVzZWQgdG8gYnJhbmQgdHJhbnNhY3Rpb24gY2xhc3NlcyBzbyB0aGF0IHRoZXkgY2FuIGJlIGlkZW50aWZpZWQsIGV2ZW4gYmV0d2VlbiBtdWx0aXBsZSBjb3BpZXNcbiAgLy8gb2YgdGhlIGJ1aWxkZXIuXG4gIGdldCBbVFJBTlNBQ1RJT05fQlJBTkRdKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IodHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbkJsb2NrKSB7XG4gICAgdGhpcy4jYmxvY2tEYXRhID0gbmV3IFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlcih0cmFuc2FjdGlvbiA/IHRyYW5zYWN0aW9uLiNibG9ja0RhdGEgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgYW4gYXJndW1lbnQgZm9yIHRoZSBnYXMgY29pbiwgdG8gYmUgdXNlZCBpbiBhIHRyYW5zYWN0aW9uLiAqL1xuICBnZXQgZ2FzKCk6IFRyYW5zYWN0aW9uQXJndW1lbnQge1xuICAgIHJldHVybiB7IGtpbmQ6ICdHYXNDb2luJyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIER5bmFtaWNhbGx5IGNyZWF0ZSBhIG5ldyBpbnB1dCwgd2hpY2ggaXMgc2VwYXJhdGUgZnJvbSB0aGUgYGlucHV0YC4gVGhpcyBpcyBpbXBvcnRhbnRcbiAgICogZm9yIGdlbmVyYXRlZCBjbGllbnRzIHRvIGJlIGFibGUgdG8gZGVmaW5lIHVuaXF1ZSBpbnB1dHMgdGhhdCBhcmUgbm9uLW92ZXJsYXBwaW5nIHdpdGggdGhlXG4gICAqIGRlZmluZWQgaW5wdXRzLlxuICAgKlxuICAgKiBGb3IgYFVpbnQ4QXJyYXlgIHR5cGUgYXV0b21hdGljYWxseSBjb252ZXJ0IHRoZSBpbnB1dCBpbnRvIGEgYFB1cmVgIENhbGxBcmcsIHNpbmNlIHRoaXNcbiAgICogaXMgdGhlIGZvcm1hdCByZXF1aXJlZCBmb3IgY3VzdG9tIHNlcmlhbGl6YXRpb24uXG4gICAqXG4gICAqL1xuICBpbnB1dCh0eXBlOiAnb2JqZWN0JyB8ICdwdXJlJywgdmFsdWU/OiB1bmtub3duKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLiNibG9ja0RhdGEuaW5wdXRzLmxlbmd0aDtcbiAgICBjb25zdCBpbnB1dCA9IGNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAga2luZDogJ0lucHV0JyxcbiAgICAgICAgLy8gYmlnaW50cyBjYW4ndCBiZSBzZXJpYWxpemVkIHRvIEpTT04sIHNvIGp1c3Qgc3RyaW5nLWNvbnZlcnQgdGhlbSBoZXJlOlxuICAgICAgICB2YWx1ZTogdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyA/IFN0cmluZyh2YWx1ZSkgOiB2YWx1ZSxcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIHR5cGUsXG4gICAgICB9LFxuICAgICAgVHJhbnNhY3Rpb25CbG9ja0lucHV0XG4gICAgKTtcbiAgICB0aGlzLiNibG9ja0RhdGEuaW5wdXRzLnB1c2goaW5wdXQpO1xuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgb2JqZWN0IGlucHV0IHRvIHRoZSB0cmFuc2FjdGlvbi5cbiAgICovXG4gIG9iamVjdCh2YWx1ZTogT2JqZWN0SWQgfCBPYmplY3RDYWxsQXJnKSB7XG4gICAgY29uc3QgaWQgPSBnZXRJZEZyb21DYWxsQXJnKHZhbHVlKTtcbiAgICAvLyBkZWR1cGxpY2F0ZVxuICAgIGNvbnN0IGluc2VydGVkID0gdGhpcy4jYmxvY2tEYXRhLmlucHV0cy5maW5kKChpKSA9PiBpLnR5cGUgPT09ICdvYmplY3QnICYmIGlkID09PSBnZXRJZEZyb21DYWxsQXJnKGkudmFsdWUpKTtcbiAgICByZXR1cm4gaW5zZXJ0ZWQgPz8gdGhpcy5pbnB1dCgnb2JqZWN0JywgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBub24tb2JqZWN0IGlucHV0IHRvIHRoZSB0cmFuc2FjdGlvbi5cbiAgICovXG4gIHB1cmUoXG4gICAgLyoqXG4gICAgICogVGhlIHB1cmUgdmFsdWUgdGhhdCB3aWxsIGJlIHVzZWQgYXMgdGhlIGlucHV0IHZhbHVlLiBJZiB0aGlzIGlzIGEgVWludDhBcnJheSwgdGhlbiB0aGUgdmFsdWVcbiAgICAgKiBpcyBhc3N1bWVkIHRvIGJlIHJhdyBieXRlcywgYW5kIHdpbGwgYmUgdXNlZCBkaXJlY3RseS5cbiAgICAgKi9cbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICAvKipcbiAgICAgKiBUaGUgQkNTIHR5cGUgdG8gc2VyaWFsaXplIHRoZSB2YWx1ZSBpbnRvLiBJZiBub3QgcHJvdmlkZWQsIHRoZSB0eXBlIHdpbGwgYXV0b21hdGljYWxseSBiZSBkZXRlcm1pbmVkXG4gICAgICogYmFzZWQgb24gaG93IHRoZSBpbnB1dCBpcyB1c2VkLlxuICAgICAqL1xuICAgIHR5cGU/OiBzdHJpbmdcbiAgKSB7XG4gICAgLy8gVE9ETzogd2UgY2FuIGFsc28gZG8gc29tZSBkZWR1cGxpY2F0aW9uIGhlcmVcbiAgICByZXR1cm4gdGhpcy5pbnB1dChcbiAgICAgICdwdXJlJyxcbiAgICAgIHZhbHVlIGluc3RhbmNlb2YgVWludDhBcnJheSA/IElucHV0cy5QdXJlKHZhbHVlKSA6IHR5cGUgPyBJbnB1dHMuUHVyZSh2YWx1ZSwgdHlwZSkgOiB2YWx1ZVxuICAgICk7XG4gIH1cblxuICAvKiogQWRkIGEgdHJhbnNhY3Rpb24gdG8gdGhlIHRyYW5zYWN0aW9uIGJsb2NrLiAqL1xuICBhZGQodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uVHlwZSkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy4jYmxvY2tEYXRhLnRyYW5zYWN0aW9ucy5wdXNoKHRyYW5zYWN0aW9uKTtcbiAgICByZXR1cm4gY3JlYXRlVHJhbnNhY3Rpb25SZXN1bHQoaW5kZXggLSAxKTtcbiAgfVxuXG4gIC8vIE1ldGhvZCBzaG9ydGhhbmRzOlxuXG4gIHNwbGl0Q29pbnMoLi4uYXJnczogUGFyYW1ldGVyczwodHlwZW9mIFRyYW5zYWN0aW9ucylbJ1NwbGl0Q29pbnMnXT4pIHtcbiAgICByZXR1cm4gdGhpcy5hZGQoVHJhbnNhY3Rpb25zLlNwbGl0Q29pbnMoLi4uYXJncykpO1xuICB9XG4gIG1lcmdlQ29pbnMoLi4uYXJnczogUGFyYW1ldGVyczwodHlwZW9mIFRyYW5zYWN0aW9ucylbJ01lcmdlQ29pbnMnXT4pIHtcbiAgICByZXR1cm4gdGhpcy5hZGQoVHJhbnNhY3Rpb25zLk1lcmdlQ29pbnMoLi4uYXJncykpO1xuICB9XG4gIHB1Ymxpc2goLi4uYXJnczogUGFyYW1ldGVyczwodHlwZW9mIFRyYW5zYWN0aW9ucylbJ1B1Ymxpc2gnXT4pIHtcbiAgICByZXR1cm4gdGhpcy5hZGQoVHJhbnNhY3Rpb25zLlB1Ymxpc2goLi4uYXJncykpO1xuICB9XG4gIG1vdmVDYWxsKC4uLmFyZ3M6IFBhcmFtZXRlcnM8KHR5cGVvZiBUcmFuc2FjdGlvbnMpWydNb3ZlQ2FsbCddPikge1xuICAgIHJldHVybiB0aGlzLmFkZChUcmFuc2FjdGlvbnMuTW92ZUNhbGwoLi4uYXJncykpO1xuICB9XG4gIHRyYW5zZmVyT2JqZWN0cyguLi5hcmdzOiBQYXJhbWV0ZXJzPCh0eXBlb2YgVHJhbnNhY3Rpb25zKVsnVHJhbnNmZXJPYmplY3RzJ10+KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkKFRyYW5zYWN0aW9ucy5UcmFuc2Zlck9iamVjdHMoLi4uYXJncykpO1xuICB9XG4gIG1ha2VNb3ZlVmVjKC4uLmFyZ3M6IFBhcmFtZXRlcnM8KHR5cGVvZiBUcmFuc2FjdGlvbnMpWydNYWtlTW92ZVZlYyddPikge1xuICAgIHJldHVybiB0aGlzLmFkZChUcmFuc2FjdGlvbnMuTWFrZU1vdmVWZWMoLi4uYXJncykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gdG8gYSBzdHJpbmcgc28gdGhhdCBpdCBjYW4gYmUgc2VudCB0byBhIHNlcGFyYXRlIGNvbnRleHQuXG4gICAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gYGJ1aWxkYCBpbiB0aGF0IGl0IGRvZXMgbm90IHNlcmlhbGl6ZSB0byBCQ1MgYnl0ZXMsIGFuZCBpbnN0ZWFkXG4gICAqIHVzZXMgYSBzZXBhcmF0ZSBmb3JtYXQgdGhhdCBpcyB1bmlxdWUgdG8gdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIuIFRoaXMgYWxsb3dzXG4gICAqIHVzIHRvIHNlcmlhbGl6ZSBwYXJ0aWFsbHktY29tcGxldGUgdHJhbnNhY3Rpb25zLCB0aGF0IGNhbiB0aGVuIGJlIGNvbXBsZXRlZCBhbmRcbiAgICogYnVpbHQgaW4gYSBzZXBhcmF0ZSBjb250ZXh0LlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgYSBkYXBwIGNhbiBjb25zdHJ1Y3QgYSB0cmFuc2FjdGlvbiwgYnV0IG5vdCBwcm92aWRlIGdhcyBvYmplY3RzXG4gICAqIG9yIGEgZ2FzIGJ1ZGdldC4gVGhlIHRyYW5zYWN0aW9uIHRoZW4gY2FuIGJlIHNlbnQgdG8gdGhlIHdhbGxldCwgd2hlcmUgdGhpc1xuICAgKiBpbmZvcm1hdGlvbiBpcyBhdXRvbWF0aWNhbGx5IGZpbGxlZCBpbiAoZS5nLiBieSBxdWVyeWluZyBmb3IgY29pbiBvYmplY3RzXG4gICAqIGFuZCBwZXJmb3JtaW5nIGEgZHJ5IHJ1bikuXG4gICAqL1xuICBzZXJpYWxpemUoKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuI2Jsb2NrRGF0YS5zbmFwc2hvdCgpKTtcbiAgfVxuXG4gIC8qKiBCdWlsZCB0aGUgdHJhbnNhY3Rpb24gdG8gQkNTIGJ5dGVzLiAqL1xuICBhc3luYyBidWlsZCh7IG9ubHlUcmFuc2FjdGlvbktpbmQgfTogQnVpbGRPcHRpb25zID0ge30pOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICByZXR1cm4gdGhpcy4jYmxvY2tEYXRhLmJ1aWxkKHsgb25seVRyYW5zYWN0aW9uS2luZCB9KTtcbiAgfVxuXG4gIC8qKiBEZXJpdmUgdHJhbnNhY3Rpb24gZGlnZXN0ICovXG4gIGFzeW5jIGdldERpZ2VzdCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLiNibG9ja0RhdGEuZ2V0RGlnZXN0KCk7XG4gIH1cbn1cbiJdfQ==
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25CbG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL2J1aWxkZXIvVHJhbnNhY3Rpb25CbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBc0M7QUFDdEMsNkNBQXVDO0FBQ3ZDLG9DQUFrRDtBQUNsRCxpREFBMkc7QUFDM0cscUNBQW1GO0FBQ25GLGlFQUE0RjtBQUM1RixtQ0FBaUM7QUFJakMsU0FBUyx1QkFBdUIsQ0FBQyxLQUFhO0lBQzVDLE1BQU0sVUFBVSxHQUF3QixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFFbEUsTUFBTSxhQUFhLEdBQTBCLEVBQUUsQ0FBQztJQUNoRCxNQUFNLGVBQWUsR0FBRyxDQUFDLFdBQW1CLEVBQXVCLEVBQUU7O1FBQ25FLE9BQUEsT0FBQyxhQUFhLENBQUMsV0FBVyxxQ0FBekIsYUFBYSxDQUFDLFdBQVcsSUFBTTtZQUM5QixJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLO1lBQ0wsV0FBVztTQUNaLEVBQUMsQ0FBQTtLQUFBLENBQUM7SUFFTCxPQUFPLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtRQUMzQixHQUFHO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxRkFBcUYsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7UUFDRCw2RUFBNkU7UUFDN0UsNEVBQTRFO1FBQzVFLG1DQUFtQztRQUNuQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVE7WUFDbEIseUVBQXlFO1lBQ3pFLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUN2QixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFFRCx5QkFBeUI7WUFDekIsSUFBSSxRQUFRLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNq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Q0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxRQUFRLENBQUMsR0FBRyxJQUFtRDtRQUM3RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsMkJBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxlQUFlLENBQUMsR0FBRyxJQUEwRDtRQUMzRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsMkJBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxXQUFXLENBQUMsR0FBRyxJQUFzRDtRQUNuRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsMkJBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxtQ0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLEtBQW1CLEVBQUU7UUFDcEQsT0FBTyx1QkFBQSxJQUFJLG1DQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxnQ0FBZ0M7SUFDaEMsS0FBSyxDQUFDLFNBQVM7UUFDYixPQUFPLHVCQUFBLElBQUksbUNBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFwTkQsNENBb05DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUI2NCB9IGZyb20gJ0BteXN0ZW4vYmNzJztcbmltcG9ydCB7IGlzLCBtYXNrIH0gZnJvbSAnc3VwZXJzdHJ1Y3QnO1xuaW1wb3J0IHsgT2JqZWN0SWQsIFN1aU9iamVjdFJlZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9ucywgVHJhbnNhY3Rpb25Bcmd1bWVudCwgVHJhbnNhY3Rpb25UeXBlLCBUcmFuc2FjdGlvbkJsb2NrSW5wdXQgfSBmcm9tICcuL1RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWlsZGVyQ2FsbEFyZywgZ2V0SWRGcm9tQ2FsbEFyZywgSW5wdXRzLCBPYmplY3RDYWxsQXJnIH0gZnJvbSAnLi9JbnB1dHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CbG9ja0RhdGFCdWlsZGVyLCBUcmFuc2FjdGlvbkV4cGlyYXRpb24gfSBmcm9tICcuL1RyYW5zYWN0aW9uRGF0YUJsb2NrJztcbmltcG9ydCB7IGNyZWF0ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG50eXBlIFRyYW5zYWN0aW9uUmVzdWx0ID0gVHJhbnNhY3Rpb25Bcmd1bWVudCAmIFRyYW5zYWN0aW9uQXJndW1lbnRbXTtcblxuZnVuY3Rpb24gY3JlYXRlVHJhbnNhY3Rpb25SZXN1bHQoaW5kZXg6IG51bWJlcik6IFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgY29uc3QgYmFzZVJlc3VsdDogVHJhbnNhY3Rpb25Bcmd1bWVudCA9IHsga2luZDogJ1Jlc3VsdCcsIGluZGV4IH07XG5cbiAgY29uc3QgbmVzdGVkUmVzdWx0czogVHJhbnNhY3Rpb25Bcmd1bWVudFtdID0gW107XG4gIGNvbnN0IG5lc3RlZFJlc3VsdEZvciA9IChyZXN1bHRJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Bcmd1bWVudCA9PlxuICAgIChuZXN0ZWRSZXN1bHRzW3Jlc3VsdEluZGV4XSA/Pz0ge1xuICAgICAga2luZDogJ05lc3RlZFJlc3VsdCcsXG4gICAgICBpbmRleCxcbiAgICAgIHJlc3VsdEluZGV4LFxuICAgIH0pO1xuXG4gIHJldHVybiBuZXcgUHJveHkoYmFzZVJlc3VsdCwge1xuICAgIHNldCgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHRyYW5zYWN0aW9uIHJlc3VsdCBpcyBhIHByb3h5LCBhbmQgZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHByb3BlcnRpZXMgZGlyZWN0bHknKTtcbiAgICB9LFxuICAgIC8vIFRPRE86IEluc3RlYWQgb2YgbWFraW5nIHRoaXMgcmV0dXJuIGEgY29uY3JldGUgYXJndW1lbnQsIHdlIHNob3VsZCBpZGVhbGx5XG4gICAgLy8gbWFrZSBpdCByZWZlcmVuY2UtYmFzZWQgKHNvIHRoYXQgdGhpcyBnZXRzIHJlc29sdmVkIGF0IGJ1aWxkLXRpbWUpLCB3aGljaFxuICAgIC8vIGFsbG93cyByZS1vcmRlcmluZyB0cmFuc2FjdGlvbnMuXG4gICAgZ2V0KHRhcmdldCwgcHJvcGVydHkpIHtcbiAgICAgIC8vIFRoaXMgYWxsb3dzIHRoaXMgdHJhbnNhY3Rpb24gYXJndW1lbnQgdG8gYmUgdXNlZCBpbiB0aGUgc2luZ3VsYXIgZm9ybTpcbiAgICAgIGlmIChwcm9wZXJ0eSBpbiB0YXJnZXQpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdXBwb3J0IGRlc3RydWN0dXJpbmc6XG4gICAgICBpZiAocHJvcGVydHkgPT09IFN5bWJvbC5pdGVyYXRvcikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIHlpZWxkIG5lc3RlZFJlc3VsdEZvcihpKTtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgcHJvcGVydHkgPT09ICdzeW1ib2wnKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHJlc3VsdEluZGV4ID0gcGFyc2VJbnQocHJvcGVydHksIDEwKTtcbiAgICAgIGlmIChOdW1iZXIuaXNOYU4ocmVzdWx0SW5kZXgpIHx8IHJlc3VsdEluZGV4IDwgMCkgcmV0dXJuO1xuICAgICAgcmV0dXJuIG5lc3RlZFJlc3VsdEZvcihyZXN1bHRJbmRleCk7XG4gICAgfSxcbiAgfSkgYXMgVHJhbnNhY3Rpb25SZXN1bHQ7XG59XG5cbmNvbnN0IFRSQU5TQUNUSU9OX0JSQU5EID0gU3ltYm9sLmZvcignQG15c3Rlbi90cmFuc2FjdGlvbicpO1xuXG4vLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgZ2FzIG9iamVjdHMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQgZm9yIG9uZSB0cmFuc2FjdGlvbi5cbmNvbnN0IE1BWF9HQVNfT0JKRUNUUyA9IDI1NjtcblxuLy8gVGhlIG1heGltdW0gZ2FzIHRoYXQgaXMgYWxsb3dlZC5cbmNvbnN0IE1BWF9HQVMgPSAxMDAwMDAwMDAwO1xuXG4vLyBBIGd1ZXNzIGFib3V0IGhvdyBtdWNoIG92ZXJoZWFkIGVhY2ggY29pbiBwcm92aWRlcyBmb3IgZ2FzIGNhbGN1bGF0aW9ucy5cbi8vIEB0cy1pZ25vcmVcbmNvbnN0IEdBU19PVkVSSEVBRF9QRVJfQ09JTiA9IDEwbjtcblxuaW50ZXJmYWNlIEJ1aWxkT3B0aW9ucyB7XG4gIG9ubHlUcmFuc2FjdGlvbktpbmQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRyYW5zYWN0aW9uIEJ1aWxkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQmxvY2sge1xuICAvKiogUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgVHJhbnNhY3Rpb24gYnVpbGRlciBjbGFzcy4gKi9cbiAgc3RhdGljIGlzKG9iajogdW5rbm93bik6IG9iaiBpcyBUcmFuc2FjdGlvbkJsb2NrIHtcbiAgICByZXR1cm4gISFvYmogJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgKG9iaiBhcyBhbnkpW1RSQU5TQUNUSU9OX0JSQU5EXSA9PT0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBmcm9tIGEgc2VyaWFsaXplIHRyYW5zYWN0aW9uIGtpbmQgKGJ1aWx0IHdpdGggYGJ1aWxkKHsgb25seVRyYW5zYWN0aW9uS2luZDogdHJ1ZSB9KWApIHRvIGEgYFRyYW5zYWN0aW9uYCBjbGFzcy5cbiAgICogU3VwcG9ydHMgZWl0aGVyIGEgYnl0ZSBhcnJheSwgb3IgYmFzZTY0LWVuY29kZWQgYnl0ZXMuXG4gICAqL1xuICBzdGF0aWMgZnJvbUtpbmQoc2VyaWFsaXplZDogc3RyaW5nIHwgVWludDhBcnJheSkge1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uQmxvY2soKTtcblxuICAgIHR4LiNibG9ja0RhdGEgPSBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIuZnJvbUtpbmRCeXRlcyhcbiAgICAgIHR5cGVvZiBzZXJpYWxpemVkID09PSAnc3RyaW5nJyA/IGZyb21CNjQoc2VyaWFsaXplZCkgOiBzZXJpYWxpemVkXG4gICAgKTtcblxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBmcm9tIGEgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBmb3JtYXQgdG8gYSBgVHJhbnNhY3Rpb25gIGNsYXNzLlxuICAgKiBUaGVyZSBhcmUgdHdvIHN1cHBvcnRlZCBzZXJpYWxpemVkIGZvcm1hdHM6XG4gICAqIC0gQSBzdHJpbmcgcmV0dXJuZWQgZnJvbSBgVHJhbnNhY3Rpb24jc2VyaWFsaXplYC4gVGhlIHNlcmlhbGl6ZWQgZm9ybWF0IG11c3QgYmUgY29tcGF0aWJsZSwgb3IgaXQgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICogLSBBIGJ5dGUgYXJyYXkgKG9yIGJhc2U2NC1lbmNvZGVkIGJ5dGVzKSBjb250YWluaW5nIEJDUyB0cmFuc2FjdGlvbiBkYXRhLlxuICAgKi9cbiAgc3RhdGljIGZyb20oc2VyaWFsaXplZDogc3RyaW5nIHwgVWludDhBcnJheSkge1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uQmxvY2soKTtcblxuICAgIC8vIENoZWNrIGZvciBieXRlczpcbiAgICBpZiAodHlwZW9mIHNlcmlhbGl6ZWQgIT09ICdzdHJpbmcnIHx8ICFzZXJpYWxpemVkLnN0YXJ0c1dpdGgoJ3snKSkge1xuICAgICAgdHguI2Jsb2NrRGF0YSA9IFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlci5mcm9tQnl0ZXMoXG4gICAgICAgIHR5cGVvZiBzZXJpYWxpemVkID09PSAnc3RyaW5nJyA/IGZyb21CNjQoc2VyaWFsaXplZCkgOiBzZXJpYWxpemVkXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eC4jYmxvY2tEYXRhID0gVHJhbnNhY3Rpb25CbG9ja0RhdGFCdWlsZGVyLnJlc3RvcmUoSlNPTi5wYXJzZShzZXJpYWxpemVkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEEgaGVscGVyIHRvIHJldHJpZXZlIHRoZSBUcmFuc2FjdGlvbiBidWlsZGVyIGBUcmFuc2FjdGlvbnNgICovXG4gIHN0YXRpYyBnZXQgVHJhbnNhY3Rpb25zKCkge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbnM7XG4gIH1cblxuICAvKiogQSBoZWxwZXIgdG8gcmV0cmlldmUgdGhlIFRyYW5zYWN0aW9uIGJ1aWxkZXIgYElucHV0c2AgKi9cbiAgc3RhdGljIGdldCBJbnB1dHMoKSB7XG4gICAgcmV0dXJuIElucHV0cztcbiAgfVxuXG4gIHNldFNlbmRlcihzZW5kZXI6IHN0cmluZykge1xuICAgIHRoaXMuI2Jsb2NrRGF0YS5zZW5kZXIgPSBzZW5kZXI7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNlbmRlciBvbmx5IGlmIGl0IGhhcyBub3QgYWxyZWFkeSBiZWVuIHNldC5cbiAgICogVGhpcyBpcyB1c2VmdWwgZm9yIHNwb25zb3JlZCB0cmFuc2FjdGlvbiBmbG93cyB3aGVyZSB0aGUgc2VuZGVyIG1heSBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIHNpZ25lciBhZGRyZXNzLlxuICAgKi9cbiAgc2V0U2VuZGVySWZOb3RTZXQoc2VuZGVyOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuI2Jsb2NrRGF0YS5zZW5kZXIpIHtcbiAgICAgIHRoaXMuI2Jsb2NrRGF0YS5zZW5kZXIgPSBzZW5kZXI7XG4gICAgfVxuICB9XG4gIHNldEV4cGlyYXRpb24oZXhwaXJhdGlvbj86IFRyYW5zYWN0aW9uRXhwaXJhdGlvbikge1xuICAgIHRoaXMuI2Jsb2NrRGF0YS5leHBpcmF0aW9uID0gZXhwaXJhdGlvbjtcbiAgfVxuICBzZXRHYXNQcmljZShwcmljZTogbnVtYmVyIHwgYmlnaW50KSB7XG4gICAgdGhpcy4jYmxvY2tEYXRhLmdhc0NvbmZpZy5wcmljZSA9IFN0cmluZyhwcmljZSk7XG4gIH1cbiAgc2V0R2FzQnVkZ2V0KGJ1ZGdldDogbnVtYmVyIHwgYmlnaW50KSB7XG4gICAgdGhpcy4jYmxvY2tEYXRhLmdhc0NvbmZpZy5idWRnZXQgPSBTdHJpbmcoYnVkZ2V0KTtcbiAgfVxuICBzZXRHYXNPd25lcihvd25lcjogc3RyaW5nKSB7XG4gICAgdGhpcy4jYmxvY2tEYXRhLmdhc0NvbmZpZy5vd25lciA9IG93bmVyO1xuICB9XG4gIHNldEdhc1BheW1lbnQocGF5bWVudHM6IFN1aU9iamVjdFJlZltdKSB7XG4gICAgaWYgKHBheW1lbnRzLmxlbmd0aCA+PSBNQVhfR0FTX09CSkVDVFMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUGF5bWVudCBvYmplY3RzIGV4Y2VlZCBtYXhpbXVtIGFtb3VudCAke01BWF9HQVNfT0JKRUNUU31gKTtcbiAgICB9XG4gICAgdGhpcy4jYmxvY2tEYXRhLmdhc0NvbmZpZy5wYXltZW50ID0gcGF5bWVudHMubWFwKChwYXltZW50KSA9PiBtYXNrKHBheW1lbnQsIFN1aU9iamVjdFJlZikpO1xuICB9XG5cbiAgI2Jsb2NrRGF0YTogVHJhbnNhY3Rpb25CbG9ja0RhdGFCdWlsZGVyO1xuICAvKiogR2V0IGEgc25hcHNob3Qgb2YgdGhlIHRyYW5zYWN0aW9uIGRhdGEsIGluIEpTT04gZm9ybTogKi9cbiAgZ2V0IGJsb2NrRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy4jYmxvY2tEYXRhLnNuYXBzaG90KCk7XG4gIH1cblxuICAvLyBVc2VkIHRvIGJyYW5kIHRyYW5zYWN0aW9uIGNsYXNzZXMgc28gdGhhdCB0aGV5IGNhbiBiZSBpZGVudGlmaWVkLCBldmVuIGJldHdlZW4gbXVsdGlwbGUgY29waWVzXG4gIC8vIG9mIHRoZSBidWlsZGVyLlxuICBnZXQgW1RSQU5TQUNUSU9OX0JSQU5EXSgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb25CbG9jaykge1xuICAgIHRoaXMuI2Jsb2NrRGF0YSA9IG5ldyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIodHJhbnNhY3Rpb24gPyB0cmFuc2FjdGlvbi4jYmxvY2tEYXRhIDogdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIGFuIGFyZ3VtZW50IGZvciB0aGUgZ2FzIGNvaW4sIHRvIGJlIHVzZWQgaW4gYSB0cmFuc2FjdGlvbi4gKi9cbiAgZ2V0IGdhcygpOiBUcmFuc2FjdGlvbkFyZ3VtZW50IHtcbiAgICByZXR1cm4geyBraW5kOiAnR2FzQ29pbicgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljYWxseSBjcmVhdGUgYSBuZXcgaW5wdXQsIHdoaWNoIGlzIHNlcGFyYXRlIGZyb20gdGhlIGBpbnB1dGAuIFRoaXMgaXMgaW1wb3J0YW50XG4gICAqIGZvciBnZW5lcmF0ZWQgY2xpZW50cyB0byBiZSBhYmxlIHRvIGRlZmluZSB1bmlxdWUgaW5wdXRzIHRoYXQgYXJlIG5vbi1vdmVybGFwcGluZyB3aXRoIHRoZVxuICAgKiBkZWZpbmVkIGlucHV0cy5cbiAgICpcbiAgICogRm9yIGBVaW50OEFycmF5YCB0eXBlIGF1dG9tYXRpY2FsbHkgY29udmVydCB0aGUgaW5wdXQgaW50byBhIGBQdXJlYCBDYWxsQXJnLCBzaW5jZSB0aGlzXG4gICAqIGlzIHRoZSBmb3JtYXQgcmVxdWlyZWQgZm9yIGN1c3RvbSBzZXJpYWxpemF0aW9uLlxuICAgKlxuICAgKi9cbiAgaW5wdXQodHlwZTogJ29iamVjdCcgfCAncHVyZScsIHZhbHVlPzogdW5rbm93bikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy4jYmxvY2tEYXRhLmlucHV0cy5sZW5ndGg7XG4gICAgY29uc3QgaW5wdXQgPSBjcmVhdGUoXG4gICAgICB7XG4gICAgICAgIGtpbmQ6ICdJbnB1dCcsXG4gICAgICAgIC8vIGJpZ2ludHMgY2FuJ3QgYmUgc2VyaWFsaXplZCB0byBKU09OLCBzbyBqdXN0IHN0cmluZy1jb252ZXJ0IHRoZW0gaGVyZTpcbiAgICAgICAgdmFsdWU6IHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcgPyBTdHJpbmcodmFsdWUpIDogdmFsdWUsXG4gICAgICAgIGluZGV4LFxuICAgICAgICB0eXBlLFxuICAgICAgfSxcbiAgICAgIFRyYW5zYWN0aW9uQmxvY2tJbnB1dFxuICAgICk7XG4gICAgdGhpcy4jYmxvY2tEYXRhLmlucHV0cy5wdXNoKGlucHV0KTtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IG9iamVjdCBpbnB1dCB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBvYmplY3QodmFsdWU6IE9iamVjdElkIHwgT2JqZWN0Q2FsbEFyZykge1xuICAgIGNvbnN0IGlkID0gZ2V0SWRGcm9tQ2FsbEFyZyh2YWx1ZSk7XG4gICAgLy8gZGVkdXBsaWNhdGVcbiAgICBjb25zdCBpbnNlcnRlZCA9IHRoaXMuI2Jsb2NrRGF0YS5pbnB1dHMuZmluZCgoaSkgPT4gaS50eXBlID09PSAnb2JqZWN0JyAmJiBpZCA9PT0gZ2V0SWRGcm9tQ2FsbEFyZyhpLnZhbHVlKSk7XG4gICAgcmV0dXJuIGluc2VydGVkID8/IHRoaXMuaW5wdXQoJ29iamVjdCcsIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgbm9uLW9iamVjdCBpbnB1dCB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBwdXJlKFxuICAgIC8qKlxuICAgICAqIFRoZSBwdXJlIHZhbHVlIHRoYXQgd2lsbCBiZSB1c2VkIGFzIHRoZSBpbnB1dCB2YWx1ZS4gSWYgdGhpcyBpcyBhIFVpbnQ4QXJyYXksIHRoZW4gdGhlIHZhbHVlXG4gICAgICogaXMgYXNzdW1lZCB0byBiZSByYXcgYnl0ZXMsIGFuZCB3aWxsIGJlIHVzZWQgZGlyZWN0bHkuXG4gICAgICovXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgLyoqXG4gICAgICogVGhlIEJDUyB0eXBlIHRvIHNlcmlhbGl6ZSB0aGUgdmFsdWUgaW50by4gSWYgbm90IHByb3ZpZGVkLCB0aGUgdHlwZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZGV0ZXJtaW5lZFxuICAgICAqIGJhc2VkIG9uIGhvdyB0aGUgaW5wdXQgaXMgdXNlZC5cbiAgICAgKi9cbiAgICB0eXBlPzogc3RyaW5nXG4gICkge1xuICAgIC8vIFRPRE86IHdlIGNhbiBhbHNvIGRvIHNvbWUgZGVkdXBsaWNhdGlvbiBoZXJlXG4gICAgcmV0dXJuIHRoaXMuaW5wdXQoXG4gICAgICAncHVyZScsXG4gICAgICB2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgPyBJbnB1dHMuUHVyZSh2YWx1ZSkgOiB0eXBlID8gSW5wdXRzLlB1cmUodmFsdWUsIHR5cGUpIDogdmFsdWVcbiAgICApO1xuICB9XG5cbiAgLyoqIEFkZCBhIHRyYW5zYWN0aW9uIHRvIHRoZSB0cmFuc2FjdGlvbiBibG9jay4gKi9cbiAgYWRkKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblR5cGUpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuI2Jsb2NrRGF0YS50cmFuc2FjdGlvbnMucHVzaCh0cmFuc2FjdGlvbik7XG4gICAgcmV0dXJuIGNyZWF0ZVRyYW5zYWN0aW9uUmVzdWx0KGluZGV4IC0gMSk7XG4gIH1cblxuICAvLyBNZXRob2Qgc2hvcnRoYW5kczpcblxuICBzcGxpdENvaW5zKC4uLmFyZ3M6IFBhcmFtZXRlcnM8KHR5cGVvZiBUcmFuc2FjdGlvbnMpWydTcGxpdENvaW5zJ10+KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkKFRyYW5zYWN0aW9ucy5TcGxpdENvaW5zKC4uLmFyZ3MpKTtcbiAgfVxuICBtZXJnZUNvaW5zKC4uLmFyZ3M6IFBhcmFtZXRlcnM8KHR5cGVvZiBUcmFuc2FjdGlvbnMpWydNZXJnZUNvaW5zJ10+KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkKFRyYW5zYWN0aW9ucy5NZXJnZUNvaW5zKC4uLmFyZ3MpKTtcbiAgfVxuICBwdWJsaXNoKC4uLmFyZ3M6IFBhcmFtZXRlcnM8KHR5cGVvZiBUcmFuc2FjdGlvbnMpWydQdWJsaXNoJ10+KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkKFRyYW5zYWN0aW9ucy5QdWJsaXNoKC4uLmFyZ3MpKTtcbiAgfVxuICBtb3ZlQ2FsbCguLi5hcmdzOiBQYXJhbWV0ZXJzPCh0eXBlb2YgVHJhbnNhY3Rpb25zKVsnTW92ZUNhbGwnXT4pIHtcbiAgICByZXR1cm4gdGhpcy5hZGQoVHJhbnNhY3Rpb25zLk1vdmVDYWxsKC4uLmFyZ3MpKTtcbiAgfVxuICB0cmFuc2Zlck9iamVjdHMoLi4uYXJnczogUGFyYW1ldGVyczwodHlwZW9mIFRyYW5zYWN0aW9ucylbJ1RyYW5zZmVyT2JqZWN0cyddPikge1xuICAgIHJldHVybiB0aGlzLmFkZChUcmFuc2FjdGlvbnMuVHJhbnNmZXJPYmplY3RzKC4uLmFyZ3MpKTtcbiAgfVxuICBtYWtlTW92ZVZlYyguLi5hcmdzOiBQYXJhbWV0ZXJzPCh0eXBlb2YgVHJhbnNhY3Rpb25zKVsnTWFrZU1vdmVWZWMnXT4pIHtcbiAgICByZXR1cm4gdGhpcy5hZGQoVHJhbnNhY3Rpb25zLk1ha2VNb3ZlVmVjKC4uLmFyZ3MpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIHRyYW5zYWN0aW9uIHRvIGEgc3RyaW5nIHNvIHRoYXQgaXQgY2FuIGJlIHNlbnQgdG8gYSBzZXBhcmF0ZSBjb250ZXh0LlxuICAgKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIGBidWlsZGAgaW4gdGhhdCBpdCBkb2VzIG5vdCBzZXJpYWxpemUgdG8gQkNTIGJ5dGVzLCBhbmQgaW5zdGVhZFxuICAgKiB1c2VzIGEgc2VwYXJhdGUgZm9ybWF0IHRoYXQgaXMgdW5pcXVlIHRvIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyLiBUaGlzIGFsbG93c1xuICAgKiB1cyB0byBzZXJpYWxpemUgcGFydGlhbGx5LWNvbXBsZXRlIHRyYW5zYWN0aW9ucywgdGhhdCBjYW4gdGhlbiBiZSBjb21wbGV0ZWQgYW5kXG4gICAqIGJ1aWx0IGluIGEgc2VwYXJhdGUgY29udGV4dC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGEgZGFwcCBjYW4gY29uc3RydWN0IGEgdHJhbnNhY3Rpb24sIGJ1dCBub3QgcHJvdmlkZSBnYXMgb2JqZWN0c1xuICAgKiBvciBhIGdhcyBidWRnZXQuIFRoZSB0cmFuc2FjdGlvbiB0aGVuIGNhbiBiZSBzZW50IHRvIHRoZSB3YWxsZXQsIHdoZXJlIHRoaXNcbiAgICogaW5mb3JtYXRpb24gaXMgYXV0b21hdGljYWxseSBmaWxsZWQgaW4gKGUuZy4gYnkgcXVlcnlpbmcgZm9yIGNvaW4gb2JqZWN0c1xuICAgKiBhbmQgcGVyZm9ybWluZyBhIGRyeSBydW4pLlxuICAgKi9cbiAgc2VyaWFsaXplKCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLiNibG9ja0RhdGEuc25hcHNob3QoKSk7XG4gIH1cblxuICAvKiogQnVpbGQgdGhlIHRyYW5zYWN0aW9uIHRvIEJDUyBieXRlcy4gKi9cbiAgYXN5bmMgYnVpbGQoeyBvbmx5VHJhbnNhY3Rpb25LaW5kIH06IEJ1aWxkT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuI2Jsb2NrRGF0YS5idWlsZCh7IG9ubHlUcmFuc2FjdGlvbktpbmQgfSk7XG4gIH1cblxuICAvKiogRGVyaXZlIHRyYW5zYWN0aW9uIGRpZ2VzdCAqL1xuICBhc3luYyBnZXREaWdlc3QoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy4jYmxvY2tEYXRhLmdldERpZ2VzdCgpO1xuICB9XG59XG4iXX0=
@@ -558,7 +558,7 @@ export declare class TransactionBlockDataBuilder {
558
558
  build({ overrides, onlyTransactionKind, }?: {
559
559
  overrides?: Pick<Partial<TransactionBlockDataBuilder>, 'sender' | 'gasConfig' | 'expiration'>;
560
560
  onlyTransactionKind?: boolean;
561
- }): Uint8Array;
561
+ }): Uint8Array<ArrayBufferLike>;
562
562
  getDigest(): string;
563
563
  snapshot(): SerializedTransactionDataBuilder;
564
564
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionDataBlock.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/builder/TransactionDataBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,EASN,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIxE,eAAO,MAAM,qBAAqB;;;;2BAEjC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAexE,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;EAKb,CAAC;AACH,KAAK,SAAS,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAEzC,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3C,CAAC;AACH,MAAM,MAAM,gCAAgC,GAAG,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAQ9F,eAAO,MAAM,yBAAyB,QAAa,CAAC;AAEpD,qBAAa,2BAA2B;IACtC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU;IA8BtC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU;IAiClC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gCAAgC;IAOrD;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU;IAK3C,OAAO,IAAc;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,YAAY,EAAE,eAAe,EAAE,CAAC;gBAEpB,KAAK,CAAC,EAAE,2BAA2B;IAQ/C,KAAK,CAAC,EACJ,SAAS,EACT,mBAAmB,GACpB,GAAE;QACD,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;QAC9F,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC1B;IA0DN,SAAS;IAKT,QAAQ,IAAI,gCAAgC;CAG7C"}
1
+ {"version":3,"file":"TransactionDataBlock.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/builder/TransactionDataBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,EASN,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIxE,eAAO,MAAM,qBAAqB;;;;2BAEjC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAexE,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;EAKb,CAAC;AACH,KAAK,SAAS,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAEzC,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3C,CAAC;AACH,MAAM,MAAM,gCAAgC,GAAG,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAQ9F,eAAO,MAAM,yBAAyB,QAAa,CAAC;AAEpD,qBAAa,2BAA2B;IACtC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU;IA8BtC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU;IAiClC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gCAAgC;IAOrD;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU;IAK3C,OAAO,EAAG,CAAC,CAAU;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,YAAY,EAAE,eAAe,EAAE,CAAC;gBAEpB,KAAK,CAAC,EAAE,2BAA2B;IAQ/C,KAAK,CAAC,EACJ,SAAS,EACT,mBAAmB,GACpB,GAAE;QACD,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;QAC9F,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC1B;IA0DN,SAAS;IAKT,QAAQ,IAAI,gCAAgC;CAG7C"}
@@ -168,4 +168,4 @@ class TransactionBlockDataBuilder {
168
168
  }
169
169
  }
170
170
  exports.TransactionBlockDataBuilder = TransactionBlockDataBuilder;
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25EYXRhQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL215c3RlbmxhYi9idWlsZGVyL1RyYW5zYWN0aW9uRGF0YUJsb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFvQztBQUNwQyw2Q0FhcUI7QUFDckIsK0NBQXFEO0FBQ3JELG9DQUE2RDtBQUM3RCwrQkFBZ0M7QUFDaEMsaURBQXdFO0FBQ3hFLHFDQUF1RDtBQUN2RCxtQ0FBaUM7QUFFcEIsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLHNCQUFRLEVBQzNDLElBQUEsc0JBQVEsRUFBQyxJQUFBLG1CQUFLLEVBQUMsQ0FBQyxJQUFBLG9CQUFNLEVBQUMsRUFBRSxLQUFLLEVBQUUsSUFBQSxxQkFBTyxHQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUEsb0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxJQUFBLG1CQUFLLEVBQUMsQ0FBQyxJQUFBLHFCQUFPLEVBQUMsSUFBSSxDQUFDLEVBQUUsSUFBQSxxQkFBTyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3pHLENBQUM7QUFHRixNQUFNLFVBQVUsR0FBRyxJQUFBLG9CQUFNLEdBQUUsQ0FBQztBQUU1QixNQUFNLG1CQUFtQixHQUFHLElBQUEsb0JBQU0sRUFBUyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ3hFLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFdkUsSUFBSTtRQUNGLE1BQU0sQ0FBQyxHQUFhLENBQUMsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQUMsTUFBTTtRQUNOLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDLENBQUMsQ0FBQztB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QUM7YUFDakM7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osdUJBQXVCLEVBQUU7b0JBQ3ZCLE1BQU07b0JBQ04sWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2lCQUNoQzthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU8sYUFBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQ0FBeUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkgsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFBLGNBQU0sRUFBQyxJQUFJLEVBQUUsd0NBQWdDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUF6S0Qsa0VBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9CNTggfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5pbXBvcnQge1xuICBhcnJheSxcbiAgYXNzZXJ0LFxuICBkZWZpbmUsXG4gIEluZmVyLFxuICBpbnRlZ2VyLFxuICBpcyxcbiAgbGl0ZXJhbCxcbiAgbnVsbGFibGUsXG4gIG9iamVjdCxcbiAgb3B0aW9uYWwsXG4gIHN0cmluZyxcbiAgdW5pb24sXG59IGZyb20gJ3N1cGVyc3RydWN0JztcbmltcG9ydCB7IGhhc2hUeXBlZERhdGEgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvaGFzaCc7XG5pbXBvcnQgeyBub3JtYWxpemVTdWlBZGRyZXNzLCBTdWlPYmplY3RSZWYgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBidWlsZGVyIH0gZnJvbSAnLi9iY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBUcmFuc2FjdGlvbkJsb2NrSW5wdXQgfSBmcm9tICcuL1RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWlsZGVyQ2FsbEFyZywgUHVyZUNhbGxBcmcgfSBmcm9tICcuL0lucHV0cyc7XG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IG9wdGlvbmFsKFxuICBudWxsYWJsZSh1bmlvbihbb2JqZWN0KHsgRXBvY2g6IGludGVnZXIoKSB9KSwgb2JqZWN0KHsgTm9uZTogdW5pb24oW2xpdGVyYWwodHJ1ZSksIGxpdGVyYWwobnVsbCldKSB9KV0pKVxuKTtcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IEluZmVyPHR5cGVvZiBUcmFuc2FjdGlvbkV4cGlyYXRpb24+O1xuXG5jb25zdCBTdWlBZGRyZXNzID0gc3RyaW5nKCk7XG5cbmNvbnN0IFN0cmluZ0VuY29kZWRCaWdpbnQgPSBkZWZpbmU8c3RyaW5nPignU3RyaW5nRW5jb2RlZEJpZ2ludCcsICh2YWwpID0+IHtcbiAgaWYgKCFbJ3N0cmluZycsICdudW1iZXInLCAnYmlnaW50J10uaW5jbHVkZXModHlwZW9mIHZhbCkpIHJldHVybiBmYWxzZTtcblxuICB0cnkge1xuICAgIEJpZ0ludCh2YWwgYXMgc3RyaW5nKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59KTtcblxuY29uc3QgR2FzQ29uZmlnID0gb2JqZWN0KHtcbiAgYnVkZ2V0OiBvcHRpb25hbChTdHJpbmdFbmNvZGVkQmlnaW50KSxcbiAgcHJpY2U6IG9wdGlvbmFsKFN0cmluZ0VuY29kZWRCaWdpbnQpLFxuICBwYXltZW50OiBvcHRpb25hbChhcnJheShTdWlPYmplY3RSZWYpKSxcbiAgb3duZXI6IG9wdGlvbmFsKFN1aUFkZHJlc3MpLFxufSk7XG50eXBlIEdhc0NvbmZpZyA9IEluZmVyPHR5cGVvZiBHYXNDb25maWc+O1xuXG5leHBvcnQgY29uc3QgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIgPSBvYmplY3Qoe1xuICB2ZXJzaW9uOiBsaXRlcmFsKDEpLFxuICBzZW5kZXI6IG9wdGlvbmFsKFN1aUFkZHJlc3MpLFxuICBleHBpcmF0aW9uOiBUcmFuc2FjdGlvbkV4cGlyYXRpb24sXG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnLFxuICBpbnB1dHM6IGFycmF5KFRyYW5zYWN0aW9uQmxvY2tJbnB1dCksXG4gIHRyYW5zYWN0aW9uczogYXJyYXkoVHJhbnNhY3Rpb25UeXBlKSxcbn0pO1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIgPSBJbmZlcjx0eXBlb2YgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXI+O1xuXG5mdW5jdGlvbiBwcmVwYXJlU3VpQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZVN1aUFkZHJlc3MoYWRkcmVzcykucmVwbGFjZSgnMHgnLCAnJyk7XG59XG5cbi8vIE5PVEU6IFRoaXMgdmFsdWUgc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGluXG4vLyBjcmF0ZXMvc3VpLXByb3RvY29sLWNvbmZpZy9zcmMvbGliLnJzXG5leHBvcnQgY29uc3QgVFJBTlNBQ1RJT05fREFUQV9NQVhfU0laRSA9IDEyOCAqIDEwMjQ7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIge1xuICBzdGF0aWMgZnJvbUtpbmRCeXRlcyhieXRlczogVWludDhBcnJheSkge1xuICAgIGNvbnN0IGtpbmQgPSBidWlsZGVyLmRlKCdUcmFuc2FjdGlvbktpbmQnLCBieXRlcyk7XG4gICAgY29uc3QgcHJvZ3JhbW1hYmxlVHggPSBraW5kPy5Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbjtcbiAgICBpZiAoIXByb2dyYW1tYWJsZVR4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXNlcmlhbGl6ZSBmcm9tIGJ5dGVzLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBjcmVhdGUoXG4gICAgICB7XG4gICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgIGdhc0NvbmZpZzoge30sXG4gICAgICAgIGlucHV0czogcHJvZ3JhbW1hYmxlVHguaW5wdXRzLm1hcCgodmFsdWU6IHVua25vd24sIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgY3JlYXRlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBraW5kOiAnSW5wdXQnLFxuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgIHR5cGU6IGlzKHZhbHVlLCBQdXJlQ2FsbEFyZykgPyAncHVyZScgOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBUcmFuc2FjdGlvbkJsb2NrSW5wdXRcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHRyYW5zYWN0aW9uczogcHJvZ3JhbW1hYmxlVHgudHJhbnNhY3Rpb25zLFxuICAgICAgfSxcbiAgICAgIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyXG4gICAgKTtcblxuICAgIHJldHVybiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIucmVzdG9yZShzZXJpYWxpemVkKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCByYXdEYXRhID0gYnVpbGRlci5kZSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIGNvbnN0IGRhdGEgPSByYXdEYXRhPy5WMTtcbiAgICBjb25zdCBwcm9ncmFtbWFibGVUeCA9IGRhdGE/LmtpbmQ/LlByb2dyYW1tYWJsZVRyYW5zYWN0aW9uO1xuICAgIGlmICghZGF0YSB8fCAhcHJvZ3JhbW1hYmxlVHgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRlc2VyaWFsaXplIGZyb20gYnl0ZXMuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IGNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAgdmVyc2lvbjogMSxcbiAgICAgICAgc2VuZGVyOiBkYXRhLnNlbmRlcixcbiAgICAgICAgZXhwaXJhdGlvbjogZGF0YS5leHBpcmF0aW9uLFxuICAgICAgICBnYXNDb25maWc6IGRhdGEuZ2FzRGF0YSxcbiAgICAgICAgaW5wdXRzOiBwcm9ncmFtbWFibGVUeC5pbnB1dHMubWFwKCh2YWx1ZTogdW5rbm93biwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICBjcmVhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdJbnB1dCcsXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgdHlwZTogaXModmFsdWUsIFB1cmVDYWxsQXJnKSA/ICdwdXJlJyA6ICdvYmplY3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFRyYW5zYWN0aW9uQmxvY2tJbnB1dFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgdHJhbnNhY3Rpb25zOiBwcm9ncmFtbWFibGVUeC50cmFuc2FjdGlvbnMsXG4gICAgICB9LFxuICAgICAgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXJcbiAgICApO1xuXG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlci5yZXN0b3JlKHNlcmlhbGl6ZWQpO1xuICB9XG5cbiAgc3RhdGljIHJlc3RvcmUoZGF0YTogU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIpIHtcbiAgICBhc3NlcnQoZGF0YSwgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGF0YSA9IG5ldyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIoKTtcbiAgICBPYmplY3QuYXNzaWduKHRyYW5zYWN0aW9uRGF0YSwgZGF0YSk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0cmFuc2FjdGlvbiBkaWdlc3QuXG4gICAqXG4gICAqIEBwYXJhbSBieXRlcyBCQ1Mgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEByZXR1cm5zIHRyYW5zYWN0aW9uIGRpZ2VzdC5cbiAgICovXG4gIHN0YXRpYyBnZXREaWdlc3RGcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCBoYXNoID0gaGFzaFR5cGVkRGF0YSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIHJldHVybiB0b0I1OChoYXNoKTtcbiAgfVxuXG4gIHZlcnNpb24gPSAxIGFzIGNvbnN0O1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIGV4cGlyYXRpb24/OiBUcmFuc2FjdGlvbkV4cGlyYXRpb247XG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnO1xuICBpbnB1dHM6IFRyYW5zYWN0aW9uQmxvY2tJbnB1dFtdO1xuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uVHlwZVtdO1xuXG4gIGNvbnN0cnVjdG9yKGNsb25lPzogVHJhbnNhY3Rpb25CbG9ja0RhdGFCdWlsZGVyKSB7XG4gICAgdGhpcy5zZW5kZXIgPSBjbG9uZT8uc2VuZGVyO1xuICAgIHRoaXMuZXhwaXJhdGlvbiA9IGNsb25lPy5leHBpcmF0aW9uO1xuICAgIHRoaXMuZ2FzQ29uZmlnID0gY2xvbmU/Lmdhc0NvbmZpZyA/PyB7fTtcbiAgICB0aGlzLmlucHV0cyA9IGNsb25lPy5pbnB1dHMgPz8gW107XG4gICAgdGhpcy50cmFuc2FjdGlvbnMgPSBjbG9uZT8udHJhbnNhY3Rpb25zID8/IFtdO1xuICB9XG5cbiAgYnVpbGQoe1xuICAgIG92ZXJyaWRlcyxcbiAgICBvbmx5VHJhbnNhY3Rpb25LaW5kLFxuICB9OiB7XG4gICAgb3ZlcnJpZGVzPzogUGljazxQYXJ0aWFsPFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlcj4sICdzZW5kZXInIHwgJ2dhc0NvbmZpZycgfCAnZXhwaXJhdGlvbic+O1xuICAgIG9ubHlUcmFuc2FjdGlvbktpbmQ/OiBib29sZWFuO1xuICB9ID0ge30pIHtcbiAgICAvLyBSZXNvbHZlIGlucHV0cyBkb3duIHRvIHZhbHVlczpcbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLmlucHV0cy5tYXAoKGlucHV0KSA9PiB7XG4gICAgICBhc3NlcnQoaW5wdXQudmFsdWUsIEJ1aWxkZXJDYWxsQXJnKTtcbiAgICAgIHJldHVybiBpbnB1dC52YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGtpbmQgPSB7XG4gICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjoge1xuICAgICAgICBpbnB1dHMsXG4gICAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob25seVRyYW5zYWN0aW9uS2luZCkge1xuICAgICAgcmV0dXJuIGJ1aWxkZXIuc2VyKCdUcmFuc2FjdGlvbktpbmQnLCBraW5kLCB7IG1heFNpemU6IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgfSkudG9CeXRlcygpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGlyYXRpb24gPSBvdmVycmlkZXM/LmV4cGlyYXRpb24gPz8gdGhpcy5leHBpcmF0aW9uO1xuICAgIGNvbnN0IHNlbmRlciA9IG92ZXJyaWRlcz8uc2VuZGVyID8/IHRoaXMuc2VuZGVyO1xuICAgIGNvbnN0IGdhc0NvbmZpZyA9IHsgLi4udGhpcy5nYXNDb25maWcsIC4uLm92ZXJyaWRlcz8uZ2FzQ29uZmlnIH07XG5cbiAgICBpZiAoIXNlbmRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHRyYW5zYWN0aW9uIHNlbmRlcicpO1xuICAgIH1cblxuICAgIGlmICghZ2FzQ29uZmlnLmJ1ZGdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBidWRnZXQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5wYXltZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZ2FzIHBheW1lbnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5wcmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBwcmljZScpO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgIHNlbmRlcjogcHJlcGFyZVN1aUFkZHJlc3Moc2VuZGVyKSxcbiAgICAgIGV4cGlyYXRpb246IGV4cGlyYXRpb24gPyBleHBpcmF0aW9uIDogeyBOb25lOiB0cnVlIH0sXG4gICAgICBnYXNEYXRhOiB7XG4gICAgICAgIHBheW1lbnQ6IGdhc0NvbmZpZy5wYXltZW50LFxuICAgICAgICBvd25lcjogcHJlcGFyZVN1aUFkZHJlc3ModGhpcy5nYXNDb25maWcub3duZXIgPz8gc2VuZGVyKSxcbiAgICAgICAgcHJpY2U6IEJpZ0ludChnYXNDb25maWcucHJpY2UpLFxuICAgICAgICBidWRnZXQ6IEJpZ0ludChnYXNDb25maWcuYnVkZ2V0KSxcbiAgICAgIH0sXG4gICAgICBraW5kOiB7XG4gICAgICAgIFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uOiB7XG4gICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gYnVpbGRlci5zZXIoJ1RyYW5zYWN0aW9uRGF0YScsIHsgVjE6IHRyYW5zYWN0aW9uRGF0YSB9LCB7IG1heFNpemU6IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgfSkudG9CeXRlcygpO1xuICB9XG5cbiAgZ2V0RGlnZXN0KCkge1xuICAgIGNvbnN0IGJ5dGVzID0gdGhpcy5idWlsZCh7IG9ubHlUcmFuc2FjdGlvbktpbmQ6IGZhbHNlIH0pO1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIuZ2V0RGlnZXN0RnJvbUJ5dGVzKGJ5dGVzKTtcbiAgfVxuXG4gIHNuYXBzaG90KCk6IFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyIHtcbiAgICByZXR1cm4gY3JlYXRlKHRoaXMsIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyKTtcbiAgfVxufVxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25EYXRhQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL215c3RlbmxhYi9idWlsZGVyL1RyYW5zYWN0aW9uRGF0YUJsb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFvQztBQUNwQyw2Q0FhcUI7QUFDckIsK0NBQXFEO0FBQ3JELG9DQUE2RDtBQUM3RCwrQkFBZ0M7QUFDaEMsaURBQXdFO0FBQ3hFLHFDQUF1RDtBQUN2RCxtQ0FBaUM7QUFFcEIsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLHNCQUFRLEVBQzNDLElBQUEsc0JBQVEsRUFBQyxJQUFBLG1CQUFLLEVBQUMsQ0FBQyxJQUFBLG9CQUFNLEVBQUMsRUFBRSxLQUFLLEVBQUUsSUFBQSxxQkFBTyxHQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUEsb0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxJQUFBLG1CQUFLLEVBQUMsQ0FBQyxJQUFBLHFCQUFPLEVBQUMsSUFBSSxDQUFDLEVBQUUsSUFBQSxxQkFBTyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3pHLENBQUM7QUFHRixNQUFNLFVBQVUsR0FBRyxJQUFBLG9CQUFNLEdBQUUsQ0FBQztBQUU1QixNQUFNLG1CQUFtQixHQUFHLElBQUEsb0JBQU0sRUFBUyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ3hFLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFdkUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxDQUFDLEdBQWEsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztB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QkFDeEQsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUM5QixNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDakM7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osdUJBQXVCLEVBQUU7b0JBQ3ZCLE1BQU07b0JBQ04sWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2lCQUNoQzthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU8sYUFBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQ0FBeUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkgsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFBLGNBQU0sRUFBQyxJQUFJLEVBQUUsd0NBQWdDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUF6S0Qsa0VBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9CNTggfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5pbXBvcnQge1xuICBhcnJheSxcbiAgYXNzZXJ0LFxuICBkZWZpbmUsXG4gIEluZmVyLFxuICBpbnRlZ2VyLFxuICBpcyxcbiAgbGl0ZXJhbCxcbiAgbnVsbGFibGUsXG4gIG9iamVjdCxcbiAgb3B0aW9uYWwsXG4gIHN0cmluZyxcbiAgdW5pb24sXG59IGZyb20gJ3N1cGVyc3RydWN0JztcbmltcG9ydCB7IGhhc2hUeXBlZERhdGEgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvaGFzaCc7XG5pbXBvcnQgeyBub3JtYWxpemVTdWlBZGRyZXNzLCBTdWlPYmplY3RSZWYgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBidWlsZGVyIH0gZnJvbSAnLi9iY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBUcmFuc2FjdGlvbkJsb2NrSW5wdXQgfSBmcm9tICcuL1RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWlsZGVyQ2FsbEFyZywgUHVyZUNhbGxBcmcgfSBmcm9tICcuL0lucHV0cyc7XG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IG9wdGlvbmFsKFxuICBudWxsYWJsZSh1bmlvbihbb2JqZWN0KHsgRXBvY2g6IGludGVnZXIoKSB9KSwgb2JqZWN0KHsgTm9uZTogdW5pb24oW2xpdGVyYWwodHJ1ZSksIGxpdGVyYWwobnVsbCldKSB9KV0pKVxuKTtcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IEluZmVyPHR5cGVvZiBUcmFuc2FjdGlvbkV4cGlyYXRpb24+O1xuXG5jb25zdCBTdWlBZGRyZXNzID0gc3RyaW5nKCk7XG5cbmNvbnN0IFN0cmluZ0VuY29kZWRCaWdpbnQgPSBkZWZpbmU8c3RyaW5nPignU3RyaW5nRW5jb2RlZEJpZ2ludCcsICh2YWwpID0+IHtcbiAgaWYgKCFbJ3N0cmluZycsICdudW1iZXInLCAnYmlnaW50J10uaW5jbHVkZXModHlwZW9mIHZhbCkpIHJldHVybiBmYWxzZTtcblxuICB0cnkge1xuICAgIEJpZ0ludCh2YWwgYXMgc3RyaW5nKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59KTtcblxuY29uc3QgR2FzQ29uZmlnID0gb2JqZWN0KHtcbiAgYnVkZ2V0OiBvcHRpb25hbChTdHJpbmdFbmNvZGVkQmlnaW50KSxcbiAgcHJpY2U6IG9wdGlvbmFsKFN0cmluZ0VuY29kZWRCaWdpbnQpLFxuICBwYXltZW50OiBvcHRpb25hbChhcnJheShTdWlPYmplY3RSZWYpKSxcbiAgb3duZXI6IG9wdGlvbmFsKFN1aUFkZHJlc3MpLFxufSk7XG50eXBlIEdhc0NvbmZpZyA9IEluZmVyPHR5cGVvZiBHYXNDb25maWc+O1xuXG5leHBvcnQgY29uc3QgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIgPSBvYmplY3Qoe1xuICB2ZXJzaW9uOiBsaXRlcmFsKDEpLFxuICBzZW5kZXI6IG9wdGlvbmFsKFN1aUFkZHJlc3MpLFxuICBleHBpcmF0aW9uOiBUcmFuc2FjdGlvbkV4cGlyYXRpb24sXG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnLFxuICBpbnB1dHM6IGFycmF5KFRyYW5zYWN0aW9uQmxvY2tJbnB1dCksXG4gIHRyYW5zYWN0aW9uczogYXJyYXkoVHJhbnNhY3Rpb25UeXBlKSxcbn0pO1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIgPSBJbmZlcjx0eXBlb2YgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXI+O1xuXG5mdW5jdGlvbiBwcmVwYXJlU3VpQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZVN1aUFkZHJlc3MoYWRkcmVzcykucmVwbGFjZSgnMHgnLCAnJyk7XG59XG5cbi8vIE5PVEU6IFRoaXMgdmFsdWUgc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGluXG4vLyBjcmF0ZXMvc3VpLXByb3RvY29sLWNvbmZpZy9zcmMvbGliLnJzXG5leHBvcnQgY29uc3QgVFJBTlNBQ1RJT05fREFUQV9NQVhfU0laRSA9IDEyOCAqIDEwMjQ7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIge1xuICBzdGF0aWMgZnJvbUtpbmRCeXRlcyhieXRlczogVWludDhBcnJheSkge1xuICAgIGNvbnN0IGtpbmQgPSBidWlsZGVyLmRlKCdUcmFuc2FjdGlvbktpbmQnLCBieXRlcyk7XG4gICAgY29uc3QgcHJvZ3JhbW1hYmxlVHggPSBraW5kPy5Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbjtcbiAgICBpZiAoIXByb2dyYW1tYWJsZVR4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXNlcmlhbGl6ZSBmcm9tIGJ5dGVzLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBjcmVhdGUoXG4gICAgICB7XG4gICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgIGdhc0NvbmZpZzoge30sXG4gICAgICAgIGlucHV0czogcHJvZ3JhbW1hYmxlVHguaW5wdXRzLm1hcCgodmFsdWU6IHVua25vd24sIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgY3JlYXRlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBraW5kOiAnSW5wdXQnLFxuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgIHR5cGU6IGlzKHZhbHVlLCBQdXJlQ2FsbEFyZykgPyAncHVyZScgOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBUcmFuc2FjdGlvbkJsb2NrSW5wdXRcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHRyYW5zYWN0aW9uczogcHJvZ3JhbW1hYmxlVHgudHJhbnNhY3Rpb25zLFxuICAgICAgfSxcbiAgICAgIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyXG4gICAgKTtcblxuICAgIHJldHVybiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIucmVzdG9yZShzZXJpYWxpemVkKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCByYXdEYXRhID0gYnVpbGRlci5kZSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIGNvbnN0IGRhdGEgPSByYXdEYXRhPy5WMTtcbiAgICBjb25zdCBwcm9ncmFtbWFibGVUeCA9IGRhdGE/LmtpbmQ/LlByb2dyYW1tYWJsZVRyYW5zYWN0aW9uO1xuICAgIGlmICghZGF0YSB8fCAhcHJvZ3JhbW1hYmxlVHgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRlc2VyaWFsaXplIGZyb20gYnl0ZXMuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IGNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAgdmVyc2lvbjogMSxcbiAgICAgICAgc2VuZGVyOiBkYXRhLnNlbmRlcixcbiAgICAgICAgZXhwaXJhdGlvbjogZGF0YS5leHBpcmF0aW9uLFxuICAgICAgICBnYXNDb25maWc6IGRhdGEuZ2FzRGF0YSxcbiAgICAgICAgaW5wdXRzOiBwcm9ncmFtbWFibGVUeC5pbnB1dHMubWFwKCh2YWx1ZTogdW5rbm93biwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICBjcmVhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdJbnB1dCcsXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgdHlwZTogaXModmFsdWUsIFB1cmVDYWxsQXJnKSA/ICdwdXJlJyA6ICdvYmplY3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFRyYW5zYWN0aW9uQmxvY2tJbnB1dFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgdHJhbnNhY3Rpb25zOiBwcm9ncmFtbWFibGVUeC50cmFuc2FjdGlvbnMsXG4gICAgICB9LFxuICAgICAgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXJcbiAgICApO1xuXG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlci5yZXN0b3JlKHNlcmlhbGl6ZWQpO1xuICB9XG5cbiAgc3RhdGljIHJlc3RvcmUoZGF0YTogU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIpIHtcbiAgICBhc3NlcnQoZGF0YSwgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGF0YSA9IG5ldyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIoKTtcbiAgICBPYmplY3QuYXNzaWduKHRyYW5zYWN0aW9uRGF0YSwgZGF0YSk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0cmFuc2FjdGlvbiBkaWdlc3QuXG4gICAqXG4gICAqIEBwYXJhbSBieXRlcyBCQ1Mgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEByZXR1cm5zIHRyYW5zYWN0aW9uIGRpZ2VzdC5cbiAgICovXG4gIHN0YXRpYyBnZXREaWdlc3RGcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCBoYXNoID0gaGFzaFR5cGVkRGF0YSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIHJldHVybiB0b0I1OChoYXNoKTtcbiAgfVxuXG4gIHZlcnNpb24gPSAxIGFzIGNvbnN0O1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIGV4cGlyYXRpb24/OiBUcmFuc2FjdGlvbkV4cGlyYXRpb247XG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnO1xuICBpbnB1dHM6IFRyYW5zYWN0aW9uQmxvY2tJbnB1dFtdO1xuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uVHlwZVtdO1xuXG4gIGNvbnN0cnVjdG9yKGNsb25lPzogVHJhbnNhY3Rpb25CbG9ja0RhdGFCdWlsZGVyKSB7XG4gICAgdGhpcy5zZW5kZXIgPSBjbG9uZT8uc2VuZGVyO1xuICAgIHRoaXMuZXhwaXJhdGlvbiA9IGNsb25lPy5leHBpcmF0aW9uO1xuICAgIHRoaXMuZ2FzQ29uZmlnID0gY2xvbmU/Lmdhc0NvbmZpZyA/PyB7fTtcbiAgICB0aGlzLmlucHV0cyA9IGNsb25lPy5pbnB1dHMgPz8gW107XG4gICAgdGhpcy50cmFuc2FjdGlvbnMgPSBjbG9uZT8udHJhbnNhY3Rpb25zID8/IFtdO1xuICB9XG5cbiAgYnVpbGQoe1xuICAgIG92ZXJyaWRlcyxcbiAgICBvbmx5VHJhbnNhY3Rpb25LaW5kLFxuICB9OiB7XG4gICAgb3ZlcnJpZGVzPzogUGljazxQYXJ0aWFsPFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlcj4sICdzZW5kZXInIHwgJ2dhc0NvbmZpZycgfCAnZXhwaXJhdGlvbic+O1xuICAgIG9ubHlUcmFuc2FjdGlvbktpbmQ/OiBib29sZWFuO1xuICB9ID0ge30pIHtcbiAgICAvLyBSZXNvbHZlIGlucHV0cyBkb3duIHRvIHZhbHVlczpcbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLmlucHV0cy5tYXAoKGlucHV0KSA9PiB7XG4gICAgICBhc3NlcnQoaW5wdXQudmFsdWUsIEJ1aWxkZXJDYWxsQXJnKTtcbiAgICAgIHJldHVybiBpbnB1dC52YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGtpbmQgPSB7XG4gICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjoge1xuICAgICAgICBpbnB1dHMsXG4gICAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob25seVRyYW5zYWN0aW9uS2luZCkge1xuICAgICAgcmV0dXJuIGJ1aWxkZXIuc2VyKCdUcmFuc2FjdGlvbktpbmQnLCBraW5kLCB7IG1heFNpemU6IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgfSkudG9CeXRlcygpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGlyYXRpb24gPSBvdmVycmlkZXM/LmV4cGlyYXRpb24gPz8gdGhpcy5leHBpcmF0aW9uO1xuICAgIGNvbnN0IHNlbmRlciA9IG92ZXJyaWRlcz8uc2VuZGVyID8/IHRoaXMuc2VuZGVyO1xuICAgIGNvbnN0IGdhc0NvbmZpZyA9IHsgLi4udGhpcy5nYXNDb25maWcsIC4uLm92ZXJyaWRlcz8uZ2FzQ29uZmlnIH07XG5cbiAgICBpZiAoIXNlbmRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHRyYW5zYWN0aW9uIHNlbmRlcicpO1xuICAgIH1cblxuICAgIGlmICghZ2FzQ29uZmlnLmJ1ZGdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBidWRnZXQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5wYXltZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZ2FzIHBheW1lbnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5wcmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBwcmljZScpO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgIHNlbmRlcjogcHJlcGFyZVN1aUFkZHJlc3Moc2VuZGVyKSxcbiAgICAgIGV4cGlyYXRpb246IGV4cGlyYXRpb24gPyBleHBpcmF0aW9uIDogeyBOb25lOiB0cnVlIH0sXG4gICAgICBnYXNEYXRhOiB7XG4gICAgICAgIHBheW1lbnQ6IGdhc0NvbmZpZy5wYXltZW50LFxuICAgICAgICBvd25lcjogcHJlcGFyZVN1aUFkZHJlc3ModGhpcy5nYXNDb25maWcub3duZXIgPz8gc2VuZGVyKSxcbiAgICAgICAgcHJpY2U6IEJpZ0ludChnYXNDb25maWcucHJpY2UpLFxuICAgICAgICBidWRnZXQ6IEJpZ0ludChnYXNDb25maWcuYnVkZ2V0KSxcbiAgICAgIH0sXG4gICAgICBraW5kOiB7XG4gICAgICAgIFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uOiB7XG4gICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gYnVpbGRlci5zZXIoJ1RyYW5zYWN0aW9uRGF0YScsIHsgVjE6IHRyYW5zYWN0aW9uRGF0YSB9LCB7IG1heFNpemU6IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgfSkudG9CeXRlcygpO1xuICB9XG5cbiAgZ2V0RGlnZXN0KCkge1xuICAgIGNvbnN0IGJ5dGVzID0gdGhpcy5idWlsZCh7IG9ubHlUcmFuc2FjdGlvbktpbmQ6IGZhbHNlIH0pO1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIuZ2V0RGlnZXN0RnJvbUJ5dGVzKGJ5dGVzKTtcbiAgfVxuXG4gIHNuYXBzaG90KCk6IFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyIHtcbiAgICByZXR1cm4gY3JlYXRlKHRoaXMsIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyKTtcbiAgfVxufVxuIl19
@@ -922,71 +922,16 @@ export declare function getTransactionType(data: unknown): Struct<{
922
922
  * Simple helpers used to construct transactions:
923
923
  */
924
924
  export declare const Transactions: {
925
- MoveCall(input: Omit<{
926
- arguments: ({
927
- index: number;
928
- kind: "Input";
929
- type?: "object" | "pure" | undefined;
930
- value?: any;
931
- } | {
932
- kind: "GasCoin";
933
- } | {
934
- index: number;
935
- kind: "Result";
936
- } | {
937
- index: number;
938
- kind: "NestedResult";
939
- resultIndex: number;
940
- })[];
941
- kind: "MoveCall";
942
- typeArguments: string[];
943
- target: `${string}::${string}::${string}`;
944
- }, "arguments" | "kind" | "typeArguments"> & {
945
- arguments?: ({
946
- index: number;
947
- kind: "Input";
948
- type?: "object" | "pure" | undefined;
949
- value?: any;
950
- } | {
951
- kind: "GasCoin";
952
- } | {
953
- index: number;
954
- kind: "Result";
955
- } | {
956
- index: number;
957
- kind: "NestedResult";
958
- resultIndex: number;
959
- })[] | undefined;
960
- typeArguments?: string[] | undefined;
925
+ MoveCall(input: Omit<MoveCallTransaction, "kind" | "arguments" | "typeArguments"> & {
926
+ arguments?: TransactionArgument[];
927
+ typeArguments?: string[];
961
928
  }): MoveCallTransaction;
962
929
  TransferObjects(objects: TransactionArgument[], address: TransactionArgument): TransferObjectsTransaction;
963
930
  SplitCoins(coin: TransactionArgument, amounts: TransactionArgument[]): SplitCoinsTransaction;
964
931
  MergeCoins(destination: TransactionArgument, sources: TransactionArgument[]): MergeCoinsTransaction;
965
932
  Publish(modules: number[][], dependencies: ObjectId[]): PublishTransaction;
966
- MakeMoveVec({ type, objects, }: Omit<{
967
- objects: ({
968
- index: number;
969
- kind: "Input";
970
- type?: "object" | "pure" | undefined;
971
- value?: any;
972
- } | {
973
- kind: "GasCoin";
974
- } | {
975
- index: number;
976
- kind: "Result";
977
- } | {
978
- index: number;
979
- kind: "NestedResult";
980
- resultIndex: number;
981
- })[];
982
- kind: "MakeMoveVec";
983
- type?: {
984
- None: null;
985
- } | {
986
- Some: string;
987
- } | undefined;
988
- }, "type" | "kind"> & {
989
- type?: string | undefined;
933
+ MakeMoveVec({ type, objects, }: Omit<MakeMoveVecTransaction, "kind" | "type"> & {
934
+ type?: string;
990
935
  }): MakeMoveVecTransaction;
991
936
  };
992
937
  //# sourceMappingURL=Transactions.d.ts.map