@bitgo-beta/sdk-coin-sui 1.4.1-alpha.31 → 1.4.1-alpha.310

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 (162) hide show
  1. package/.mocharc.yml +1 -2
  2. package/CHANGELOG.md +897 -0
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +7 -2
  6. package/dist/src/lib/compareTransactionBlocks.d.ts +8 -0
  7. package/dist/src/lib/compareTransactionBlocks.d.ts.map +1 -0
  8. package/dist/src/lib/compareTransactionBlocks.js +12 -0
  9. package/dist/src/lib/constants.d.ts +11 -3
  10. package/dist/src/lib/constants.d.ts.map +1 -1
  11. package/dist/src/lib/constants.js +20 -3
  12. package/dist/src/lib/customTransaction.d.ts +57 -0
  13. package/dist/src/lib/customTransaction.d.ts.map +1 -0
  14. package/dist/src/lib/customTransaction.js +159 -0
  15. package/dist/src/lib/customTransactionBuilder.d.ts +46 -0
  16. package/dist/src/lib/customTransactionBuilder.d.ts.map +1 -0
  17. package/dist/src/lib/customTransactionBuilder.js +117 -0
  18. package/dist/src/lib/iface.d.ts +86 -27
  19. package/dist/src/lib/iface.d.ts.map +1 -1
  20. package/dist/src/lib/iface.js +39 -10
  21. package/dist/src/lib/index.d.ts +10 -0
  22. package/dist/src/lib/index.d.ts.map +1 -1
  23. package/dist/src/lib/index.js +44 -10
  24. package/dist/src/lib/keyPair.d.ts.map +1 -1
  25. package/dist/src/lib/keyPair.js +25 -21
  26. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +6 -6
  27. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -1
  28. package/dist/src/lib/mystenlab/builder/Inputs.js +19 -20
  29. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +302 -0
  30. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -0
  31. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +255 -0
  32. package/dist/src/lib/mystenlab/builder/{TransactionData.d.ts → TransactionDataBlock.d.ts} +62 -62
  33. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -0
  34. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +168 -0
  35. package/dist/src/lib/mystenlab/builder/{Commands.d.ts → Transactions.d.ts} +103 -158
  36. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -0
  37. package/dist/src/lib/mystenlab/builder/Transactions.js +118 -0
  38. package/dist/src/lib/mystenlab/builder/bcs.d.ts +6 -6
  39. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -1
  40. package/dist/src/lib/mystenlab/builder/bcs.js +16 -16
  41. package/dist/src/lib/mystenlab/builder/index.d.ts +2 -2
  42. package/dist/src/lib/mystenlab/builder/index.d.ts.map +1 -1
  43. package/dist/src/lib/mystenlab/builder/index.js +8 -4
  44. package/dist/src/lib/mystenlab/builder/serializer.d.ts.map +1 -1
  45. package/dist/src/lib/mystenlab/builder/serializer.js +6 -11
  46. package/dist/src/lib/mystenlab/builder/utils.d.ts +2 -5
  47. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -1
  48. package/dist/src/lib/mystenlab/builder/utils.js +5 -5
  49. package/dist/src/lib/mystenlab/cryptography/hash.js +3 -4
  50. package/dist/src/lib/mystenlab/framework/framework.d.ts +8 -7
  51. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -1
  52. package/dist/src/lib/mystenlab/framework/framework.js +23 -27
  53. package/dist/src/lib/mystenlab/framework/index.d.ts.map +1 -1
  54. package/dist/src/lib/mystenlab/framework/index.js +6 -4
  55. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +4 -23
  56. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -1
  57. package/dist/src/lib/mystenlab/framework/sui-system-state.js +11 -40
  58. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts.map +1 -0
  59. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +119 -0
  60. package/dist/src/lib/mystenlab/types/coin.d.ts +10 -10
  61. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -1
  62. package/dist/src/lib/mystenlab/types/coin.js +19 -19
  63. package/dist/src/lib/mystenlab/types/common.d.ts +8 -8
  64. package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -1
  65. package/dist/src/lib/mystenlab/types/common.js +22 -22
  66. package/dist/src/lib/mystenlab/types/events.d.ts +14 -14
  67. package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -1
  68. package/dist/src/lib/mystenlab/types/events.js +17 -17
  69. package/dist/src/lib/mystenlab/types/index.d.ts.map +1 -1
  70. package/dist/src/lib/mystenlab/types/index.js +6 -5
  71. package/dist/src/lib/mystenlab/types/normalized.d.ts +21 -21
  72. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -1
  73. package/dist/src/lib/mystenlab/types/normalized.js +42 -43
  74. package/dist/src/lib/mystenlab/types/objects.d.ts +95 -78
  75. package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -1
  76. package/dist/src/lib/mystenlab/types/objects.js +98 -104
  77. package/dist/src/lib/mystenlab/types/option.d.ts +1 -1
  78. package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -1
  79. package/dist/src/lib/mystenlab/types/option.js +2 -3
  80. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +10 -9
  81. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -1
  82. package/dist/src/lib/mystenlab/types/sui-bcs.js +4 -4
  83. package/dist/src/lib/mystenlab/types/transactions.d.ts +3262 -1046
  84. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -1
  85. package/dist/src/lib/mystenlab/types/transactions.js +209 -187
  86. package/dist/src/lib/mystenlab/types/validator.d.ts +641 -0
  87. package/dist/src/lib/mystenlab/types/validator.d.ts.map +1 -0
  88. package/dist/src/lib/mystenlab/types/validator.js +156 -0
  89. package/dist/src/lib/resources/walrusConfig.d.ts +22 -0
  90. package/dist/src/lib/resources/walrusConfig.d.ts.map +1 -0
  91. package/dist/src/lib/resources/walrusConfig.js +37 -0
  92. package/dist/src/lib/rpcClient.d.ts +5 -0
  93. package/dist/src/lib/rpcClient.d.ts.map +1 -0
  94. package/dist/src/lib/rpcClient.js +74 -0
  95. package/dist/src/lib/stakingBuilder.d.ts +15 -15
  96. package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
  97. package/dist/src/lib/stakingBuilder.js +113 -44
  98. package/dist/src/lib/stakingTransaction.d.ts +2 -10
  99. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  100. package/dist/src/lib/stakingTransaction.js +97 -35
  101. package/dist/src/lib/tokenTransferBuilder.d.ts +38 -0
  102. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  103. package/dist/src/lib/tokenTransferBuilder.js +132 -0
  104. package/dist/src/lib/tokenTransferTransaction.d.ts +57 -0
  105. package/dist/src/lib/tokenTransferTransaction.d.ts.map +1 -0
  106. package/dist/src/lib/tokenTransferTransaction.js +250 -0
  107. package/dist/src/lib/transaction.d.ts +16 -6
  108. package/dist/src/lib/transaction.d.ts.map +1 -1
  109. package/dist/src/lib/transaction.js +126 -26
  110. package/dist/src/lib/transactionBuilder.d.ts +2 -3
  111. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  112. package/dist/src/lib/transactionBuilder.js +4 -4
  113. package/dist/src/lib/transactionBuilderFactory.d.ts +17 -2
  114. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  115. package/dist/src/lib/transactionBuilderFactory.js +52 -2
  116. package/dist/src/lib/transferBuilder.d.ts +3 -1
  117. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  118. package/dist/src/lib/transferBuilder.js +34 -11
  119. package/dist/src/lib/transferTransaction.d.ts +1 -1
  120. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  121. package/dist/src/lib/transferTransaction.js +33 -18
  122. package/dist/src/lib/unstakingBuilder.d.ts +62 -0
  123. package/dist/src/lib/unstakingBuilder.d.ts.map +1 -0
  124. package/dist/src/lib/unstakingBuilder.js +227 -0
  125. package/dist/src/lib/unstakingTransaction.d.ts +75 -0
  126. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -0
  127. package/dist/src/lib/unstakingTransaction.js +345 -0
  128. package/dist/src/lib/utils.d.ts +51 -7
  129. package/dist/src/lib/utils.d.ts.map +1 -1
  130. package/dist/src/lib/utils.js +362 -27
  131. package/dist/src/lib/walrusStakingBuilder.d.ts +66 -0
  132. package/dist/src/lib/walrusStakingBuilder.d.ts.map +1 -0
  133. package/dist/src/lib/walrusStakingBuilder.js +200 -0
  134. package/dist/src/lib/walrusStakingTransaction.d.ts +52 -0
  135. package/dist/src/lib/walrusStakingTransaction.d.ts.map +1 -0
  136. package/dist/src/lib/walrusStakingTransaction.js +269 -0
  137. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts +36 -0
  138. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts.map +1 -0
  139. package/dist/src/lib/walrusWithdrawStakeBuilder.js +173 -0
  140. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts +21 -0
  141. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts.map +1 -0
  142. package/dist/src/lib/walrusWithdrawStakeTransaction.js +186 -0
  143. package/dist/src/register.d.ts.map +1 -1
  144. package/dist/src/register.js +5 -1
  145. package/dist/src/sui.d.ts +44 -8
  146. package/dist/src/sui.d.ts.map +1 -1
  147. package/dist/src/sui.js +484 -42
  148. package/dist/src/suiToken.d.ts +22 -0
  149. package/dist/src/suiToken.d.ts.map +1 -0
  150. package/dist/src/suiToken.js +61 -0
  151. package/dist/src/tsui.js +1 -1
  152. package/package.json +15 -12
  153. package/dist/src/lib/mystenlab/builder/Commands.d.ts.map +0 -1
  154. package/dist/src/lib/mystenlab/builder/Commands.js +0 -119
  155. package/dist/src/lib/mystenlab/builder/Transaction.d.ts +0 -609
  156. package/dist/src/lib/mystenlab/builder/Transaction.d.ts.map +0 -1
  157. package/dist/src/lib/mystenlab/builder/Transaction.js +0 -254
  158. package/dist/src/lib/mystenlab/builder/TransactionData.d.ts.map +0 -1
  159. package/dist/src/lib/mystenlab/builder/TransactionData.js +0 -171
  160. package/dist/src/lib/mystenlab/builder/type-tag-serializer.d.ts.map +0 -1
  161. package/dist/src/lib/mystenlab/builder/type-tag-serializer.js +0 -119
  162. /package/dist/src/lib/mystenlab/{builder → txn-data-serializers}/type-tag-serializer.d.ts +0 -0
