@bitgo/account-lib 27.9.3 → 27.9.4

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.
package/dist/src/index.js DELETED
@@ -1,390 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Coredao = exports.Oas = exports.zkEth = exports.XRP = exports.Ton = exports.Sui = exports.Opeth = exports.Polyx = exports.Polygon = exports.Bsc = exports.Near = exports.Dot = exports.Ada = exports.Sol = exports.Asi = exports.Initia = exports.Cronos = exports.Mantra = exports.Mon = exports.Baby = exports.Rune = exports.Coreum = exports.Zeta = exports.Islm = exports.Injective = exports.Sei = exports.Hash = exports.Bld = exports.Bera = exports.Tia = exports.AvaxP = exports.Osmo = exports.Atom = exports.Arbeth = exports.Algo = exports.Stx = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.Ed25519KeyDeriver = exports.crypto = exports.Eddsa = exports.Ed25519BIP32 = void 0;
37
- exports.supportedCoins = exports.MIDNIGHT_TNC_HASH = exports.CosmosSharedCoin = exports.Vet = exports.Soneium = exports.Stt = exports.World = exports.Wemix = exports.Xdc = exports.Sgb = exports.EvmCoin = exports.Flr = exports.Icp = exports.Tao = exports.Apechain = exports.Apt = void 0;
38
- exports.getBuilder = getBuilder;
39
- exports.getMessageBuilderFactory = getMessageBuilderFactory;
40
- exports.register = register;
41
- exports.registerMessageBuilderFactory = registerMessageBuilderFactory;
42
- exports.verifyMessage = verifyMessage;
43
- const sdk_core_1 = require("@bitgo/sdk-core");
44
- Object.defineProperty(exports, "Ed25519KeyDeriver", { enumerable: true, get: function () { return sdk_core_1.Ed25519KeyDeriver; } });
45
- Object.defineProperty(exports, "Ed25519BIP32", { enumerable: true, get: function () { return sdk_core_1.Ed25519BIP32; } });
46
- Object.defineProperty(exports, "Eddsa", { enumerable: true, get: function () { return sdk_core_1.Eddsa; } });
47
- const statics_1 = require("@bitgo/statics");
48
- /**
49
- * Deprecated after version 2.19.0
50
- * Retained for short term backwards compatibility - migrate to: @bitgo/sdk-api and @bitgo/sdk-core
51
- */
52
- exports.crypto = sdk_core_1.acountLibCrypto;
53
- /**
54
- * Deprecated after version 2.19.0
55
- * Retained for short term backwards compatibility - migrate to: @bitgo/sdk-api and @bitgo/sdk-core
56
- */
57
- exports.BaseCoin = sdk_core_1.accountLibBaseCoin;
58
- // coins
59
- const Trx = __importStar(require("@bitgo/sdk-coin-trx"));
60
- exports.Trx = Trx;
61
- const sdk_coin_xtz_1 = require("@bitgo/sdk-coin-xtz");
62
- Object.defineProperty(exports, "Xtz", { enumerable: true, get: function () { return sdk_coin_xtz_1.XtzLib; } });
63
- const Eth = __importStar(require("@bitgo/sdk-coin-eth"));
64
- exports.Eth = Eth;
65
- const Etc = __importStar(require("@bitgo/sdk-coin-etc"));
66
- exports.Etc = Etc;
67
- const AvaxC = __importStar(require("@bitgo/sdk-coin-avaxc"));
68
- exports.AvaxC = AvaxC;
69
- const Rbtc = __importStar(require("@bitgo/sdk-coin-rbtc"));
70
- exports.Rbtc = Rbtc;
71
- const Celo = __importStar(require("@bitgo/sdk-coin-celo"));
72
- exports.Celo = Celo;
73
- const Hbar = __importStar(require("@bitgo/sdk-coin-hbar"));
74
- exports.Hbar = Hbar;
75
- const sdk_coin_cspr_1 = require("@bitgo/sdk-coin-cspr");
76
- Object.defineProperty(exports, "Cspr", { enumerable: true, get: function () { return sdk_coin_cspr_1.CsprLib; } });
77
- const sdk_coin_stx_1 = require("@bitgo/sdk-coin-stx");
78
- Object.defineProperty(exports, "Stx", { enumerable: true, get: function () { return sdk_coin_stx_1.StxLib; } });
79
- const sdk_coin_algo_1 = require("@bitgo/sdk-coin-algo");
80
- Object.defineProperty(exports, "Algo", { enumerable: true, get: function () { return sdk_coin_algo_1.AlgoLib; } });
81
- const Arbeth = __importStar(require("@bitgo/sdk-coin-arbeth"));
82
- exports.Arbeth = Arbeth;
83
- const Atom = __importStar(require("@bitgo/sdk-coin-atom"));
84
- exports.Atom = Atom;
85
- const Osmo = __importStar(require("@bitgo/sdk-coin-osmo"));
86
- exports.Osmo = Osmo;
87
- const sdk_coin_avaxp_1 = require("@bitgo/sdk-coin-avaxp");
88
- Object.defineProperty(exports, "AvaxP", { enumerable: true, get: function () { return sdk_coin_avaxp_1.AvaxpLib; } });
89
- const Tia = __importStar(require("@bitgo/sdk-coin-tia"));
90
- exports.Tia = Tia;
91
- const Bera = __importStar(require("@bitgo/sdk-coin-bera"));
92
- exports.Bera = Bera;
93
- const Bld = __importStar(require("@bitgo/sdk-coin-bld"));
94
- exports.Bld = Bld;
95
- const Hash = __importStar(require("@bitgo/sdk-coin-hash"));
96
- exports.Hash = Hash;
97
- const Sei = __importStar(require("@bitgo/sdk-coin-sei"));
98
- exports.Sei = Sei;
99
- const Injective = __importStar(require("@bitgo/sdk-coin-injective"));
100
- exports.Injective = Injective;
101
- const Islm = __importStar(require("@bitgo/sdk-coin-islm"));
102
- exports.Islm = Islm;
103
- const Zeta = __importStar(require("@bitgo/sdk-coin-zeta"));
104
- exports.Zeta = Zeta;
105
- const Coreum = __importStar(require("@bitgo/sdk-coin-coreum"));
106
- exports.Coreum = Coreum;
107
- const Rune = __importStar(require("@bitgo/sdk-coin-rune"));
108
- exports.Rune = Rune;
109
- const Baby = __importStar(require("@bitgo/sdk-coin-baby"));
110
- exports.Baby = Baby;
111
- const Mon = __importStar(require("@bitgo/sdk-coin-mon"));
112
- exports.Mon = Mon;
113
- const Mantra = __importStar(require("@bitgo/sdk-coin-mantra"));
114
- exports.Mantra = Mantra;
115
- const Cronos = __importStar(require("@bitgo/sdk-coin-cronos"));
116
- exports.Cronos = Cronos;
117
- const Initia = __importStar(require("@bitgo/sdk-coin-initia"));
118
- exports.Initia = Initia;
119
- const Asi = __importStar(require("@bitgo/sdk-coin-asi"));
120
- exports.Asi = Asi;
121
- const Sol = __importStar(require("@bitgo/sdk-coin-sol"));
122
- exports.Sol = Sol;
123
- const Ada = __importStar(require("@bitgo/sdk-coin-ada"));
124
- exports.Ada = Ada;
125
- const Dot = __importStar(require("@bitgo/sdk-coin-dot"));
126
- exports.Dot = Dot;
127
- const Near = __importStar(require("@bitgo/sdk-coin-near"));
128
- exports.Near = Near;
129
- const Bsc = __importStar(require("@bitgo/sdk-coin-bsc"));
130
- exports.Bsc = Bsc;
131
- const Polygon = __importStar(require("@bitgo/sdk-coin-polygon"));
132
- exports.Polygon = Polygon;
133
- const Polyx = __importStar(require("@bitgo/sdk-coin-polyx"));
134
- exports.Polyx = Polyx;
135
- const Opeth = __importStar(require("@bitgo/sdk-coin-opeth"));
136
- exports.Opeth = Opeth;
137
- const Sui = __importStar(require("@bitgo/sdk-coin-sui"));
138
- exports.Sui = Sui;
139
- const Ton = __importStar(require("@bitgo/sdk-coin-ton"));
140
- exports.Ton = Ton;
141
- const XRP = __importStar(require("@bitgo/sdk-coin-xrp"));
142
- exports.XRP = XRP;
143
- const zkEth = __importStar(require("@bitgo/sdk-coin-zketh"));
144
- exports.zkEth = zkEth;
145
- const Oas = __importStar(require("@bitgo/sdk-coin-oas"));
146
- exports.Oas = Oas;
147
- const Coredao = __importStar(require("@bitgo/sdk-coin-coredao"));
148
- exports.Coredao = Coredao;
149
- const Apt = __importStar(require("@bitgo/sdk-coin-apt"));
150
- exports.Apt = Apt;
151
- const Apechain = __importStar(require("@bitgo/sdk-coin-apechain"));
152
- exports.Apechain = Apechain;
153
- const Tao = __importStar(require("@bitgo/sdk-coin-tao"));
154
- exports.Tao = Tao;
155
- const Icp = __importStar(require("@bitgo/sdk-coin-icp"));
156
- exports.Icp = Icp;
157
- const Flr = __importStar(require("@bitgo/sdk-coin-flr"));
158
- exports.Flr = Flr;
159
- const EvmCoin = __importStar(require("@bitgo/sdk-coin-evm"));
160
- exports.EvmCoin = EvmCoin;
161
- const Sgb = __importStar(require("@bitgo/sdk-coin-sgb"));
162
- exports.Sgb = Sgb;
163
- const Xdc = __importStar(require("@bitgo/sdk-coin-xdc"));
164
- exports.Xdc = Xdc;
165
- const Wemix = __importStar(require("@bitgo/sdk-coin-wemix"));
166
- exports.Wemix = Wemix;
167
- const World = __importStar(require("@bitgo/sdk-coin-world"));
168
- exports.World = World;
169
- const Stt = __importStar(require("@bitgo/sdk-coin-stt"));
170
- exports.Stt = Stt;
171
- const Soneium = __importStar(require("@bitgo/sdk-coin-soneium"));
172
- exports.Soneium = Soneium;
173
- const Vet = __importStar(require("@bitgo/sdk-coin-vet"));
174
- exports.Vet = Vet;
175
- const CosmosSharedCoin = __importStar(require("@bitgo/sdk-coin-cosmos"));
176
- exports.CosmosSharedCoin = CosmosSharedCoin;
177
- const utils_1 = require("./utils");
178
- Object.defineProperty(exports, "MIDNIGHT_TNC_HASH", { enumerable: true, get: function () { return utils_1.MIDNIGHT_TNC_HASH; } });
179
- const coinBuilderMap = {
180
- trx: Trx.WrappedBuilder,
181
- ttrx: Trx.WrappedBuilder,
182
- xtz: sdk_coin_xtz_1.XtzLib.TransactionBuilder,
183
- txtz: sdk_coin_xtz_1.XtzLib.TransactionBuilder,
184
- etc: Etc.TransactionBuilder,
185
- tetc: Etc.TransactionBuilder,
186
- eth: Eth.TransactionBuilder,
187
- teth: Eth.TransactionBuilder,
188
- gteth: Eth.TransactionBuilder,
189
- hteth: Eth.TransactionBuilder,
190
- rbtc: Rbtc.TransactionBuilder,
191
- trbtc: Rbtc.TransactionBuilder,
192
- celo: Celo.TransactionBuilder,
193
- tcelo: Celo.TestnetTransactionBuilder,
194
- avaxc: AvaxC.TransactionBuilder,
195
- tavaxc: AvaxC.TransactionBuilder,
196
- bsc: Bsc.TransactionBuilder,
197
- tbsc: Bsc.TransactionBuilder,
198
- avaxp: sdk_coin_avaxp_1.AvaxpLib.TransactionBuilderFactory,
199
- tavaxp: sdk_coin_avaxp_1.AvaxpLib.TransactionBuilderFactory,
200
- hbar: Hbar.TransactionBuilderFactory,
201
- thbar: Hbar.TransactionBuilderFactory,
202
- cspr: sdk_coin_cspr_1.CsprLib.TransactionBuilderFactory,
203
- tcspr: sdk_coin_cspr_1.CsprLib.TransactionBuilderFactory,
204
- stx: sdk_coin_stx_1.StxLib.TransactionBuilderFactory,
205
- tstx: sdk_coin_stx_1.StxLib.TransactionBuilderFactory,
206
- algo: sdk_coin_algo_1.AlgoLib.TransactionBuilderFactory,
207
- talgo: sdk_coin_algo_1.AlgoLib.TransactionBuilderFactory,
208
- sol: Sol.TransactionBuilderFactory,
209
- tsol: Sol.TransactionBuilderFactory,
210
- dot: Dot.TransactionBuilderFactory,
211
- tdot: Dot.TransactionBuilderFactory,
212
- near: Near.TransactionBuilderFactory,
213
- polygon: Polygon.TransactionBuilder,
214
- tpolygon: Polygon.TransactionBuilder,
215
- sui: Sui.TransactionBuilderFactory,
216
- tsui: Sui.TransactionBuilderFactory,
217
- tia: Tia.TransactionBuilderFactory,
218
- ttia: Tia.TransactionBuilderFactory,
219
- atom: Atom.TransactionBuilderFactory,
220
- tatom: Atom.TransactionBuilderFactory,
221
- osmo: Osmo.TransactionBuilderFactory,
222
- tosmo: Osmo.TransactionBuilderFactory,
223
- bld: Bld.TransactionBuilderFactory,
224
- tbld: Bld.TransactionBuilderFactory,
225
- hash: Hash.TransactionBuilderFactory,
226
- thash: Hash.TransactionBuilderFactory,
227
- sei: Sei.TransactionBuilderFactory,
228
- tsei: Sei.TransactionBuilderFactory,
229
- injective: Injective.TransactionBuilderFactory,
230
- tinjective: Injective.TransactionBuilderFactory,
231
- zeta: Zeta.TransactionBuilderFactory,
232
- tzeta: Zeta.TransactionBuilderFactory,
233
- islm: Islm.TransactionBuilderFactory,
234
- tislm: Islm.TransactionBuilderFactory,
235
- coreum: Coreum.TransactionBuilderFactory,
236
- tcoreum: Coreum.TransactionBuilderFactory,
237
- arbeth: Arbeth.TransactionBuilder,
238
- tarbeth: Arbeth.TransactionBuilder,
239
- opeth: Opeth.TransactionBuilder,
240
- topeth: Opeth.TransactionBuilder,
241
- ton: Ton.TransactionBuilder,
242
- tton: Ton.TransactionBuilder,
243
- zketh: zkEth.TransactionBuilder,
244
- tzketh: zkEth.TransactionBuilder,
245
- bera: Bera.TransactionBuilder,
246
- tbera: Bera.TransactionBuilder,
247
- rune: Rune.TransactionBuilderFactory,
248
- trune: Rune.TransactionBuilderFactory,
249
- oas: Oas.TransactionBuilder,
250
- toas: Oas.TransactionBuilder,
251
- coredao: Coredao.TransactionBuilder,
252
- tcoredao: Coredao.TransactionBuilder,
253
- apechain: Apechain.TransactionBuilder,
254
- tapechain: Apechain.TransactionBuilder,
255
- apt: Apt.TransactionBuilder,
256
- tapt: Apt.TransactionBuilder,
257
- tao: Tao.TransactionBuilderFactory,
258
- ttao: Tao.TransactionBuilderFactory,
259
- icp: Icp.TransactionBuilder,
260
- ticp: Icp.TransactionBuilder,
261
- baby: Baby.TransactionBuilder,
262
- tbaby: Baby.TransactionBuilder,
263
- cronos: Cronos.TransactionBuilder,
264
- tcronos: Cronos.TransactionBuilder,
265
- initia: Initia.TransactionBuilder,
266
- tinitia: Initia.TransactionBuilder,
267
- asi: Asi.TransactionBuilder,
268
- tasi: Asi.TransactionBuilder,
269
- flr: Flr.TransactionBuilder,
270
- tflr: Flr.TransactionBuilder,
271
- sgb: Sgb.TransactionBuilder,
272
- tsgb: Sgb.TransactionBuilder,
273
- xdc: Xdc.TransactionBuilder,
274
- txdc: Xdc.TransactionBuilder,
275
- wemix: Wemix.TransactionBuilder,
276
- twemix: Wemix.TransactionBuilder,
277
- mantra: Mantra.TransactionBuilder,
278
- tmantra: Mantra.TransactionBuilder,
279
- mon: Mon.TransactionBuilder,
280
- tmon: Mon.TransactionBuilder,
281
- world: World.TransactionBuilder,
282
- tworld: World.TransactionBuilder,
283
- stt: Stt.TransactionBuilder,
284
- tstt: Stt.TransactionBuilder,
285
- soneium: Soneium.TransactionBuilder,
286
- tsoneium: Soneium.TransactionBuilder,
287
- polyx: Polyx.TransactionBuilderFactory,
288
- tpolyx: Polyx.TransactionBuilderFactory,
289
- vet: Vet.TransactionBuilderFactory,
290
- tvet: Vet.TransactionBuilderFactory,
291
- };
292
- const coinMessageBuilderFactoryMap = {
293
- eth: Eth.MessageBuilderFactory,
294
- hteth: Eth.MessageBuilderFactory,
295
- bsc: Bsc.MessageBuilderFactory,
296
- tbsc: Bsc.MessageBuilderFactory,
297
- ada: Ada.MessageBuilderFactory,
298
- tada: Ada.MessageBuilderFactory,
299
- sol: Sol.MessageBuilderFactory,
300
- tsol: Sol.MessageBuilderFactory,
301
- };
302
- statics_1.coins
303
- .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK))
304
- .forEach((coin) => {
305
- coinBuilderMap[coin.name] = EvmCoin.TransactionBuilder;
306
- });
307
- statics_1.coins
308
- .filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_COSMOS_SDK))
309
- .forEach((coin) => {
310
- coinBuilderMap[coin.name] = CosmosSharedCoin.TransactionBuilder;
311
- });
312
- /**
313
- * Get the list of coin tickers supported by this library.
314
- */
315
- exports.supportedCoins = Object.keys(coinBuilderMap);
316
- /**
317
- * Get a transaction builder for the given coin.
318
- *
319
- * @param {string} coinName One of the {@code supportedCoins}
320
- * @returns {any} An instance of a {@code TransactionBuilder}
321
- */
322
- function getBuilder(coinName) {
323
- const builderClass = coinBuilderMap[coinName];
324
- if (!builderClass) {
325
- throw new sdk_core_1.BuildTransactionError(`Coin ${coinName} not supported`);
326
- }
327
- return new builderClass(statics_1.coins.get(coinName));
328
- }
329
- function getMessageBuilderFactory(coinName) {
330
- const messageBuilderFactoryClass = coinMessageBuilderFactoryMap[coinName];
331
- if (!messageBuilderFactoryClass) {
332
- throw new sdk_core_1.BuildMessageError(`Message builder factory for coin ${coinName} not supported`);
333
- }
334
- return new messageBuilderFactoryClass(statics_1.coins.get(coinName));
335
- }
336
- /**
337
- * Register a new coin instance with its builder factory
338
- *
339
- * @param {string} coinName coin name as it was registered in @bitgo/statics
340
- * @param {any} builderFactory the builder factory class for that coin
341
- * @returns {any} the factory instance for the registered coin
342
- */
343
- function register(coinName, builderFactory) {
344
- const coinConfig = statics_1.coins.get(coinName);
345
- const factory = new builderFactory(coinConfig);
346
- // coinBuilderMap[coinName] = factory;
347
- coinBuilderMap[coinName] = builderFactory; // For now register the constructor function until reimplement getBuilder method
348
- return factory;
349
- }
350
- /**
351
- * Register a new coin instance with its message builder factory constructor.
352
- *
353
- * @param {string} coinName coin name as it was registered in @bitgo/statics
354
- * @param {any} messageBuilderFactory the message builder factory class for that coin
355
- * @returns {any} the message builder factory instance for the registered coin
356
- */
357
- function registerMessageBuilderFactory(coinName, messageBuilderFactory) {
358
- const coinConfig = statics_1.coins.get(coinName);
359
- const factory = new messageBuilderFactory(coinConfig);
360
- coinMessageBuilderFactoryMap[coinName] = messageBuilderFactory;
361
- return factory;
362
- }
363
- /**
364
- * Verify a message against the given encoded payload.
365
- *
366
- * @param {string} coinName - The name of the coin.
367
- * @param {string} messageRaw - The raw message to verify.
368
- * @param {string} messageEncoded - The encoded message to verify against.
369
- * @param {MessageStandardType} messageStandardType - The type of message standard.
370
- * @param {Record<string, unknown>} [metadata] - Optional metadata for verification.
371
- * @returns {Promise<boolean>} - Returns true if the verification is successful, false otherwise.
372
- */
373
- async function verifyMessage(coinName, messageRaw, messageEncoded, messageStandardType, metadata) {
374
- try {
375
- const messageBuilderFactory = getMessageBuilderFactory(coinName);
376
- const messageBuilder = messageBuilderFactory.getMessageBuilder(messageStandardType);
377
- messageBuilder.setPayload(messageRaw);
378
- const message = await messageBuilder.build();
379
- const isValidMessageEncoded = await message.verifyEncodedPayload(messageEncoded, metadata);
380
- if (!isValidMessageEncoded) {
381
- return false;
382
- }
383
- return (0, utils_1.validateAgainstMessageTemplates)(messageRaw);
384
- }
385
- catch (e) {
386
- console.error(`Error verifying message for coin ${coinName}:`, e);
387
- return false;
388
- }
389
- }
390
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVXQSxnQ0FPQztBQUVELDREQU1DO0FBU0QsNEJBU0M7QUFTRCxzRUFRQztBQVlELHNDQXFCQztBQTFiRCw4Q0FZeUI7QUFVaEIsa0dBbEJQLDRCQUFpQixPQWtCTztBQVJqQiw2RkFUUCx1QkFBWSxPQVNPO0FBQUUsc0ZBUnJCLGdCQUFLLE9BUXFCO0FBRDVCLDRDQUE0RTtBQUc1RTs7O0dBR0c7QUFDVSxRQUFBLE1BQU0sR0FBRywwQkFBZSxDQUFDO0FBSXRDOzs7R0FHRztBQUNVLFFBQUEsUUFBUSxHQUFHLDZCQUFrQixDQUFDO0FBRTNDLFFBQVE7QUFDUix5REFBMkM7QUFDbEMsa0JBQUc7QUFFWixzREFBb0Q7QUFDM0Msb0ZBRFUscUJBQUcsT0FDVjtBQUVaLHlEQUEyQztBQUNsQyxrQkFBRztBQUVaLHlEQUEyQztBQUNsQyxrQkFBRztBQUVaLDZEQUErQztBQUN0QyxzQkFBSztBQUVkLDJEQUE2QztBQUNwQyxvQkFBSTtBQUViLDJEQUE2QztBQUNwQyxvQkFBSTtBQUViLDJEQUE2QztBQUNwQyxvQkFBSTtBQUViLHdEQUF1RDtBQUM5QyxxRkFEVyx1QkFBSSxPQUNYO0FBRWIsc0RBQW9EO0FBQzNDLG9GQURVLHFCQUFHLE9BQ1Y7QUFFWix3REFBdUQ7QUFDOUMscUZBRFcsdUJBQUksT0FDWDtBQUViLCtEQUFpRDtBQUN4Qyx3QkFBTTtBQUVmLDJEQUE2QztBQUNwQyxvQkFBSTtBQUViLDJEQUE2QztBQUNwQyxvQkFBSTtBQUViLDBEQUEwRDtBQUNqRCxzRkFEWSx5QkFBSyxPQUNaO0FBRWQseURBQTJDO0FBQ2xDLGtCQUFHO0FBRVosMkRBQTZDO0FBQ3BDLG9CQUFJO0FBRWIseURBQTJDO0FBQ2xDLGtCQUFHO0FBRVosMkRBQTZDO0FBQ3BD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LEVBQUUsU0FBUyxDQUFDLHlCQUF5QjtJQUMvQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxNQUFNLEVBQUUsTUFBTSxDQUFDLHlCQUF5QjtJQUN4QyxPQUFPLEVBQUUsTUFBTSxDQUFDLHlCQUF5QjtJQUN6QyxNQUFNLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNqQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNsQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixPQUFPLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtJQUNuQyxRQUFRLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtJQUNwQyxRQUFRLEVBQUUsUUFBUSxDQUFDLGtCQUFrQjtJQUNyQyxTQUFTLEVBQUUsUUFBUSxDQUFDLGtCQUFrQjtJQUN0QyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM5QixNQUFNLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNqQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNsQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNqQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNsQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNqQyxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtJQUNsQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtC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Y2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQnVpbGRlcixcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgRWQyNTUxOUtleURlcml2ZXIsXG4gIEVkMjU1MTlCSVAzMixcbiAgRWRkc2EsXG4gIGFjY291bnRMaWJCYXNlQ29pbixcbiAgYWNvdW50TGliQ3J5cHRvLFxuICBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxuICBCdWlsZE1lc3NhZ2VFcnJvcixcbiAgTWVzc2FnZVN0YW5kYXJkVHlwZSxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIENvaW5GZWF0dXJlLCBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmV4cG9ydCB7IEVkMjU1MTlCSVAzMiwgRWRkc2EgfTtcblxuLyoqXG4gKiBEZXByZWNhdGVkIGFmdGVyIHZlcnNpb24gMi4xOS4wXG4gKiBSZXRhaW5lZCBmb3Igc2hvcnQgdGVybSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAtIG1pZ3JhdGUgdG86IEBiaXRnby9zZGstYXBpIGFuZCBAYml0Z28vc2RrLWNvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IGNyeXB0byA9IGFjb3VudExpYkNyeXB0bztcblxuZXhwb3J0IHsgRWQyNTUxOUtleURlcml2ZXIgfTtcblxuLyoqXG4gKiBEZXByZWNhdGVkIGFmdGVyIHZlcnNpb24gMi4xOS4wXG4gKiBSZXRhaW5lZCBmb3Igc2hvcnQgdGVybSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAtIG1pZ3JhdGUgdG86IEBiaXRnby9zZGstYXBpIGFuZCBAYml0Z28vc2RrLWNvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDb2luID0gYWNjb3VudExpYkJhc2VDb2luO1xuXG4vLyBjb2luc1xuaW1wb3J0ICogYXMgVHJ4IGZyb20gJ0BiaXRnby9zZGstY29pbi10cngnO1xuZXhwb3J0IHsgVHJ4IH07XG5cbmltcG9ydCB7IFh0ekxpYiBhcyBYdHogfSBmcm9tICdAYml0Z28vc2RrLWNvaW4teHR6JztcbmV4cG9ydCB7IFh0eiB9O1xuXG5pbXBvcnQgKiBhcyBFdGggZnJvbSAnQGJpdGdvL3Nkay1jb2luLWV0aCc7XG5leHBvcnQgeyBFdGggfTtcblxuaW1wb3J0ICogYXMgRXRjIGZyb20gJ0BiaXRnby9zZGstY29pbi1ldGMnO1xuZXhwb3J0IHsgRXRjIH07XG5cbmltcG9ydCAqIGFzIEF2YXhDIGZyb20gJ0BiaXRnby9zZGstY29pbi1hdmF4Yyc7XG5leHBvcnQgeyBBdmF4QyB9O1xuXG5pbXBvcnQgKiBhcyBSYnRjIGZyb20gJ0BiaXRnby9zZGstY29pbi1yYnRjJztcbmV4cG9ydCB7IFJidGMgfTtcblxuaW1wb3J0ICogYXMgQ2VsbyBmcm9tICdAYml0Z28vc2RrLWNvaW4tY2Vsbyc7XG5leHBvcnQgeyBDZWxvIH07XG5cbmltcG9ydCAqIGFzIEhiYXIgZnJvbSAnQGJpdGdvL3Nkay1jb2luLWhiYXInO1xuZXhwb3J0IHsgSGJhciB9O1xuXG5pbXBvcnQgeyBDc3ByTGliIGFzIENzcHIgfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tY3Nwcic7XG5leHBvcnQgeyBDc3ByIH07XG5cbmltcG9ydCB7IFN0eExpYiBhcyBTdHggfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tc3R4JztcbmV4cG9ydCB7IFN0eCB9O1xuXG5pbXBvcnQgeyBBbGdvTGliIGFzIEFsZ28gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tYWxnbyc7XG5leHBvcnQgeyBBbGdvIH07XG5cbmltcG9ydCAqIGFzIEFyYmV0aCBmcm9tICdAYml0Z28vc2RrLWNvaW4tYXJiZXRoJztcbmV4cG9ydCB7IEFyYmV0aCB9O1xuXG5pbXBvcnQgKiBhcyBBdG9tIGZyb20gJ0BiaXRnby9zZGstY29pbi1hdG9tJztcbmV4cG9ydCB7IEF0b20gfTtcblxuaW1wb3J0ICogYXMgT3NtbyBmcm9tICdAYml0Z28vc2RrLWNvaW4tb3Ntbyc7XG5leHBvcnQgeyBPc21vIH07XG5cbmltcG9ydCB7IEF2YXhwTGliIGFzIEF2YXhQIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWF2YXhwJztcbmV4cG9ydCB7IEF2YXhQIH07XG5cbmltcG9ydCAqIGFzIFRpYSBmcm9tICdAYml0Z28vc2RrLWNvaW4tdGlhJztcbmV4cG9ydCB7IFRpYSB9O1xuXG5pbXBvcnQgKiBhcyBCZXJhIGZyb20gJ0BiaXRnby9zZGstY29pbi1iZXJhJztcbmV4cG9ydCB7IEJlcmEgfTtcblxuaW1wb3J0ICogYXMgQmxkIGZyb20gJ0BiaXRnby9zZGstY29pbi1ibGQnO1xuZXhwb3J0IHsgQmxkIH07XG5cbmltcG9ydCAqIGFzIEhhc2ggZnJvbSAnQGJpdGdvL3Nkay1jb2luLWhhc2gnO1xuZXhwb3J0IHsgSGFzaCB9O1xuXG5pbXBvcnQgKiBhcyBTZWkgZnJvbSAnQGJpdGdvL3Nkay1jb2luLXNlaSc7XG5leHBvcnQgeyBTZWkgfTtcblxuaW1wb3J0ICogYXMgSW5qZWN0aXZlIGZyb20gJ0BiaXRnby9zZGstY29pbi1pbmplY3RpdmUnO1xuZXhwb3J0IHsgSW5qZWN0aXZlIH07XG5cbmltcG9ydCAqIGFzIElzbG0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWlzbG0nO1xuZXhwb3J0IHsgSXNsbSB9O1xuXG5pbXBvcnQgKiBhcyBaZXRhIGZyb20gJ0BiaXRnby9zZGstY29pbi16ZXRhJztcbmV4cG9ydCB7IFpldGEgfTtcblxuaW1wb3J0ICogYXMgQ29yZXVtIGZyb20gJ0BiaXRnby9zZGstY29pbi1jb3JldW0nO1xuZXhwb3J0IHsgQ29yZXVtIH07XG5cbmltcG9ydCAqIGFzIFJ1bmUgZnJvbSAnQGJpdGdvL3Nkay1jb2luLXJ1bmUnO1xuZXhwb3J0IHsgUnVuZSB9O1xuXG5pbXBvcnQgKiBhcyBCYWJ5IGZyb20gJ0BiaXRnby9zZGstY29pbi1iYWJ5JztcbmV4cG9ydCB7IEJhYnkgfTtcblxuaW1wb3J0ICogYXMgTW9uIGZyb20gJ0BiaXRnby9zZGstY29pbi1tb24nO1xuZXhwb3J0IHsgTW9uIH07XG5cbmltcG9ydCAqIGFzIE1hbnRyYSBmcm9tICdAYml0Z28vc2RrLWNvaW4tbWFudHJhJztcbmV4cG9ydCB7IE1hbnRyYSB9O1xuXG5pbXBvcnQgKiBhcyBDcm9ub3MgZnJvbSAnQGJpdGdvL3Nkay1jb2luLWNyb25vcyc7XG5leHBvcnQgeyBDcm9ub3MgfTtcblxuaW1wb3J0ICogYXMgSW5pdGlhIGZyb20gJ0BiaXRnby9zZGstY29pbi1pbml0aWEnO1xuZXhwb3J0IHsgSW5pdGlhIH07XG5cbmltcG9ydCAqIGFzIEFzaSBmcm9tICdAYml0Z28vc2RrLWNvaW4tYXNpJztcbmV4cG9ydCB7IEFzaSB9O1xuXG5pbXBvcnQgKiBhcyBTb2wgZnJvbSAnQGJpdGdvL3Nkay1jb2luLXNvbCc7XG5leHBvcnQgeyBTb2wgfTtcblxuaW1wb3J0ICogYXMgQWRhIGZyb20gJ0BiaXRnby9zZGstY29pbi1hZGEnO1xuZXhwb3J0IHsgQWRhIH07XG5cbmltcG9ydCAqIGFzIERvdCBmcm9tICdAYml0Z28vc2RrLWNvaW4tZG90JztcbmV4cG9ydCB7IERvdCB9O1xuXG5pbXBvcnQgKiBhcyBOZWFyIGZyb20gJ0BiaXRnby9zZGstY29pbi1uZWFyJztcbmV4cG9ydCB7IE5lYXIgfTtcblxuaW1wb3J0ICogYXMgQnNjIGZyb20gJ0BiaXRnby9zZGstY29pbi1ic2MnO1xuZXhwb3J0IHsgQnNjIH07XG5cbmltcG9ydCAqIGFzIFBvbHlnb24gZnJvbSAnQGJpdGdvL3Nkay1jb2luLXBvbHlnb24nO1xuZXhwb3J0IHsgUG9seWdvbiB9O1xuXG5pbXBvcnQgKiBhcyBQb2x5eCBmcm9tICdAYml0Z28vc2RrLWNvaW4tcG9seXgnO1xuZXhwb3J0IHsgUG9seXggfTtcblxuaW1wb3J0ICogYXMgT3BldGggZnJvbSAnQGJpdGdvL3Nkay1jb2luLW9wZXRoJztcbmV4cG9ydCB7IE9wZXRoIH07XG5cbmltcG9ydCAqIGFzIFN1aSBmcm9tICdAYml0Z28vc2RrLWNvaW4tc3VpJztcbmV4cG9ydCB7IFN1aSB9O1xuXG5pbXBvcnQgKiBhcyBUb24gZnJvbSAnQGJpdGdvL3Nkay1jb2luLXRvbic7XG5leHBvcnQgeyBUb24gfTtcblxuaW1wb3J0ICogYXMgWFJQIGZyb20gJ0BiaXRnby9zZGstY29pbi14cnAnO1xuZXhwb3J0IHsgWFJQIH07XG5cbmltcG9ydCAqIGFzIHprRXRoIGZyb20gJ0BiaXRnby9zZGstY29pbi16a2V0aCc7XG5leHBvcnQgeyB6a0V0aCB9O1xuXG5pbXBvcnQgKiBhcyBPYXMgZnJvbSAnQGJpdGdvL3Nkay1jb2luLW9hcyc7XG5leHBvcnQgeyBPYXMgfTtcblxuaW1wb3J0ICogYXMgQ29yZWRhbyBmcm9tICdAYml0Z28vc2RrLWNvaW4tY29yZWRhbyc7XG5leHBvcnQgeyBDb3JlZGFvIH07XG5cbmltcG9ydCAqIGFzIEFwdCBmcm9tICdAYml0Z28vc2RrLWNvaW4tYXB0JztcbmV4cG9ydCB7IEFwdCB9O1xuXG5pbXBvcnQgKiBhcyBBcGVjaGFpbiBmcm9tICdAYml0Z28vc2RrLWNvaW4tYXBlY2hhaW4nO1xuZXhwb3J0IHsgQXBlY2hhaW4gfTtcblxuaW1wb3J0ICogYXMgVGFvIGZyb20gJ0BiaXRnby9zZGstY29pbi10YW8nO1xuZXhwb3J0IHsgVGFvIH07XG5cbmltcG9ydCAqIGFzIEljcCBmcm9tICdAYml0Z28vc2RrLWNvaW4taWNwJztcbmV4cG9ydCB7IEljcCB9O1xuXG5pbXBvcnQgKiBhcyBGbHIgZnJvbSAnQGJpdGdvL3Nkay1jb2luLWZscic7XG5leHBvcnQgeyBGbHIgfTtcblxuaW1wb3J0ICogYXMgRXZtQ29pbiBmcm9tICdAYml0Z28vc2RrLWNvaW4tZXZtJztcbmV4cG9ydCB7IEV2bUNvaW4gfTtcblxuaW1wb3J0ICogYXMgU2diIGZyb20gJ0BiaXRnby9zZGstY29pbi1zZ2InO1xuZXhwb3J0IHsgU2diIH07XG5cbmltcG9ydCAqIGFzIFhkYyBmcm9tICdAYml0Z28vc2RrLWNvaW4teGRjJztcbmV4cG9ydCB7IFhkYyB9O1xuXG5pbXBvcnQgKiBhcyBXZW1peCBmcm9tICdAYml0Z28vc2RrLWNvaW4td2VtaXgnO1xuZXhwb3J0IHsgV2VtaXggfTtcblxuaW1wb3J0ICogYXMgV29ybGQgZnJvbSAnQGJpdGdvL3Nkay1jb2luLXdvcmxkJztcbmV4cG9ydCB7IFdvcmxkIH07XG5cbmltcG9ydCAqIGFzIFN0dCBmcm9tICdAYml0Z28vc2RrLWNvaW4tc3R0JztcbmV4cG9ydCB7IFN0dCB9O1xuXG5pbXBvcnQgKiBhcyBTb25laXVtIGZyb20gJ0BiaXRnby9zZGstY29pbi1zb25laXVtJztcbmV4cG9ydCB7IFNvbmVpdW0gfTtcblxuaW1wb3J0ICogYXMgVmV0IGZyb20gJ0BiaXRnby9zZGstY29pbi12ZXQnO1xuZXhwb3J0IHsgVmV0IH07XG5cbmltcG9ydCAqIGFzIENvc21vc1NoYXJlZENvaW4gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWNvc21vcyc7XG5leHBvcnQgeyBDb3Ntb3NTaGFyZWRDb2luIH07XG5cbmltcG9ydCB7IHZhbGlkYXRlQWdhaW5zdE1lc3NhZ2VUZW1wbGF0ZXMsIE1JRE5JR0hUX1ROQ19IQVNIIH0gZnJvbSAnLi91dGlscyc7XG5leHBvcnQgeyBNSUROSUdIVF9UTkNfSEFTSCB9O1xuXG5jb25zdCBjb2luQnVpbGRlck1hcCA9IHtcbiAgdHJ4OiBUcnguV3JhcHBlZEJ1aWxkZXIsXG4gIHR0cng6IFRyeC5XcmFwcGVkQnVpbGRlcixcbiAgeHR6OiBYdHouVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0eHR6OiBYdHouVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBldGM6IEV0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRldGM6IEV0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZ3RldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGh0ZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICByYnRjOiBSYnRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHJidGM6IFJidGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBjZWxvOiBDZWxvLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGNlbG86IENlbG8uVGVzdG5ldFRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheGM6IEF2YXhDLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGF2YXhjOiBBdmF4Qy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheHA6IEF2YXhQLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhdmF4cDogQXZheFAuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHN0eDogU3R4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzdHg6IFN0eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHNvbDogU29sLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzb2w6IFNvbC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBkb3Q6IERvdC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0ZG90OiBEb3QuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgbmVhcjogTmVhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBwb2x5Z29uOiBQb2x5Z29uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHBvbHlnb246IFBvbHlnb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBzdWk6IFN1aS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c3VpOiBTdWkuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGlhOiBUaWEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHRpYTogVGlhLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGF0b206IEF0b20uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGF0b206IEF0b20uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgb3NtbzogT3Ntby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0b3NtbzogT3Ntby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBibGQ6IEJsZC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YmxkOiBCbGQuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaGFzaDogSGFzaC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aGFzaDogSGFzaC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBzZWk6IFNlaS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c2VpOiBTZWkuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaW5qZWN0aXZlOiBJbmplY3RpdmUuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGluamVjdGl2ZTogSW5qZWN0aXZlLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHpldGE6IFpldGEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHpldGE6IFpldGEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgaXNsbTogSXNsbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aXNsbTogSXNsbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBjb3JldW06IENvcmV1bS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0Y29yZXVtOiBDb3JldW0uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYXJiZXRoOiBBcmJldGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YXJiZXRoOiBBcmJldGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBvcGV0aDogT3BldGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0b3BldGg6IE9wZXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdG9uOiBUb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0dG9uOiBUb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB6a2V0aDogemtFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0emtldGg6IHprRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYmVyYTogQmVyYS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRiZXJhOiBCZXJhLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgcnVuZTogUnVuZS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0cnVuZTogUnVuZS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBvYXM6IE9hcy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRvYXM6IE9hcy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGNvcmVkYW86IENvcmVkYW8uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0Y29yZWRhbzogQ29yZWRhby5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGFwZWNoYWluOiBBcGVjaGFpbi5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhcGVjaGFpbjogQXBlY2hhaW4uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBhcHQ6IEFwdC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhcHQ6IEFwdC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhbzogVGFvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHR0YW86IFRhby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBpY3A6IEljcC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRpY3A6IEljcC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGJhYnk6IEJhYnkuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YmFieTogQmFieS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGNyb25vczogQ3Jvbm9zLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGNyb25vczogQ3Jvbm9zLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgaW5pdGlhOiBJbml0aWEuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0aW5pdGlhOiBJbml0aWEuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBhc2k6IEFzaS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhc2k6IEFzaS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGZscjogRmxyLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGZscjogRmxyLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgc2diOiBTZ2IuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0c2diOiBTZ2IuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB4ZGM6IFhkYy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHR4ZGM6IFhkYy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHdlbWl4OiBXZW1peC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHR3ZW1peDogV2VtaXguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBtYW50cmE6IE1hbnRyYS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRtYW50cmE6IE1hbnRyYS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIG1vbjogTW9uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdG1vbjogTW9uLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgd29ybGQ6IFdvcmxkLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHdvcmxkOiBXb3JsZC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHN0dDogU3R0LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHN0dDogU3R0LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgc29uZWl1bTogU29uZWl1bS5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRzb25laXVtOiBTb25laXVtLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgcG9seXg6IFBvbHl4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRwb2x5eDogUG9seXguVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdmV0OiBWZXQuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHZldDogVmV0LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG59O1xuXG5jb25zdCBjb2luTWVzc2FnZUJ1aWxkZXJGYWN0b3J5TWFwID0ge1xuICBldGg6IEV0aC5NZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIGh0ZXRoOiBFdGguTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxuICBic2M6IEJzYy5NZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIHRic2M6IEJzYy5NZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIGFkYTogQWRhLk1lc3NhZ2VCdWlsZGVyRmFjdG9yeSxcbiAgdGFkYTogQWRhLk1lc3NhZ2VCdWlsZGVyRmFjdG9yeSxcbiAgc29sOiBTb2wuTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxuICB0c29sOiBTb2wuTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxufTtcblxuY29pbnNcbiAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfRVZNX1NESykpXG4gIC5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgY29pbkJ1aWxkZXJNYXBbY29pbi5uYW1lXSA9IEV2bUNvaW4uVHJhbnNhY3Rpb25CdWlsZGVyO1xuICB9KTtcblxuY29pbnNcbiAgLmZpbHRlcigoY29pbikgPT4gY29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5TSEFSRURfQ09TTU9TX1NESykpXG4gIC5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgY29pbkJ1aWxkZXJNYXBbY29pbi5uYW1lXSA9IENvc21vc1NoYXJlZENvaW4uVHJhbnNhY3Rpb25CdWlsZGVyO1xuICB9KTtcblxuLyoqXG4gKiBHZXQgdGhlIGxpc3Qgb2YgY29pbiB0aWNrZXJzIHN1cHBvcnRlZCBieSB0aGlzIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRDb2lucyA9IE9iamVjdC5rZXlzKGNvaW5CdWlsZGVyTWFwKTtcblxuLyoqXG4gKiBHZXQgYSB0cmFuc2FjdGlvbiBidWlsZGVyIGZvciB0aGUgZ2l2ZW4gY29pbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgT25lIG9mIHRoZSB7QGNvZGUgc3VwcG9ydGVkQ29pbnN9XG4gKiBAcmV0dXJucyB7YW55fSBBbiBpbnN0YW5jZSBvZiBhIHtAY29kZSBUcmFuc2FjdGlvbkJ1aWxkZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWlsZGVyKGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlQnVpbGRlciB7XG4gIGNvbnN0IGJ1aWxkZXJDbGFzcyA9IGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXTtcbiAgaWYgKCFidWlsZGVyQ2xhc3MpIHtcbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBDb2luICR7Y29pbk5hbWV9IG5vdCBzdXBwb3J0ZWRgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgYnVpbGRlckNsYXNzKGNvaW5zLmdldChjb2luTmFtZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3QgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5Q2xhc3MgPSBjb2luTWVzc2FnZUJ1aWxkZXJGYWN0b3J5TWFwW2NvaW5OYW1lXTtcbiAgaWYgKCFtZXNzYWdlQnVpbGRlckZhY3RvcnlDbGFzcykge1xuICAgIHRocm93IG5ldyBCdWlsZE1lc3NhZ2VFcnJvcihgTWVzc2FnZSBidWlsZGVyIGZhY3RvcnkgZm9yIGNvaW4gJHtjb2luTmFtZX0gbm90IHN1cHBvcnRlZGApO1xuICB9XG4gIHJldHVybiBuZXcgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5Q2xhc3MoY29pbnMuZ2V0KGNvaW5OYW1lKSk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSBuZXcgY29pbiBpbnN0YW5jZSB3aXRoIGl0cyBidWlsZGVyIGZhY3RvcnlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgY29pbiBuYW1lIGFzIGl0IHdhcyByZWdpc3RlcmVkIGluIEBiaXRnby9zdGF0aWNzXG4gKiBAcGFyYW0ge2FueX0gYnVpbGRlckZhY3RvcnkgdGhlIGJ1aWxkZXIgZmFjdG9yeSBjbGFzcyBmb3IgdGhhdCBjb2luXG4gKiBAcmV0dXJucyB7YW55fSB0aGUgZmFjdG9yeSBpbnN0YW5jZSBmb3IgdGhlIHJlZ2lzdGVyZWQgY29pblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXI8VCBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5PihcbiAgY29pbk5hbWU6IHN0cmluZyxcbiAgYnVpbGRlckZhY3Rvcnk6IHsgbmV3IChfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBUIH0sXG4pOiBUIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luTmFtZSk7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgYnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gIC8vIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGZhY3Rvcnk7XG4gIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGJ1aWxkZXJGYWN0b3J5OyAvLyBGb3Igbm93IHJlZ2lzdGVyIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB1bnRpbCByZWltcGxlbWVudCBnZXRCdWlsZGVyIG1ldGhvZFxuICByZXR1cm4gZmFjdG9yeTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIG5ldyBjb2luIGluc3RhbmNlIHdpdGggaXRzIG1lc3NhZ2UgYnVpbGRlciBmYWN0b3J5IGNvbnN0cnVjdG9yLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2luTmFtZSBjb2luIG5hbWUgYXMgaXQgd2FzIHJlZ2lzdGVyZWQgaW4gQGJpdGdvL3N0YXRpY3NcbiAqIEBwYXJhbSB7YW55fSBtZXNzYWdlQnVpbGRlckZhY3RvcnkgdGhlIG1lc3NhZ2UgYnVpbGRlciBmYWN0b3J5IGNsYXNzIGZvciB0aGF0IGNvaW5cbiAqIEByZXR1cm5zIHthbnl9IHRoZSBtZXNzYWdlIGJ1aWxkZXIgZmFjdG9yeSBpbnN0YW5jZSBmb3IgdGhlIHJlZ2lzdGVyZWQgY29pblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJNZXNzYWdlQnVpbGRlckZhY3Rvcnk8VCBleHRlbmRzIEJhc2VNZXNzYWdlQnVpbGRlckZhY3Rvcnk+KFxuICBjb2luTmFtZTogc3RyaW5nLFxuICBtZXNzYWdlQnVpbGRlckZhY3Rvcnk6IHsgbmV3IChfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBUIH0sXG4pOiBUIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luTmFtZSk7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICBjb2luTWVzc2FnZUJ1aWxkZXJGYWN0b3J5TWFwW2NvaW5OYW1lXSA9IG1lc3NhZ2VCdWlsZGVyRmFjdG9yeTtcbiAgcmV0dXJuIGZhY3Rvcnk7XG59XG5cbi8qKlxuICogVmVyaWZ5IGEgbWVzc2FnZSBhZ2FpbnN0IHRoZSBnaXZlbiBlbmNvZGVkIHBheWxvYWQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNvaW4uXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVJhdyAtIFRoZSByYXcgbWVzc2FnZSB0byB2ZXJpZnkuXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZUVuY29kZWQgLSBUaGUgZW5jb2RlZCBtZXNzYWdlIHRvIHZlcmlmeSBhZ2FpbnN0LlxuICogQHBhcmFtIHtNZXNzYWdlU3RhbmRhcmRUeXBlfSBtZXNzYWdlU3RhbmRhcmRUeXBlIC0gVGhlIHR5cGUgb2YgbWVzc2FnZSBzdGFuZGFyZC5cbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IFttZXRhZGF0YV0gLSBPcHRpb25hbCBtZXRhZGF0YSBmb3IgdmVyaWZpY2F0aW9uLlxuICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSB2ZXJpZmljYXRpb24gaXMgc3VjY2Vzc2Z1bCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5TWVzc2FnZShcbiAgY29pbk5hbWU6IHN0cmluZyxcbiAgbWVzc2FnZVJhdzogc3RyaW5nLFxuICBtZXNzYWdlRW5jb2RlZDogc3RyaW5nLFxuICBtZXNzYWdlU3RhbmRhcmRUeXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLFxuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgbWVzc2FnZUJ1aWxkZXJGYWN0b3J5ID0gZ2V0TWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5OYW1lKTtcbiAgICBjb25zdCBtZXNzYWdlQnVpbGRlciA9IG1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihtZXNzYWdlU3RhbmRhcmRUeXBlKTtcbiAgICBtZXNzYWdlQnVpbGRlci5zZXRQYXlsb2FkKG1lc3NhZ2VSYXcpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBtZXNzYWdlQnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IGlzVmFsaWRNZXNzYWdlRW5jb2RlZCA9IGF3YWl0IG1lc3NhZ2UudmVyaWZ5RW5jb2RlZFBheWxvYWQobWVzc2FnZUVuY29kZWQsIG1ldGFkYXRhKTtcbiAgICBpZiAoIWlzVmFsaWRNZXNzYWdlRW5jb2RlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsaWRhdGVBZ2FpbnN0TWVzc2FnZVRlbXBsYXRlcyhtZXNzYWdlUmF3KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHZlcmlmeWluZyBtZXNzYWdlIGZvciBjb2luICR7Y29pbk5hbWV9OmAsIGUpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- import { BaseKeyPair, KeyPairOptions } from '@bitgo/sdk-core';
2
- export declare function register(coinName: string, source?: KeyPairOptions): BaseKeyPair;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keyPair/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAgB,MAAM,iBAAiB,CAAC;AAG5E,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,WAAW,CAU/E"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.register = register;
37
- const coinModules = __importStar(require(".."));
38
- const sdk_core_1 = require("@bitgo/sdk-core");
39
- const statics_1 = require("@bitgo/statics");
40
- function register(coinName, source) {
41
- const sanitizedCoinName = statics_1.coins.get(coinName.trim().toLowerCase()).family;
42
- const key = Object.keys(coinModules)
43
- .filter((k) => coinModules[k].KeyPair)
44
- // TODO(BG-40990): eth2 BLS keypair init error
45
- .find((k) => k.trim().toLowerCase() !== 'eth2' && k.trim().toLowerCase() === sanitizedCoinName);
46
- if (key) {
47
- return new coinModules[key].KeyPair(source);
48
- }
49
- throw new sdk_core_1.NotSupported(`Coin ${coinName} not supported`);
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMva2V5UGFpci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBLDRCQVVDO0FBZEQsZ0RBQWtDO0FBQ2xDLDhDQUE0RTtBQUM1RSw0Q0FBdUM7QUFFdkMsU0FBZ0IsUUFBUSxDQUFDLFFBQWdCLEVBQUUsTUFBdUI7SUFDaEUsTUFBTSxpQkFBaUIsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUNqQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdEMsOENBQThDO1NBQzdDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssaUJBQWlCLENBQUMsQ0FBQztJQUNsRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsT0FBTyxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELE1BQU0sSUFBSSx1QkFBWSxDQUFDLFFBQVEsUUFBUSxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb2luTW9kdWxlcyBmcm9tICcuLic7XG5pbXBvcnQgeyBCYXNlS2V5UGFpciwgS2V5UGFpck9wdGlvbnMsIE5vdFN1cHBvcnRlZCB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyKGNvaW5OYW1lOiBzdHJpbmcsIHNvdXJjZT86IEtleVBhaXJPcHRpb25zKTogQmFzZUtleVBhaXIge1xuICBjb25zdCBzYW5pdGl6ZWRDb2luTmFtZSA9IGNvaW5zLmdldChjb2luTmFtZS50cmltKCkudG9Mb3dlckNhc2UoKSkuZmFtaWx5O1xuICBjb25zdCBrZXkgPSBPYmplY3Qua2V5cyhjb2luTW9kdWxlcylcbiAgICAuZmlsdGVyKChrKSA9PiBjb2luTW9kdWxlc1trXS5LZXlQYWlyKVxuICAgIC8vIFRPRE8oQkctNDA5OTApOiBldGgyIEJMUyBrZXlwYWlyIGluaXQgZXJyb3JcbiAgICAuZmluZCgoaykgPT4gay50cmltKCkudG9Mb3dlckNhc2UoKSAhPT0gJ2V0aDInICYmIGsudHJpbSgpLnRvTG93ZXJDYXNlKCkgPT09IHNhbml0aXplZENvaW5OYW1lKTtcbiAgaWYgKGtleSkge1xuICAgIHJldHVybiBuZXcgY29pbk1vZHVsZXNba2V5XS5LZXlQYWlyKHNvdXJjZSk7XG4gIH1cbiAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZChgQ29pbiAke2NvaW5OYW1lfSBub3Qgc3VwcG9ydGVkYCk7XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- import { BaseUtils } from '@bitgo/sdk-core';
2
- /**
3
- * Register the factory method for coin utils methods
4
- * throw if coin not supported
5
- * @param {String} coinName
6
- * @returns {BaseUtils}
7
- */
8
- export declare function register(coinName: string): BaseUtils;
9
- export * from './messages';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAG1D;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CASpD;AAED,cAAc,YAAY,CAAC"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.register = register;
40
- const coinModules = __importStar(require(".."));
41
- const sdk_core_1 = require("@bitgo/sdk-core");
42
- const statics_1 = require("@bitgo/statics");
43
- /**
44
- * Register the factory method for coin utils methods
45
- * throw if coin not supported
46
- * @param {String} coinName
47
- * @returns {BaseUtils}
48
- */
49
- function register(coinName) {
50
- const sanitizedCoinName = statics_1.coins.get(coinName.trim().toLowerCase()).family;
51
- const key = Object.keys(coinModules)
52
- .filter((k) => coinModules[k].Utils)
53
- .find((k) => k.trim().toLowerCase() === sanitizedCoinName);
54
- if (key) {
55
- return new coinModules[key].Utils();
56
- }
57
- throw new sdk_core_1.NotSupported(`${coinName} util factory not supported`);
58
- }
59
- __exportStar(require("./messages"), exports);
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSw0QkFTQztBQW5CRCxnREFBa0M7QUFDbEMsOENBQTBEO0FBQzFELDRDQUF1QztBQUV2Qzs7Ozs7R0FLRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxRQUFnQjtJQUN2QyxNQUFNLGlCQUFpQixHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzFFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ2pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztTQUNuQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdELElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixPQUFPLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFDRCxNQUFNLElBQUksdUJBQVksQ0FBQyxHQUFHLFFBQVEsNkJBQTZCLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29pbk1vZHVsZXMgZnJvbSAnLi4nO1xuaW1wb3J0IHsgQmFzZVV0aWxzLCBOb3RTdXBwb3J0ZWQgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbi8qKlxuICogUmVnaXN0ZXIgdGhlIGZhY3RvcnkgbWV0aG9kIGZvciBjb2luIHV0aWxzIG1ldGhvZHNcbiAqIHRocm93IGlmIGNvaW4gbm90IHN1cHBvcnRlZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvaW5OYW1lXG4gKiBAcmV0dXJucyB7QmFzZVV0aWxzfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXIoY29pbk5hbWU6IHN0cmluZyk6IEJhc2VVdGlscyB7XG4gIGNvbnN0IHNhbml0aXplZENvaW5OYW1lID0gY29pbnMuZ2V0KGNvaW5OYW1lLnRyaW0oKS50b0xvd2VyQ2FzZSgpKS5mYW1pbHk7XG4gIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKGNvaW5Nb2R1bGVzKVxuICAgIC5maWx0ZXIoKGspID0+IGNvaW5Nb2R1bGVzW2tdLlV0aWxzKVxuICAgIC5maW5kKChrKSA9PiBrLnRyaW0oKS50b0xvd2VyQ2FzZSgpID09PSBzYW5pdGl6ZWRDb2luTmFtZSk7XG4gIGlmIChrZXkpIHtcbiAgICByZXR1cm4gbmV3IGNvaW5Nb2R1bGVzW2tleV0uVXRpbHMoKTtcbiAgfVxuICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKGAke2NvaW5OYW1lfSB1dGlsIGZhY3Rvcnkgbm90IHN1cHBvcnRlZGApO1xufVxuXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzJztcbiJdfQ==
@@ -1,10 +0,0 @@
1
- export declare const MIDNIGHT_TNC_HASH = "31a6bab50a84b8439adcfb786bb2020f6807e6e8fda629b424110fc7bb1c6b8b";
2
- /**
3
- * Validates a message against a set of whitelisted templates.
4
- * The templates can contain placeholders like {{variable}} which will be replaced with a wildcard in the regex.
5
- *
6
- * @param {string} messageRaw - The raw message to validate.
7
- * @returns {boolean} - Returns true if the message matches any of the whitelisted templates, false otherwise.
8
- */
9
- export declare function validateAgainstMessageTemplates(messageRaw: string): boolean;
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/messages/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,qEAAqE,CAAC;AAepG;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAK3E"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MIDNIGHT_TNC_HASH = void 0;
4
- exports.validateAgainstMessageTemplates = validateAgainstMessageTemplates;
5
- exports.MIDNIGHT_TNC_HASH = '31a6bab50a84b8439adcfb786bb2020f6807e6e8fda629b424110fc7bb1c6b8b';
6
- /*
7
- * matches a message that starts with "STAR ", followed by a number,
8
- * then " to addr" or " to addr_test1", followed by a 50+ character alphanumeric address,
9
- * and ends with the midnight TnC hash
10
- */
11
- const MIDNIGHT_GLACIER_DROP_CLAIM_MESSAGE_TEMPLATE = `STAR \\d+ to addr(?:1|_test1)[a-z0-9]{50,} ${exports.MIDNIGHT_TNC_HASH}`;
12
- /**
13
- * @file Utility functions for validating messages against whitelisted templates.
14
- * This is used to ensure that only specific message formats are accepted.
15
- */
16
- const whitelistedMessageTemplates = [MIDNIGHT_GLACIER_DROP_CLAIM_MESSAGE_TEMPLATE];
17
- /**
18
- * Validates a message against a set of whitelisted templates.
19
- * The templates can contain placeholders like {{variable}} which will be replaced with a wildcard in the regex.
20
- *
21
- * @param {string} messageRaw - The raw message to validate.
22
- * @returns {boolean} - Returns true if the message matches any of the whitelisted templates, false otherwise.
23
- */
24
- function validateAgainstMessageTemplates(messageRaw) {
25
- return whitelistedMessageTemplates.some((template) => {
26
- const regex = new RegExp(`^${template}$`, 's'); // 's' flag to match newlines
27
- return regex.test(messageRaw);
28
- });
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvbWVzc2FnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0JBLDBFQUtDO0FBM0JZLFFBQUEsaUJBQWlCLEdBQUcsa0VBQWtFLENBQUM7QUFFcEc7Ozs7R0FJRztBQUNILE1BQU0sNENBQTRDLEdBQUcsOENBQThDLHlCQUFpQixFQUFFLENBQUM7QUFFdkg7OztHQUdHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7QUFFbkY7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsK0JBQStCLENBQUMsVUFBa0I7SUFDaEUsT0FBTywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLFFBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsNkJBQTZCO1FBQzdFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTUlETklHSFRfVE5DX0hBU0ggPSAnMzFhNmJhYjUwYTg0Yjg0MzlhZGNmYjc4NmJiMjAyMGY2ODA3ZTZlOGZkYTYyOWI0MjQxMTBmYzdiYjFjNmI4Yic7XG5cbi8qXG4gKiBtYXRjaGVzIGEgbWVzc2FnZSB0aGF0IHN0YXJ0cyB3aXRoIFwiU1RBUiBcIiwgZm9sbG93ZWQgYnkgYSBudW1iZXIsXG4gKiB0aGVuIFwiIHRvIGFkZHJcIiBvciBcIiB0byBhZGRyX3Rlc3QxXCIsIGZvbGxvd2VkIGJ5IGEgNTArIGNoYXJhY3RlciBhbHBoYW51bWVyaWMgYWRkcmVzcyxcbiAqIGFuZCBlbmRzIHdpdGggdGhlIG1pZG5pZ2h0IFRuQyBoYXNoXG4gKi9cbmNvbnN0IE1JRE5JR0hUX0dMQUNJRVJfRFJPUF9DTEFJTV9NRVNTQUdFX1RFTVBMQVRFID0gYFNUQVIgXFxcXGQrIHRvIGFkZHIoPzoxfF90ZXN0MSlbYS16MC05XXs1MCx9ICR7TUlETklHSFRfVE5DX0hBU0h9YDtcblxuLyoqXG4gKiBAZmlsZSBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgdmFsaWRhdGluZyBtZXNzYWdlcyBhZ2FpbnN0IHdoaXRlbGlzdGVkIHRlbXBsYXRlcy5cbiAqIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgdGhhdCBvbmx5IHNwZWNpZmljIG1lc3NhZ2UgZm9ybWF0cyBhcmUgYWNjZXB0ZWQuXG4gKi9cbmNvbnN0IHdoaXRlbGlzdGVkTWVzc2FnZVRlbXBsYXRlcyA9IFtNSUROSUdIVF9HTEFDSUVSX0RST1BfQ0xBSU1fTUVTU0FHRV9URU1QTEFURV07XG5cbi8qKlxuICogVmFsaWRhdGVzIGEgbWVzc2FnZSBhZ2FpbnN0IGEgc2V0IG9mIHdoaXRlbGlzdGVkIHRlbXBsYXRlcy5cbiAqIFRoZSB0ZW1wbGF0ZXMgY2FuIGNvbnRhaW4gcGxhY2Vob2xkZXJzIGxpa2Uge3t2YXJpYWJsZX19IHdoaWNoIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHdpbGRjYXJkIGluIHRoZSByZWdleC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVJhdyAtIFRoZSByYXcgbWVzc2FnZSB0byB2YWxpZGF0ZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgbWVzc2FnZSBtYXRjaGVzIGFueSBvZiB0aGUgd2hpdGVsaXN0ZWQgdGVtcGxhdGVzLCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUFnYWluc3RNZXNzYWdlVGVtcGxhdGVzKG1lc3NhZ2VSYXc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gd2hpdGVsaXN0ZWRNZXNzYWdlVGVtcGxhdGVzLnNvbWUoKHRlbXBsYXRlKSA9PiB7XG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeJHt0ZW1wbGF0ZX0kYCwgJ3MnKTsgLy8gJ3MnIGZsYWcgdG8gbWF0Y2ggbmV3bGluZXNcbiAgICByZXR1cm4gcmVnZXgudGVzdChtZXNzYWdlUmF3KTtcbiAgfSk7XG59XG4iXX0=