@bitgo-beta/sdk-coin-xtz 1.4.3-alpha.236 → 1.4.3-alpha.237
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/CHANGELOG.md +12 -0
- package/dist/src/index.js +18 -8
- package/dist/src/lib/iface.d.ts +0 -2
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/index.js +18 -8
- package/dist/src/lib/keyPair.js +18 -8
- package/dist/src/lib/multisigUtils.js +30 -21
- package/dist/src/lib/transaction.js +18 -8
- package/dist/src/lib/transactionBuilder.js +1 -1
- package/dist/src/lib/transferBuilder.js +1 -1
- package/dist/src/lib/utils.d.ts +26 -28
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +40 -30
- package/dist/src/xtz.d.ts +0 -2
- package/dist/src/xtz.d.ts.map +1 -1
- package/dist/src/xtz.js +4 -5
- package/package.json +8 -8
package/dist/src/lib/utils.js
CHANGED
|
@@ -15,18 +15,46 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
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
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
28
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.DEFAULT_STORAGE_LIMIT = exports.DEFAULT_FEE = exports.DEFAULT_GAS_LIMIT = exports.hashTypes = exports.
|
|
39
|
+
exports.DEFAULT_STORAGE_LIMIT = exports.DEFAULT_FEE = exports.DEFAULT_GAS_LIMIT = exports.hashTypes = exports.DEFAULT_WATERMARK = void 0;
|
|
40
|
+
exports.base58encode = base58encode;
|
|
41
|
+
exports.calculateTransactionId = calculateTransactionId;
|
|
42
|
+
exports.calculateOriginatedAddress = calculateOriginatedAddress;
|
|
43
|
+
exports.sign = sign;
|
|
44
|
+
exports.verifySignature = verifySignature;
|
|
45
|
+
exports.generateDataToSign = generateDataToSign;
|
|
46
|
+
exports.isValidHash = isValidHash;
|
|
47
|
+
exports.isValidAddress = isValidAddress;
|
|
48
|
+
exports.isValidImplicitAddress = isValidImplicitAddress;
|
|
49
|
+
exports.isValidOriginatedAddress = isValidOriginatedAddress;
|
|
50
|
+
exports.isValidSignature = isValidSignature;
|
|
51
|
+
exports.isValidPublicKey = isValidPublicKey;
|
|
52
|
+
exports.isValidPrivateKey = isValidPrivateKey;
|
|
53
|
+
exports.isValidBlockHash = isValidBlockHash;
|
|
54
|
+
exports.isValidTransactionHash = isValidTransactionHash;
|
|
55
|
+
exports.isValidKey = isValidKey;
|
|
56
|
+
exports.decodeKey = decodeKey;
|
|
57
|
+
exports.decodeSignature = decodeSignature;
|
|
30
58
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
31
59
|
const signer_1 = require("@taquito/signer");
|
|
32
60
|
const base58check = __importStar(require("bs58check"));
|
|
@@ -48,7 +76,6 @@ function base58encode(prefix, payload) {
|
|
|
48
76
|
n.set(payload, prefix.length);
|
|
49
77
|
return base58check.encode(n);
|
|
50
78
|
}
|
|
51
|
-
exports.base58encode = base58encode;
|
|
52
79
|
/**
|
|
53
80
|
* Calculate the transaction id for a for a signed transaction.
|
|
54
81
|
*
|
|
@@ -61,7 +88,6 @@ async function calculateTransactionId(encodedTransaction) {
|
|
|
61
88
|
const operationHashPayload = libsodium_wrappers_1.default.crypto_generichash(32, encodedTransactionBuffer);
|
|
62
89
|
return base58encode(exports.hashTypes.o.prefix, Buffer.from(operationHashPayload));
|
|
63
90
|
}
|
|
64
|
-
exports.calculateTransactionId = calculateTransactionId;
|
|
65
91
|
/**
|
|
66
92
|
* Calculate the address of a new originated account.
|
|
67
93
|
*
|
|
@@ -86,7 +112,6 @@ async function calculateOriginatedAddress(transactionId, index) {
|
|
|
86
112
|
const payload = libsodium_wrappers_1.default.crypto_generichash(20, new Uint8Array(tt));
|
|
87
113
|
return base58encode(exports.hashTypes.KT.prefix, Buffer.from(payload));
|
|
88
114
|
}
|
|
89
|
-
exports.calculateOriginatedAddress = calculateOriginatedAddress;
|
|
90
115
|
/**
|
|
91
116
|
* Generic data signing using Tezos library.
|
|
92
117
|
*
|
|
@@ -102,7 +127,6 @@ async function sign(keyPair, data, watermark = exports.DEFAULT_WATERMARK) {
|
|
|
102
127
|
const signer = new signer_1.InMemorySigner(keyPair.getKeys().prv);
|
|
103
128
|
return signer.sign(data, watermark);
|
|
104
129
|
}
|
|
105
|
-
exports.sign = sign;
|
|
106
130
|
/**
|
|
107
131
|
* Verifies the signature produced for a given message belongs to a secp256k1 public key.
|
|
108
132
|
*
|
|
@@ -126,7 +150,6 @@ async function verifySignature(message, publicKey, signature, watermark = export
|
|
|
126
150
|
const rawSignature = decodeSignature(signature, exports.hashTypes.sig);
|
|
127
151
|
return key.verify(bytesHash, { r: rawSignature.slice(0, 32), s: rawSignature.slice(32, 64) });
|
|
128
152
|
}
|
|
129
|
-
exports.verifySignature = verifySignature;
|
|
130
153
|
/**
|
|
131
154
|
* Useful wrapper to create the generic multisig contract data to sign when moving funds.
|
|
132
155
|
*
|
|
@@ -145,7 +168,6 @@ function generateDataToSign(contractAddress, destinationAddress, amount, contrac
|
|
|
145
168
|
}
|
|
146
169
|
return (0, multisigUtils_1.genericMultisigDataToSign)(contractAddress, destinationAddress, amount, contractCounter);
|
|
147
170
|
}
|
|
148
|
-
exports.generateDataToSign = generateDataToSign;
|
|
149
171
|
/**
|
|
150
172
|
* Returns whether or not the string is a valid Tezos hash of the given type
|
|
151
173
|
*
|
|
@@ -171,7 +193,6 @@ function isValidHash(hash, hashType) {
|
|
|
171
193
|
const hashLength = decodedHash.length - hashPrefix.length;
|
|
172
194
|
return hashLength === hashType.byteLength;
|
|
173
195
|
}
|
|
174
|
-
exports.isValidHash = isValidHash;
|
|
175
196
|
/**
|
|
176
197
|
* Returns whether or not the string is a valid Tezos address
|
|
177
198
|
*
|
|
@@ -181,7 +202,6 @@ exports.isValidHash = isValidHash;
|
|
|
181
202
|
function isValidAddress(hash) {
|
|
182
203
|
return isValidImplicitAddress(hash) || isValidHash(hash, exports.hashTypes.KT);
|
|
183
204
|
}
|
|
184
|
-
exports.isValidAddress = isValidAddress;
|
|
185
205
|
/**
|
|
186
206
|
* Returns whether or not the string is a valid Tezos implicit account address
|
|
187
207
|
*
|
|
@@ -191,7 +211,6 @@ exports.isValidAddress = isValidAddress;
|
|
|
191
211
|
function isValidImplicitAddress(hash) {
|
|
192
212
|
return isValidHash(hash, exports.hashTypes.tz1) || isValidHash(hash, exports.hashTypes.tz2) || isValidHash(hash, exports.hashTypes.tz3);
|
|
193
213
|
}
|
|
194
|
-
exports.isValidImplicitAddress = isValidImplicitAddress;
|
|
195
214
|
/**
|
|
196
215
|
* Returns whether or not the string is a valid Tezos originated account address
|
|
197
216
|
*
|
|
@@ -201,7 +220,6 @@ exports.isValidImplicitAddress = isValidImplicitAddress;
|
|
|
201
220
|
function isValidOriginatedAddress(hash) {
|
|
202
221
|
return isValidHash(hash, exports.hashTypes.KT);
|
|
203
222
|
}
|
|
204
|
-
exports.isValidOriginatedAddress = isValidOriginatedAddress;
|
|
205
223
|
/**
|
|
206
224
|
* Returns whether or not the string is a valid Tezos signature
|
|
207
225
|
*
|
|
@@ -214,7 +232,6 @@ function isValidSignature(hash) {
|
|
|
214
232
|
isValidHash(hash, exports.hashTypes.p2sig) ||
|
|
215
233
|
isValidHash(hash, exports.hashTypes.sig));
|
|
216
234
|
}
|
|
217
|
-
exports.isValidSignature = isValidSignature;
|
|
218
235
|
/**
|
|
219
236
|
* Returns whether or not the string is a valid Tezos public key
|
|
220
237
|
*
|
|
@@ -228,7 +245,6 @@ function isValidPublicKey(publicKey) {
|
|
|
228
245
|
(0, sdk_core_1.isValidXpub)(publicKey) // xpubs are valid too.
|
|
229
246
|
);
|
|
230
247
|
}
|
|
231
|
-
exports.isValidPublicKey = isValidPublicKey;
|
|
232
248
|
/**
|
|
233
249
|
* Returns whether or not the string is a valid Tezos private key
|
|
234
250
|
*
|
|
@@ -241,7 +257,6 @@ function isValidPrivateKey(privateKey) {
|
|
|
241
257
|
isValidHash(privateKey, exports.hashTypes.spsk) ||
|
|
242
258
|
isValidHash(privateKey, exports.hashTypes.p2sk));
|
|
243
259
|
}
|
|
244
|
-
exports.isValidPrivateKey = isValidPrivateKey;
|
|
245
260
|
/**
|
|
246
261
|
* Returns whether or not the string is a valid Tezos block hash
|
|
247
262
|
*
|
|
@@ -251,7 +266,6 @@ exports.isValidPrivateKey = isValidPrivateKey;
|
|
|
251
266
|
function isValidBlockHash(hash) {
|
|
252
267
|
return isValidHash(hash, exports.hashTypes.b);
|
|
253
268
|
}
|
|
254
|
-
exports.isValidBlockHash = isValidBlockHash;
|
|
255
269
|
/**
|
|
256
270
|
* Returns whether or not the string is a valid Tezos transaction hash
|
|
257
271
|
*
|
|
@@ -261,7 +275,6 @@ exports.isValidBlockHash = isValidBlockHash;
|
|
|
261
275
|
function isValidTransactionHash(hash) {
|
|
262
276
|
return isValidHash(hash, exports.hashTypes.o);
|
|
263
277
|
}
|
|
264
|
-
exports.isValidTransactionHash = isValidTransactionHash;
|
|
265
278
|
/**
|
|
266
279
|
* Returns whether or not the string is a valid Tezos key given a prefix
|
|
267
280
|
*
|
|
@@ -272,7 +285,6 @@ exports.isValidTransactionHash = isValidTransactionHash;
|
|
|
272
285
|
function isValidKey(hash, hashType) {
|
|
273
286
|
return isValidHash(hash, hashType);
|
|
274
287
|
}
|
|
275
|
-
exports.isValidKey = isValidKey;
|
|
276
288
|
/**
|
|
277
289
|
* Get the original key form the text without the given prefix.
|
|
278
290
|
*
|
|
@@ -287,7 +299,6 @@ function decodeKey(hash, hashType) {
|
|
|
287
299
|
const decodedPrv = base58check.decode(hash);
|
|
288
300
|
return Buffer.from(decodedPrv.slice(hashType.prefix.length, decodedPrv.length));
|
|
289
301
|
}
|
|
290
|
-
exports.decodeKey = decodeKey;
|
|
291
302
|
/**
|
|
292
303
|
* Get the raw signature from a Tezos encoded one.
|
|
293
304
|
*
|
|
@@ -302,7 +313,6 @@ function decodeSignature(signature, hashType) {
|
|
|
302
313
|
const decodedPrv = base58check.decode(signature);
|
|
303
314
|
return Buffer.from(decodedPrv.slice(hashType.prefix.length, decodedPrv.length));
|
|
304
315
|
}
|
|
305
|
-
exports.decodeSignature = decodeSignature;
|
|
306
316
|
// Base58Check is used for encoding
|
|
307
317
|
// hashedTypes is used to validate hashes by type, by checking their prefix and
|
|
308
318
|
// the length of the Buffer obtained by decoding the hash (excluding the prefix)
|
|
@@ -446,19 +456,19 @@ var DEFAULT_GAS_LIMIT;
|
|
|
446
456
|
DEFAULT_GAS_LIMIT[DEFAULT_GAS_LIMIT["ORIGINATION"] = 10600] = "ORIGINATION";
|
|
447
457
|
DEFAULT_GAS_LIMIT[DEFAULT_GAS_LIMIT["TRANSFER"] = 10600] = "TRANSFER";
|
|
448
458
|
DEFAULT_GAS_LIMIT[DEFAULT_GAS_LIMIT["REVEAL"] = 10600] = "REVEAL";
|
|
449
|
-
})(DEFAULT_GAS_LIMIT
|
|
459
|
+
})(DEFAULT_GAS_LIMIT || (exports.DEFAULT_GAS_LIMIT = DEFAULT_GAS_LIMIT = {}));
|
|
450
460
|
var DEFAULT_FEE;
|
|
451
461
|
(function (DEFAULT_FEE) {
|
|
452
462
|
DEFAULT_FEE[DEFAULT_FEE["DELEGATION"] = 1257] = "DELEGATION";
|
|
453
463
|
DEFAULT_FEE[DEFAULT_FEE["ORIGINATION"] = 10000] = "ORIGINATION";
|
|
454
464
|
DEFAULT_FEE[DEFAULT_FEE["TRANSFER"] = 10000] = "TRANSFER";
|
|
455
465
|
DEFAULT_FEE[DEFAULT_FEE["REVEAL"] = 1420] = "REVEAL";
|
|
456
|
-
})(DEFAULT_FEE
|
|
466
|
+
})(DEFAULT_FEE || (exports.DEFAULT_FEE = DEFAULT_FEE = {}));
|
|
457
467
|
var DEFAULT_STORAGE_LIMIT;
|
|
458
468
|
(function (DEFAULT_STORAGE_LIMIT) {
|
|
459
469
|
DEFAULT_STORAGE_LIMIT[DEFAULT_STORAGE_LIMIT["DELEGATION"] = 0] = "DELEGATION";
|
|
460
470
|
DEFAULT_STORAGE_LIMIT[DEFAULT_STORAGE_LIMIT["ORIGINATION"] = 257] = "ORIGINATION";
|
|
461
471
|
DEFAULT_STORAGE_LIMIT[DEFAULT_STORAGE_LIMIT["TRANSFER"] = 257] = "TRANSFER";
|
|
462
472
|
DEFAULT_STORAGE_LIMIT[DEFAULT_STORAGE_LIMIT["REVEAL"] = 0] = "REVEAL";
|
|
463
|
-
})(DEFAULT_STORAGE_LIMIT
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWlFO0FBQ2pFLDRDQUFpRDtBQUNqRCx1REFBeUM7QUFDekMsdUNBQW9DO0FBQ3BDLDRFQUF3QztBQUd4QyxtREFBNEQ7QUFFNUQsMENBQTBDO0FBQzdCLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXJEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFlBQVksQ0FBQyxNQUFjLEVBQUUsT0FBZTtJQUMxRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDZCxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUIsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFORCxvQ0FNQztBQUVEOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLHNCQUFzQixDQUFDLGtCQUEwQjtJQUNyRSxNQUFNLDRCQUFNLENBQUMsS0FBSyxDQUFDO0lBQ25CLE1BQU0sd0JBQXdCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekYsTUFBTSxvQkFBb0IsR0FBRyw0QkFBTSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3JGLE9BQU8sWUFBWSxDQUFDLGlCQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBTEQsd0RBS0M7QUFFRDs7Ozs7O0dBTUc7QUFDSSxLQUFLLFVBQVUsMEJBQTBCLENBQUMsYUFBcUIsRUFBRSxLQUFhO0lBQ25GLHNHQUFzRztJQUN0RyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpQkFBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUUsSUFBSSxFQUFFLEdBQWEsRUFBRSxDQUFDO0lBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2xDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEI7SUFFRCxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNiLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUU7UUFDMUIsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRTtRQUMxQixDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3pCLEtBQUssR0FBRyxVQUFVO0tBQ25CLENBQUMsQ0FBQztJQUVILE1BQU0sNEJBQU0sQ0FBQyxLQUFLLENBQUM7SUFDbkIsTUFBTSxPQUFPLEdBQUcsNEJBQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRSxPQUFPLFlBQVksQ0FBQyxpQkFBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFuQkQsZ0VBbUJDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNJLEtBQUssVUFBVSxJQUFJLENBQ3hCLE9BQWdCLEVBQ2hCLElBQVksRUFDWixZQUF3Qix5QkFBaUI7SUFFekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUU7UUFDMUIsTUFBTSxJQUFJLHVCQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUMvQztJQUNELE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBSSxDQUFDLENBQUM7SUFDMUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBVkQsb0JBVUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxlQUFlLENBQ25DLE9BQWUsRUFDZixTQUFpQixFQUNqQixTQUFpQixFQUNqQixZQUF3Qix5QkFBaUI7SUFFekMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxpQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELE1BQU0sRUFBRSxHQUFHLElBQUksYUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFM0MsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLDJDQUEyQztJQUMzQyxNQUFNLG9CQUFvQixHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JGLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUxRCxNQUFNLDRCQUFNLENBQUMsS0FBSyxDQUFDO0lBQ25CLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBRW5GLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxTQUFTLEVBQUUsaUJBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEcsQ0FBQztBQXJCRCwwQ0FxQkM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGtCQUFrQixDQUNoQyxlQUF1QixFQUN2QixrQkFBMEIsRUFDMUIsTUFBYyxFQUNkLGVBQXVCO0lBRXZCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLGVBQWUsR0FBRyw4Q0FBOEMsQ0FBQyxDQUFDO0tBQ2pIO0lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztLQUN0RTtJQUNELE9BQU8sSUFBQSx5Q0FBeUIsRUFBQyxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ2pHLENBQUM7QUFiRCxnREFhQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxJQUFZLEVBQUUsUUFBa0I7SUFDMUQsb0JBQW9CO0lBQ3BCLElBQUksV0FBVyxDQUFDO0lBQ2hCLElBQUk7UUFDRixXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN4QztJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFaEUsZUFBZTtJQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7UUFDcEQsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELGVBQWU7SUFDZixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDMUQsT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLFVBQVUsQ0FBQztBQUM1QyxDQUFDO0FBbEJELGtDQWtCQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLElBQVk7SUFDekMsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLGlCQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUZELHdDQUVDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixzQkFBc0IsQ0FBQyxJQUFZO0lBQ2pELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxpQkFBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsaUJBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLGlCQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEgsQ0FBQztBQUZELHdEQUVDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFZO0lBQ25ELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxpQkFBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFGRCw0REFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsSUFBWTtJQUMzQyxPQUFPLENBQ0wsV0FBVyxDQUFDLElBQUksRUFBRSxpQkFBUyxDQUFDLEtBQUssQ0FBQztRQUNsQyxXQUFXLENBQUMsSUFBSSxFQUFFLGlCQUFTLENBQUMsTUFBTSxDQUFDO1FBQ25DLFdBQVcsQ0FBQyxJQUFJLEVBQUUsaUJBQVMsQ0FBQyxLQUFLLENBQUM7UUFDbEMsV0FBVyxDQUFDLElBQUksRUFBRSxpQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUNqQyxDQUFDO0FBQ0osQ0FBQztBQVBELDRDQU9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxTQUFpQjtJQUNoRCxPQUFPLENBQ0wsV0FBVyxDQUFDLFNBQVMsRUFBRSxpQkFBUyxDQUFDLElBQUksQ0FBQztRQUN0QyxXQUFXLENBQUMsU0FBUyxFQUFFLGlCQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3RDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsaUJBQVMsQ0FBQyxJQUFJLENBQUM7UUFDdEMsSUFBQSxzQkFBVyxFQUFDLFNBQVMsQ0FBQyxDQUFDLHVCQUF1QjtLQUMvQyxDQUFDO0FBQ0osQ0FBQztBQVBELDRDQU9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxVQUFrQjtJQUNsRCxPQUFPLENBQ0wsV0FBVyxDQUFDLFVBQVUsRUFBRSxpQkFBUyxDQUFDLEtBQUssQ0FBQztRQUN4QyxXQUFXLENBQUMsVUFBVSxFQUFFLGlCQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsaUJBQVMsQ0FBQyxJQUFJLENBQUM7UUFDdkMsV0FBVyxDQUFDLFVBQVUsRUFBRSxpQkFBUyxDQUFDLElBQUksQ0FBQyxDQUN4QyxDQUFDO0FBQ0osQ0FBQztBQVBELDhDQU9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxJQUFZO0lBQzNDLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxpQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFGRCw0Q0FFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQUMsSUFBWTtJQUNqRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsaUJBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRkQsd0RBRUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixVQUFVLENBQUMsSUFBWSxFQUFFLFFBQWtCO0lBQ3pELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRkQsZ0NBRUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixTQUFTLENBQUMsSUFBWSxFQUFFLFFBQWtCO0lBQ3hELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztLQUM1QztJQUNELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQU5ELDhCQU1DO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLFNBQWlCLEVBQUUsUUFBa0I7SUFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQUMxQztJQUNELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQU5ELDBDQU1DO0FBRUQsbUNBQW1DO0FBQ25DLCtFQUErRTtBQUMvRSxnRkFBZ0Y7QUFDbkUsUUFBQSxTQUFTLEdBQUc7SUFDdkIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQixHQUFHLEVBQUU7UUFDSCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEMsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELDRCQUE0QjtJQUM1QixHQUFHLEVBQUU7UUFDSCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEMsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELHVCQUF1QjtJQUN2QixHQUFHLEVBQUU7UUFDSCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEMsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELEVBQUUsRUFBRTtRQUNGLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQyxVQUFVLEVBQUUsRUFBRTtLQUNmO0lBQ0QsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7SUFDRCxxQkFBcUI7SUFDckIsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwQyxVQUFVLEVBQUUsRUFBRTtLQUNmO0lBQ0QsdUJBQXVCO0lBQ3ZCLElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEMsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELGtCQUFrQjtJQUNsQixJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7SUFDRCxhQUFhO0lBQ2IsQ0FBQyxFQUFFO1FBQ0QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUIsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELGlCQUFpQjtJQUNqQixDQUFDLEVBQUU7UUFDRCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QixVQUFVLEVBQUUsRUFBRTtLQUNmO0lBQ0Qsc0JBQXNCO0lBQ3RCLEVBQUUsRUFBRTtRQUNGLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7SUFDRCwyQkFBMkI7SUFDM0IsR0FBRyxFQUFFO1FBQ0gsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7SUFDRCxnQkFBZ0I7SUFDaEIsQ0FBQyxFQUFFO1FBQ0QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0IsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELGVBQWU7SUFDZixFQUFFLEVBQUU7UUFDRixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QixVQUFVLEVBQUUsRUFBRTtLQUNmO0lBQ0QsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7SUFDRCxrQkFBa0I7SUFDbEIsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2QyxVQUFVLEVBQUUsRUFBRTtLQUNmO0lBQ0QsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixLQUFLLEVBQUU7UUFDTCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6QyxVQUFVLEVBQUUsRUFBRTtLQUNmO0lBQ0QsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7SUFDRCxvQkFBb0I7SUFDcEIsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELHNCQUFzQjtJQUN0QixNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQyxVQUFVLEVBQUUsRUFBRTtLQUNmO0lBQ0QsaUJBQWlCO0lBQ2pCLEtBQUssRUFBRTtRQUNMLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELG9CQUFvQjtJQUNwQixHQUFHLEVBQUU7UUFDSCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsVUFBVSxFQUFFLEVBQUU7S0FDZjtJQUNELG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsR0FBRyxFQUFFO1FBQ0gsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7SUFDRCxhQUFhO0lBQ2IsR0FBRyxFQUFFO1FBQ0gsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7SUFDRCxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLEVBQUUsRUFBRTtRQUNGLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFVBQVUsRUFBRSxDQUFDO0tBQ2Q7Q0FDRixDQUFDO0FBRUYseUZBQXlGO0FBRXpGLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUMzQix5RUFBa0IsQ0FBQTtJQUNsQiwyRUFBbUIsQ0FBQTtJQUNuQixxRUFBZ0IsQ0FBQTtJQUNoQixpRUFBYyxDQUFBO0FBQ2hCLENBQUMsRUFMVyxpQkFBaUIsR0FBakIseUJBQWlCLEtBQWpCLHlCQUFpQixRQUs1QjtBQUVELElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQiw0REFBaUIsQ0FBQTtJQUNqQiwrREFBbUIsQ0FBQTtJQUNuQix5REFBZ0IsQ0FBQTtJQUNoQixvREFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBS3RCO0FBRUQsSUFBWSxxQkFLWDtBQUxELFdBQVkscUJBQXFCO0lBQy9CLDZFQUFjLENBQUE7SUFDZCxpRkFBaUIsQ0FBQTtJQUNqQiwyRUFBYyxDQUFBO0lBQ2QscUVBQVUsQ0FBQTtBQUNaLENBQUMsRUFMVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQUtoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzVmFsaWRYcHViLCBTaWduaW5nRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBJbk1lbW9yeVNpZ25lciB9IGZyb20gJ0B0YXF1aXRvL3NpZ25lcic7XG5pbXBvcnQgKiBhcyBiYXNlNThjaGVjayBmcm9tICdiczU4Y2hlY2snO1xuaW1wb3J0IHsgZWMgYXMgRUMgfSBmcm9tICdlbGxpcHRpYyc7XG5pbXBvcnQgc29kaXVtIGZyb20gJ2xpYnNvZGl1bS13cmFwcGVycyc7XG5pbXBvcnQgeyBIYXNoVHlwZSwgU2lnblJlc3BvbnNlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IGdlbmVyaWNNdWx0aXNpZ0RhdGFUb1NpZ24gfSBmcm9tICcuL211bHRpc2lnVXRpbHMnO1xuXG4vLyBCeSBkZWZhdWx0LCB1c2UgdGhlIHRyYW5zYWN0aW9ucyBwcmVmaXhcbmV4cG9ydCBjb25zdCBERUZBVUxUX1dBVEVSTUFSSyA9IG5ldyBVaW50OEFycmF5KFszXSk7XG5cbi8qKlxuICogRW5jb2RlIHRoZSBwYXlsb2FkIHRvIGJhc2U1OCB3aXRoIGEgc3BlY2lmaWMgVGV6b3MgcHJlZml4LlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyfSBwcmVmaXggdG8gYWRkIHRvIHRoZSBlbmNvZGVkIHBheWxvYWRcbiAqIEBwYXJhbSB7QnVmZmVyfSBwYXlsb2FkIHRvIGVuY29kZVxuICogQHJldHVybnMge2FueX0gYmFzZTU4IHBheWxvYWQgd2l0aCBhIFRlem9zIHByZWZpeFxuICovXG5leHBvcnQgZnVuY3Rpb24gYmFzZTU4ZW5jb2RlKHByZWZpeDogQnVmZmVyLCBwYXlsb2FkOiBCdWZmZXIpOiBzdHJpbmcge1xuICBjb25zdCBuID0gQnVmZmVyLmFsbG9jKHByZWZpeC5sZW5ndGggKyBwYXlsb2FkLmxlbmd0aCk7XG4gIG4uc2V0KHByZWZpeCk7XG4gIG4uc2V0KHBheWxvYWQsIHByZWZpeC5sZW5ndGgpO1xuXG4gIHJldHVybiBiYXNlNThjaGVjay5lbmNvZGUobik7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSB0cmFuc2FjdGlvbiBpZCBmb3IgYSBmb3IgYSBzaWduZWQgdHJhbnNhY3Rpb24uXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGVuY29kZWRUcmFuc2FjdGlvbiBTaWduZWQgdHJhbnNhY3Rpb24gaW4gaGV4YWRlY2ltYWxcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IFRoZSB0cmFuc2FjdGlvbiBpZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FsY3VsYXRlVHJhbnNhY3Rpb25JZChlbmNvZGVkVHJhbnNhY3Rpb246IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGF3YWl0IHNvZGl1bS5yZWFkeTtcbiAgY29uc3QgZW5jb2RlZFRyYW5zYWN0aW9uQnVmZmVyID0gVWludDhBcnJheS5mcm9tKEJ1ZmZlci5mcm9tKGVuY29kZWRUcmFuc2FjdGlvbiwgJ2hleCcpKTtcbiAgY29uc3Qgb3BlcmF0aW9uSGFzaFBheWxvYWQgPSBzb2RpdW0uY3J5cHRvX2dlbmVyaWNoYXNoKDMyLCBlbmNvZGVkVHJhbnNhY3Rpb25CdWZmZXIpO1xuICByZXR1cm4gYmFzZTU4ZW5jb2RlKGhhc2hUeXBlcy5vLnByZWZpeCwgQnVmZmVyLmZyb20ob3BlcmF0aW9uSGFzaFBheWxvYWQpKTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIGFkZHJlc3Mgb2YgYSBuZXcgb3JpZ2luYXRlZCBhY2NvdW50LlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0cmFuc2FjdGlvbklkIFRoZSB0cmFuc2FjdGlvbiBpZFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgb3JpZ2luYXRpb24gb3BlcmF0aW9uIGluc2lkZSB0aGUgdHJhbnNhY3Rpb24gKHN0YXJ0cyBhdCAwKVxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gQW4gb3JpZ2luYXRlZCBhZGRyZXNzIHdpdGggdGhlIEtUIHByZWZpeFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FsY3VsYXRlT3JpZ2luYXRlZEFkZHJlc3ModHJhbnNhY3Rpb25JZDogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgLy8gRnJvbSBodHRwczovL2dpdGh1Yi5jb20vVGV6VGVjaC9lenR6L2Jsb2IvY2ZkYzRmY2ZjODkxZjRmNGYwNzdjMzA1NmY0MTQ0NzZkZGUzNjEwYi9zcmMvbWFpbi5qcyNMNzY4XG4gIGNvbnN0IG9iID0gYmFzZTU4Y2hlY2suZGVjb2RlKHRyYW5zYWN0aW9uSWQpLnNsaWNlKGhhc2hUeXBlcy5vLnByZWZpeC5sZW5ndGgpO1xuXG4gIGxldCB0dDogbnVtYmVyW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYi5sZW5ndGg7IGkrKykge1xuICAgIHR0LnB1c2gob2JbaV0pO1xuICB9XG5cbiAgdHQgPSB0dC5jb25jYXQoW1xuICAgIChpbmRleCAmIDB4ZmYwMDAwMDApID4+IDI0LFxuICAgIChpbmRleCAmIDB4MDBmZjAwMDApID4+IDE2LFxuICAgIChpbmRleCAmIDB4MDAwMGZmMDApID4+IDgsXG4gICAgaW5kZXggJiAweDAwMDAwMGZmLFxuICBdKTtcblxuICBhd2FpdCBzb2RpdW0ucmVhZHk7XG4gIGNvbnN0IHBheWxvYWQgPSBzb2RpdW0uY3J5cHRvX2dlbmVyaWNoYXNoKDIwLCBuZXcgVWludDhBcnJheSh0dCkpO1xuICByZXR1cm4gYmFzZTU4ZW5jb2RlKGhhc2hUeXBlcy5LVC5wcmVmaXgsIEJ1ZmZlci5mcm9tKHBheWxvYWQpKTtcbn1cblxuLyoqXG4gKiBHZW5lcmljIGRhdGEgc2lnbmluZyB1c2luZyBUZXpvcyBsaWJyYXJ5LlxuICpcbiAqIEBwYXJhbSB7S2V5UGFpcn0ga2V5UGFpciBBIEtleSBQYWlyIHdpdGggYSBwcml2YXRlIGtleSBzZXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIFRoZSBkYXRhIGluIGhleGFkZWNpbWFsIHRvIHNpZ25cbiAqIEBwYXJhbSB7VWludDhBcnJheX0gd2F0ZXJtYXJrIE1hZ2ljIGJ5dGU6IDEgZm9yIGJsb2NrLCAyIGZvciBlbmRvcnNlbWVudCwgMyBmb3IgZ2VuZXJpY1xuICogQHJldHVybnMge1Byb21pc2U8U2lnblJlc3BvbnNlPn1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ24oXG4gIGtleVBhaXI6IEtleVBhaXIsXG4gIGRhdGE6IHN0cmluZyxcbiAgd2F0ZXJtYXJrOiBVaW50OEFycmF5ID0gREVGQVVMVF9XQVRFUk1BUktcbik6IFByb21pc2U8U2lnblJlc3BvbnNlPiB7XG4gIGlmICgha2V5UGFpci5nZXRLZXlzKCkucHJ2KSB7XG4gICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICB9XG4gIGNvbnN0IHNpZ25lciA9IG5ldyBJbk1lbW9yeVNpZ25lcihrZXlQYWlyLmdldEtleXMoKS5wcnYhKTtcbiAgcmV0dXJuIHNpZ25lci5zaWduKGRhdGEsIHdhdGVybWFyayk7XG59XG5cbi8qKlxuICogVmVyaWZpZXMgdGhlIHNpZ25hdHVyZSBwcm9kdWNlZCBmb3IgYSBnaXZlbiBtZXNzYWdlIGJlbG9uZ3MgdG8gYSBzZWNwMjU2azEgcHVibGljIGtleS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSBNZXNzYWdlIGluIGhleCBmb3JtYXQgdG8gdmVyaWZ5XG4gKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5IHNlY3AyNTZrMSBwdWJsaWMga2V5IHdpdGggXCJzcHBrXCIgcHJlZml4IHRvIHZlcmlmeSB0aGUgc2lnbmF0dXJlIHdpdGhcbiAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgVGV6b3Mgc2lnbmF0dXJlIHdpdGggXCJzaWdcIiBwcmVmaXhcbiAqIEBwYXJhbSB7VWludDhBcnJheX0gd2F0ZXJtYXJrIE9wdGlvbmFsIHdhdGVybWFyayB1c2VkIHRvIGdlbmVyYXRlIHRoZSBzaWduYXR1cmVcbiAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5U2lnbmF0dXJlKFxuICBtZXNzYWdlOiBzdHJpbmcsXG4gIHB1YmxpY0tleTogc3RyaW5nLFxuICBzaWduYXR1cmU6IHN0cmluZyxcbiAgd2F0ZXJtYXJrOiBVaW50OEFycmF5ID0gREVGQVVMVF9XQVRFUk1BUktcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCByYXdQdWJsaWNLZXkgPSBkZWNvZGVLZXkocHVibGljS2V5LCBoYXNoVHlwZXMuc3Bwayk7XG4gIGNvbnN0IGVjID0gbmV3IEVDKCdzZWNwMjU2azEnKTtcbiAgY29uc3Qga2V5ID0gZWMua2V5RnJvbVB1YmxpYyhyYXdQdWJsaWNLZXkpO1xuXG4gIGNvbnN0IG1lc3NhZ2VCdWZmZXIgPSBVaW50OEFycmF5LmZyb20oQnVmZmVyLmZyb20obWVzc2FnZSwgJ2hleCcpKTtcbiAgLy8gVGV6b3Mgc2lnbmF0dXJlcyBhbHdheXMgaGF2ZSBhIHdhdGVybWFya1xuICBjb25zdCBtZXNzYWdlV2l0aFdhdGVybWFyayA9IG5ldyBVaW50OEFycmF5KHdhdGVybWFyay5sZW5ndGggKyBtZXNzYWdlQnVmZmVyLmxlbmd0aCk7XG4gIG1lc3NhZ2VXaXRoV2F0ZXJtYXJrLnNldCh3YXRlcm1hcmspO1xuICBtZXNzYWdlV2l0aFdhdGVybWFyay5zZXQobWVzc2FnZUJ1ZmZlciwgd2F0ZXJtYXJrLmxlbmd0aCk7XG5cbiAgYXdhaXQgc29kaXVtLnJlYWR5O1xuICBjb25zdCBieXRlc0hhc2ggPSBCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX2dlbmVyaWNoYXNoKDMyLCBtZXNzYWdlV2l0aFdhdGVybWFyaykpO1xuXG4gIGNvbnN0IHJhd1NpZ25hdHVyZSA9IGRlY29kZVNpZ25hdHVyZShzaWduYXR1cmUsIGhhc2hUeXBlcy5zaWcpO1xuICByZXR1cm4ga2V5LnZlcmlmeShieXRlc0hhc2gsIHsgcjogcmF3U2lnbmF0dXJlLnNsaWNlKDAsIDMyKSwgczogcmF3U2lnbmF0dXJlLnNsaWNlKDMyLCA2NCkgfSk7XG59XG5cbi8qKlxuICogVXNlZnVsIHdyYXBwZXIgdG8gY3JlYXRlIHRoZSBnZW5lcmljIG11bHRpc2lnIGNvbnRyYWN0IGRhdGEgdG8gc2lnbiB3aGVuIG1vdmluZyBmdW5kcy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udHJhY3RBZGRyZXNzIFRoZSB3YWxsZXQgY29udHJhY3QgYWRkcmVzcyB3aXRoIHRoZSBmdW5kcyB0byB3aXRoZHJhd1xuICogQHBhcmFtIHtzdHJpbmd9IGRlc3RpbmF0aW9uQWRkcmVzcyBUaGUgYWRkcmVzcyB0byB0cmFuc2ZlciB0aGUgZnVuZHMgdG9cbiAqIEBwYXJhbSB7bnVtYmVyfSBhbW91bnQgTnVtYmVyIG11dGV6IHRvIHRyYW5zZmVyXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udHJhY3RDb3VudGVyIFdhbGxldCBjb3VudGVyIHRvIHVzZSBpbiB0aGUgdHJhbnNhY3Rpb25cbiAqIEByZXR1cm5zIHthbnl9IEEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgTWljaGVsc29uIHNjcmlwdCB0byBzaWduIGFuZCBhcHByb3ZlIGEgdHJhbnNmZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRGF0YVRvU2lnbihcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmcsXG4gIGRlc3RpbmF0aW9uQWRkcmVzczogc3RyaW5nLFxuICBhbW91bnQ6IHN0cmluZyxcbiAgY29udHJhY3RDb3VudGVyOiBzdHJpbmdcbik6IGFueSB7XG4gIGlmICghaXNWYWxpZE9yaWdpbmF0ZWRBZGRyZXNzKGNvbnRyYWN0QWRkcmVzcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29udHJhY3QgYWRkcmVzcyAnICsgY29udHJhY3RBZGRyZXNzICsgJy4gQW4gb3JpZ2luYXRlZCBhY2NvdW50IGFkZHJlc3Mgd2FzIGV4cGVjdGVkJyk7XG4gIH1cbiAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhkZXN0aW5hdGlvbkFkZHJlc3MpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRlc3RpbmF0aW9uIGFkZHJlc3MgJyArIGRlc3RpbmF0aW9uQWRkcmVzcyk7XG4gIH1cbiAgcmV0dXJuIGdlbmVyaWNNdWx0aXNpZ0RhdGFUb1NpZ24oY29udHJhY3RBZGRyZXNzLCBkZXN0aW5hdGlvbkFkZHJlc3MsIGFtb3VudCwgY29udHJhY3RDb3VudGVyKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBoYXNoIG9mIHRoZSBnaXZlbiB0eXBlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgc3RyaW5nIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0ge0hhc2hUeXBlfSBoYXNoVHlwZSAtIHRoZSB0eXBlIG9mIHRoZSBwcm92aWRlZCBoYXNoXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRIYXNoKGhhc2g6IHN0cmluZywgaGFzaFR5cGU6IEhhc2hUeXBlKTogYm9vbGVhbiB7XG4gIC8vIFZhbGlkYXRlIGVuY29kaW5nXG4gIGxldCBkZWNvZGVkSGFzaDtcbiAgdHJ5IHtcbiAgICBkZWNvZGVkSGFzaCA9IGJhc2U1OGNoZWNrLmRlY29kZShoYXNoKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBoYXNoUHJlZml4ID0gZGVjb2RlZEhhc2guc2xpY2UoMCwgaGFzaFR5cGUucHJlZml4Lmxlbmd0aCk7XG5cbiAgLy8gQ2hlY2sgcHJlZml4XG4gIGlmICghaGFzaFByZWZpeC5lcXVhbHMoQnVmZmVyLmZyb20oaGFzaFR5cGUucHJlZml4KSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBDaGVjayBsZW5ndGhcbiAgY29uc3QgaGFzaExlbmd0aCA9IGRlY29kZWRIYXNoLmxlbmd0aCAtIGhhc2hQcmVmaXgubGVuZ3RoO1xuICByZXR1cm4gaGFzaExlbmd0aCA9PT0gaGFzaFR5cGUuYnl0ZUxlbmd0aDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBhZGRyZXNzXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQWRkcmVzcyhoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVmFsaWRJbXBsaWNpdEFkZHJlc3MoaGFzaCkgfHwgaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLktUKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBpbXBsaWNpdCBhY2NvdW50IGFkZHJlc3NcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRJbXBsaWNpdEFkZHJlc3MoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMudHoxKSB8fCBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMudHoyKSB8fCBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMudHozKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBvcmlnaW5hdGVkIGFjY291bnQgYWRkcmVzc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoYXNoIC0gdGhlIGFkZHJlc3MgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE9yaWdpbmF0ZWRBZGRyZXNzKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLktUKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBzaWduYXR1cmVcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBzaWduYXR1cmUgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFNpZ25hdHVyZShoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMuZWRzaWcpIHx8XG4gICAgaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLnNwc2lnMSkgfHxcbiAgICBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMucDJzaWcpIHx8XG4gICAgaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLnNpZylcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBwdWJsaWMga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHB1YmxpY0tleSBUaGUgcHVibGljIGtleSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUHVibGljS2V5KHB1YmxpY0tleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgaXNWYWxpZEhhc2gocHVibGljS2V5LCBoYXNoVHlwZXMuc3BwaykgfHxcbiAgICBpc1ZhbGlkSGFzaChwdWJsaWNLZXksIGhhc2hUeXBlcy5wMnBrKSB8fFxuICAgIGlzVmFsaWRIYXNoKHB1YmxpY0tleSwgaGFzaFR5cGVzLmVkcGspIHx8XG4gICAgaXNWYWxpZFhwdWIocHVibGljS2V5KSAvLyB4cHVicyBhcmUgdmFsaWQgdG9vLlxuICApO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIHByaXZhdGUga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHByaXZhdGVLZXkgVGhlIHByaXZhdGUga2V5IHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQcml2YXRlS2V5KHByaXZhdGVLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGlzVmFsaWRIYXNoKHByaXZhdGVLZXksIGhhc2hUeXBlcy5lZGVzaykgfHxcbiAgICBpc1ZhbGlkSGFzaChwcml2YXRlS2V5LCBoYXNoVHlwZXMuZWRzaykgfHxcbiAgICBpc1ZhbGlkSGFzaChwcml2YXRlS2V5LCBoYXNoVHlwZXMuc3BzaykgfHxcbiAgICBpc1ZhbGlkSGFzaChwcml2YXRlS2V5LCBoYXNoVHlwZXMucDJzaylcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBibG9jayBoYXNoXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQmxvY2tIYXNoKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLmIpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIHRyYW5zYWN0aW9uIGhhc2hcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRUcmFuc2FjdGlvbkhhc2goaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMubyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3Mga2V5IGdpdmVuIGEgcHJlZml4XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUga2V5IHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0ge0hhc2hUeXBlfSBoYXNoVHlwZSAtIHRoZSB0eXBlIG9mIHRoZSBwcm92aWRlZCBoYXNoXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRLZXkoaGFzaDogc3RyaW5nLCBoYXNoVHlwZTogSGFzaFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlKTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIG9yaWdpbmFsIGtleSBmb3JtIHRoZSB0ZXh0IHdpdGhvdXQgdGhlIGdpdmVuIHByZWZpeC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIGJhc2U1OCBlbmNvZGVkIGtleSB3aXRoIGEgVGV6b3MgcHJlZml4XG4gKiBAcGFyYW0ge0hhc2hUeXBlfSBoYXNoVHlwZSAtIHRoZSB0eXBlIG9mIHRoZSBwcm92aWRlZCBoYXNoXG4gKiBAcmV0dXJucyB7QnVmZmVyfSB0aGUgb3JpZ2luYWwgZGVjb2RlZCBrZXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUtleShoYXNoOiBzdHJpbmcsIGhhc2hUeXBlOiBIYXNoVHlwZSk6IEJ1ZmZlciB7XG4gIGlmICghaXNWYWxpZEtleShoYXNoLCBoYXNoVHlwZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5Jyk7XG4gIH1cbiAgY29uc3QgZGVjb2RlZFBydiA9IGJhc2U1OGNoZWNrLmRlY29kZShoYXNoKTtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGRlY29kZWRQcnYuc2xpY2UoaGFzaFR5cGUucHJlZml4Lmxlbmd0aCwgZGVjb2RlZFBydi5sZW5ndGgpKTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHJhdyBzaWduYXR1cmUgZnJvbSBhIFRlem9zIGVuY29kZWQgb25lLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgVGV6b3Mgc2lnbmF0dXJlcyBwcmVmaXhlZCB3aXRoIHNpZywgZWRzaWcsIHAyc2lnIG9yIHNwc2lnXG4gKiBAcGFyYW0ge0hhc2hUeXBlfSBoYXNoVHlwZSBUaGUgcHJlZml4IG9mIHJlbW92ZVxuICogQHJldHVybnMge0J1ZmZlcn0gVGhlIGRlY29kZWQgc2lnbmF0dXJlIHdpdGhvdXQgcHJlZml4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcsIGhhc2hUeXBlOiBIYXNoVHlwZSk6IEJ1ZmZlciB7XG4gIGlmICghaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBzaWduYXR1cmUnKTtcbiAgfVxuICBjb25zdCBkZWNvZGVkUHJ2ID0gYmFzZTU4Y2hlY2suZGVjb2RlKHNpZ25hdHVyZSk7XG4gIHJldHVybiBCdWZmZXIuZnJvbShkZWNvZGVkUHJ2LnNsaWNlKGhhc2hUeXBlLnByZWZpeC5sZW5ndGgsIGRlY29kZWRQcnYubGVuZ3RoKSk7XG59XG5cbi8vIEJhc2U1OENoZWNrIGlzIHVzZWQgZm9yIGVuY29kaW5nXG4vLyBoYXNoZWRUeXBlcyBpcyB1c2VkIHRvIHZhbGlkYXRlIGhhc2hlcyBieSB0eXBlLCBieSBjaGVja2luZyB0aGVpciBwcmVmaXggYW5kXG4vLyB0aGUgbGVuZ3RoIG9mIHRoZSBCdWZmZXIgb2J0YWluZWQgYnkgZGVjb2RpbmcgdGhlIGhhc2ggKGV4Y2x1ZGluZyB0aGUgcHJlZml4KVxuZXhwb3J0IGNvbnN0IGhhc2hUeXBlcyA9IHtcbiAgLyogMjAgYnl0ZXMgbG9uZyAqL1xuICAvLyBlZDI1NTE5IHB1YmxpYyBrZXkgaGFzaFxuICB0ejE6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs2LCAxNjEsIDE1OV0pLFxuICAgIGJ5dGVMZW5ndGg6IDIwLFxuICB9LFxuICAvLyBzZWNwMjU2azEgcHVibGljIGtleSBoYXNoXG4gIHR6Mjoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzYsIDE2MSwgMTYxXSksXG4gICAgYnl0ZUxlbmd0aDogMjAsXG4gIH0sXG4gIC8vIHAyNTYgcHVibGljIGtleSBoYXNoXG4gIHR6Mzoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzYsIDE2MSwgMTY0XSksXG4gICAgYnl0ZUxlbmd0aDogMjAsXG4gIH0sXG4gIEtUOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMiwgOTAsIDEyMV0pLFxuICAgIGJ5dGVMZW5ndGg6IDIwLFxuICB9LFxuICAvKiAzMiBieXRlcyBsb25nICovXG4gIC8vIGVkMjU1MTkgcHVibGljIGtleVxuICBlZHBrOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTMsIDE1LCAzNywgMjE3XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIGVkMjU1MTkgc2VjcmV0IGtleVxuICBlZHNrMjoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzEzLCAxNSwgNTgsIDddKSxcbiAgICBieXRlTGVuZ3RoOiAzMixcbiAgfSxcbiAgLy8gc2VjcDI1NmsxIHNlY3JldCBrZXlcbiAgc3Bzazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzE3LCAxNjIsIDIyNCwgMjAxXSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIHAyNTYgc2VjcmV0IGtleVxuICBwMnNrOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTYsIDgxLCAyMzgsIDE4OV0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBibG9jayBoYXNoXG4gIGI6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFsxLCA1Ml0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBvcGVyYXRpb24gaGFzaFxuICBvOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNSwgMTE2XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIG9wZXJhdGlvbiBsaXN0IGhhc2hcbiAgTG86IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFsxMzMsIDIzM10pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBvcGVyYXRpb24gbGlzdCBsaXN0IGhhc2hcbiAgTExvOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMjksIDE1OSwgMTA5XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIHByb3RvY29sIGhhc2hcbiAgUDoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzIsIDE3MF0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBjb250ZXh0IGhhc2hcbiAgQ286IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs3OSwgMTc5XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8qIDMzIGJ5dGVzIGxvbmcgKi9cbiAgLy8gc2VjcDI1NmsxIHB1YmxpYyBrZXlcbiAgc3Bwazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzMsIDI1NCwgMjI2LCA4Nl0pLFxuICAgIGJ5dGVMZW5ndGg6IDMzLFxuICB9LFxuICAvLyBwMjU2IHB1YmxpYyBrZXlcbiAgcDJwazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzMsIDE3OCwgMTM5LCAxMjddKSxcbiAgICBieXRlTGVuZ3RoOiAzMyxcbiAgfSxcbiAgLyogNTYgYnl0ZXMgbG9uZyAqL1xuICAvLyBlZDI1NTE5IGVuY3J5cHRlZCBzZWVkXG4gIGVkZXNrOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNywgOTAsIDYwLCAxNzksIDQxXSksXG4gICAgYnl0ZUxlbmd0aDogNTYsXG4gIH0sXG4gIC8qIDYzIGJ5dGVzIGxvbmcgKi9cbiAgLy8gZWQyNTUxOSBzZWNyZXQga2V5XG4gIGVkc2s6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs0MywgMjQ2LCA3OCwgN10pLFxuICAgIGJ5dGVMZW5ndGg6IDY0LFxuICB9LFxuICAvLyBlZDI1NTE5IHNpZ25hdHVyZVxuICBlZHNpZzoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzksIDI0NSwgMjA1LCAxMzQsIDE4XSksXG4gICAgYnl0ZUxlbmd0aDogNjQsXG4gIH0sXG4gIC8vIHNlY3AyNTZrMSBzaWduYXR1cmVcbiAgc3BzaWcxOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTMsIDExNSwgMTAxLCAxOSwgNjNdKSxcbiAgICBieXRlTGVuZ3RoOiA2NCxcbiAgfSxcbiAgLy8gcDI1Nl9zaWduYXR1cmVcbiAgcDJzaWc6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs1NCwgMjQwLCA0NCwgNTJdKSxcbiAgICBieXRlTGVuZ3RoOiA2NCxcbiAgfSxcbiAgLy8gZ2VuZXJpYyBzaWduYXR1cmVcbiAgc2lnOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNCwgMTMwLCA0M10pLFxuICAgIGJ5dGVMZW5ndGg6IDY0LFxuICB9LFxuICAvKiAxNSBieXRlcyBsb25nICovXG4gIC8vIG5ldHdvcmsgaGFzaFxuICBOZXQ6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs4NywgODIsIDBdKSxcbiAgICBieXRlTGVuZ3RoOiAxNSxcbiAgfSxcbiAgLy8gbm9uY2UgaGFzaFxuICBuY2U6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs2OSwgMjIwLCAxNjldKSxcbiAgICBieXRlTGVuZ3RoOiAxNSxcbiAgfSxcbiAgLyogNCBieXRlcyBsb25nICovXG4gIC8vIGNoYWluIGlkXG4gIGlkOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTUzLCAxMDNdKSxcbiAgICBieXRlTGVuZ3RoOiA0LFxuICB9LFxufTtcblxuLy8gRnJvbSBodHRwczovL2dpdGh1Yi5jb20vZWNhZGxhYnMvdGFxdWl0by9ibG9iL21hc3Rlci9wYWNrYWdlcy90YXF1aXRvL3NyYy9jb25zdGFudHMudHNcblxuZXhwb3J0IGVudW0gREVGQVVMVF9HQVNfTElNSVQge1xuICBERUxFR0FUSU9OID0gMTA2MDAsXG4gIE9SSUdJTkFUSU9OID0gMTA2MDAsXG4gIFRSQU5TRkVSID0gMTA2MDAsXG4gIFJFVkVBTCA9IDEwNjAwLFxufVxuXG5leHBvcnQgZW51bSBERUZBVUxUX0ZFRSB7XG4gIERFTEVHQVRJT04gPSAxMjU3LFxuICBPUklHSU5BVElPTiA9IDEwMDAwLFxuICBUUkFOU0ZFUiA9IDEwMDAwLFxuICBSRVZFQUwgPSAxNDIwLFxufVxuXG5leHBvcnQgZW51bSBERUZBVUxUX1NUT1JBR0VfTElNSVQge1xuICBERUxFR0FUSU9OID0gMCxcbiAgT1JJR0lOQVRJT04gPSAyNTcsXG4gIFRSQU5TRkVSID0gMjU3LFxuICBSRVZFQUwgPSAwLFxufVxuIl19
|
|
473
|
+
})(DEFAULT_STORAGE_LIMIT || (exports.DEFAULT_STORAGE_LIMIT = DEFAULT_STORAGE_LIMIT = {}));
|
|
474
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxvQ0FNQztBQVFELHdEQUtDO0FBU0QsZ0VBbUJDO0FBVUQsb0JBVUM7QUFXRCwwQ0FxQkM7QUFXRCxnREFhQztBQVNELGtDQWtCQztBQVFELHdDQUVDO0FBUUQsd0RBRUM7QUFRRCw0REFFQztBQVFELDRDQU9DO0FBUUQsNENBT0M7QUFRRCw4Q0FPQztBQVFELDRDQUVDO0FBUUQsd0RBRUM7QUFTRCxnQ0FFQztBQVNELDhCQU1DO0FBU0QsMENBTUM7QUFqVEQsbURBQWlFO0FBQ2pFLDRDQUFpRDtBQUNqRCx1REFBeUM7QUFDekMsdUNBQW9DO0FBQ3BDLDRFQUF3QztBQUd4QyxtREFBNEQ7QUFFNUQsMENBQTBDO0FBQzdCLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXJEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFlBQVksQ0FBQyxNQUFjLEVBQUUsT0FBZTtJQUMxRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDZCxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUIsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxzQkFBc0IsQ0FBQyxrQkFBMEI7SUFDckUsTUFBTSw0QkFBTSxDQUFDLEtBQUssQ0FBQztJQUNuQixNQUFNLHdCQUF3QixH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bUIsQ0FBQTtJQUNuQixxRUFBZ0IsQ0FBQTtJQUNoQixpRUFBYyxDQUFBO0FBQ2hCLENBQUMsRUFMVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQUs1QjtBQUVELElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQiw0REFBaUIsQ0FBQTtJQUNqQiwrREFBbUIsQ0FBQTtJQUNuQix5REFBZ0IsQ0FBQTtJQUNoQixvREFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLFdBQVcsMkJBQVgsV0FBVyxRQUt0QjtBQUVELElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQiw2RUFBYyxDQUFBO0lBQ2QsaUZBQWlCLENBQUE7SUFDakIsMkVBQWMsQ0FBQTtJQUNkLHFFQUFVLENBQUE7QUFDWixDQUFDLEVBTFcscUJBQXFCLHFDQUFyQixxQkFBcUIsUUFLaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1ZhbGlkWHB1YiwgU2lnbmluZ0Vycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgSW5NZW1vcnlTaWduZXIgfSBmcm9tICdAdGFxdWl0by9zaWduZXInO1xuaW1wb3J0ICogYXMgYmFzZTU4Y2hlY2sgZnJvbSAnYnM1OGNoZWNrJztcbmltcG9ydCB7IGVjIGFzIEVDIH0gZnJvbSAnZWxsaXB0aWMnO1xuaW1wb3J0IHNvZGl1bSBmcm9tICdsaWJzb2RpdW0td3JhcHBlcnMnO1xuaW1wb3J0IHsgSGFzaFR5cGUsIFNpZ25SZXNwb25zZSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBnZW5lcmljTXVsdGlzaWdEYXRhVG9TaWduIH0gZnJvbSAnLi9tdWx0aXNpZ1V0aWxzJztcblxuLy8gQnkgZGVmYXVsdCwgdXNlIHRoZSB0cmFuc2FjdGlvbnMgcHJlZml4XG5leHBvcnQgY29uc3QgREVGQVVMVF9XQVRFUk1BUksgPSBuZXcgVWludDhBcnJheShbM10pO1xuXG4vKipcbiAqIEVuY29kZSB0aGUgcGF5bG9hZCB0byBiYXNlNTggd2l0aCBhIHNwZWNpZmljIFRlem9zIHByZWZpeC5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcn0gcHJlZml4IHRvIGFkZCB0byB0aGUgZW5jb2RlZCBwYXlsb2FkXG4gKiBAcGFyYW0ge0J1ZmZlcn0gcGF5bG9hZCB0byBlbmNvZGVcbiAqIEByZXR1cm5zIHthbnl9IGJhc2U1OCBwYXlsb2FkIHdpdGggYSBUZXpvcyBwcmVmaXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhc2U1OGVuY29kZShwcmVmaXg6IEJ1ZmZlciwgcGF5bG9hZDogQnVmZmVyKTogc3RyaW5nIHtcbiAgY29uc3QgbiA9IEJ1ZmZlci5hbGxvYyhwcmVmaXgubGVuZ3RoICsgcGF5bG9hZC5sZW5ndGgpO1xuICBuLnNldChwcmVmaXgpO1xuICBuLnNldChwYXlsb2FkLCBwcmVmaXgubGVuZ3RoKTtcblxuICByZXR1cm4gYmFzZTU4Y2hlY2suZW5jb2RlKG4pO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgdHJhbnNhY3Rpb24gaWQgZm9yIGEgZm9yIGEgc2lnbmVkIHRyYW5zYWN0aW9uLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBlbmNvZGVkVHJhbnNhY3Rpb24gU2lnbmVkIHRyYW5zYWN0aW9uIGluIGhleGFkZWNpbWFsXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSBUaGUgdHJhbnNhY3Rpb24gaWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNhbGN1bGF0ZVRyYW5zYWN0aW9uSWQoZW5jb2RlZFRyYW5zYWN0aW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBhd2FpdCBzb2RpdW0ucmVhZHk7XG4gIGNvbnN0IGVuY29kZWRUcmFuc2FjdGlvbkJ1ZmZlciA9IFVpbnQ4QXJyYXkuZnJvbShCdWZmZXIuZnJvbShlbmNvZGVkVHJhbnNhY3Rpb24sICdoZXgnKSk7XG4gIGNvbnN0IG9wZXJhdGlvbkhhc2hQYXlsb2FkID0gc29kaXVtLmNyeXB0b19nZW5lcmljaGFzaCgzMiwgZW5jb2RlZFRyYW5zYWN0aW9uQnVmZmVyKTtcbiAgcmV0dXJuIGJhc2U1OGVuY29kZShoYXNoVHlwZXMuby5wcmVmaXgsIEJ1ZmZlci5mcm9tKG9wZXJhdGlvbkhhc2hQYXlsb2FkKSk7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSBhZGRyZXNzIG9mIGEgbmV3IG9yaWdpbmF0ZWQgYWNjb3VudC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdHJhbnNhY3Rpb25JZCBUaGUgdHJhbnNhY3Rpb24gaWRcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIG9yaWdpbmF0aW9uIG9wZXJhdGlvbiBpbnNpZGUgdGhlIHRyYW5zYWN0aW9uIChzdGFydHMgYXQgMClcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IEFuIG9yaWdpbmF0ZWQgYWRkcmVzcyB3aXRoIHRoZSBLVCBwcmVmaXhcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNhbGN1bGF0ZU9yaWdpbmF0ZWRBZGRyZXNzKHRyYW5zYWN0aW9uSWQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XG4gIC8vIEZyb20gaHR0cHM6Ly9naXRodWIuY29tL1RlelRlY2gvZXp0ei9ibG9iL2NmZGM0ZmNmYzg5MWY0ZjRmMDc3YzMwNTZmNDE0NDc2ZGRlMzYxMGIvc3JjL21haW4uanMjTDc2OFxuICBjb25zdCBvYiA9IGJhc2U1OGNoZWNrLmRlY29kZSh0cmFuc2FjdGlvbklkKS5zbGljZShoYXNoVHlwZXMuby5wcmVmaXgubGVuZ3RoKTtcblxuICBsZXQgdHQ6IG51bWJlcltdID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgb2IubGVuZ3RoOyBpKyspIHtcbiAgICB0dC5wdXNoKG9iW2ldKTtcbiAgfVxuXG4gIHR0ID0gdHQuY29uY2F0KFtcbiAgICAoaW5kZXggJiAweGZmMDAwMDAwKSA+PiAyNCxcbiAgICAoaW5kZXggJiAweDAwZmYwMDAwKSA+PiAxNixcbiAgICAoaW5kZXggJiAweDAwMDBmZjAwKSA+PiA4LFxuICAgIGluZGV4ICYgMHgwMDAwMDBmZixcbiAgXSk7XG5cbiAgYXdhaXQgc29kaXVtLnJlYWR5O1xuICBjb25zdCBwYXlsb2FkID0gc29kaXVtLmNyeXB0b19nZW5lcmljaGFzaCgyMCwgbmV3IFVpbnQ4QXJyYXkodHQpKTtcbiAgcmV0dXJuIGJhc2U1OGVuY29kZShoYXNoVHlwZXMuS1QucHJlZml4LCBCdWZmZXIuZnJvbShwYXlsb2FkKSk7XG59XG5cbi8qKlxuICogR2VuZXJpYyBkYXRhIHNpZ25pbmcgdXNpbmcgVGV6b3MgbGlicmFyeS5cbiAqXG4gKiBAcGFyYW0ge0tleVBhaXJ9IGtleVBhaXIgQSBLZXkgUGFpciB3aXRoIGEgcHJpdmF0ZSBrZXkgc2V0XG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YSBUaGUgZGF0YSBpbiBoZXhhZGVjaW1hbCB0byBzaWduXG4gKiBAcGFyYW0ge1VpbnQ4QXJyYXl9IHdhdGVybWFyayBNYWdpYyBieXRlOiAxIGZvciBibG9jaywgMiBmb3IgZW5kb3JzZW1lbnQsIDMgZm9yIGdlbmVyaWNcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNpZ25SZXNwb25zZT59XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduKFxuICBrZXlQYWlyOiBLZXlQYWlyLFxuICBkYXRhOiBzdHJpbmcsXG4gIHdhdGVybWFyazogVWludDhBcnJheSA9IERFRkFVTFRfV0FURVJNQVJLXG4pOiBQcm9taXNlPFNpZ25SZXNwb25zZT4ge1xuICBpZiAoIWtleVBhaXIuZ2V0S2V5cygpLnBydikge1xuICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ01pc3NpbmcgcHJpdmF0ZSBrZXknKTtcbiAgfVxuICBjb25zdCBzaWduZXIgPSBuZXcgSW5NZW1vcnlTaWduZXIoa2V5UGFpci5nZXRLZXlzKCkucHJ2ISk7XG4gIHJldHVybiBzaWduZXIuc2lnbihkYXRhLCB3YXRlcm1hcmspO1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIHRoZSBzaWduYXR1cmUgcHJvZHVjZWQgZm9yIGEgZ2l2ZW4gbWVzc2FnZSBiZWxvbmdzIHRvIGEgc2VjcDI1NmsxIHB1YmxpYyBrZXkuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgTWVzc2FnZSBpbiBoZXggZm9ybWF0IHRvIHZlcmlmeVxuICogQHBhcmFtIHtzdHJpbmd9IHB1YmxpY0tleSBzZWNwMjU2azEgcHVibGljIGtleSB3aXRoIFwic3Bwa1wiIHByZWZpeCB0byB2ZXJpZnkgdGhlIHNpZ25hdHVyZSB3aXRoXG4gKiBAcGFyYW0ge3N0cmluZ30gc2lnbmF0dXJlIFRlem9zIHNpZ25hdHVyZSB3aXRoIFwic2lnXCIgcHJlZml4XG4gKiBAcGFyYW0ge1VpbnQ4QXJyYXl9IHdhdGVybWFyayBPcHRpb25hbCB3YXRlcm1hcmsgdXNlZCB0byBnZW5lcmF0ZSB0aGUgc2lnbmF0dXJlXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVNpZ25hdHVyZShcbiAgbWVzc2FnZTogc3RyaW5nLFxuICBwdWJsaWNLZXk6IHN0cmluZyxcbiAgc2lnbmF0dXJlOiBzdHJpbmcsXG4gIHdhdGVybWFyazogVWludDhBcnJheSA9IERFRkFVTFRfV0FURVJNQVJLXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgcmF3UHVibGljS2V5ID0gZGVjb2RlS2V5KHB1YmxpY0tleSwgaGFzaFR5cGVzLnNwcGspO1xuICBjb25zdCBlYyA9IG5ldyBFQygnc2VjcDI1NmsxJyk7XG4gIGNvbnN0IGtleSA9IGVjLmtleUZyb21QdWJsaWMocmF3UHVibGljS2V5KTtcblxuICBjb25zdCBtZXNzYWdlQnVmZmVyID0gVWludDhBcnJheS5mcm9tKEJ1ZmZlci5mcm9tKG1lc3NhZ2UsICdoZXgnKSk7XG4gIC8vIFRlem9zIHNpZ25hdHVyZXMgYWx3YXlzIGhhdmUgYSB3YXRlcm1hcmtcbiAgY29uc3QgbWVzc2FnZVdpdGhXYXRlcm1hcmsgPSBuZXcgVWludDhBcnJheSh3YXRlcm1hcmsubGVuZ3RoICsgbWVzc2FnZUJ1ZmZlci5sZW5ndGgpO1xuICBtZXNzYWdlV2l0aFdhdGVybWFyay5zZXQod2F0ZXJtYXJrKTtcbiAgbWVzc2FnZVdpdGhXYXRlcm1hcmsuc2V0KG1lc3NhZ2VCdWZmZXIsIHdhdGVybWFyay5sZW5ndGgpO1xuXG4gIGF3YWl0IHNvZGl1bS5yZWFkeTtcbiAgY29uc3QgYnl0ZXNIYXNoID0gQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19nZW5lcmljaGFzaCgzMiwgbWVzc2FnZVdpdGhXYXRlcm1hcmspKTtcblxuICBjb25zdCByYXdTaWduYXR1cmUgPSBkZWNvZGVTaWduYXR1cmUoc2lnbmF0dXJlLCBoYXNoVHlwZXMuc2lnKTtcbiAgcmV0dXJuIGtleS52ZXJpZnkoYnl0ZXNIYXNoLCB7IHI6IHJhd1NpZ25hdHVyZS5zbGljZSgwLCAzMiksIHM6IHJhd1NpZ25hdHVyZS5zbGljZSgzMiwgNjQpIH0pO1xufVxuXG4vKipcbiAqIFVzZWZ1bCB3cmFwcGVyIHRvIGNyZWF0ZSB0aGUgZ2VuZXJpYyBtdWx0aXNpZyBjb250cmFjdCBkYXRhIHRvIHNpZ24gd2hlbiBtb3ZpbmcgZnVuZHMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRyYWN0QWRkcmVzcyBUaGUgd2FsbGV0IGNvbnRyYWN0IGFkZHJlc3Mgd2l0aCB0aGUgZnVuZHMgdG8gd2l0aGRyYXdcbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXN0aW5hdGlvbkFkZHJlc3MgVGhlIGFkZHJlc3MgdG8gdHJhbnNmZXIgdGhlIGZ1bmRzIHRvXG4gKiBAcGFyYW0ge251bWJlcn0gYW1vdW50IE51bWJlciBtdXRleiB0byB0cmFuc2ZlclxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRyYWN0Q291bnRlciBXYWxsZXQgY291bnRlciB0byB1c2UgaW4gdGhlIHRyYW5zYWN0aW9uXG4gKiBAcmV0dXJucyB7YW55fSBBIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIE1pY2hlbHNvbiBzY3JpcHQgdG8gc2lnbiBhbmQgYXBwcm92ZSBhIHRyYW5zZmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZURhdGFUb1NpZ24oXG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICBkZXN0aW5hdGlvbkFkZHJlc3M6IHN0cmluZyxcbiAgYW1vdW50OiBzdHJpbmcsXG4gIGNvbnRyYWN0Q291bnRlcjogc3RyaW5nXG4pOiBhbnkge1xuICBpZiAoIWlzVmFsaWRPcmlnaW5hdGVkQWRkcmVzcyhjb250cmFjdEFkZHJlc3MpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbnRyYWN0IGFkZHJlc3MgJyArIGNvbnRyYWN0QWRkcmVzcyArICcuIEFuIG9yaWdpbmF0ZWQgYWNjb3VudCBhZGRyZXNzIHdhcyBleHBlY3RlZCcpO1xuICB9XG4gIGlmICghaXNWYWxpZEFkZHJlc3MoZGVzdGluYXRpb25BZGRyZXNzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkZXN0aW5hdGlvbiBhZGRyZXNzICcgKyBkZXN0aW5hdGlvbkFkZHJlc3MpO1xuICB9XG4gIHJldHVybiBnZW5lcmljTXVsdGlzaWdEYXRhVG9TaWduKGNvbnRyYWN0QWRkcmVzcywgZGVzdGluYXRpb25BZGRyZXNzLCBhbW91bnQsIGNvbnRyYWN0Q291bnRlcik7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3MgaGFzaCBvZiB0aGUgZ2l2ZW4gdHlwZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoYXNoIC0gdGhlIHN0cmluZyB0byB2YWxpZGF0ZVxuICogQHBhcmFtIHtIYXNoVHlwZX0gaGFzaFR5cGUgLSB0aGUgdHlwZSBvZiB0aGUgcHJvdmlkZWQgaGFzaFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkSGFzaChoYXNoOiBzdHJpbmcsIGhhc2hUeXBlOiBIYXNoVHlwZSk6IGJvb2xlYW4ge1xuICAvLyBWYWxpZGF0ZSBlbmNvZGluZ1xuICBsZXQgZGVjb2RlZEhhc2g7XG4gIHRyeSB7XG4gICAgZGVjb2RlZEhhc2ggPSBiYXNlNThjaGVjay5kZWNvZGUoaGFzaCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgaGFzaFByZWZpeCA9IGRlY29kZWRIYXNoLnNsaWNlKDAsIGhhc2hUeXBlLnByZWZpeC5sZW5ndGgpO1xuXG4gIC8vIENoZWNrIHByZWZpeFxuICBpZiAoIWhhc2hQcmVmaXguZXF1YWxzKEJ1ZmZlci5mcm9tKGhhc2hUeXBlLnByZWZpeCkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgbGVuZ3RoXG4gIGNvbnN0IGhhc2hMZW5ndGggPSBkZWNvZGVkSGFzaC5sZW5ndGggLSBoYXNoUHJlZml4Lmxlbmd0aDtcbiAgcmV0dXJuIGhhc2hMZW5ndGggPT09IGhhc2hUeXBlLmJ5dGVMZW5ndGg7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3MgYWRkcmVzc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoYXNoIC0gdGhlIGFkZHJlc3MgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEFkZHJlc3MoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkSW1wbGljaXRBZGRyZXNzKGhhc2gpIHx8IGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy5LVCk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3MgaW1wbGljaXQgYWNjb3VudCBhZGRyZXNzXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkSW1wbGljaXRBZGRyZXNzKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLnR6MSkgfHwgaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLnR6MikgfHwgaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLnR6Myk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3Mgb3JpZ2luYXRlZCBhY2NvdW50IGFkZHJlc3NcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRPcmlnaW5hdGVkQWRkcmVzcyhoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy5LVCk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3Mgc2lnbmF0dXJlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgc2lnbmF0dXJlIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRTaWduYXR1cmUoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLmVkc2lnKSB8fFxuICAgIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy5zcHNpZzEpIHx8XG4gICAgaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLnAyc2lnKSB8fFxuICAgIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy5zaWcpXG4gICk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3MgcHVibGljIGtleVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNLZXkgVGhlIHB1YmxpYyBrZXkgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGlzVmFsaWRIYXNoKHB1YmxpY0tleSwgaGFzaFR5cGVzLnNwcGspIHx8XG4gICAgaXNWYWxpZEhhc2gocHVibGljS2V5LCBoYXNoVHlwZXMucDJwaykgfHxcbiAgICBpc1ZhbGlkSGFzaChwdWJsaWNLZXksIGhhc2hUeXBlcy5lZHBrKSB8fFxuICAgIGlzVmFsaWRYcHViKHB1YmxpY0tleSkgLy8geHB1YnMgYXJlIHZhbGlkIHRvby5cbiAgKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBwcml2YXRlIGtleVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcml2YXRlS2V5IFRoZSBwcml2YXRlIGtleSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUHJpdmF0ZUtleShwcml2YXRlS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBpc1ZhbGlkSGFzaChwcml2YXRlS2V5LCBoYXNoVHlwZXMuZWRlc2spIHx8XG4gICAgaXNWYWxpZEhhc2gocHJpdmF0ZUtleSwgaGFzaFR5cGVzLmVkc2spIHx8XG4gICAgaXNWYWxpZEhhc2gocHJpdmF0ZUtleSwgaGFzaFR5cGVzLnNwc2spIHx8XG4gICAgaXNWYWxpZEhhc2gocHJpdmF0ZUtleSwgaGFzaFR5cGVzLnAyc2spXG4gICk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3MgYmxvY2sgaGFzaFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoYXNoIC0gdGhlIGFkZHJlc3MgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEJsb2NrSGFzaChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy5iKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyB0cmFuc2FjdGlvbiBoYXNoXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkVHJhbnNhY3Rpb25IYXNoKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLm8pO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIGtleSBnaXZlbiBhIHByZWZpeFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoYXNoIC0gdGhlIGtleSB0byB2YWxpZGF0ZVxuICogQHBhcmFtIHtIYXNoVHlwZX0gaGFzaFR5cGUgLSB0aGUgdHlwZSBvZiB0aGUgcHJvdmlkZWQgaGFzaFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkS2V5KGhhc2g6IHN0cmluZywgaGFzaFR5cGU6IEhhc2hUeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZSk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBvcmlnaW5hbCBrZXkgZm9ybSB0aGUgdGV4dCB3aXRob3V0IHRoZSBnaXZlbiBwcmVmaXguXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSBiYXNlNTggZW5jb2RlZCBrZXkgd2l0aCBhIFRlem9zIHByZWZpeFxuICogQHBhcmFtIHtIYXNoVHlwZX0gaGFzaFR5cGUgLSB0aGUgdHlwZSBvZiB0aGUgcHJvdmlkZWQgaGFzaFxuICogQHJldHVybnMge0J1ZmZlcn0gdGhlIG9yaWdpbmFsIGRlY29kZWQga2V5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVLZXkoaGFzaDogc3RyaW5nLCBoYXNoVHlwZTogSGFzaFR5cGUpOiBCdWZmZXIge1xuICBpZiAoIWlzVmFsaWRLZXkoaGFzaCwgaGFzaFR5cGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBwcml2YXRlIGtleScpO1xuICB9XG4gIGNvbnN0IGRlY29kZWRQcnYgPSBiYXNlNThjaGVjay5kZWNvZGUoaGFzaCk7XG4gIHJldHVybiBCdWZmZXIuZnJvbShkZWNvZGVkUHJ2LnNsaWNlKGhhc2hUeXBlLnByZWZpeC5sZW5ndGgsIGRlY29kZWRQcnYubGVuZ3RoKSk7XG59XG5cbi8qKlxuICogR2V0IHRoZSByYXcgc2lnbmF0dXJlIGZyb20gYSBUZXpvcyBlbmNvZGVkIG9uZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gc2lnbmF0dXJlIFRlem9zIHNpZ25hdHVyZXMgcHJlZml4ZWQgd2l0aCBzaWcsIGVkc2lnLCBwMnNpZyBvciBzcHNpZ1xuICogQHBhcmFtIHtIYXNoVHlwZX0gaGFzaFR5cGUgVGhlIHByZWZpeCBvZiByZW1vdmVcbiAqIEByZXR1cm5zIHtCdWZmZXJ9IFRoZSBkZWNvZGVkIHNpZ25hdHVyZSB3aXRob3V0IHByZWZpeFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nLCBoYXNoVHlwZTogSGFzaFR5cGUpOiBCdWZmZXIge1xuICBpZiAoIWlzVmFsaWRTaWduYXR1cmUoc2lnbmF0dXJlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgc2lnbmF0dXJlJyk7XG4gIH1cbiAgY29uc3QgZGVjb2RlZFBydiA9IGJhc2U1OGNoZWNrLmRlY29kZShzaWduYXR1cmUpO1xuICByZXR1cm4gQnVmZmVyLmZyb20oZGVjb2RlZFBydi5zbGljZShoYXNoVHlwZS5wcmVmaXgubGVuZ3RoLCBkZWNvZGVkUHJ2Lmxlbmd0aCkpO1xufVxuXG4vLyBCYXNlNThDaGVjayBpcyB1c2VkIGZvciBlbmNvZGluZ1xuLy8gaGFzaGVkVHlwZXMgaXMgdXNlZCB0byB2YWxpZGF0ZSBoYXNoZXMgYnkgdHlwZSwgYnkgY2hlY2tpbmcgdGhlaXIgcHJlZml4IGFuZFxuLy8gdGhlIGxlbmd0aCBvZiB0aGUgQnVmZmVyIG9idGFpbmVkIGJ5IGRlY29kaW5nIHRoZSBoYXNoIChleGNsdWRpbmcgdGhlIHByZWZpeClcbmV4cG9ydCBjb25zdCBoYXNoVHlwZXMgPSB7XG4gIC8qIDIwIGJ5dGVzIGxvbmcgKi9cbiAgLy8gZWQyNTUxOSBwdWJsaWMga2V5IGhhc2hcbiAgdHoxOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNiwgMTYxLCAxNTldKSxcbiAgICBieXRlTGVuZ3RoOiAyMCxcbiAgfSxcbiAgLy8gc2VjcDI1NmsxIHB1YmxpYyBrZXkgaGFzaFxuICB0ejI6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs2LCAxNjEsIDE2MV0pLFxuICAgIGJ5dGVMZW5ndGg6IDIwLFxuICB9LFxuICAvLyBwMjU2IHB1YmxpYyBrZXkgaGFzaFxuICB0ejM6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs2LCAxNjEsIDE2NF0pLFxuICAgIGJ5dGVMZW5ndGg6IDIwLFxuICB9LFxuICBLVDoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzIsIDkwLCAxMjFdKSxcbiAgICBieXRlTGVuZ3RoOiAyMCxcbiAgfSxcbiAgLyogMzIgYnl0ZXMgbG9uZyAqL1xuICAvLyBlZDI1NTE5IHB1YmxpYyBrZXlcbiAgZWRwazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzEzLCAxNSwgMzcsIDIxN10pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBlZDI1NTE5IHNlY3JldCBrZXlcbiAgZWRzazI6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFsxMywgMTUsIDU4LCA3XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIHNlY3AyNTZrMSBzZWNyZXQga2V5XG4gIHNwc2s6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFsxNywgMTYyLCAyMjQsIDIwMV0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBwMjU2IHNlY3JldCBrZXlcbiAgcDJzazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzE2LCA4MSwgMjM4LCAxODldKSxcbiAgICBieXRlTGVuZ3RoOiAzMixcbiAgfSxcbiAgLy8gYmxvY2sgaGFzaFxuICBiOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMSwgNTJdKSxcbiAgICBieXRlTGVuZ3RoOiAzMixcbiAgfSxcbiAgLy8gb3BlcmF0aW9uIGhhc2hcbiAgbzoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzUsIDExNl0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBvcGVyYXRpb24gbGlzdCBoYXNoXG4gIExvOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTMzLCAyMzNdKSxcbiAgICBieXRlTGVuZ3RoOiAzMixcbiAgfSxcbiAgLy8gb3BlcmF0aW9uIGxpc3QgbGlzdCBoYXNoXG4gIExMbzoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzI5LCAxNTksIDEwOV0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBwcm90b2NvbCBoYXNoXG4gIFA6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFsyLCAxNzBdKSxcbiAgICBieXRlTGVuZ3RoOiAzMixcbiAgfSxcbiAgLy8gY29udGV4dCBoYXNoXG4gIENvOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNzksIDE3OV0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvKiAzMyBieXRlcyBsb25nICovXG4gIC8vIHNlY3AyNTZrMSBwdWJsaWMga2V5XG4gIHNwcGs6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFszLCAyNTQsIDIyNiwgODZdKSxcbiAgICBieXRlTGVuZ3RoOiAzMyxcbiAgfSxcbiAgLy8gcDI1NiBwdWJsaWMga2V5XG4gIHAycGs6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFszLCAxNzgsIDEzOSwgMTI3XSksXG4gICAgYnl0ZUxlbmd0aDogMzMsXG4gIH0sXG4gIC8qIDU2IGJ5dGVzIGxvbmcgKi9cbiAgLy8gZWQyNTUxOSBlbmNyeXB0ZWQgc2VlZFxuICBlZGVzazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzcsIDkwLCA2MCwgMTc5LCA0MV0pLFxuICAgIGJ5dGVMZW5ndGg6IDU2LFxuICB9LFxuICAvKiA2MyBieXRlcyBsb25nICovXG4gIC8vIGVkMjU1MTkgc2VjcmV0IGtleVxuICBlZHNrOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNDMsIDI0NiwgNzgsIDddKSxcbiAgICBieXRlTGVuZ3RoOiA2NCxcbiAgfSxcbiAgLy8gZWQyNTUxOSBzaWduYXR1cmVcbiAgZWRzaWc6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs5LCAyNDUsIDIwNSwgMTM0LCAxOF0pLFxuICAgIGJ5dGVMZW5ndGg6IDY0LFxuICB9LFxuICAvLyBzZWNwMjU2azEgc2lnbmF0dXJlXG4gIHNwc2lnMToge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzEzLCAxMTUsIDEwMSwgMTksIDYzXSksXG4gICAgYnl0ZUxlbmd0aDogNjQsXG4gIH0sXG4gIC8vIHAyNTZfc2lnbmF0dXJlXG4gIHAyc2lnOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNTQsIDI0MCwgNDQsIDUyXSksXG4gICAgYnl0ZUxlbmd0aDogNjQsXG4gIH0sXG4gIC8vIGdlbmVyaWMgc2lnbmF0dXJlXG4gIHNpZzoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzQsIDEzMCwgNDNdKSxcbiAgICBieXRlTGVuZ3RoOiA2NCxcbiAgfSxcbiAgLyogMTUgYnl0ZXMgbG9uZyAqL1xuICAvLyBuZXR3b3JrIGhhc2hcbiAgTmV0OiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbODcsIDgyLCAwXSksXG4gICAgYnl0ZUxlbmd0aDogMTUsXG4gIH0sXG4gIC8vIG5vbmNlIGhhc2hcbiAgbmNlOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNjksIDIyMCwgMTY5XSksXG4gICAgYnl0ZUxlbmd0aDogMTUsXG4gIH0sXG4gIC8qIDQgYnl0ZXMgbG9uZyAqL1xuICAvLyBjaGFpbiBpZFxuICBpZDoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzE1MywgMTAzXSksXG4gICAgYnl0ZUxlbmd0aDogNCxcbiAgfSxcbn07XG5cbi8vIEZyb20gaHR0cHM6Ly9naXRodWIuY29tL2VjYWRsYWJzL3RhcXVpdG8vYmxvYi9tYXN0ZXIvcGFja2FnZXMvdGFxdWl0by9zcmMvY29uc3RhbnRzLnRzXG5cbmV4cG9ydCBlbnVtIERFRkFVTFRfR0FTX0xJTUlUIHtcbiAgREVMRUdBVElPTiA9IDEwNjAwLFxuICBPUklHSU5BVElPTiA9IDEwNjAwLFxuICBUUkFOU0ZFUiA9IDEwNjAwLFxuICBSRVZFQUwgPSAxMDYwMCxcbn1cblxuZXhwb3J0IGVudW0gREVGQVVMVF9GRUUge1xuICBERUxFR0FUSU9OID0gMTI1NyxcbiAgT1JJR0lOQVRJT04gPSAxMDAwMCxcbiAgVFJBTlNGRVIgPSAxMDAwMCxcbiAgUkVWRUFMID0gMTQyMCxcbn1cblxuZXhwb3J0IGVudW0gREVGQVVMVF9TVE9SQUdFX0xJTUlUIHtcbiAgREVMRUdBVElPTiA9IDAsXG4gIE9SSUdJTkFUSU9OID0gMjU3LFxuICBUUkFOU0ZFUiA9IDI1NyxcbiAgUkVWRUFMID0gMCxcbn1cbiJdfQ==
|
package/dist/src/xtz.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
1
|
import { BaseCoin, BitGoBase, KeyPair as SdkCoreKeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, VerifyAddressOptions, VerifyTransactionOptions, TransactionExplanation } from '@bitgo-beta/sdk-core';
|
|
4
2
|
import { BaseCoin as StaticsBaseCoin, CoinFamily } from '@bitgo-beta/statics';
|
|
5
3
|
import { Interface } from './lib';
|
package/dist/src/xtz.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xtz.d.ts","sourceRoot":"","sources":["../../src/xtz.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xtz.d.ts","sourceRoot":"","sources":["../../src/xtz.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EAET,OAAO,IAAI,cAAc,EAEzB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,UAAU,EAAS,MAAM,qBAAqB,CAAC;AAGrF,OAAO,EAAE,SAAS,EAAsC,MAAM,OAAO,CAAC;AAEtE,qBAAa,GAAI,SAAQ,QAAQ;IAC/B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAE/C,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAUrE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,UAAU;IAIvB,WAAW,IAAI,MAAM;IAIrB,aAAa;IAIb;;;OAGG;IACH,wBAAwB,IAAI,OAAO;IAInC;;OAEG;IACH,2BAA2B,IAAI,OAAO;IAItC;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOxC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc;IAcxC,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI7E,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3E;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAMvE;;;;;;;;OAQG;IACG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6B9F;;;;;OAKG;IACG,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjF;;;;;;;OAOG;IACG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxC;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA4BtG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAGjC"}
|
package/dist/src/xtz.js
CHANGED
|
@@ -79,10 +79,9 @@ class Xtz extends sdk_core_1.BaseCoin {
|
|
|
79
79
|
throw new sdk_core_1.MethodNotImplementedError();
|
|
80
80
|
}
|
|
81
81
|
async verifyTransaction(params) {
|
|
82
|
-
var _a;
|
|
83
82
|
const { txParams } = params;
|
|
84
83
|
if (Array.isArray(txParams.recipients) && txParams.recipients.length > 1) {
|
|
85
|
-
throw new Error(
|
|
84
|
+
throw new Error(`${this.getChain()} doesn't support sending to more than 1 destination address within a single transaction. Try again, using only a single recipient.`);
|
|
86
85
|
}
|
|
87
86
|
return true;
|
|
88
87
|
}
|
|
@@ -181,8 +180,8 @@ class Xtz extends sdk_core_1.BaseCoin {
|
|
|
181
180
|
outputAmount: tx.outputs
|
|
182
181
|
.reduce((accumulator, output) => accumulator.plus(output.value), new bignumber_js_1.default('0'))
|
|
183
182
|
.toFixed(0),
|
|
184
|
-
changeOutputs: [],
|
|
185
|
-
changeAmount: '0',
|
|
183
|
+
changeOutputs: [], // account based does not use change outputs
|
|
184
|
+
changeAmount: '0', // account base does not make change
|
|
186
185
|
fee: params.feeInfo,
|
|
187
186
|
};
|
|
188
187
|
}
|
|
@@ -191,4 +190,4 @@ class Xtz extends sdk_core_1.BaseCoin {
|
|
|
191
190
|
}
|
|
192
191
|
}
|
|
193
192
|
exports.Xtz = Xtz;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHR6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3h0ei50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFZOEI7QUFDOUIsaURBQXFGO0FBQ3JGLGdFQUFxQztBQUNyQyxtREFBNkM7QUFDN0MsK0JBQXNFO0FBRXRFLE1BQWEsR0FBSSxTQUFRLG1CQUFRO0lBRy9CLFlBQVksS0FBZ0IsRUFBRSxXQUF1QztRQUNuRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztTQUN2RTtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsT0FBZTtR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TUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksc0JBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDbkYsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNiLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLFlBQVksRUFBRSxHQUFHO1lBQ2pCLEdBQUcsRUFBRSxNQUFNLENBQUMsT0FBTztTQUNiLENBQUM7SUFDWCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxXQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBN01ELGtCQTZNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VDb2luLFxuICBCaXRHb0Jhc2UsXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIEtleVBhaXIgYXMgU2RrQ29yZUtleVBhaXIsXG4gIE1ldGhvZE5vdEltcGxlbWVudGVkRXJyb3IsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFZlcmlmeUFkZHJlc3NPcHRpb25zLFxuICBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQ29pbkZhbWlseSwgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgSW50ZXJmYWNlLCBVdGlscywgS2V5UGFpciwgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9saWInO1xuXG5leHBvcnQgY2xhc3MgWHR6IGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFh0eihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4ubmFtZTtcbiAgfVxuXG4gIGdldEZhbWlseSgpOiBDb2luRmFtaWx5IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZmFtaWx5O1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZnVsbE5hbWU7XG4gIH1cblxuICBnZXRCYXNlRmFjdG9yKCkge1xuICAgIHJldHVybiBNYXRoLnBvdygxMCwgdGhpcy5fc3RhdGljc0NvaW4uZGVjaW1hbFBsYWNlcyk7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyB2YWx1ZSBvZiAwXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCAwIHZhbHVlLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBYdHogc3VwcG9ydHMgdHJhbnNmZXJzIHRvIGNvbnNvbGlkYXRlIGJhbGFuY2UgZnJvbSByZWNlaXZlIGFkZHJlc3MgdG8gdGhlIHdhbGxldCBjb250cmFjdFxuICAgKi9cbiAgYWxsb3dzQWNjb3VudENvbnNvbGlkYXRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIGlzIGEgdmFsaWQgYmFzZTU4IG9yIGhleCBhZGRyZXNzXG4gICAqIEBwYXJhbSBhZGRyZXNzXG4gICAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIWFkZHJlc3MpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIFV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIFRlem9zIGtleSBwYWlyIC0gQml0R28geHB1YiBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHNlZWRcbiAgICogQHJldHVybnMge09iamVjdH0gb2JqZWN0IHdpdGggZ2VuZXJhdGVkIHhwdWIsIHhwcnZcbiAgICovXG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogU2RrQ29yZUtleVBhaXIge1xuICAgIGNvbnN0IGtleVBhaXIgPSBzZWVkID8gbmV3IEtleVBhaXIoeyBzZWVkIH0pIDogbmV3IEtleVBhaXIoKTtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRFeHRlbmRlZEtleXMoKTtcblxuICAgIGlmICgha2V5cy54cHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgeHBydiBpbiBrZXkgZ2VuZXJhdGlvbi4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHViOiBrZXlzLnhwdWIsXG4gICAgICBwcnY6IGtleXMueHBydixcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhyb3cgbmV3IE1ldGhvZE5vdEltcGxlbWVudGVkRXJyb3IoKTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0eFBhcmFtcyB9ID0gcGFyYW1zO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHR4UGFyYW1zLnJlY2lwaWVudHMpICYmIHR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0eFBhcmFtcyBzaG91bGQgb25seSBoYXZlIDEgcmVjaXBpZW50IGJ1dCAke3R4UGFyYW1zPy5yZWNpcGllbnRzPy5sZW5ndGh9IGZvdW5kYCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcml2ZSBhIHVzZXIga2V5IHVzaW5nIHRoZSBjaGFpbiBwYXRoIG9mIHRoZSBhZGRyZXNzXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHBhcmFtIHBhdGhcbiAgICogQHJldHVybnMge3N0cmluZ30gZGVyaXZlZCBwcml2YXRlIGtleVxuICAgKi9cbiAgZGVyaXZlS2V5V2l0aFBhdGgoeyBrZXksIHBhdGggfTogeyBrZXk6IHN0cmluZzsgcGF0aDogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIGNvbnN0IGtleWNoYWluID0gYmlwMzIuZnJvbUJhc2U1OChrZXkpO1xuICAgIGNvbnN0IGRlcml2ZWRLZXlOb2RlID0ga2V5Y2hhaW4uZGVyaXZlUGF0aChwYXRoKTtcbiAgICByZXR1cm4gZGVyaXZlZEtleU5vZGUudG9CYXNlNTgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NlbWJsZSBrZXljaGFpbiBhbmQgaGFsZi1zaWduIHByZWJ1aWx0IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy50eFByZWJ1aWxkIHtPYmplY3R9IHByZWJ1aWxkIG9iamVjdCByZXR1cm5lZCBieSBwbGF0Zm9ybVxuICAgKiBAcGFyYW0gcGFyYW1zLnBydiB7U3RyaW5nfSB1c2VyIHBydlxuICAgKiBAcGFyYW0gcGFyYW1zLndhbGxldC5hZGRyZXNzVmVyc2lvbiB7U3RyaW5nfSB0aGlzIGlzIHRoZSB2ZXJzaW9uIG9mIHRoZSBBbGdvcmFuZCBtdWx0aXNpZyBhZGRyZXNzIGdlbmVyYXRpb24gZm9ybWF0XG4gICAqIEByZXR1cm5zIEJsdWViaXJkPFNpZ25lZFRyYW5zYWN0aW9uPlxuICAgKi9cbiAgYXN5bmMgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogSW50ZXJmYWNlLlh0elNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlcihjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKSk7XG4gICAgdHhCdWlsZGVyLmZyb20ocGFyYW1zLnR4UHJlYnVpbGQudHhIZXgpO1xuICAgIHR4QnVpbGRlci5zb3VyY2UocGFyYW1zLnR4UHJlYnVpbGQuc291cmNlKTtcbiAgICBpZiAocGFyYW1zLnR4UHJlYnVpbGQuZGF0YVRvU2lnbikge1xuICAgICAgdHhCdWlsZGVyLm92ZXJyaWRlRGF0YVRvU2lnbih7IGRhdGFUb1NpZ246IHBhcmFtcy50eFByZWJ1aWxkLmRhdGFUb1NpZ24gfSk7XG4gICAgfVxuICAgIC8vIFRoZSBwYXRoIC8wLzAvMC8wIGlzIHVzZWQgYnkgdGhlIHdhbGxldCBiYXNlIGFkZHJlc3NcbiAgICAvLyBEZXJpdmUgdGhlIHVzZXIga2V5IG9ubHkgaWYgdGhlIHRyYW5zYWN0aW9uIGlzIHNlbnQgZnJvbSBhIHJlY2VpdmUgYWRkcmVzc1xuICAgIGxldCBrZXk7XG4gICAgY29uc3QgeyBjaGFpbiwgaW5kZXggfSA9IHBhcmFtcy50eFByZWJ1aWxkLmFkZHJlc3NJbmZvO1xuICAgIGlmIChjaGFpbiA9PT0gMCAmJiBpbmRleCA9PT0gMCkge1xuICAgICAga2V5ID0gcGFyYW1zLnBydjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGVyaXZhdGlvblBhdGggPSBgMC8wLyR7Y2hhaW59LyR7aW5kZXh9YDtcbiAgICAgIGtleSA9IHRoaXMuZGVyaXZlS2V5V2l0aFBhdGgoeyBrZXk6IHBhcmFtcy5wcnYsIHBhdGg6IGRlcml2YXRpb25QYXRoIH0pO1xuICAgIH1cbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleSB9KTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgaWYgKCF0cmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1lc3NhZ2VkIHBhc3NlZCB0byBzaWduTWVzc2FnZScpO1xuICAgIH1cbiAgICBjb25zdCByZXNwb25zZSA9IHtcbiAgICAgIHR4SGV4OiB0cmFuc2FjdGlvbi50b0Jyb2FkY2FzdEZvcm1hdCgpLFxuICAgIH07XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLnNpZ25hdHVyZS5sZW5ndGggPj0gMiA/IHJlc3BvbnNlIDogeyBoYWxmU2lnbmVkOiByZXNwb25zZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gbWVzc2FnZSB3aXRoIHByaXZhdGUga2V5XG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICovXG4gIGFzeW5jIHNpZ25NZXNzYWdlKGtleTogU2RrQ29yZUtleVBhaXIsIG1lc3NhZ2U6IHN0cmluZyB8IEJ1ZmZlcik6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkucHJ2IH0pO1xuICAgIGNvbnN0IG1lc3NhZ2VIZXggPSBtZXNzYWdlIGluc3RhbmNlb2YgQnVmZmVyID8gbWVzc2FnZS50b1N0cmluZygnaGV4JykgOiBCdWZmZXIuZnJvbShtZXNzYWdlKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3Qgc2lnbmF0dXJlRGF0YSA9IGF3YWl0IFV0aWxzLnNpZ24oa2V5UGFpciwgbWVzc2FnZUhleCk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHNpZ25hdHVyZURhdGEuc2lnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBmdW5kcyByZWNvdmVyeSB0cmFuc2FjdGlvbiB3aXRob3V0IEJpdEdvLlxuICAgKiBXZSBuZWVkIHRvIGRvIHRocmVlIHF1ZXJpZXMgZHVyaW5nIHRoaXM6XG4gICAqIDEpIE5vZGUgcXVlcnkgLSBob3cgbXVjaCBtb25leSBpcyBpbiB0aGUgYWNjb3VudFxuICAgKiAyKSBCdWlsZCB0cmFuc2FjdGlvbiAtIGJ1aWxkIG91ciB0cmFuc2FjdGlvbiBmb3IgdGhlIGFtb3VudFxuICAgKiAzKSBTZW5kIHNpZ25lZCBidWlsZCAtIHNlbmQgb3VyIHNpZ25lZCBidWlsZCB0byBhIHB1YmxpYyBub2RlXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIGFzeW5jIHJlY292ZXIocGFyYW1zOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHRocm93IG5ldyBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yKCk7XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbiBhIFRlem9zIHRyYW5zYWN0aW9uIGZyb20gdHhIZXhcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgYXN5bmMgZXhwbGFpblRyYW5zYWN0aW9uKHBhcmFtczogSW50ZXJmYWNlLkV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFRyYW5zYWN0aW9uRXhwbGFuYXRpb24+IHtcbiAgICBjb25zdCB0eEhleCA9IHBhcmFtcy50eEhleCB8fCAocGFyYW1zLmhhbGZTaWduZWQgJiYgcGFyYW1zLmhhbGZTaWduZWQudHhIZXgpO1xuICAgIGlmICghdHhIZXggfHwgIXBhcmFtcy5mZWVJbmZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgZXhwbGFpbiB0eCBwYXJhbWV0ZXJzJyk7XG4gICAgfVxuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSkpO1xuICAgIC8vIE5ld2VyIGNvaW5zIGNhbiByZXR1cm4gQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgaW5zdGVhZCBvZiBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyXG4gICAgaWYgKCEodHhCdWlsZGVyIGluc3RhbmNlb2YgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZ2V0QnVpbGRlcigpIGRpZCBub3QgcmV0dXJuIGFuIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIgb2JqZWN0LiBIYXMgaXQgYmVlbiB1cGRhdGVkPycpO1xuICAgIH1cbiAgICB0eEJ1aWxkZXIuZnJvbSh0eEhleCk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcblxuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZUFtb3VudCcsICdvdXRwdXRzJywgJ2NoYW5nZU91dHB1dHMnLCAnZmVlJ107XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHR4LmlkLFxuICAgICAgb3V0cHV0czogdHgub3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogdHgub3V0cHV0c1xuICAgICAgICAucmVkdWNlKChhY2N1bXVsYXRvciwgb3V0cHV0KSA9PiBhY2N1bXVsYXRvci5wbHVzKG91dHB1dC52YWx1ZSksIG5ldyBCaWdOdW1iZXIoJzAnKSlcbiAgICAgICAgLnRvRml4ZWQoMCksXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSwgLy8gYWNjb3VudCBiYXNlZCBkb2VzIG5vdCB1c2UgY2hhbmdlIG91dHB1dHNcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLCAvLyBhY2NvdW50IGJhc2UgZG9lcyBub3QgbWFrZSBjaGFuZ2VcbiAgICAgIGZlZTogcGFyYW1zLmZlZUluZm8sXG4gICAgfSBhcyBhbnk7XG4gIH1cblxuICBpc1ZhbGlkUHViKHB1Yjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViKTtcbiAgfVxufVxuIl19
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHR6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3h0ei50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFZOEI7QUFDOUIsaURBQXFGO0FBQ3JGLGdFQUFxQztBQUNyQyxtREFBNkM7QUFDN0MsK0JBQXNFO0FBRXRFLE1BQWEsR0FBSSxTQUFRLG1CQUFRO0lBRy9CLFlBQVksS0FBZ0IsRUFBRSxXQUF1QztRQUNuRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCwyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxD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QixNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLHNCQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ25GLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDYixhQUFhLEVBQUUsRUFBRSxFQUFFLDRDQUE0QztZQUMvRCxZQUFZLEVBQUUsR0FBRyxFQUFFLG9DQUFvQztZQUN2RCxHQUFHLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDYixDQUFDO0lBQ1gsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sV0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQS9NRCxrQkErTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQ29pbixcbiAgQml0R29CYXNlLFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBLZXlQYWlyIGFzIFNka0NvcmVLZXlQYWlyLFxuICBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5GYW1pbHksIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IEludGVyZmFjZSwgVXRpbHMsIEtleVBhaXIsIFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vbGliJztcblxuZXhwb3J0IGNsYXNzIFh0eiBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBYdHooYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogQ29pbkZhbWlseSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZhbWlseTtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZ1bGxOYW1lO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMuX3N0YXRpY3NDb2luLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgZm9yIHNlbmRpbmcgdmFsdWUgb2YgMFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBva2F5IHRvIHNlbmQgMCB2YWx1ZSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICB2YWx1ZWxlc3NUcmFuc2ZlckFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogWHR6IHN1cHBvcnRzIHRyYW5zZmVycyB0byBjb25zb2xpZGF0ZSBiYWxhbmNlIGZyb20gcmVjZWl2ZSBhZGRyZXNzIHRvIHRoZSB3YWxsZXQgY29udHJhY3RcbiAgICovXG4gIGFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhpcyBpcyBhIHZhbGlkIGJhc2U1OCBvciBoZXggYWRkcmVzc1xuICAgKiBAcGFyYW0gYWRkcmVzc1xuICAgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCFhZGRyZXNzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBVdGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBUZXpvcyBrZXkgcGFpciAtIEJpdEdvIHhwdWIgZm9ybWF0XG4gICAqXG4gICAqIEBwYXJhbSBzZWVkXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IG9iamVjdCB3aXRoIGdlbmVyYXRlZCB4cHViLCB4cHJ2XG4gICAqL1xuICBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IFNka0NvcmVLZXlQYWlyIHtcbiAgICBjb25zdCBrZXlQYWlyID0gc2VlZCA/IG5ldyBLZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBLZXlQYWlyKCk7XG4gICAgY29uc3Qga2V5cyA9IGtleVBhaXIuZ2V0RXh0ZW5kZWRLZXlzKCk7XG5cbiAgICBpZiAoIWtleXMueHBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHhwcnYgaW4ga2V5IGdlbmVyYXRpb24uJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHB1Yjoga2V5cy54cHViLFxuICAgICAgcHJ2OiBrZXlzLnhwcnYsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHBhcnNlVHJhbnNhY3Rpb24ocGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBhc3luYyBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRocm93IG5ldyBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yKCk7XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdHhQYXJhbXMgfSA9IHBhcmFtcztcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eFBhcmFtcy5yZWNpcGllbnRzKSAmJiB0eFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7dGhpcy5nZXRDaGFpbigpfSBkb2Vzbid0IHN1cHBvcnQgc2VuZGluZyB0byBtb3JlIHRoYW4gMSBkZXN0aW5hdGlvbiBhZGRyZXNzIHdpdGhpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbi4gVHJ5IGFnYWluLCB1c2luZyBvbmx5IGEgc2luZ2xlIHJlY2lwaWVudC5gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXJpdmUgYSB1c2VyIGtleSB1c2luZyB0aGUgY2hhaW4gcGF0aCBvZiB0aGUgYWRkcmVzc1xuICAgKiBAcGFyYW0ga2V5XG4gICAqIEBwYXJhbSBwYXRoXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IGRlcml2ZWQgcHJpdmF0ZSBrZXlcbiAgICovXG4gIGRlcml2ZUtleVdpdGhQYXRoKHsga2V5LCBwYXRoIH06IHsga2V5OiBzdHJpbmc7IHBhdGg6IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXljaGFpbiA9IGJpcDMyLmZyb21CYXNlNTgoa2V5KTtcbiAgICBjb25zdCBkZXJpdmVkS2V5Tm9kZSA9IGtleWNoYWluLmRlcml2ZVBhdGgocGF0aCk7XG4gICAgcmV0dXJuIGRlcml2ZWRLZXlOb2RlLnRvQmFzZTU4KCk7XG4gIH1cblxuICAvKipcbiAgICogQXNzZW1ibGUga2V5Y2hhaW4gYW5kIGhhbGYtc2lnbiBwcmVidWlsdCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMudHhQcmVidWlsZCB7T2JqZWN0fSBwcmVidWlsZCBvYmplY3QgcmV0dXJuZWQgYnkgcGxhdGZvcm1cbiAgICogQHBhcmFtIHBhcmFtcy5wcnYge1N0cmluZ30gdXNlciBwcnZcbiAgICogQHBhcmFtIHBhcmFtcy53YWxsZXQuYWRkcmVzc1ZlcnNpb24ge1N0cmluZ30gdGhpcyBpcyB0aGUgdmVyc2lvbiBvZiB0aGUgQWxnb3JhbmQgbXVsdGlzaWcgYWRkcmVzcyBnZW5lcmF0aW9uIGZvcm1hdFxuICAgKiBAcmV0dXJucyBCbHVlYmlyZDxTaWduZWRUcmFuc2FjdGlvbj5cbiAgICovXG4gIGFzeW5jIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IEludGVyZmFjZS5YdHpTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSkpO1xuICAgIHR4QnVpbGRlci5mcm9tKHBhcmFtcy50eFByZWJ1aWxkLnR4SGV4KTtcbiAgICB0eEJ1aWxkZXIuc291cmNlKHBhcmFtcy50eFByZWJ1aWxkLnNvdXJjZSk7XG4gICAgaWYgKHBhcmFtcy50eFByZWJ1aWxkLmRhdGFUb1NpZ24pIHtcbiAgICAgIHR4QnVpbGRlci5vdmVycmlkZURhdGFUb1NpZ24oeyBkYXRhVG9TaWduOiBwYXJhbXMudHhQcmVidWlsZC5kYXRhVG9TaWduIH0pO1xuICAgIH1cbiAgICAvLyBUaGUgcGF0aCAvMC8wLzAvMCBpcyB1c2VkIGJ5IHRoZSB3YWxsZXQgYmFzZSBhZGRyZXNzXG4gICAgLy8gRGVyaXZlIHRoZSB1c2VyIGtleSBvbmx5IGlmIHRoZSB0cmFuc2FjdGlvbiBpcyBzZW50IGZyb20gYSByZWNlaXZlIGFkZHJlc3NcbiAgICBsZXQga2V5O1xuICAgIGNvbnN0IHsgY2hhaW4sIGluZGV4IH0gPSBwYXJhbXMudHhQcmVidWlsZC5hZGRyZXNzSW5mbztcbiAgICBpZiAoY2hhaW4gPT09IDAgJiYgaW5kZXggPT09IDApIHtcbiAgICAgIGtleSA9IHBhcmFtcy5wcnY7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRlcml2YXRpb25QYXRoID0gYDAvMC8ke2NoYWlufS8ke2luZGV4fWA7XG4gICAgICBrZXkgPSB0aGlzLmRlcml2ZUtleVdpdGhQYXRoKHsga2V5OiBwYXJhbXMucHJ2LCBwYXRoOiBkZXJpdmF0aW9uUGF0aCB9KTtcbiAgICB9XG4gICAgdHhCdWlsZGVyLnNpZ24oeyBrZXkgfSk7XG5cbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGlmICghdHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtZXNzYWdlZCBwYXNzZWQgdG8gc2lnbk1lc3NhZ2UnKTtcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICB0eEhleDogdHJhbnNhY3Rpb24udG9Ccm9hZGNhc3RGb3JtYXQoKSxcbiAgICB9O1xuICAgIHJldHVybiB0cmFuc2FjdGlvbi5zaWduYXR1cmUubGVuZ3RoID49IDIgPyByZXNwb25zZSA6IHsgaGFsZlNpZ25lZDogcmVzcG9uc2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIG1lc3NhZ2Ugd2l0aCBwcml2YXRlIGtleVxuICAgKlxuICAgKiBAcGFyYW0ga2V5XG4gICAqIEBwYXJhbSBtZXNzYWdlXG4gICAqL1xuICBhc3luYyBzaWduTWVzc2FnZShrZXk6IFNka0NvcmVLZXlQYWlyLCBtZXNzYWdlOiBzdHJpbmcgfCBCdWZmZXIpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydjoga2V5LnBydiB9KTtcbiAgICBjb25zdCBtZXNzYWdlSGV4ID0gbWVzc2FnZSBpbnN0YW5jZW9mIEJ1ZmZlciA/IG1lc3NhZ2UudG9TdHJpbmcoJ2hleCcpIDogQnVmZmVyLmZyb20obWVzc2FnZSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHNpZ25hdHVyZURhdGEgPSBhd2FpdCBVdGlscy5zaWduKGtleVBhaXIsIG1lc3NhZ2VIZXgpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShzaWduYXR1cmVEYXRhLnNpZyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgZnVuZHMgcmVjb3ZlcnkgdHJhbnNhY3Rpb24gd2l0aG91dCBCaXRHby5cbiAgICogV2UgbmVlZCB0byBkbyB0aHJlZSBxdWVyaWVzIGR1cmluZyB0aGlzOlxuICAgKiAxKSBOb2RlIHF1ZXJ5IC0gaG93IG11Y2ggbW9uZXkgaXMgaW4gdGhlIGFjY291bnRcbiAgICogMikgQnVpbGQgdHJhbnNhY3Rpb24gLSBidWlsZCBvdXIgdHJhbnNhY3Rpb24gZm9yIHRoZSBhbW91bnRcbiAgICogMykgU2VuZCBzaWduZWQgYnVpbGQgLSBzZW5kIG91ciBzaWduZWQgYnVpbGQgdG8gYSBwdWJsaWMgbm9kZVxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBhc3luYyByZWNvdmVyKHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICB0aHJvdyBuZXcgTWV0aG9kTm90SW1wbGVtZW50ZWRFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cGxhaW4gYSBUZXpvcyB0cmFuc2FjdGlvbiBmcm9tIHR4SGV4XG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIGFzeW5jIGV4cGxhaW5UcmFuc2FjdGlvbihwYXJhbXM6IEludGVyZmFjZS5FeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPiB7XG4gICAgY29uc3QgdHhIZXggPSBwYXJhbXMudHhIZXggfHwgKHBhcmFtcy5oYWxmU2lnbmVkICYmIHBhcmFtcy5oYWxmU2lnbmVkLnR4SGV4KTtcbiAgICBpZiAoIXR4SGV4IHx8ICFwYXJhbXMuZmVlSW5mbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIGV4cGxhaW4gdHggcGFyYW1ldGVycycpO1xuICAgIH1cbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKGNvaW5zLmdldCh0aGlzLmdldENoYWluKCkpKTtcbiAgICAvLyBOZXdlciBjb2lucyBjYW4gcmV0dXJuIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGluc3RlYWQgb2YgQmFzZVRyYW5zYWN0aW9uQnVpbGRlclxuICAgIGlmICghKHR4QnVpbGRlciBpbnN0YW5jZW9mIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dldEJ1aWxkZXIoKSBkaWQgbm90IHJldHVybiBhbiBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIG9iamVjdC4gSGFzIGl0IGJlZW4gdXBkYXRlZD8nKTtcbiAgICB9XG4gICAgdHhCdWlsZGVyLmZyb20odHhIZXgpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICBjb25zdCBkaXNwbGF5T3JkZXIgPSBbJ2lkJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VBbW91bnQnLCAnb3V0cHV0cycsICdjaGFuZ2VPdXRwdXRzJywgJ2ZlZSddO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0eC5pZCxcbiAgICAgIG91dHB1dHM6IHR4Lm91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQ6IHR4Lm91dHB1dHNcbiAgICAgICAgLnJlZHVjZSgoYWNjdW11bGF0b3IsIG91dHB1dCkgPT4gYWNjdW11bGF0b3IucGx1cyhvdXRwdXQudmFsdWUpLCBuZXcgQmlnTnVtYmVyKCcwJykpXG4gICAgICAgIC50b0ZpeGVkKDApLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sIC8vIGFjY291bnQgYmFzZWQgZG9lcyBub3QgdXNlIGNoYW5nZSBvdXRwdXRzXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJywgLy8gYWNjb3VudCBiYXNlIGRvZXMgbm90IG1ha2UgY2hhbmdlXG4gICAgICBmZWU6IHBhcmFtcy5mZWVJbmZvLFxuICAgIH0gYXMgYW55O1xuICB9XG5cbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBVdGlscy5pc1ZhbGlkUHVibGljS2V5KHB1Yik7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-xtz",
|
|
3
|
-
"version": "1.4.3-alpha.
|
|
3
|
+
"version": "1.4.3-alpha.237",
|
|
4
4
|
"description": "BitGo SDK coin library for Tezos",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bitgo-beta/blake2b": "3.2.1-alpha.
|
|
44
|
-
"@bitgo-beta/sdk-core": "2.4.1-alpha.
|
|
45
|
-
"@bitgo-beta/statics": "10.0.1-alpha.
|
|
46
|
-
"@bitgo-beta/utxo-lib": "4.0.1-alpha.
|
|
43
|
+
"@bitgo-beta/blake2b": "3.2.1-alpha.240",
|
|
44
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.239",
|
|
45
|
+
"@bitgo-beta/statics": "10.0.1-alpha.239",
|
|
46
|
+
"@bitgo-beta/utxo-lib": "4.0.1-alpha.240",
|
|
47
47
|
"@taquito/local-forging": "6.3.5-beta.0",
|
|
48
48
|
"@taquito/signer": "6.3.5-beta.0",
|
|
49
49
|
"bignumber.js": "^9.0.0",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"lodash": "^4.17.15"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@bitgo-beta/sdk-api": "1.6.1-alpha.
|
|
57
|
-
"@bitgo-beta/sdk-test": "^8.0.
|
|
56
|
+
"@bitgo-beta/sdk-api": "1.6.1-alpha.239",
|
|
57
|
+
"@bitgo-beta/sdk-test": "^8.0.56"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "b8d9edc7b5bfd2f12fbfa35af656400997bcb395"
|
|
60
60
|
}
|