@@ -1,254 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
3
- if (!privateMap.has(receiver)) {
4
- throw new TypeError("attempted to get private field on non-instance");
5
- }
6
- return privateMap.get(receiver);
7
- };
8
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
9
- if (!privateMap.has(receiver)) {
10
- throw new TypeError("attempted to set private field on non-instance");
11
- }
12
- privateMap.set(receiver, value);
13
- return value;
14
- };
15
- var _transactionData;
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Transaction = void 0;
18
- const bcs_1 = require("@mysten/bcs");
19
- const superstruct_1 = require("superstruct");
20
- const types_1 = require("../types");
21
- const Commands_1 = require("./Commands");
22
- const Inputs_1 = require("./Inputs");
23
- const TransactionData_1 = require("./TransactionData");
24
- const utils_1 = require("./utils");
25
- function createTransactionResult(index) {
26
- const baseResult = { kind: 'Result', index };
27
- const nestedResults = [];
28
- const nestedResultFor = (resultIndex) => {
29
- var _a;
30
- return ((_a = nestedResults[resultIndex]) !== null && _a !== void 0 ? _a : (nestedResults[resultIndex] = {
31
- kind: 'NestedResult',
32
- index,
33
- resultIndex,
34
- }));
35
- };
36
- return new Proxy(baseResult, {
37
- set() {
38
- throw new Error('The transaction result is a proxy, and does not support setting properties directly');
39
- },
40
- // TODO: Instead of making this return a concrete argument, we should ideally
41
- // make it reference-based (so that this gets resolved at build-time), which
42
- // allows re-ordering transactions.
43
- get(target, property) {
44
- // This allows this transaction argument to be used in the singular form:
45
- if (property in target) {
46
- return Reflect.get(target, property);
47
- }
48
- // Support destructuring:
49
- if (property === Symbol.iterator) {
50
- return function* () {
51
- let i = 0;
52
- while (true) {
53
- yield nestedResultFor(i);
54
- i++;
55
- }
56
- };
57
- }
58
- if (typeof property === 'symbol')
59
- return;
60
- const resultIndex = parseInt(property, 10);
61
- if (Number.isNaN(resultIndex) || resultIndex < 0)
62
- return;
63
- return nestedResultFor(resultIndex);
64
- },
65
- });
66
- }
67
- // The maximum number of gas objects that can be selected for one transaction.
68
- const MAX_GAS_OBJECTS = 256;
69
- /**
70
- * Transaction Builder
71
- */
72
- class Transaction {
73
- constructor(transaction) {
74
- _transactionData.set(this, void 0);
75
- __classPrivateFieldSet(this, _transactionData, new TransactionData_1.TransactionDataBuilder(transaction ? __classPrivateFieldGet(transaction, _transactionData) : undefined));
76
- }
77
- /** Returns `true` if the object is an instance of the Transaction builder class. */
78
- static is(obj) {
79
- return (!!obj && typeof obj === 'object'
80
- // &&
81
- // (obj as any)[TRANSACTION_BRAND] === true
82
- );
83
- }
84
- /**
85
- * Converts from a serialize transaction kind (built with `build({ onlyTransactionKind: true })`) to a `Transaction` class.
86
- * Supports either a byte array, or base64-encoded bytes.
87
- */
88
- static fromKind(serialized) {
89
- const tx = new Transaction();
90
- __classPrivateFieldSet(tx, _transactionData, TransactionData_1.TransactionDataBuilder.fromKindBytes(typeof serialized === 'string' ? bcs_1.fromB64(serialized) : serialized));
91
- return tx;
92
- }
93
- /**
94
- * Converts from a serialized transaction format to a `Transaction` class.
95
- * There are two supported serialized formats:
96
- * - A string returned from `Transaction#serialize`. The serialized format must be compatible, or it will throw an error.
97
- * - A byte array (or base64-encoded bytes) containing BCS transaction data.
98
- */
99
- static from(serialized) {
100
- const tx = new Transaction();
101
- // Check for bytes:
102
- if (typeof serialized !== 'string' || !serialized.startsWith('{')) {
103
- __classPrivateFieldSet(tx, _transactionData, TransactionData_1.TransactionDataBuilder.fromBytes(typeof serialized === 'string' ? bcs_1.fromB64(serialized) : serialized));
104
- }
105
- else {
106
- __classPrivateFieldSet(tx, _transactionData, TransactionData_1.TransactionDataBuilder.restore(JSON.parse(serialized)));
107
- }
108
- return tx;
109
- }
110
- /** A helper to retrieve the Transaction builder `Commands` */
111
- static get Commands() {
112
- return Commands_1.Commands;
113
- }
114
- /** A helper to retrieve the Transaction builder `Inputs` */
115
- static get Inputs() {
116
- return Inputs_1.Inputs;
117
- }
118
- setSender(sender) {
119
- __classPrivateFieldGet(this, _transactionData).sender = sender;
120
- }
121
- /**
122
- * Sets the sender only if it has not already been set.
123
- * This is useful for sponsored transaction flows where the sender may not be the same as the signer address.
124
- */
125
- setSenderIfNotSet(sender) {
126
- if (!__classPrivateFieldGet(this, _transactionData).sender) {
127
- __classPrivateFieldGet(this, _transactionData).sender = sender;
128
- }
129
- }
130
- setExpiration(expiration) {
131
- __classPrivateFieldGet(this, _transactionData).expiration = expiration;
132
- }
133
- setGasPrice(price) {
134
- __classPrivateFieldGet(this, _transactionData).gasConfig.price = String(price);
135
- }
136
- setGasBudget(budget) {
137
- __classPrivateFieldGet(this, _transactionData).gasConfig.budget = String(budget);
138
- }
139
- setGasOwner(owner) {
140
- __classPrivateFieldGet(this, _transactionData).gasConfig.owner = owner;
141
- }
142
- setGasPayment(payments) {
143
- if (payments.length >= MAX_GAS_OBJECTS) {
144
- throw new Error(`Payment objects exceed maximum amount ${MAX_GAS_OBJECTS}`);
145
- }
146
- __classPrivateFieldGet(this, _transactionData).gasConfig.payment = payments.map((payment) => superstruct_1.mask(payment, types_1.SuiObjectRef));
147
- }
148
- /** Get a snapshot of the transaction data, in JSON form: */
149
- get transactionData() {
150
- return __classPrivateFieldGet(this, _transactionData).snapshot();
151
- }
152
- /** Returns an argument for the gas coin, to be used in a transaction. */
153
- get gas() {
154
- return { kind: 'GasCoin' };
155
- }
156
- /**
157
- * Dynamically create a new input, which is separate from the `input`. This is important
158
- * for generated clients to be able to define unique inputs that are non-overlapping with the
159
- * defined inputs.
160
- *
161
- * For `Uint8Array` type automatically convert the input into a `Pure` CallArg, since this
162
- * is the format required for custom serialization.
163
- *
164
- */
165
- input(type, value) {
166
- const index = __classPrivateFieldGet(this, _transactionData).inputs.length;
167
- const input = utils_1.create({
168
- kind: 'Input',
169
- // bigints can't be serialized to JSON, so just string-convert them here:
170
- value: typeof value === 'bigint' ? String(value) : value,
171
- index,
172
- type,
173
- }, Commands_1.TransactionInput);
174
- __classPrivateFieldGet(this, _transactionData).inputs.push(input);
175
- return input;
176
- }
177
- /**
178
- * Add a new object input to the transaction.
179
- */
180
- object(value) {
181
- const id = Inputs_1.getIdFromCallArg(value);
182
- // deduplicate
183
- const inserted = __classPrivateFieldGet(this, _transactionData).inputs.find((i) => i.type === 'object' && id === Inputs_1.getIdFromCallArg(i.value));
184
- return inserted !== null && inserted !== void 0 ? inserted : this.input('object', value);
185
- }
186
- /**
187
- * Add a new non-object input to the transaction.
188
- */
189
- pure(
190
- /**
191
- * The pure value that will be used as the input value. If this is a Uint8Array, then the value
192
- * is assumed to be raw bytes, and will be used directly.
193
- */
194
- value,
195
- /**
196
- * The BCS type to serialize the value into. If not provided, the type will automatically be determined
197
- * based on how the input is used.
198
- */
199
- type) {
200
- // TODO: we can also do some deduplication here
201
- return this.input('pure', value instanceof Uint8Array ? Inputs_1.Inputs.Pure(value) : type ? Inputs_1.Inputs.Pure(value, type) : value);
202
- }
203
- /** Add a command to the transaction. */
204
- add(command) {
205
- // TODO: This should also look at the command arguments and add any referenced commands that are not present in this transaction.
206
- const index = __classPrivateFieldGet(this, _transactionData).commands.push(command);
207
- return createTransactionResult(index - 1);
208
- }
209
- // Method shorthands:
210
- splitCoins(...args) {
211
- return this.add(Commands_1.Commands.SplitCoins(...args));
212
- }
213
- mergeCoins(...args) {
214
- return this.add(Commands_1.Commands.MergeCoins(...args));
215
- }
216
- publish(...args) {
217
- return this.add(Commands_1.Commands.Publish(...args));
218
- }
219
- moveCall(...args) {
220
- return this.add(Commands_1.Commands.MoveCall(...args));
221
- }
222
- transferObjects(...args) {
223
- return this.add(Commands_1.Commands.TransferObjects(...args));
224
- }
225
- makeMoveVec(...args) {
226
- return this.add(Commands_1.Commands.MakeMoveVec(...args));
227
- }
228
- /**
229
- * Serialize the transaction to a string so that it can be sent to a separate context.
230
- * This is different from `build` in that it does not serialize to BCS bytes, and instead
231
- * uses a separate format that is unique to the transaction builder. This allows
232
- * us to serialize partially-complete transactions, that can then be completed and
233
- * built in a separate context.
234
- *
235
- * For example, a dapp can construct a transaction, but not provide gas objects
236
- * or a gas budget. The transaction then can be sent to the wallet, where this
237
- * information is automatically filled in (e.g. by querying for coin objects
238
- * and performing a dry run).
239
- */
240
- serialize() {
241
- return JSON.stringify(__classPrivateFieldGet(this, _transactionData).snapshot());
242
- }
243
- /** Build the transaction to BCS bytes. */
244
- async build({ onlyTransactionKind } = {}) {
245
- return __classPrivateFieldGet(this, _transactionData).build({ onlyTransactionKind });
246
- }
247
- /** Derive transaction digest */
248
- async getDigest() {
249
- return __classPrivateFieldGet(this, _transactionData).getDigest();
250
- }
251
- }
252
- exports.Transaction = Transaction;
253
- _transactionData = new WeakMap();
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL215c3RlbmxhYi9idWlsZGVyL1RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBQXNDO0FBQ3RDLDZDQUFtQztBQUNuQyxvQ0FBa0Q7QUFDbEQseUNBQTZGO0FBQzdGLHFDQUFtRTtBQUNuRSx1REFBa0Y7QUFDbEYsbUNBQWlDO0FBSWpDLFNBQVMsdUJBQXVCLENBQUMsS0FBYTtJQUM1QyxNQUFNLFVBQVUsR0FBb0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBRTlELE1BQU0sYUFBYSxHQUFzQixFQUFFLENBQUM7SUFDNUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxXQUFtQixFQUFtQixFQUFFOztRQUMvRCxPQUFBLE9BQUMsYUFBYSxDQUFDLFdBQVcscUNBQXpCLGFBQWEsQ0FBQyxXQUFXLElBQU07WUFDOUIsSUFBSSxFQUFFLGNBQWM7WUFDcEIsS0FBSztZQUNMLFdBQVc7U0FDWixFQUFDLENBQUE7S0FBQSxDQUFDO0lBRUwsT0FBTyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7UUFDM0IsR0FBRztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMscUZBQXFGLENBQUMsQ0FBQztRQUN6RyxDQUFDO1FBQ0QsNkVBQTZFO1FBQzdFLDRFQUE0RTtRQUM1RSxtQ0FBbUM7UUFDbkMsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRO1lBQ2xCLHlFQUF5RTtZQUN6RSxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUU7Z0JBQ3RCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDdEM7WUFFRCx5QkFBeUI7WUFDekIsSUFBSSxRQUFRLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDaEMsT0FBTyxRQUFRLENBQUM7b0JBQ2Qs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QyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLEtBQUssQ0FBQyxTQUFTO1FBQ2IsT0FBTywrQ0FBc0IsU0FBUyxFQUFFLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBOU5ELGtDQThOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21CNjQgfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5pbXBvcnQgeyBtYXNrIH0gZnJvbSAnc3VwZXJzdHJ1Y3QnO1xuaW1wb3J0IHsgT2JqZWN0SWQsIFN1aU9iamVjdFJlZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IENvbW1hbmRBcmd1bWVudCwgQ29tbWFuZHMsIFRyYW5zYWN0aW9uQ29tbWFuZCwgVHJhbnNhY3Rpb25JbnB1dCB9IGZyb20gJy4vQ29tbWFuZHMnO1xuaW1wb3J0IHsgZ2V0SWRGcm9tQ2FsbEFyZywgSW5wdXRzLCBPYmplY3RDYWxsQXJnIH0gZnJvbSAnLi9JbnB1dHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25EYXRhQnVpbGRlciwgVHJhbnNhY3Rpb25FeHBpcmF0aW9uIH0gZnJvbSAnLi9UcmFuc2FjdGlvbkRhdGEnO1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnLi91dGlscyc7XG5cbnR5cGUgVHJhbnNhY3Rpb25SZXN1bHQgPSBDb21tYW5kQXJndW1lbnQgJiBDb21tYW5kQXJndW1lbnRbXTtcblxuZnVuY3Rpb24gY3JlYXRlVHJhbnNhY3Rpb25SZXN1bHQoaW5kZXg6IG51bWJlcik6IFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgY29uc3QgYmFzZVJlc3VsdDogQ29tbWFuZEFyZ3VtZW50ID0geyBraW5kOiAnUmVzdWx0JywgaW5kZXggfTtcblxuICBjb25zdCBuZXN0ZWRSZXN1bHRzOiBDb21tYW5kQXJndW1lbnRbXSA9IFtdO1xuICBjb25zdCBuZXN0ZWRSZXN1bHRGb3IgPSAocmVzdWx0SW5kZXg6IG51bWJlcik6IENvbW1hbmRBcmd1bWVudCA9PlxuICAgIChuZXN0ZWRSZXN1bHRzW3Jlc3VsdEluZGV4XSA/Pz0ge1xuICAgICAga2luZDogJ05lc3RlZFJlc3VsdCcsXG4gICAgICBpbmRleCxcbiAgICAgIHJlc3VsdEluZGV4LFxuICAgIH0pO1xuXG4gIHJldHVybiBuZXcgUHJveHkoYmFzZVJlc3VsdCwge1xuICAgIHNldCgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHRyYW5zYWN0aW9uIHJlc3VsdCBpcyBhIHByb3h5LCBhbmQgZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHByb3BlcnRpZXMgZGlyZWN0bHknKTtcbiAgICB9LFxuICAgIC8vIFRPRE86IEluc3RlYWQgb2YgbWFraW5nIHRoaXMgcmV0dXJuIGEgY29uY3JldGUgYXJndW1lbnQsIHdlIHNob3VsZCBpZGVhbGx5XG4gICAgLy8gbWFrZSBpdCByZWZlcmVuY2UtYmFzZWQgKHNvIHRoYXQgdGhpcyBnZXRzIHJlc29sdmVkIGF0IGJ1aWxkLXRpbWUpLCB3aGljaFxuICAgIC8vIGFsbG93cyByZS1vcmRlcmluZyB0cmFuc2FjdGlvbnMuXG4gICAgZ2V0KHRhcmdldCwgcHJvcGVydHkpIHtcbiAgICAgIC8vIFRoaXMgYWxsb3dzIHRoaXMgdHJhbnNhY3Rpb24gYXJndW1lbnQgdG8gYmUgdXNlZCBpbiB0aGUgc2luZ3VsYXIgZm9ybTpcbiAgICAgIGlmIChwcm9wZXJ0eSBpbiB0YXJnZXQpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdXBwb3J0IGRlc3RydWN0dXJpbmc6XG4gICAgICBpZiAocHJvcGVydHkgPT09IFN5bWJvbC5pdGVyYXRvcikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIHlpZWxkIG5lc3RlZFJlc3VsdEZvcihpKTtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgcHJvcGVydHkgPT09ICdzeW1ib2wnKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHJlc3VsdEluZGV4ID0gcGFyc2VJbnQocHJvcGVydHksIDEwKTtcbiAgICAgIGlmIChOdW1iZXIuaXNOYU4ocmVzdWx0SW5kZXgpIHx8IHJlc3VsdEluZGV4IDwgMCkgcmV0dXJuO1xuICAgICAgcmV0dXJuIG5lc3RlZFJlc3VsdEZvcihyZXN1bHRJbmRleCk7XG4gICAgfSxcbiAgfSkgYXMgVHJhbnNhY3Rpb25SZXN1bHQ7XG59XG5cbi8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBnYXMgb2JqZWN0cyB0aGF0IGNhbiBiZSBzZWxlY3RlZCBmb3Igb25lIHRyYW5zYWN0aW9uLlxuY29uc3QgTUFYX0dBU19PQkpFQ1RTID0gMjU2O1xuXG5pbnRlcmZhY2UgQnVpbGRPcHRpb25zIHtcbiAgb25seVRyYW5zYWN0aW9uS2luZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVHJhbnNhY3Rpb24gQnVpbGRlclxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24ge1xuICAvKiogUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgVHJhbnNhY3Rpb24gYnVpbGRlciBjbGFzcy4gKi9cbiAgc3RhdGljIGlzKG9iajogdW5rbm93bik6IG9iaiBpcyBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhb2JqICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3QnXG4gICAgICAvLyAmJlxuICAgICAgLy8gKG9iaiBhcyBhbnkpW1RSQU5TQUNUSU9OX0JSQU5EXSA9PT0gdHJ1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgZnJvbSBhIHNlcmlhbGl6ZSB0cmFuc2FjdGlvbiBraW5kIChidWlsdCB3aXRoIGBidWlsZCh7IG9ubHlUcmFuc2FjdGlvbktpbmQ6IHRydWUgfSlgKSB0byBhIGBUcmFuc2FjdGlvbmAgY2xhc3MuXG4gICAqIFN1cHBvcnRzIGVpdGhlciBhIGJ5dGUgYXJyYXksIG9yIGJhc2U2NC1lbmNvZGVkIGJ5dGVzLlxuICAgKi9cbiAgc3RhdGljIGZyb21LaW5kKHNlcmlhbGl6ZWQ6IHN0cmluZyB8IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbigpO1xuXG4gICAgdHguI3RyYW5zYWN0aW9uRGF0YSA9IFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIuZnJvbUtpbmRCeXRlcyhcbiAgICAgIHR5cGVvZiBzZXJpYWxpemVkID09PSAnc3RyaW5nJyA/IGZyb21CNjQoc2VyaWFsaXplZCkgOiBzZXJpYWxpemVkXG4gICAgKTtcblxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBmcm9tIGEgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBmb3JtYXQgdG8gYSBgVHJhbnNhY3Rpb25gIGNsYXNzLlxuICAgKiBUaGVyZSBhcmUgdHdvIHN1cHBvcnRlZCBzZXJpYWxpemVkIGZvcm1hdHM6XG4gICAqIC0gQSBzdHJpbmcgcmV0dXJuZWQgZnJvbSBgVHJhbnNhY3Rpb24jc2VyaWFsaXplYC4gVGhlIHNlcmlhbGl6ZWQgZm9ybWF0IG11c3QgYmUgY29tcGF0aWJsZSwgb3IgaXQgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICogLSBBIGJ5dGUgYXJyYXkgKG9yIGJhc2U2NC1lbmNvZGVkIGJ5dGVzKSBjb250YWluaW5nIEJDUyB0cmFuc2FjdGlvbiBkYXRhLlxuICAgKi9cbiAgc3RhdGljIGZyb20oc2VyaWFsaXplZDogc3RyaW5nIHwgVWludDhBcnJheSkge1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKCk7XG5cbiAgICAvLyBDaGVjayBmb3IgYnl0ZXM6XG4gICAgaWYgKHR5cGVvZiBzZXJpYWxpemVkICE9PSAnc3RyaW5nJyB8fCAhc2VyaWFsaXplZC5zdGFydHNXaXRoKCd7JykpIHtcbiAgICAgIHR4LiN0cmFuc2FjdGlvbkRhdGEgPSBUcmFuc2FjdGlvbkRhdGFCdWlsZGVyLmZyb21CeXRlcyhcbiAgICAgICAgdHlwZW9mIHNlcmlhbGl6ZWQgPT09ICdzdHJpbmcnID8gZnJvbUI2NChzZXJpYWxpemVkKSA6IHNlcmlhbGl6ZWRcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4LiN0cmFuc2FjdGlvbkRhdGEgPSBUcmFuc2FjdGlvbkRhdGFCdWlsZGVyLnJlc3RvcmUoSlNPTi5wYXJzZShzZXJpYWxpemVkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEEgaGVscGVyIHRvIHJldHJpZXZlIHRoZSBUcmFuc2FjdGlvbiBidWlsZGVyIGBDb21tYW5kc2AgKi9cbiAgc3RhdGljIGdldCBDb21tYW5kcygpIHtcbiAgICByZXR1cm4gQ29tbWFuZHM7XG4gIH1cblxuICAvKiogQSBoZWxwZXIgdG8gcmV0cmlldmUgdGhlIFRyYW5zYWN0aW9uIGJ1aWxkZXIgYElucHV0c2AgKi9cbiAgc3RhdGljIGdldCBJbnB1dHMoKSB7XG4gICAgcmV0dXJuIElucHV0cztcbiAgfVxuXG4gIHNldFNlbmRlcihzZW5kZXI6IHN0cmluZykge1xuICAgIHRoaXMuI3RyYW5zYWN0aW9uRGF0YS5zZW5kZXIgPSBzZW5kZXI7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VuZGVyIG9ubHkgaWYgaXQgaGFzIG5vdCBhbHJlYWR5IGJlZW4gc2V0LlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3Igc3BvbnNvcmVkIHRyYW5zYWN0aW9uIGZsb3dzIHdoZXJlIHRoZSBzZW5kZXIgbWF5IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgc2lnbmVyIGFkZHJlc3MuXG4gICAqL1xuICBzZXRTZW5kZXJJZk5vdFNldChzZW5kZXI6IHN0cmluZykge1xuICAgIGlmICghdGhpcy4jdHJhbnNhY3Rpb25EYXRhLnNlbmRlcikge1xuICAgICAgdGhpcy4jdHJhbnNhY3Rpb25EYXRhLnNlbmRlciA9IHNlbmRlcjtcbiAgICB9XG4gIH1cblxuICBzZXRFeHBpcmF0aW9uKGV4cGlyYXRpb24/OiBUcmFuc2FjdGlvbkV4cGlyYXRpb24pIHtcbiAgICB0aGlzLiN0cmFuc2FjdGlvbkRhdGEuZXhwaXJhdGlvbiA9IGV4cGlyYXRpb247XG4gIH1cblxuICBzZXRHYXNQcmljZShwcmljZTogbnVtYmVyIHwgYmlnaW50KSB7XG4gICAgdGhpcy4jdHJhbnNhY3Rpb25EYXRhLmdhc0NvbmZpZy5wcmljZSA9IFN0cmluZyhwcmljZSk7XG4gIH1cblxuICBzZXRHYXNCdWRnZXQoYnVkZ2V0OiBudW1iZXIgfCBiaWdpbnQpIHtcbiAgICB0aGlzLiN0cmFuc2FjdGlvbkRhdGEuZ2FzQ29uZmlnLmJ1ZGdldCA9IFN0cmluZyhidWRnZXQpO1xuICB9XG5cbiAgc2V0R2FzT3duZXIob3duZXI6IHN0cmluZykge1xuICAgIHRoaXMuI3RyYW5zYWN0aW9uRGF0YS5nYXNDb25maWcub3duZXIgPSBvd25lcjtcbiAgfVxuXG4gIHNldEdhc1BheW1lbnQocGF5bWVudHM6IFN1aU9iamVjdFJlZltdKSB7XG4gICAgaWYgKHBheW1lbnRzLmxlbmd0aCA+PSBNQVhfR0FTX09CSkVDVFMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUGF5bWVudCBvYmplY3RzIGV4Y2VlZCBtYXhpbXVtIGFtb3VudCAke01BWF9HQVNfT0JKRUNUU31gKTtcbiAgICB9XG4gICAgdGhpcy4jdHJhbnNhY3Rpb25EYXRhLmdhc0NvbmZpZy5wYXltZW50ID0gcGF5bWVudHMubWFwKChwYXltZW50KSA9PiBtYXNrKHBheW1lbnQsIFN1aU9iamVjdFJlZikpO1xuICB9XG5cbiAgI3RyYW5zYWN0aW9uRGF0YTogVHJhbnNhY3Rpb25EYXRhQnVpbGRlcjtcbiAgLyoqIEdldCBhIHNuYXBzaG90IG9mIHRoZSB0cmFuc2FjdGlvbiBkYXRhLCBpbiBKU09OIGZvcm06ICovXG4gIGdldCB0cmFuc2FjdGlvbkRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3RyYW5zYWN0aW9uRGF0YS5zbmFwc2hvdCgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IodHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuI3RyYW5zYWN0aW9uRGF0YSA9IG5ldyBUcmFuc2FjdGlvbkRhdGFCdWlsZGVyKHRyYW5zYWN0aW9uID8gdHJhbnNhY3Rpb24uI3RyYW5zYWN0aW9uRGF0YSA6IHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKiogUmV0dXJucyBhbiBhcmd1bWVudCBmb3IgdGhlIGdhcyBjb2luLCB0byBiZSB1c2VkIGluIGEgdHJhbnNhY3Rpb24uICovXG4gIGdldCBnYXMoKTogQ29tbWFuZEFyZ3VtZW50IHtcbiAgICByZXR1cm4geyBraW5kOiAnR2FzQ29pbicgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljYWxseSBjcmVhdGUgYSBuZXcgaW5wdXQsIHdoaWNoIGlzIHNlcGFyYXRlIGZyb20gdGhlIGBpbnB1dGAuIFRoaXMgaXMgaW1wb3J0YW50XG4gICAqIGZvciBnZW5lcmF0ZWQgY2xpZW50cyB0byBiZSBhYmxlIHRvIGRlZmluZSB1bmlxdWUgaW5wdXRzIHRoYXQgYXJlIG5vbi1vdmVybGFwcGluZyB3aXRoIHRoZVxuICAgKiBkZWZpbmVkIGlucHV0cy5cbiAgICpcbiAgICogRm9yIGBVaW50OEFycmF5YCB0eXBlIGF1dG9tYXRpY2FsbHkgY29udmVydCB0aGUgaW5wdXQgaW50byBhIGBQdXJlYCBDYWxsQXJnLCBzaW5jZSB0aGlzXG4gICAqIGlzIHRoZSBmb3JtYXQgcmVxdWlyZWQgZm9yIGN1c3RvbSBzZXJpYWxpemF0aW9uLlxuICAgKlxuICAgKi9cbiAgcHJpdmF0ZSBpbnB1dCh0eXBlOiAnb2JqZWN0JyB8ICdwdXJlJywgdmFsdWU/OiB1bmtub3duKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLiN0cmFuc2FjdGlvbkRhdGEuaW5wdXRzLmxlbmd0aDtcbiAgICBjb25zdCBpbnB1dCA9IGNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAga2luZDogJ0lucHV0JyxcbiAgICAgICAgLy8gYmlnaW50cyBjYW4ndCBiZSBzZXJpYWxpemVkIHRvIEpTT04sIHNvIGp1c3Qgc3RyaW5nLWNvbnZlcnQgdGhlbSBoZXJlOlxuICAgICAgICB2YWx1ZTogdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyA/IFN0cmluZyh2YWx1ZSkgOiB2YWx1ZSxcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIHR5cGUsXG4gICAgICB9LFxuICAgICAgVHJhbnNhY3Rpb25JbnB1dFxuICAgICk7XG4gICAgdGhpcy4jdHJhbnNhY3Rpb25EYXRhLmlucHV0cy5wdXNoKGlucHV0KTtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IG9iamVjdCBpbnB1dCB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBvYmplY3QodmFsdWU6IE9iamVjdElkIHwgT2JqZWN0Q2FsbEFyZykge1xuICAgIGNvbnN0IGlkID0gZ2V0SWRGcm9tQ2FsbEFyZyh2YWx1ZSk7XG4gICAgLy8gZGVkdXBsaWNhdGVcbiAgICBjb25zdCBpbnNlcnRlZCA9IHRoaXMuI3RyYW5zYWN0aW9uRGF0YS5pbnB1dHMuZmluZCgoaSkgPT4gaS50eXBlID09PSAnb2JqZWN0JyAmJiBpZCA9PT0gZ2V0SWRGcm9tQ2FsbEFyZyhpLnZhbHVlKSk7XG4gICAgcmV0dXJuIGluc2VydGVkID8/IHRoaXMuaW5wdXQoJ29iamVjdCcsIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgbm9uLW9iamVjdCBpbnB1dCB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBwdXJlKFxuICAgIC8qKlxuICAgICAqIFRoZSBwdXJlIHZhbHVlIHRoYXQgd2lsbCBiZSB1c2VkIGFzIHRoZSBpbnB1dCB2YWx1ZS4gSWYgdGhpcyBpcyBhIFVpbnQ4QXJyYXksIHRoZW4gdGhlIHZhbHVlXG4gICAgICogaXMgYXNzdW1lZCB0byBiZSByYXcgYnl0ZXMsIGFuZCB3aWxsIGJlIHVzZWQgZGlyZWN0bHkuXG4gICAgICovXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgLyoqXG4gICAgICogVGhlIEJDUyB0eXBlIHRvIHNlcmlhbGl6ZSB0aGUgdmFsdWUgaW50by4gSWYgbm90IHByb3ZpZGVkLCB0aGUgdHlwZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZGV0ZXJtaW5lZFxuICAgICAqIGJhc2VkIG9uIGhvdyB0aGUgaW5wdXQgaXMgdXNlZC5cbiAgICAgKi9cbiAgICB0eXBlPzogc3RyaW5nXG4gICkge1xuICAgIC8vIFRPRE86IHdlIGNhbiBhbHNvIGRvIHNvbWUgZGVkdXBsaWNhdGlvbiBoZXJlXG4gICAgcmV0dXJuIHRoaXMuaW5wdXQoXG4gICAgICAncHVyZScsXG4gICAgICB2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgPyBJbnB1dHMuUHVyZSh2YWx1ZSkgOiB0eXBlID8gSW5wdXRzLlB1cmUodmFsdWUsIHR5cGUpIDogdmFsdWVcbiAgICApO1xuICB9XG5cbiAgLyoqIEFkZCBhIGNvbW1hbmQgdG8gdGhlIHRyYW5zYWN0aW9uLiAqL1xuICBhZGQoY29tbWFuZDogVHJhbnNhY3Rpb25Db21tYW5kKSB7XG4gICAgLy8gVE9ETzogVGhpcyBzaG91bGQgYWxzbyBsb29rIGF0IHRoZSBjb21tYW5kIGFyZ3VtZW50cyBhbmQgYWRkIGFueSByZWZlcmVuY2VkIGNvbW1hbmRzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLiN0cmFuc2FjdGlvbkRhdGEuY29tbWFuZHMucHVzaChjb21tYW5kKTtcbiAgICByZXR1cm4gY3JlYXRlVHJhbnNhY3Rpb25SZXN1bHQoaW5kZXggLSAxKTtcbiAgfVxuXG4gIC8vIE1ldGhvZCBzaG9ydGhhbmRzOlxuXG4gIHNwbGl0Q29pbnMoLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgQ29tbWFuZHNbJ1NwbGl0Q29pbnMnXT4pIHtcbiAgICByZXR1cm4gdGhpcy5hZGQoQ29tbWFuZHMuU3BsaXRDb2lucyguLi5hcmdzKSk7XG4gIH1cblxuICBtZXJnZUNvaW5zKC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIENvbW1hbmRzWydNZXJnZUNvaW5zJ10+KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkKENvbW1hbmRzLk1lcmdlQ29pbnMoLi4uYXJncykpO1xuICB9XG5cbiAgcHVibGlzaCguLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBDb21tYW5kc1snUHVibGlzaCddPikge1xuICAgIHJldHVybiB0aGlzLmFkZChDb21tYW5kcy5QdWJsaXNoKC4uLmFyZ3MpKTtcbiAgfVxuXG4gIG1vdmVDYWxsKC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIENvbW1hbmRzWydNb3ZlQ2FsbCddPikge1xuICAgIHJldHVybiB0aGlzLmFkZChDb21tYW5kcy5Nb3ZlQ2FsbCguLi5hcmdzKSk7XG4gIH1cblxuICB0cmFuc2Zlck9iamVjdHMoLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgQ29tbWFuZHNbJ1RyYW5zZmVyT2JqZWN0cyddPikge1xuICAgIHJldHVybiB0aGlzLmFkZChDb21tYW5kcy5UcmFuc2Zlck9iamVjdHMoLi4uYXJncykpO1xuICB9XG5cbiAgbWFrZU1vdmVWZWMoLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgQ29tbWFuZHNbJ01ha2VNb3ZlVmVjJ10+KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkKENvbW1hbmRzLk1ha2VNb3ZlVmVjKC4uLmFyZ3MpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIHRyYW5zYWN0aW9uIHRvIGEgc3RyaW5nIHNvIHRoYXQgaXQgY2FuIGJlIHNlbnQgdG8gYSBzZXBhcmF0ZSBjb250ZXh0LlxuICAgKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIGBidWlsZGAgaW4gdGhhdCBpdCBkb2VzIG5vdCBzZXJpYWxpemUgdG8gQkNTIGJ5dGVzLCBhbmQgaW5zdGVhZFxuICAgKiB1c2VzIGEgc2VwYXJhdGUgZm9ybWF0IHRoYXQgaXMgdW5pcXVlIHRvIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyLiBUaGlzIGFsbG93c1xuICAgKiB1cyB0byBzZXJpYWxpemUgcGFydGlhbGx5LWNvbXBsZXRlIHRyYW5zYWN0aW9ucywgdGhhdCBjYW4gdGhlbiBiZSBjb21wbGV0ZWQgYW5kXG4gICAqIGJ1aWx0IGluIGEgc2VwYXJhdGUgY29udGV4dC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGEgZGFwcCBjYW4gY29uc3RydWN0IGEgdHJhbnNhY3Rpb24sIGJ1dCBub3QgcHJvdmlkZSBnYXMgb2JqZWN0c1xuICAgKiBvciBhIGdhcyBidWRnZXQuIFRoZSB0cmFuc2FjdGlvbiB0aGVuIGNhbiBiZSBzZW50IHRvIHRoZSB3YWxsZXQsIHdoZXJlIHRoaXNcbiAgICogaW5mb3JtYXRpb24gaXMgYXV0b21hdGljYWxseSBmaWxsZWQgaW4gKGUuZy4gYnkgcXVlcnlpbmcgZm9yIGNvaW4gb2JqZWN0c1xuICAgKiBhbmQgcGVyZm9ybWluZyBhIGRyeSBydW4pLlxuICAgKi9cbiAgc2VyaWFsaXplKCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLiN0cmFuc2FjdGlvbkRhdGEuc25hcHNob3QoKSk7XG4gIH1cblxuICAvKiogQnVpbGQgdGhlIHRyYW5zYWN0aW9uIHRvIEJDUyBieXRlcy4gKi9cbiAgYXN5bmMgYnVpbGQoeyBvbmx5VHJhbnNhY3Rpb25LaW5kIH06IEJ1aWxkT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuI3RyYW5zYWN0aW9uRGF0YS5idWlsZCh7IG9ubHlUcmFuc2FjdGlvbktpbmQgfSk7XG4gIH1cblxuICAvKiogRGVyaXZlIHRyYW5zYWN0aW9uIGRpZ2VzdCAqL1xuICBhc3luYyBnZXREaWdlc3QoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy4jdHJhbnNhY3Rpb25EYXRhLmdldERpZ2VzdCgpO1xuICB9XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionData.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/builder/TransactionData.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,EASN,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIlE,eAAO,MAAM,qBAAqB;;;;2BAEjC,CAAC;AACF,oBAAY,qBAAqB,GAAG,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAexE,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;EAKb,CAAC;AACH,aAAK,SAAS,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAEzC,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3C,CAAC;AACH,oBAAY,gCAAgC,GAAG,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAQ9F,eAAO,MAAM,yBAAyB,QAAa,CAAC;AAEpD,qBAAa,sBAAsB;IACjC,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,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;gBAEnB,KAAK,CAAC,EAAE,sBAAsB;IAQ1C,KAAK,CAAC,EACJ,SAAS,EACT,mBAAmB,GACpB,GAAE;QACD,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;QACzF,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC1B;IA0DN,SAAS;IAKT,QAAQ,IAAI,gCAAgC;CAG7C"}
@@ -1,171 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionDataBuilder = exports.TRANSACTION_DATA_MAX_SIZE = exports.SerializedTransactionDataBuilder = exports.TransactionExpiration = void 0;
4
- const bcs_1 = require("@mysten/bcs");
5
- const superstruct_1 = require("superstruct");
6
- const hash_1 = require("../cryptography/hash");
7
- const types_1 = require("../types");
8
- const bcs_2 = require("./bcs");
9
- const Commands_1 = require("./Commands");
10
- const Inputs_1 = require("./Inputs");
11
- const utils_1 = require("./utils");
12
- exports.TransactionExpiration = superstruct_1.optional(superstruct_1.nullable(superstruct_1.union([superstruct_1.object({ Epoch: superstruct_1.integer() }), superstruct_1.object({ None: superstruct_1.union([superstruct_1.literal(true), superstruct_1.literal(null)]) })])));
13
- const SuiAddress = superstruct_1.string();
14
- const StringEncodedBigint = superstruct_1.define('StringEncodedBigint', (val) => {
15
- if (!['string', 'number', 'bigint'].includes(typeof val))
16
- return false;
17
- try {
18
- BigInt(val);
19
- return true;
20
- }
21
- catch {
22
- return false;
23
- }
24
- });
25
- const GasConfig = superstruct_1.object({
26
- budget: superstruct_1.optional(StringEncodedBigint),
27
- price: superstruct_1.optional(StringEncodedBigint),
28
- payment: superstruct_1.optional(superstruct_1.array(types_1.SuiObjectRef)),
29
- owner: superstruct_1.optional(SuiAddress),
30
- });
31
- exports.SerializedTransactionDataBuilder = superstruct_1.object({
32
- version: superstruct_1.literal(1),
33
- sender: superstruct_1.optional(SuiAddress),
34
- expiration: exports.TransactionExpiration,
35
- gasConfig: GasConfig,
36
- inputs: superstruct_1.array(Commands_1.TransactionInput),
37
- commands: superstruct_1.array(Commands_1.TransactionCommand),
38
- });
39
- function prepareSuiAddress(address) {
40
- return types_1.normalizeSuiAddress(address).replace('0x', '');
41
- }
42
- // NOTE: This value should be kept in sync with the corresponding value in
43
- // crates/sui-protocol-config/src/lib.rs
44
- exports.TRANSACTION_DATA_MAX_SIZE = 128 * 1024;
45
- class TransactionDataBuilder {
46
- constructor(clone) {
47
- var _a, _b, _c;
48
- this.version = 1;
49
- this.sender = clone === null || clone === void 0 ? void 0 : clone.sender;
50
- this.expiration = clone === null || clone === void 0 ? void 0 : clone.expiration;
51
- this.gasConfig = (_a = clone === null || clone === void 0 ? void 0 : clone.gasConfig) !== null && _a !== void 0 ? _a : {};
52
- this.inputs = (_b = clone === null || clone === void 0 ? void 0 : clone.inputs) !== null && _b !== void 0 ? _b : [];
53
- this.commands = (_c = clone === null || clone === void 0 ? void 0 : clone.commands) !== null && _c !== void 0 ? _c : [];
54
- }
55
- static fromKindBytes(bytes) {
56
- const kind = bcs_2.builder.de('TransactionKind', bytes);
57
- const programmableTx = kind === null || kind === void 0 ? void 0 : kind.ProgrammableTransaction;
58
- if (!programmableTx) {
59
- throw new Error('Unable to deserialize from bytes.');
60
- }
61
- const serialized = utils_1.create({
62
- version: 1,
63
- gasConfig: {},
64
- inputs: programmableTx.inputs.map((value, index) => utils_1.create({
65
- kind: 'Input',
66
- value,
67
- index,
68
- type: superstruct_1.is(value, Inputs_1.PureCallArg) ? 'pure' : 'object',
69
- }, Commands_1.TransactionInput)),
70
- commands: programmableTx.commands,
71
- }, exports.SerializedTransactionDataBuilder);
72
- return TransactionDataBuilder.restore(serialized);
73
- }
74
- static fromBytes(bytes) {
75
- var _a;
76
- const rawData = bcs_2.builder.de('TransactionData', bytes);
77
- const data = rawData === null || rawData === void 0 ? void 0 : rawData.V1;
78
- const programmableTx = (_a = data === null || data === void 0 ? void 0 : data.kind) === null || _a === void 0 ? void 0 : _a.ProgrammableTransaction;
79
- if (!data || !programmableTx) {
80
- throw new Error('Unable to deserialize from bytes.');
81
- }
82
- const serialized = utils_1.create({
83
- version: 1,
84
- sender: data.sender,
85
- expiration: data.expiration,
86
- gasConfig: data.gasData,
87
- inputs: programmableTx.inputs.map((value, index) => utils_1.create({
88
- kind: 'Input',
89
- value,
90
- index,
91
- type: superstruct_1.is(value, Inputs_1.PureCallArg) ? 'pure' : 'object',
92
- }, Commands_1.TransactionInput)),
93
- commands: programmableTx.commands,
94
- }, exports.SerializedTransactionDataBuilder);
95
- return TransactionDataBuilder.restore(serialized);
96
- }
97
- static restore(data) {
98
- superstruct_1.assert(data, exports.SerializedTransactionDataBuilder);
99
- const transactionData = new TransactionDataBuilder();
100
- Object.assign(transactionData, data);
101
- return transactionData;
102
- }
103
- /**
104
- * Generate transaction digest.
105
- *
106
- * @param bytes BCS serialized transaction data
107
- * @returns transaction digest.
108
- */
109
- static getDigestFromBytes(bytes) {
110
- const hash = hash_1.hashTypedData('TransactionData', bytes);
111
- return bcs_1.toB58(hash);
112
- }
113
- build({ overrides, onlyTransactionKind, } = {}) {
114
- var _a, _b, _c;
115
- // Resolve inputs down to values:
116
- const inputs = this.inputs.map((input) => {
117
- superstruct_1.assert(input.value, Inputs_1.BuilderCallArg);
118
- return input.value;
119
- });
120
- const kind = {
121
- ProgrammableTransaction: {
122
- inputs,
123
- commands: this.commands,
124
- },
125
- };
126
- if (onlyTransactionKind) {
127
- return bcs_2.builder.ser('TransactionKind', kind, { maxSize: exports.TRANSACTION_DATA_MAX_SIZE }).toBytes();
128
- }
129
- const expiration = (_a = overrides === null || overrides === void 0 ? void 0 : overrides.expiration) !== null && _a !== void 0 ? _a : this.expiration;
130
- const sender = (_b = overrides === null || overrides === void 0 ? void 0 : overrides.sender) !== null && _b !== void 0 ? _b : this.sender;
131
- const gasConfig = { ...this.gasConfig, ...overrides === null || overrides === void 0 ? void 0 : overrides.gasConfig };
132
- if (!sender) {
133
- throw new Error('Missing transaction sender');
134
- }
135
- if (!gasConfig.budget) {
136
- throw new Error('Missing gas budget');
137
- }
138
- if (!gasConfig.payment) {
139
- throw new Error('Missing gas payment');
140
- }
141
- if (!gasConfig.price) {
142
- throw new Error('Missing gas price');
143
- }
144
- const transactionData = {
145
- sender: prepareSuiAddress(sender),
146
- expiration: expiration ? expiration : { None: true },
147
- gasData: {
148
- payment: gasConfig.payment,
149
- owner: prepareSuiAddress((_c = this.gasConfig.owner) !== null && _c !== void 0 ? _c : sender),
150
- price: BigInt(gasConfig.price),
151
- budget: BigInt(gasConfig.budget),
152
- },
153
- kind: {
154
- ProgrammableTransaction: {
155
- inputs,
156
- commands: this.commands,
157
- },
158
- },
159
- };
160
- return bcs_2.builder.ser('TransactionData', { V1: transactionData }, { maxSize: exports.TRANSACTION_DATA_MAX_SIZE }).toBytes();
161
- }
162
- getDigest() {
163
- const bytes = this.build({ onlyTransactionKind: false });
164
- return TransactionDataBuilder.getDigestFromBytes(bytes);
165
- }
166
- snapshot() {
167
- return utils_1.create(this, exports.SerializedTransactionDataBuilder);
168
- }
169
- }
170
- exports.TransactionDataBuilder = TransactionDataBuilder;
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25EYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9teXN0ZW5sYWIvYnVpbGRlci9UcmFuc2FjdGlvbkRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQW9DO0FBQ3BDLDZDQWFxQjtBQUNyQiwrQ0FBcUQ7QUFDckQsb0NBQTZEO0FBQzdELCtCQUFnQztBQUNoQyx5Q0FBa0U7QUFDbEUscUNBQXVEO0FBQ3ZELG1DQUFpQztBQUVwQixRQUFBLHFCQUFxQixHQUFHLHNCQUFRLENBQzNDLHNCQUFRLENBQUMsbUJBQUssQ0FBQyxDQUFDLG9CQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUscUJBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxvQkFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFLLENBQUMsQ0FBQyxxQkFBTyxDQUFDLElBQUksQ0FBQyxFQUFFLHFCQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDekcsQ0FBQztBQUdGLE1BQU0sVUFBVSxHQUFHLG9CQUFNLEVBQUUsQ0FBQztBQUU1QixNQUFNLG1CQUFtQixHQUFHLG9CQUFNLENBQVMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUN4RSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRXZFLElBQUk7UUFDRixNQUFNLENBQUMsR0FBYSxDQUFDLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUFDLE1BQU07UUFDTixPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLFNBQVMsR0FBRyxvQkFBTSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLG1CQUFtQixDQUFDO0lBQ3JDLEtBQUssRUFBRSxzQkFBUSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLE9BQU8sRUFBRSxzQkFBUSxDQUFDLG1CQUFLLENBQUMsb0JBQVksQ0FBQyxDQUFDO0lBQ3RDLEtBQUssRUFBRSxzQkFBUSxDQUFDLFVBQVUsQ0FBQztDQUM1QixDQUFDLENBQUM7QUFHVSxRQUFBLGdDQUFnQyxHQUFHLG9CQUFNLENBQUM7SUFDckQsT0FBTyxFQUFFLHFCQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sRUFBRSxzQkFBUSxDQUFDLFVBQVUsQ0FBQztJQUM1QixVQUFVLEVBQUUsNkJBQXFCO0lBQ2pDLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLE1BQU0sRUFBRSxtQkFBSyxDQUFDLDJCQUFnQixDQUFDO0lBQy9CLFFBQVEsRUFBRSxtQkFBSyxDQUFDLDZCQUFrQixDQUFDO0NBQ3BDLENBQUMsQ0FBQztBQUdILFNBQVMsaUJBQWlCLENBQUMsT0FBZTtJQUN4QyxPQUFPLDJCQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVELDBFQUEwRTtBQUMxRSx3Q0FBd0M7QUFDM0IsUUFBQSx5QkFBeUIsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBRXBELE1BQWEsc0JBQXNCO0lBeUZqQyxZQUFZLEtBQThCOztRQVAxQyxZQUFPLEdBQUcsQ0FBVSxDQUFDO1FBUW5CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLG1DQUFJLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxtQ0FBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQTlGRCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQWlCO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLGFBQU8sQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHVCQUF1QixDQUFDO1FBQ3JELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsTUFBTSxVQUFVLEdBQUcsY0FBTSxDQUN2QjtZQUNFLE9BQU8sRUFBRSxDQUFDO1lBQ1YsU0FBUyxFQUFFLEVBQUU7WUFDYixNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFjLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FDbEUsY0FBTSxDQUNKO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUs7Z0JBQ0wsS0FBSztnQkFDTCxJQUFJLEVBQUUsZ0JBQUUsQ0FBQyxLQUFLLEVBQUUsb0JBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVE7YUFDakQsRUFDRCwyQkFBZ0IsQ0FDakIsQ0FDRjtZQUNELFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUTtTQUNsQyxFQUNELHdDQUFnQyxDQUNqQyxDQUFDO1FBRUYsT0FBTyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBaUI7O1FBQ2hDLE1BQU0sT0FBTyxHQUFHLGFBQU8sQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEVBQUUsQ0FBQztRQUN6QixNQUFNLGNBQWMsR0FBRyxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLDBDQUFFLHVCQUF1QixDQUFDO1FBQzNELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsTUFBTSxVQUFVLEdBQUcsY0FBTSxDQUN2QjtZQUNFLE9BQU8sRUFBRSxDQUFDO1lBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDdkIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBYyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ2xFLGNBQU0sQ0FDSjtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLO2dCQUNMLEtBQUs7Z0JBQ0wsSUFBSSxFQUFFLGdCQUFFLENBQUMsS0FBSyxFQUFFLG9CQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRO2FBQ2pELEVBQ0QsMkJBQWdCLENBQ2pCLENBQ0Y7WUFDRCxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVE7U0FDbEMsRUFDRCx3Q0FBZ0MsQ0FDakMsQ0FBQztRQUVGLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQXNDO1FBQ25ELG9CQUFNLENBQUMsSUFBSSxFQUFFLHdDQUFnQyxDQUFDLENBQUM7UUFDL0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFpQjtRQUN6QyxNQUFNLElBQUksR0FBRyxvQkFBYSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE9BQU8sV0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFpQkQsS0FBSyxDQUFDLEVBQ0osU0FBUyxFQUNULG1CQUFtQixNQUlqQixFQUFFOztRQUNKLGlDQUFpQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3ZDLG9CQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSx1QkFBYyxDQUFDLENBQUM7WUFDcEMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUc7WUFDWCx1QkFBdUIsRUFBRTtnQkFDdkIsTUFBTTtnQkFDTixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDeEI7U0FDRixDQUFDO1FBRUYsSUFBSSxtQkFBbUIsRUFBRTtZQUN2QixPQUFPLGFBQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLGlDQUF5QixFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMvRjtRQUVELE1BQU0sVUFBVSxHQUFHLE1BQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLFVBQVUsbUNBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxNQUFNLG1DQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsU0FBUyxFQUFFLENBQUM7UUFFakUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN2QztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN4QztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sZUFBZSxHQUFHO1lBQ3RCLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDakMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsT0FBTyxFQUFFO2dCQUNQLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztnQkFDMUIsS0FBSyxFQUFFLGlCQUFpQixDQUFDLE1BQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLG1DQUFJLE1BQU0sQ0FBQztnQkFDeEQsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUM5QixNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDakM7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osdUJBQXVCLEVBQUU7b0JBQ3ZCLE1BQU07b0JBQ04sUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUN4QjthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU8sYUFBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQ0FBeUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkgsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFNLENBQUMsSUFBSSxFQUFFLHdDQUFnQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGO0FBektELHdEQXlLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvQjU4IH0gZnJvbSAnQG15c3Rlbi9iY3MnO1xuaW1wb3J0IHtcbiAgYXJyYXksXG4gIGFzc2VydCxcbiAgZGVmaW5lLFxuICBJbmZlcixcbiAgaW50ZWdlcixcbiAgaXMsXG4gIGxpdGVyYWwsXG4gIG51bGxhYmxlLFxuICBvYmplY3QsXG4gIG9wdGlvbmFsLFxuICBzdHJpbmcsXG4gIHVuaW9uLFxufSBmcm9tICdzdXBlcnN0cnVjdCc7XG5pbXBvcnQgeyBoYXNoVHlwZWREYXRhIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2hhc2gnO1xuaW1wb3J0IHsgbm9ybWFsaXplU3VpQWRkcmVzcywgU3VpT2JqZWN0UmVmIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRlciB9IGZyb20gJy4vYmNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQ29tbWFuZCwgVHJhbnNhY3Rpb25JbnB1dCB9IGZyb20gJy4vQ29tbWFuZHMnO1xuaW1wb3J0IHsgQnVpbGRlckNhbGxBcmcsIFB1cmVDYWxsQXJnIH0gZnJvbSAnLi9JbnB1dHMnO1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBUcmFuc2FjdGlvbkV4cGlyYXRpb24gPSBvcHRpb25hbChcbiAgbnVsbGFibGUodW5pb24oW29iamVjdCh7IEVwb2NoOiBpbnRlZ2VyKCkgfSksIG9iamVjdCh7IE5vbmU6IHVuaW9uKFtsaXRlcmFsKHRydWUpLCBsaXRlcmFsKG51bGwpXSkgfSldKSlcbik7XG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvbkV4cGlyYXRpb24gPSBJbmZlcjx0eXBlb2YgVHJhbnNhY3Rpb25FeHBpcmF0aW9uPjtcblxuY29uc3QgU3VpQWRkcmVzcyA9IHN0cmluZygpO1xuXG5jb25zdCBTdHJpbmdFbmNvZGVkQmlnaW50ID0gZGVmaW5lPHN0cmluZz4oJ1N0cmluZ0VuY29kZWRCaWdpbnQnLCAodmFsKSA9PiB7XG4gIGlmICghWydzdHJpbmcnLCAnbnVtYmVyJywgJ2JpZ2ludCddLmluY2x1ZGVzKHR5cGVvZiB2YWwpKSByZXR1cm4gZmFsc2U7XG5cbiAgdHJ5IHtcbiAgICBCaWdJbnQodmFsIGFzIHN0cmluZyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSk7XG5cbmNvbnN0IEdhc0NvbmZpZyA9IG9iamVjdCh7XG4gIGJ1ZGdldDogb3B0aW9uYWwoU3RyaW5nRW5jb2RlZEJpZ2ludCksXG4gIHByaWNlOiBvcHRpb25hbChTdHJpbmdFbmNvZGVkQmlnaW50KSxcbiAgcGF5bWVudDogb3B0aW9uYWwoYXJyYXkoU3VpT2JqZWN0UmVmKSksXG4gIG93bmVyOiBvcHRpb25hbChTdWlBZGRyZXNzKSxcbn0pO1xudHlwZSBHYXNDb25maWcgPSBJbmZlcjx0eXBlb2YgR2FzQ29uZmlnPjtcblxuZXhwb3J0IGNvbnN0IFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyID0gb2JqZWN0KHtcbiAgdmVyc2lvbjogbGl0ZXJhbCgxKSxcbiAgc2VuZGVyOiBvcHRpb25hbChTdWlBZGRyZXNzKSxcbiAgZXhwaXJhdGlvbjogVHJhbnNhY3Rpb25FeHBpcmF0aW9uLFxuICBnYXNDb25maWc6IEdhc0NvbmZpZyxcbiAgaW5wdXRzOiBhcnJheShUcmFuc2FjdGlvbklucHV0KSxcbiAgY29tbWFuZHM6IGFycmF5KFRyYW5zYWN0aW9uQ29tbWFuZCksXG59KTtcbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyID0gSW5mZXI8dHlwZW9mIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyPjtcblxuZnVuY3Rpb24gcHJlcGFyZVN1aUFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gIHJldHVybiBub3JtYWxpemVTdWlBZGRyZXNzKGFkZHJlc3MpLnJlcGxhY2UoJzB4JywgJycpO1xufVxuXG4vLyBOT1RFOiBUaGlzIHZhbHVlIHNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBpblxuLy8gY3JhdGVzL3N1aS1wcm90b2NvbC1jb25maWcvc3JjL2xpYi5yc1xuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgPSAxMjggKiAxMDI0O1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25EYXRhQnVpbGRlciB7XG4gIHN0YXRpYyBmcm9tS2luZEJ5dGVzKGJ5dGVzOiBVaW50OEFycmF5KSB7XG4gICAgY29uc3Qga2luZCA9IGJ1aWxkZXIuZGUoJ1RyYW5zYWN0aW9uS2luZCcsIGJ5dGVzKTtcbiAgICBjb25zdCBwcm9ncmFtbWFibGVUeCA9IGtpbmQ/LlByb2dyYW1tYWJsZVRyYW5zYWN0aW9uO1xuICAgIGlmICghcHJvZ3JhbW1hYmxlVHgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRlc2VyaWFsaXplIGZyb20gYnl0ZXMuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IGNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAgdmVyc2lvbjogMSxcbiAgICAgICAgZ2FzQ29uZmlnOiB7fSxcbiAgICAgICAgaW5wdXRzOiBwcm9ncmFtbWFibGVUeC5pbnB1dHMubWFwKCh2YWx1ZTogdW5rbm93biwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICBjcmVhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdJbnB1dCcsXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgdHlwZTogaXModmFsdWUsIFB1cmVDYWxsQXJnKSA/ICdwdXJlJyA6ICdvYmplY3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFRyYW5zYWN0aW9uSW5wdXRcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGNvbW1hbmRzOiBwcm9ncmFtbWFibGVUeC5jb21tYW5kcyxcbiAgICAgIH0sXG4gICAgICBTZXJpYWxpemVkVHJhbnNhY3Rpb25EYXRhQnVpbGRlclxuICAgICk7XG5cbiAgICByZXR1cm4gVHJhbnNhY3Rpb25EYXRhQnVpbGRlci5yZXN0b3JlKHNlcmlhbGl6ZWQpO1xuICB9XG5cbiAgc3RhdGljIGZyb21CeXRlcyhieXRlczogVWludDhBcnJheSkge1xuICAgIGNvbnN0IHJhd0RhdGEgPSBidWlsZGVyLmRlKCdUcmFuc2FjdGlvbkRhdGEnLCBieXRlcyk7XG4gICAgY29uc3QgZGF0YSA9IHJhd0RhdGE/LlYxO1xuICAgIGNvbnN0IHByb2dyYW1tYWJsZVR4ID0gZGF0YT8ua2luZD8uUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb247XG4gICAgaWYgKCFkYXRhIHx8ICFwcm9ncmFtbWFibGVUeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZGVzZXJpYWxpemUgZnJvbSBieXRlcy4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXJpYWxpemVkID0gY3JlYXRlKFxuICAgICAge1xuICAgICAgICB2ZXJzaW9uOiAxLFxuICAgICAgICBzZW5kZXI6IGRhdGEuc2VuZGVyLFxuICAgICAgICBleHBpcmF0aW9uOiBkYXRhLmV4cGlyYXRpb24sXG4gICAgICAgIGdhc0NvbmZpZzogZGF0YS5nYXNEYXRhLFxuICAgICAgICBpbnB1dHM6IHByb2dyYW1tYWJsZVR4LmlucHV0cy5tYXAoKHZhbHVlOiB1bmtub3duLCBpbmRleDogbnVtYmVyKSA9PlxuICAgICAgICAgIGNyZWF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2luZDogJ0lucHV0JyxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICB0eXBlOiBpcyh2YWx1ZSwgUHVyZUNhbGxBcmcpID8gJ3B1cmUnIDogJ29iamVjdCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgVHJhbnNhY3Rpb25JbnB1dFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgY29tbWFuZHM6IHByb2dyYW1tYWJsZVR4LmNvbW1hbmRzLFxuICAgICAgfSxcbiAgICAgIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyXG4gICAgKTtcblxuICAgIHJldHVybiBUcmFuc2FjdGlvbkRhdGFCdWlsZGVyLnJlc3RvcmUoc2VyaWFsaXplZCk7XG4gIH1cblxuICBzdGF0aWMgcmVzdG9yZShkYXRhOiBTZXJpYWxpemVkVHJhbnNhY3Rpb25EYXRhQnVpbGRlcikge1xuICAgIGFzc2VydChkYXRhLCBTZXJpYWxpemVkVHJhbnNhY3Rpb25EYXRhQnVpbGRlcik7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25EYXRhID0gbmV3IFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIoKTtcbiAgICBPYmplY3QuYXNzaWduKHRyYW5zYWN0aW9uRGF0YSwgZGF0YSk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0cmFuc2FjdGlvbiBkaWdlc3QuXG4gICAqXG4gICAqIEBwYXJhbSBieXRlcyBCQ1Mgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEByZXR1cm5zIHRyYW5zYWN0aW9uIGRpZ2VzdC5cbiAgICovXG4gIHN0YXRpYyBnZXREaWdlc3RGcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCBoYXNoID0gaGFzaFR5cGVkRGF0YSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIHJldHVybiB0b0I1OChoYXNoKTtcbiAgfVxuXG4gIHZlcnNpb24gPSAxIGFzIGNvbnN0O1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIGV4cGlyYXRpb24/OiBUcmFuc2FjdGlvbkV4cGlyYXRpb247XG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnO1xuICBpbnB1dHM6IFRyYW5zYWN0aW9uSW5wdXRbXTtcbiAgY29tbWFuZHM6IFRyYW5zYWN0aW9uQ29tbWFuZFtdO1xuXG4gIGNvbnN0cnVjdG9yKGNsb25lPzogVHJhbnNhY3Rpb25EYXRhQnVpbGRlcikge1xuICAgIHRoaXMuc2VuZGVyID0gY2xvbmU/LnNlbmRlcjtcbiAgICB0aGlzLmV4cGlyYXRpb24gPSBjbG9uZT8uZXhwaXJhdGlvbjtcbiAgICB0aGlzLmdhc0NvbmZpZyA9IGNsb25lPy5nYXNDb25maWcgPz8ge307XG4gICAgdGhpcy5pbnB1dHMgPSBjbG9uZT8uaW5wdXRzID8/IFtdO1xuICAgIHRoaXMuY29tbWFuZHMgPSBjbG9uZT8uY29tbWFuZHMgPz8gW107XG4gIH1cblxuICBidWlsZCh7XG4gICAgb3ZlcnJpZGVzLFxuICAgIG9ubHlUcmFuc2FjdGlvbktpbmQsXG4gIH06IHtcbiAgICBvdmVycmlkZXM/OiBQaWNrPFBhcnRpYWw8VHJhbnNhY3Rpb25EYXRhQnVpbGRlcj4sICdzZW5kZXInIHwgJ2dhc0NvbmZpZycgfCAnZXhwaXJhdGlvbic+O1xuICAgIG9ubHlUcmFuc2FjdGlvbktpbmQ/OiBib29sZWFuO1xuICB9ID0ge30pIHtcbiAgICAvLyBSZXNvbHZlIGlucHV0cyBkb3duIHRvIHZhbHVlczpcbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLmlucHV0cy5tYXAoKGlucHV0KSA9PiB7XG4gICAgICBhc3NlcnQoaW5wdXQudmFsdWUsIEJ1aWxkZXJDYWxsQXJnKTtcbiAgICAgIHJldHVybiBpbnB1dC52YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGtpbmQgPSB7XG4gICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjoge1xuICAgICAgICBpbnB1dHMsXG4gICAgICAgIGNvbW1hbmRzOiB0aGlzLmNvbW1hbmRzLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKG9ubHlUcmFuc2FjdGlvbktpbmQpIHtcbiAgICAgIHJldHVybiBidWlsZGVyLnNlcignVHJhbnNhY3Rpb25LaW5kJywga2luZCwgeyBtYXhTaXplOiBUUkFOU0FDVElPTl9EQVRBX01BWF9TSVpFIH0pLnRvQnl0ZXMoKTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBpcmF0aW9uID0gb3ZlcnJpZGVzPy5leHBpcmF0aW9uID8/IHRoaXMuZXhwaXJhdGlvbjtcbiAgICBjb25zdCBzZW5kZXIgPSBvdmVycmlkZXM/LnNlbmRlciA/PyB0aGlzLnNlbmRlcjtcbiAgICBjb25zdCBnYXNDb25maWcgPSB7IC4uLnRoaXMuZ2FzQ29uZmlnLCAuLi5vdmVycmlkZXM/Lmdhc0NvbmZpZyB9O1xuXG4gICAgaWYgKCFzZW5kZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyB0cmFuc2FjdGlvbiBzZW5kZXInKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5idWRnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnYXMgYnVkZ2V0Jyk7XG4gICAgfVxuXG4gICAgaWYgKCFnYXNDb25maWcucGF5bWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBwYXltZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKCFnYXNDb25maWcucHJpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnYXMgcHJpY2UnKTtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFuc2FjdGlvbkRhdGEgPSB7XG4gICAgICBzZW5kZXI6IHByZXBhcmVTdWlBZGRyZXNzKHNlbmRlciksXG4gICAgICBleHBpcmF0aW9uOiBleHBpcmF0aW9uID8gZXhwaXJhdGlvbiA6IHsgTm9uZTogdHJ1ZSB9LFxuICAgICAgZ2FzRGF0YToge1xuICAgICAgICBwYXltZW50OiBnYXNDb25maWcucGF5bWVudCxcbiAgICAgICAgb3duZXI6IHByZXBhcmVTdWlBZGRyZXNzKHRoaXMuZ2FzQ29uZmlnLm93bmVyID8/IHNlbmRlciksXG4gICAgICAgIHByaWNlOiBCaWdJbnQoZ2FzQ29uZmlnLnByaWNlKSxcbiAgICAgICAgYnVkZ2V0OiBCaWdJbnQoZ2FzQ29uZmlnLmJ1ZGdldCksXG4gICAgICB9LFxuICAgICAga2luZDoge1xuICAgICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjoge1xuICAgICAgICAgIGlucHV0cyxcbiAgICAgICAgICBjb21tYW5kczogdGhpcy5jb21tYW5kcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHJldHVybiBidWlsZGVyLnNlcignVHJhbnNhY3Rpb25EYXRhJywgeyBWMTogdHJhbnNhY3Rpb25EYXRhIH0sIHsgbWF4U2l6ZTogVFJBTlNBQ1RJT05fREFUQV9NQVhfU0laRSB9KS50b0J5dGVzKCk7XG4gIH1cblxuICBnZXREaWdlc3QoKSB7XG4gICAgY29uc3QgYnl0ZXMgPSB0aGlzLmJ1aWxkKHsgb25seVRyYW5zYWN0aW9uS2luZDogZmFsc2UgfSk7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIuZ2V0RGlnZXN0RnJvbUJ5dGVzKGJ5dGVzKTtcbiAgfVxuXG4gIHNuYXBzaG90KCk6IFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyIHtcbiAgICByZXR1cm4gY3JlYXRlKHRoaXMsIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyKTtcbiAgfVxufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-tag-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/builder/type-tag-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,UAAU,CAAC;AAKxD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,OAAO;IA4CnE,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,OAAO,EAAE;IA0B5E,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;CAsCzC"}
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeTagSerializer = void 0;
4
- const types_1 = require("../types");
5
- const VECTOR_REGEX = /^vector<(.+)>$/;
6
- const STRUCT_REGEX = /^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;
7
- class TypeTagSerializer {
8
- static parseFromStr(str, normalizeAddress = false) {
9
- if (str === 'address') {
10
- return { address: null };
11
- }
12
- else if (str === 'bool') {
13
- return { bool: null };
14
- }
15
- else if (str === 'u8') {
16
- return { u8: null };
17
- }
18
- else if (str === 'u16') {
19
- return { u16: null };
20
- }
21
- else if (str === 'u32') {
22
- return { u32: null };
23
- }
24
- else if (str === 'u64') {
25
- return { u64: null };
26
- }
27
- else if (str === 'u128') {
28
- return { u128: null };
29
- }
30
- else if (str === 'u256') {
31
- return { u256: null };
32
- }
33
- else if (str === 'signer') {
34
- return { signer: null };
35
- }
36
- const vectorMatch = str.match(VECTOR_REGEX);
37
- if (vectorMatch) {
38
- return {
39
- vector: TypeTagSerializer.parseFromStr(vectorMatch[1], normalizeAddress),
40
- };
41
- }
42
- const structMatch = str.match(STRUCT_REGEX);
43
- if (structMatch) {
44
- const address = normalizeAddress ? types_1.normalizeSuiAddress(structMatch[1]) : structMatch[1];
45
- return {
46
- struct: {
47
- address,
48
- module: structMatch[2],
49
- name: structMatch[3],
50
- typeParams: structMatch[5] === undefined ? [] : TypeTagSerializer.parseStructTypeArgs(structMatch[5], normalizeAddress),
51
- },
52
- };
53
- }
54
- throw new Error(`Encountered unexpected token when parsing type args for ${str}`);
55
- }
56
- static parseStructTypeArgs(str, normalizeAddress = false) {
57
- // split `str` by all `,` outside angle brackets
58
- const tok = [];
59
- let word = '';
60
- let nestedAngleBrackets = 0;
61
- for (let i = 0; i < str.length; i++) {
62
- const char = str[i];
63
- if (char === '<') {
64
- nestedAngleBrackets++;
65
- }
66
- if (char === '>') {
67
- nestedAngleBrackets--;
68
- }
69
- if (nestedAngleBrackets === 0 && char === ',') {
70
- tok.push(word.trim());
71
- word = '';
72
- continue;
73
- }
74
- word += char;
75
- }
76
- tok.push(word.trim());
77
- return tok.map((tok) => TypeTagSerializer.parseFromStr(tok, normalizeAddress));
78
- }
79
- static tagToString(tag) {
80
- if ('bool' in tag) {
81
- return 'bool';
82
- }
83
- if ('u8' in tag) {
84
- return 'u8';
85
- }
86
- if ('u16' in tag) {
87
- return 'u16';
88
- }
89
- if ('u32' in tag) {
90
- return 'u32';
91
- }
92
- if ('u64' in tag) {
93
- return 'u64';
94
- }
95
- if ('u128' in tag) {
96
- return 'u128';
97
- }
98
- if ('u256' in tag) {
99
- return 'u256';
100
- }
101
- if ('address' in tag) {
102
- return 'address';
103
- }
104
- if ('signer' in tag) {
105
- return 'signer';
106
- }
107
- if ('vector' in tag) {
108
- return `vector<${TypeTagSerializer.tagToString(tag.vector)}>`;
109
- }
110
- if ('struct' in tag) {
111
- const struct = tag.struct;
112
- const typeParams = struct.typeParams.map(TypeTagSerializer.tagToString).join(', ');
113
- return `${struct.address}::${struct.module}::${struct.name}${typeParams ? `<${typeParams}>` : ''}`;
114
- }
115
- throw new Error('Invalid TypeTag');
116
- }
117
- }
118
- exports.TypeTagSerializer = TypeTagSerializer;
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS10YWctc2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL2J1aWxkZXIvdHlwZS10YWctc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvQ0FBd0Q7QUFFeEQsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUM7QUFDdEMsTUFBTSxZQUFZLEdBQUcscUNBQXFDLENBQUM7QUFFM0QsTUFBYSxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFXLEVBQUUsZ0JBQWdCLEdBQUcsS0FBSztRQUN2RCxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUMxQjthQUFNLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtZQUN6QixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDckI7YUFBTSxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUU7WUFDeEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN0QjthQUFNLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRTtZQUN4QixPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDdEI7YUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUU7WUFDekIsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN2QjthQUFNLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtZQUN6QixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDekI7UUFDRCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVDLElBQUksV0FBVyxFQUFFO1lBQ2YsT0FBTztnQkFDTCxNQUFNLEVBQUUsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQzthQUN6RSxDQUFDO1NBQ0g7UUFFRCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVDLElBQUksV0FBVyxFQUFFO1lBQ2YsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLDJCQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEYsT0FBTztnQkFDTCxNQUFNLEVBQUU7b0JBQ04sT0FBTztvQkFDUCxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDdEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLFVBQVUsRUFDUixXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDOUc7YUFDRixDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBVyxFQUFFLGdCQUFnQixHQUFHLEtBQUs7UUFDOUQsZ0RBQWdEO1FBQ2hELE1BQU0sR0FBRyxHQUFrQixFQUFFLENBQUM7UUFDOUIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDaEIsbUJBQW1CLEVBQUUsQ0FBQzthQUN2QjtZQUNELElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDaEIsbUJBQW1CLEVBQUUsQ0FBQzthQUN2QjtZQUNELElBQUksbUJBQW1CLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQzdDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1YsU0FBUzthQUNWO1lBQ0QsSUFBSSxJQUFJLElBQUksQ0FBQztTQUNkO1FBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQVk7UUFDN0IsSUFBSSxNQUFNLElBQUksR0FBRyxFQUFFO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLElBQUksSUFBSSxHQUFHLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUU7WUFDaEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtZQUNoQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxNQUFNLElBQUksR0FBRyxFQUFFO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLE1BQU0sSUFBSSxHQUFHLEVBQUU7WUFDakIsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELElBQUksU0FBUyxJQUFJLEdBQUcsRUFBRTtZQUNwQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELElBQUksUUFBUSxJQUFJLEdBQUcsRUFBRTtZQUNuQixPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUNELElBQUksUUFBUSxJQUFJLEdBQUcsRUFBRTtZQUNuQixPQUFPLFVBQVUsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1NBQy9EO1FBQ0QsSUFBSSxRQUFRLElBQUksR0FBRyxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7WUFDMUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25GLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQ3BHO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQTdHRCw4Q0E2R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBub3JtYWxpemVTdWlBZGRyZXNzLCBUeXBlVGFnIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBWRUNUT1JfUkVHRVggPSAvXnZlY3RvcjwoLispPiQvO1xuY29uc3QgU1RSVUNUX1JFR0VYID0gL14oW146XSspOjooW146XSspOjooW148XSspKDwoLispPik/LztcblxuZXhwb3J0IGNsYXNzIFR5cGVUYWdTZXJpYWxpemVyIHtcbiAgc3RhdGljIHBhcnNlRnJvbVN0cihzdHI6IHN0cmluZywgbm9ybWFsaXplQWRkcmVzcyA9IGZhbHNlKTogVHlwZVRhZyB7XG4gICAgaWYgKHN0ciA9PT0gJ2FkZHJlc3MnKSB7XG4gICAgICByZXR1cm4geyBhZGRyZXNzOiBudWxsIH07XG4gICAgfSBlbHNlIGlmIChzdHIgPT09ICdib29sJykge1xuICAgICAgcmV0dXJuIHsgYm9vbDogbnVsbCB9O1xuICAgIH0gZWxzZSBpZiAoc3RyID09PSAndTgnKSB7XG4gICAgICByZXR1cm4geyB1ODogbnVsbCB9O1xuICAgIH0gZWxzZSBpZiAoc3RyID09PSAndTE2Jykge1xuICAgICAgcmV0dXJuIHsgdTE2OiBudWxsIH07XG4gICAgfSBlbHNlIGlmIChzdHIgPT09ICd1MzInKSB7XG4gICAgICByZXR1cm4geyB1MzI6IG51bGwgfTtcbiAgICB9IGVsc2UgaWYgKHN0ciA9PT0gJ3U2NCcpIHtcbiAgICAgIHJldHVybiB7IHU2NDogbnVsbCB9O1xuICAgIH0gZWxzZSBpZiAoc3RyID09PSAndTEyOCcpIHtcbiAgICAgIHJldHVybiB7IHUxMjg6IG51bGwgfTtcbiAgICB9IGVsc2UgaWYgKHN0ciA9PT0gJ3UyNTYnKSB7XG4gICAgICByZXR1cm4geyB1MjU2OiBudWxsIH07XG4gICAgfSBlbHNlIGlmIChzdHIgPT09ICdzaWduZXInKSB7XG4gICAgICByZXR1cm4geyBzaWduZXI6IG51bGwgfTtcbiAgICB9XG4gICAgY29uc3QgdmVjdG9yTWF0Y2ggPSBzdHIubWF0Y2goVkVDVE9SX1JFR0VYKTtcbiAgICBpZiAodmVjdG9yTWF0Y2gpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZlY3RvcjogVHlwZVRhZ1NlcmlhbGl6ZXIucGFyc2VGcm9tU3RyKHZlY3Rvck1hdGNoWzFdLCBub3JtYWxpemVBZGRyZXNzKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3Qgc3RydWN0TWF0Y2ggPSBzdHIubWF0Y2goU1RSVUNUX1JFR0VYKTtcbiAgICBpZiAoc3RydWN0TWF0Y2gpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBub3JtYWxpemVBZGRyZXNzID8gbm9ybWFsaXplU3VpQWRkcmVzcyhzdHJ1Y3RNYXRjaFsxXSkgOiBzdHJ1Y3RNYXRjaFsxXTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0cnVjdDoge1xuICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgbW9kdWxlOiBzdHJ1Y3RNYXRjaFsyXSxcbiAgICAgICAgICBuYW1lOiBzdHJ1Y3RNYXRjaFszXSxcbiAgICAgICAgICB0eXBlUGFyYW1zOlxuICAgICAgICAgICAgc3RydWN0TWF0Y2hbNV0gPT09IHVuZGVmaW5lZCA/IFtdIDogVHlwZVRhZ1NlcmlhbGl6ZXIucGFyc2VTdHJ1Y3RUeXBlQXJncyhzdHJ1Y3RNYXRjaFs1XSwgbm9ybWFsaXplQWRkcmVzcyksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgRW5jb3VudGVyZWQgdW5leHBlY3RlZCB0b2tlbiB3aGVuIHBhcnNpbmcgdHlwZSBhcmdzIGZvciAke3N0cn1gKTtcbiAgfVxuXG4gIHN0YXRpYyBwYXJzZVN0cnVjdFR5cGVBcmdzKHN0cjogc3RyaW5nLCBub3JtYWxpemVBZGRyZXNzID0gZmFsc2UpOiBUeXBlVGFnW10ge1xuICAgIC8vIHNwbGl0IGBzdHJgIGJ5IGFsbCBgLGAgb3V0c2lkZSBhbmdsZSBicmFja2V0c1xuICAgIGNvbnN0IHRvazogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGxldCB3b3JkID0gJyc7XG4gICAgbGV0IG5lc3RlZEFuZ2xlQnJhY2tldHMgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjaGFyID0gc3RyW2ldO1xuICAgICAgaWYgKGNoYXIgPT09ICc8Jykge1xuICAgICAgICBuZXN0ZWRBbmdsZUJyYWNrZXRzKys7XG4gICAgICB9XG4gICAgICBpZiAoY2hhciA9PT0gJz4nKSB7XG4gICAgICAgIG5lc3RlZEFuZ2xlQnJhY2tldHMtLTtcbiAgICAgIH1cbiAgICAgIGlmIChuZXN0ZWRBbmdsZUJyYWNrZXRzID09PSAwICYmIGNoYXIgPT09ICcsJykge1xuICAgICAgICB0b2sucHVzaCh3b3JkLnRyaW0oKSk7XG4gICAgICAgIHdvcmQgPSAnJztcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICB3b3JkICs9IGNoYXI7XG4gICAgfVxuXG4gICAgdG9rLnB1c2god29yZC50cmltKCkpO1xuXG4gICAgcmV0dXJuIHRvay5tYXAoKHRvaykgPT4gVHlwZVRhZ1NlcmlhbGl6ZXIucGFyc2VGcm9tU3RyKHRvaywgbm9ybWFsaXplQWRkcmVzcykpO1xuICB9XG5cbiAgc3RhdGljIHRhZ1RvU3RyaW5nKHRhZzogVHlwZVRhZyk6IHN0cmluZyB7XG4gICAgaWYgKCdib29sJyBpbiB0YWcpIHtcbiAgICAgIHJldHVybiAnYm9vbCc7XG4gICAgfVxuICAgIGlmICgndTgnIGluIHRhZykge1xuICAgICAgcmV0dXJuICd1OCc7XG4gICAgfVxuICAgIGlmICgndTE2JyBpbiB0YWcpIHtcbiAgICAgIHJldHVybiAndTE2JztcbiAgICB9XG4gICAgaWYgKCd1MzInIGluIHRhZykge1xuICAgICAgcmV0dXJuICd1MzInO1xuICAgIH1cbiAgICBpZiAoJ3U2NCcgaW4gdGFnKSB7XG4gICAgICByZXR1cm4gJ3U2NCc7XG4gICAgfVxuICAgIGlmICgndTEyOCcgaW4gdGFnKSB7XG4gICAgICByZXR1cm4gJ3UxMjgnO1xuICAgIH1cbiAgICBpZiAoJ3UyNTYnIGluIHRhZykge1xuICAgICAgcmV0dXJuICd1MjU2JztcbiAgICB9XG4gICAgaWYgKCdhZGRyZXNzJyBpbiB0YWcpIHtcbiAgICAgIHJldHVybiAnYWRkcmVzcyc7XG4gICAgfVxuICAgIGlmICgnc2lnbmVyJyBpbiB0YWcpIHtcbiAgICAgIHJldHVybiAnc2lnbmVyJztcbiAgICB9XG4gICAgaWYgKCd2ZWN0b3InIGluIHRhZykge1xuICAgICAgcmV0dXJuIGB2ZWN0b3I8JHtUeXBlVGFnU2VyaWFsaXplci50YWdUb1N0cmluZyh0YWcudmVjdG9yKX0+YDtcbiAgICB9XG4gICAgaWYgKCdzdHJ1Y3QnIGluIHRhZykge1xuICAgICAgY29uc3Qgc3RydWN0ID0gdGFnLnN0cnVjdDtcbiAgICAgIGNvbnN0IHR5cGVQYXJhbXMgPSBzdHJ1Y3QudHlwZVBhcmFtcy5tYXAoVHlwZVRhZ1NlcmlhbGl6ZXIudGFnVG9TdHJpbmcpLmpvaW4oJywgJyk7XG4gICAgICByZXR1cm4gYCR7c3RydWN0LmFkZHJlc3N9Ojoke3N0cnVjdC5tb2R1bGV9Ojoke3N0cnVjdC5uYW1lfSR7dHlwZVBhcmFtcyA/IGA8JHt0eXBlUGFyYW1zfT5gIDogJyd9YDtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFR5cGVUYWcnKTtcbiAgfVxufVxuIl19