@bitgo-beta/sdk-coin-polygon 1.3.3-alpha.45 → 1.3.3-alpha.450
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.js +6 -2
- package/dist/src/lib/index.d.ts +2 -1
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +30 -12
- package/dist/src/lib/resources.d.ts.map +1 -1
- package/dist/src/lib/resources.js +8 -4
- package/dist/src/lib/transactionBuilder.d.ts +11 -8
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +21 -21
- package/dist/src/lib/transferBuilder.d.ts +1 -1
- package/dist/src/lib/transferBuilder.js +3 -3
- package/dist/src/lib/utils.d.ts +1 -1
- package/dist/src/lib/utils.js +6 -6
- package/dist/src/polygon.d.ts +23 -63
- package/dist/src/polygon.d.ts.map +1 -1
- package/dist/src/polygon.js +26 -392
- package/dist/src/polygonToken.d.ts +15 -24
- package/dist/src/polygonToken.d.ts.map +1 -1
- package/dist/src/polygonToken.js +31 -59
- package/dist/src/tpolygon.d.ts +0 -1
- package/dist/src/tpolygon.d.ts.map +1 -1
- package/dist/src/tpolygon.js +1 -4
- package/dist/test/fixtures/polygon.d.ts +151 -0
- package/dist/test/fixtures/polygon.d.ts.map +1 -0
- package/dist/test/fixtures/polygon.js +233 -0
- package/dist/test/getBuilder.d.ts +3 -0
- package/dist/test/getBuilder.d.ts.map +1 -0
- package/dist/test/getBuilder.js +9 -0
- package/dist/test/resources.d.ts +27 -0
- package/dist/test/resources.d.ts.map +1 -0
- package/dist/test/resources.js +41 -0
- package/dist/test/unit/polygon.d.ts +2 -0
- package/dist/test/unit/polygon.d.ts.map +1 -0
- package/dist/test/unit/polygon.js +1202 -0
- package/dist/test/unit/polygonToken.d.ts +2 -0
- package/dist/test/unit/polygonToken.d.ts.map +1 -0
- package/dist/test/unit/polygonToken.js +62 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +92 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.js +104 -0
- package/dist/test/unit/transactionBuilder/flushTokens.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/flushTokens.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/flushTokens.js +9 -0
- package/dist/test/unit/transactionBuilder/send.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/send.js +114 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.js +169 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +20 -19
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -102
package/dist/src/polygonToken.js
CHANGED
|
@@ -1,79 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PolygonToken = void 0;
|
|
2
4
|
/**
|
|
3
5
|
* @prettier
|
|
4
6
|
*/
|
|
5
|
-
|
|
6
|
-
exports.PolygonToken = void 0;
|
|
7
|
-
const polygon_1 = require("./polygon");
|
|
7
|
+
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
8
8
|
const statics_1 = require("@bitgo-beta/statics");
|
|
9
|
-
|
|
9
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
10
|
+
const lib_1 = require("./lib");
|
|
11
|
+
class PolygonToken extends abstract_eth_1.EthLikeToken {
|
|
10
12
|
constructor(bitgo, tokenConfig) {
|
|
11
|
-
|
|
12
|
-
super(bitgo, staticsCoin);
|
|
13
|
-
this.tokenConfig = tokenConfig;
|
|
13
|
+
super(bitgo, tokenConfig, PolygonToken.coinNames);
|
|
14
14
|
}
|
|
15
15
|
static createTokenConstructor(config) {
|
|
16
|
-
return (
|
|
16
|
+
return super.createTokenConstructor(config, PolygonToken.coinNames);
|
|
17
17
|
}
|
|
18
18
|
static createTokenConstructors() {
|
|
19
|
-
|
|
20
|
-
for (const token of [...statics_1.tokens.bitcoin.polygon.tokens, ...statics_1.tokens.testnet.polygon.tokens]) {
|
|
21
|
-
const tokenConstructor = PolygonToken.createTokenConstructor(token);
|
|
22
|
-
tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
|
|
23
|
-
tokensCtors.push({ name: token.tokenContractAddress, coinConstructor: tokenConstructor });
|
|
24
|
-
}
|
|
25
|
-
return tokensCtors;
|
|
26
|
-
}
|
|
27
|
-
get type() {
|
|
28
|
-
return this.tokenConfig.type;
|
|
29
|
-
}
|
|
30
|
-
get name() {
|
|
31
|
-
return this.tokenConfig.name;
|
|
32
|
-
}
|
|
33
|
-
get coin() {
|
|
34
|
-
return this.tokenConfig.coin;
|
|
35
|
-
}
|
|
36
|
-
get network() {
|
|
37
|
-
return this.tokenConfig.network;
|
|
38
|
-
}
|
|
39
|
-
get tokenContractAddress() {
|
|
40
|
-
return this.tokenConfig.tokenContractAddress;
|
|
41
|
-
}
|
|
42
|
-
get decimalPlaces() {
|
|
43
|
-
return this.tokenConfig.decimalPlaces;
|
|
44
|
-
}
|
|
45
|
-
getChain() {
|
|
46
|
-
return this.tokenConfig.type;
|
|
19
|
+
return super.createTokenConstructors(PolygonToken.coinNames);
|
|
47
20
|
}
|
|
48
|
-
|
|
49
|
-
return this.
|
|
50
|
-
}
|
|
51
|
-
getFullName() {
|
|
52
|
-
return 'Polygon Token';
|
|
53
|
-
}
|
|
54
|
-
getBaseFactor() {
|
|
55
|
-
return String(Math.pow(10, this.tokenConfig.decimalPlaces));
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Flag for sending value of 0
|
|
59
|
-
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
60
|
-
*/
|
|
61
|
-
valuelessTransferAllowed() {
|
|
62
|
-
return false;
|
|
21
|
+
getTransactionBuilder() {
|
|
22
|
+
return new lib_1.TransactionBuilder(statics_1.coins.get(this.getBaseChain()));
|
|
63
23
|
}
|
|
64
24
|
/**
|
|
65
|
-
*
|
|
66
|
-
* @
|
|
25
|
+
* Make a query to Polygonscan for information such as balance, token balance, solidity calls
|
|
26
|
+
* @param {Object} query key-value pairs of parameters to append after /api
|
|
27
|
+
* @returns {Promise<Object>} response from Polygonscan
|
|
67
28
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
29
|
+
async recoveryBlockchainExplorerQuery(query) {
|
|
30
|
+
const apiToken = sdk_core_1.common.Environments[this.bitgo.getEnv()].polygonscanApiToken;
|
|
31
|
+
const explorerUrl = sdk_core_1.common.Environments[this.bitgo.getEnv()].polygonscanBaseUrl;
|
|
32
|
+
return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
|
|
70
33
|
}
|
|
71
|
-
|
|
34
|
+
/** @inheritDoc */
|
|
35
|
+
supportsTss() {
|
|
72
36
|
return true;
|
|
73
37
|
}
|
|
74
|
-
|
|
75
|
-
|
|
38
|
+
/** @inheritDoc */
|
|
39
|
+
getMPCAlgorithm() {
|
|
40
|
+
return 'ecdsa';
|
|
41
|
+
}
|
|
42
|
+
getFullName() {
|
|
43
|
+
return 'Polygon Token';
|
|
76
44
|
}
|
|
77
45
|
}
|
|
78
46
|
exports.PolygonToken = PolygonToken;
|
|
79
|
-
|
|
47
|
+
PolygonToken.coinNames = {
|
|
48
|
+
Mainnet: 'polygon',
|
|
49
|
+
Testnet: 'tpolygon',
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvblRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BvbHlnb25Ub2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILDJEQUFvRztBQUNwRyxpREFBZ0U7QUFDaEUsbURBQThHO0FBQzlHLCtCQUEyQztBQUczQyxNQUFhLFlBQWEsU0FBUSwyQkFBWTtJQU01QyxZQUFZLEtBQWdCLEVBQUUsV0FBK0I7UUFDM0QsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsTUFBMEI7UUFDdEQsT0FBTyxLQUFLLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsTUFBTSxDQUFDLHVCQUF1QjtRQUM1QixPQUFPLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVTLHFCQUFxQjtRQUM3QixPQUFPLElBQUksd0JBQWtCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLCtCQUErQixDQUFDLEtBQTZCO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLGlCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUM5RSxNQUFNLFdBQVcsR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDaEYsT0FBTyxNQUFNLElBQUEsOENBQStCLEVBQUMsS0FBSyxFQUFFLFdBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGVBQWU7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7O0FBN0NILG9DQThDQztBQTVDUSxzQkFBUyxHQUFjO0lBQzVCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxVQUFVO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBFdGhMaWtlVG9rZW4sIENvaW5OYW1lcywgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeSB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5pbXBvcnQgeyBFdGhMaWtlVG9rZW5Db25maWcsIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIENvaW5Db25zdHJ1Y3RvciwgTVBDQWxnb3JpdGhtLCBOYW1lZENvaW5Db25zdHJ1Y3RvciwgY29tbW9uIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9saWInO1xuZXhwb3J0IHsgRXRoTGlrZVRva2VuQ29uZmlnIH07XG5cbmV4cG9ydCBjbGFzcyBQb2x5Z29uVG9rZW4gZXh0ZW5kcyBFdGhMaWtlVG9rZW4ge1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5Db25maWc6IEV0aExpa2VUb2tlbkNvbmZpZztcbiAgc3RhdGljIGNvaW5OYW1lczogQ29pbk5hbWVzID0ge1xuICAgIE1haW5uZXQ6ICdwb2x5Z29uJyxcbiAgICBUZXN0bmV0OiAndHBvbHlnb24nLFxuICB9O1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCB0b2tlbkNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnKSB7XG4gICAgc3VwZXIoYml0Z28sIHRva2VuQ29uZmlnLCBQb2x5Z29uVG9rZW4uY29pbk5hbWVzKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gc3VwZXIuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWcsIFBvbHlnb25Ub2tlbi5jb2luTmFtZXMpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCk6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10ge1xuICAgIHJldHVybiBzdXBlci5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhQb2x5Z29uVG9rZW4uY29pbk5hbWVzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvbkJ1aWxkZXIoKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlcihjb2lucy5nZXQodGhpcy5nZXRCYXNlQ2hhaW4oKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYSBxdWVyeSB0byBQb2x5Z29uc2NhbiBmb3IgaW5mb3JtYXRpb24gc3VjaCBhcyBiYWxhbmNlLCB0b2tlbiBiYWxhbmNlLCBzb2xpZGl0eSBjYWxsc1xuICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnkga2V5LXZhbHVlIHBhaXJzIG9mIHBhcmFtZXRlcnMgdG8gYXBwZW5kIGFmdGVyIC9hcGlcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gcmVzcG9uc2UgZnJvbSBQb2x5Z29uc2NhblxuICAgKi9cbiAgYXN5bmMgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeShxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICBjb25zdCBhcGlUb2tlbiA9IGNvbW1vbi5FbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0ucG9seWdvbnNjYW5BcGlUb2tlbjtcbiAgICBjb25zdCBleHBsb3JlclVybCA9IGNvbW1vbi5FbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0ucG9seWdvbnNjYW5CYXNlVXJsO1xuICAgIHJldHVybiBhd2FpdCByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5LCBleHBsb3JlclVybCBhcyBzdHJpbmcsIGFwaVRva2VuKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdQb2x5Z29uIFRva2VuJztcbiAgfVxufVxuIl19
|
package/dist/src/tpolygon.d.ts
CHANGED
|
@@ -7,6 +7,5 @@ import { Polygon } from './polygon';
|
|
|
7
7
|
export declare class Tpolygon extends Polygon {
|
|
8
8
|
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
9
9
|
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
10
|
-
getChain(): string;
|
|
11
10
|
}
|
|
12
11
|
//# sourceMappingURL=tpolygon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tpolygon.d.ts","sourceRoot":"","sources":["../../src/tpolygon.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,QAAS,SAAQ,OAAO;IACnC,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;
|
|
1
|
+
{"version":3,"file":"tpolygon.d.ts","sourceRoot":"","sources":["../../src/tpolygon.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,QAAS,SAAQ,OAAO;IACnC,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;CAG3F"}
|
package/dist/src/tpolygon.js
CHANGED
|
@@ -9,9 +9,6 @@ class Tpolygon extends polygon_1.Polygon {
|
|
|
9
9
|
static createInstance(bitgo, staticsCoin) {
|
|
10
10
|
return new Tpolygon(bitgo, staticsCoin);
|
|
11
11
|
}
|
|
12
|
-
getChain() {
|
|
13
|
-
return 'tpolygon';
|
|
14
|
-
}
|
|
15
12
|
}
|
|
16
13
|
exports.Tpolygon = Tpolygon;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHBvbHlnb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHBvbHlnb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsdUNBQW9DO0FBRXBDLE1BQWEsUUFBUyxTQUFRLGlCQUFPO0lBQ25DLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQVJELDRCQVFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgUG9seWdvbiB9IGZyb20gJy4vcG9seWdvbic7XG5cbmV4cG9ydCBjbGFzcyBUcG9seWdvbiBleHRlbmRzIFBvbHlnb24ge1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBUcG9seWdvbihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
export declare function getTxListRequest(address: string): {
|
|
2
|
+
chainid: string;
|
|
3
|
+
module: string;
|
|
4
|
+
action: string;
|
|
5
|
+
address: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const getTxListResponse: {
|
|
8
|
+
status: string;
|
|
9
|
+
message: string;
|
|
10
|
+
result: never[];
|
|
11
|
+
};
|
|
12
|
+
export declare function getBalanceRequest(address: string): {
|
|
13
|
+
chainid: string;
|
|
14
|
+
module: string;
|
|
15
|
+
action: string;
|
|
16
|
+
address: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function getTokenBalanceRequest(tokenContractAddress: string, address: string): {
|
|
19
|
+
chainid: string;
|
|
20
|
+
module: string;
|
|
21
|
+
action: string;
|
|
22
|
+
contractaddress: string;
|
|
23
|
+
address: string;
|
|
24
|
+
tag: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const getBalanceResponse: {
|
|
27
|
+
status: string;
|
|
28
|
+
message: string;
|
|
29
|
+
result: string;
|
|
30
|
+
};
|
|
31
|
+
export declare function getNonBitGoRecoveryForHotWalletsMPCv2(intendedChain?: string): any;
|
|
32
|
+
export declare function getBuildUnsignedSweepForSelfCustodyColdWalletsMPCv2(intendedChain?: string): any;
|
|
33
|
+
export declare function getInvalidNonBitGoRecoveryParams(): any;
|
|
34
|
+
export declare const getContractCallRequest: {
|
|
35
|
+
chainid: string;
|
|
36
|
+
module: string;
|
|
37
|
+
action: string;
|
|
38
|
+
to: string;
|
|
39
|
+
data: string;
|
|
40
|
+
tag: string;
|
|
41
|
+
};
|
|
42
|
+
export declare const getContractCallResponse: {
|
|
43
|
+
jsonrpc: string;
|
|
44
|
+
result: string;
|
|
45
|
+
id: number;
|
|
46
|
+
};
|
|
47
|
+
export declare const keyShares: {
|
|
48
|
+
userKeyShare: {
|
|
49
|
+
pShare: {
|
|
50
|
+
i: number;
|
|
51
|
+
t: number;
|
|
52
|
+
c: number;
|
|
53
|
+
l: string;
|
|
54
|
+
m: string;
|
|
55
|
+
n: string;
|
|
56
|
+
y: string;
|
|
57
|
+
u: string;
|
|
58
|
+
uu: string;
|
|
59
|
+
chaincode: string;
|
|
60
|
+
};
|
|
61
|
+
nShares: {
|
|
62
|
+
2: {
|
|
63
|
+
i: number;
|
|
64
|
+
j: number;
|
|
65
|
+
n: string;
|
|
66
|
+
y: string;
|
|
67
|
+
v: string;
|
|
68
|
+
u: string;
|
|
69
|
+
chaincode: string;
|
|
70
|
+
};
|
|
71
|
+
3: {
|
|
72
|
+
i: number;
|
|
73
|
+
j: number;
|
|
74
|
+
n: string;
|
|
75
|
+
y: string;
|
|
76
|
+
v: string;
|
|
77
|
+
u: string;
|
|
78
|
+
chaincode: string;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
backupKeyShare: {
|
|
83
|
+
pShare: {
|
|
84
|
+
i: number;
|
|
85
|
+
t: number;
|
|
86
|
+
c: number;
|
|
87
|
+
l: string;
|
|
88
|
+
m: string;
|
|
89
|
+
n: string;
|
|
90
|
+
y: string;
|
|
91
|
+
u: string;
|
|
92
|
+
uu: string;
|
|
93
|
+
chaincode: string;
|
|
94
|
+
};
|
|
95
|
+
nShares: {
|
|
96
|
+
1: {
|
|
97
|
+
i: number;
|
|
98
|
+
j: number;
|
|
99
|
+
n: string;
|
|
100
|
+
y: string;
|
|
101
|
+
v: string;
|
|
102
|
+
u: string;
|
|
103
|
+
chaincode: string;
|
|
104
|
+
};
|
|
105
|
+
3: {
|
|
106
|
+
i: number;
|
|
107
|
+
j: number;
|
|
108
|
+
n: string;
|
|
109
|
+
y: string;
|
|
110
|
+
v: string;
|
|
111
|
+
u: string;
|
|
112
|
+
chaincode: string;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
bitgoKeyShare: {
|
|
117
|
+
pShare: {
|
|
118
|
+
i: number;
|
|
119
|
+
t: number;
|
|
120
|
+
c: number;
|
|
121
|
+
l: string;
|
|
122
|
+
m: string;
|
|
123
|
+
n: string;
|
|
124
|
+
y: string;
|
|
125
|
+
u: string;
|
|
126
|
+
uu: string;
|
|
127
|
+
chaincode: string;
|
|
128
|
+
};
|
|
129
|
+
nShares: {
|
|
130
|
+
1: {
|
|
131
|
+
i: number;
|
|
132
|
+
j: number;
|
|
133
|
+
n: string;
|
|
134
|
+
y: string;
|
|
135
|
+
v: string;
|
|
136
|
+
u: string;
|
|
137
|
+
chaincode: string;
|
|
138
|
+
};
|
|
139
|
+
2: {
|
|
140
|
+
i: number;
|
|
141
|
+
j: number;
|
|
142
|
+
n: string;
|
|
143
|
+
y: string;
|
|
144
|
+
v: string;
|
|
145
|
+
u: string;
|
|
146
|
+
chaincode: string;
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=polygon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../../../test/fixtures/polygon.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM;;;;;EAO/C;AAED,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM;;;;;EAOhD;AAED,wBAAgB,sBAAsB,CAAC,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;EASnF;AAED,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAMF,wBAAgB,qCAAqC,CAAC,aAAa,SAAa,GAAG,GAAG,CAiDrF;AAED,wBAAgB,mDAAmD,CAAC,aAAa,SAAa,GAAG,GAAG,CAcnG;AAED,wBAAgB,gCAAgC,IAAI,GAAG,CAKtD;AAED,eAAO,MAAM,sBAAsB;;;;;;;CAOlC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;CAInC,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGrB,CAAC"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.keyShares = exports.getContractCallResponse = exports.getContractCallRequest = exports.getBalanceResponse = exports.getTxListResponse = void 0;
|
|
4
|
+
exports.getTxListRequest = getTxListRequest;
|
|
5
|
+
exports.getBalanceRequest = getBalanceRequest;
|
|
6
|
+
exports.getTokenBalanceRequest = getTokenBalanceRequest;
|
|
7
|
+
exports.getNonBitGoRecoveryForHotWalletsMPCv2 = getNonBitGoRecoveryForHotWalletsMPCv2;
|
|
8
|
+
exports.getBuildUnsignedSweepForSelfCustodyColdWalletsMPCv2 = getBuildUnsignedSweepForSelfCustodyColdWalletsMPCv2;
|
|
9
|
+
exports.getInvalidNonBitGoRecoveryParams = getInvalidNonBitGoRecoveryParams;
|
|
10
|
+
function getTxListRequest(address) {
|
|
11
|
+
return {
|
|
12
|
+
chainid: '80002',
|
|
13
|
+
module: 'account',
|
|
14
|
+
action: 'txlist',
|
|
15
|
+
address: address,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.getTxListResponse = {
|
|
19
|
+
status: '0',
|
|
20
|
+
message: 'No transactions found',
|
|
21
|
+
result: [],
|
|
22
|
+
};
|
|
23
|
+
function getBalanceRequest(address) {
|
|
24
|
+
return {
|
|
25
|
+
chainid: '80002',
|
|
26
|
+
module: 'account',
|
|
27
|
+
action: 'balance',
|
|
28
|
+
address: address,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function getTokenBalanceRequest(tokenContractAddress, address) {
|
|
32
|
+
return {
|
|
33
|
+
chainid: '80002',
|
|
34
|
+
module: 'account',
|
|
35
|
+
action: 'tokenbalance',
|
|
36
|
+
contractaddress: tokenContractAddress,
|
|
37
|
+
address: address,
|
|
38
|
+
tag: 'latest',
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
exports.getBalanceResponse = {
|
|
42
|
+
status: '1',
|
|
43
|
+
message: 'OK',
|
|
44
|
+
result: '9999999999999999928',
|
|
45
|
+
};
|
|
46
|
+
// New mock data functions for recovery and sweep
|
|
47
|
+
const TEST_POLYGON_WALLET_FIRST_ADDRESS = '0xbd475757237154b522333fca4c565bc789b46193';
|
|
48
|
+
const TEST_RECOVERY_PASSCODE = 'Bondiola1234#';
|
|
49
|
+
function getNonBitGoRecoveryForHotWalletsMPCv2(intendedChain = 'tpolygon') {
|
|
50
|
+
return {
|
|
51
|
+
userKey: '{"iv":"SXEAqti+qKFZwMmrKHaKdA==","v":1,"iter":10000,"ks":256,"ts":64,"mode"\n' +
|
|
52
|
+
':"ccm","adata":"","cipher":"aes","salt":"cI/PRDlqFjQ=","ct":"3S+T9khsU9aTlL\n' +
|
|
53
|
+
'MUG3EgO65f2DAwktCgun7K/ct2XjTT2BJNrX1aOrF08jtMjRfbZpGqQm0t5O9NDD1jgs+F+mL1y\n' +
|
|
54
|
+
'+uMabkpWaKS3L2VpKDE/ENeCZDR632FrqUwnRYCuHYkdUhdG3AeUBTxHCQFnZB5VTqMEEfYI3KB\n' +
|
|
55
|
+
'zsuVSUPiUcvn0+UxCU2dXAUI7pINB3+d8/wAdKgRnCsjuggnEduzy9xLLiPb4sfNSOrB7HW9Ia/\n' +
|
|
56
|
+
'JsgGZsn4tr744sGgZGUGW5ORfPYtXuRgvA/4dhjKeW0bnAzijtkQeo0M9jkNlR2+JF1fxBkyDYC\n' +
|
|
57
|
+
'xvEYMbU/DwRxDIqmvjtHbMgcsrvATi24RaWrCv4Bh37qlPy7ZzfEIAAD8Gbj7U076a8VNeKh0cD\n' +
|
|
58
|
+
'YiqrP3QxjqA58EEq2jluILAjD9KurB6gf7Y0bQxH9ew09Iaa+ABLy3EUQHwA3DwJ3Z2t3l5TT0y\n' +
|
|
59
|
+
'O3C/kriclH75TlRlHvRWeSEzhWQMnVw0LAzTQTag4LrDaLCbjbk42oQXi6xvmeabOvgOLvfUh33\n' +
|
|
60
|
+
'g24hVOqQWKIMjReH6db0xjBmuB8d4JdOi7/sgEc1gzSsgqtYTothtozP2FeJQtzOIvmC7MpIZf4\n' +
|
|
61
|
+
'Uex/mXXsbazxfB09DwNqzV949KncW++dLScJ4SfzRhxLqHVY26EUGXbny0mQF1AljAGhiDVhjch\n' +
|
|
62
|
+
'Sr6caTYVUytsDB98WLpg8e9v3lTrKi7r6oiHkB5Pztf7+0lcCHy8Ypmbg3cQxnQtloNno08whyJ\n' +
|
|
63
|
+
'SDoTMbd6yp190AQs2qFzwhdboDp68DtkmLhPj3+HCqG9hJB1ZvXMml/ms+eKbiC5Hzy3dihz1xZ\n' +
|
|
64
|
+
'wxXtBH244XHUsxBAL1bII9RDJCn9nVR5I2UhsjLUcSS9fmthDSYEh0LN/4LO1U5IEOtA8nh72fZ\n' +
|
|
65
|
+
'y7ARkaccSHszKTiiGYbTY2JxnvQcZPrfup6YXWf8YNHxlL3Lh+LRrn++raj/Hq1RzmxcHON42Wn\n' +
|
|
66
|
+
'7+1VB7134m7lQQNyWy9Jm7r4EWPgWDon6opzeCMnKgedFJUSRG0hqQJTXDxv9c5EQxp8Q7vuMzN\n' +
|
|
67
|
+
'sd42g0axdNCDGfY+kHWdSkSdZK0hCaey0Qo="}\n',
|
|
68
|
+
backupKey: '{"iv":"KBdFO8unJEB/e3tSaMEE0g==","v":1,"iter":10000,"ks":256,"ts":64,"mode"\n' +
|
|
69
|
+
':"ccm","adata":"","cipher":"aes","salt":"RTDMflomOaU=","ct":"lywTUj0TKnSEpc\n' +
|
|
70
|
+
'vkMEpQ5GdEVtYX4GLm/ZKUyVpLekLYyNpudEZgMsZI7azkMElFJPu5aElLWPEGFauvr5X0gI6ia\n' +
|
|
71
|
+
'8dpBejad98ce/0Mwf7PjxrXrKWZ7SEqHfPULHRtH7DG+Caa8jNBfx1Y3jPbeG03FMwg/npFbKYu\n' +
|
|
72
|
+
'JeyqH10VZ2ZIgKSZtAAYstij41oOTFFwm8Ro99mTKC16hV/e+EaZR8VoWgpz66TYe78jVNoOBf0\n' +
|
|
73
|
+
'3sGotz90VDa2VW3HXZxgRnsI6uxKFjr/LerjT0wKYF/ksxznzZtYFz7Q03/rv+9SgqkyfpGFWCU\n' +
|
|
74
|
+
'CptSYMExnJXU+DGxHLVjmiksSa8vVATQAP4VT+dNZrVUA04WxzFZonl1Bh9ghZcfSXqrjfmwiLf\n' +
|
|
75
|
+
'2+7kKOsWF3aGeQg/WUPcpBDdIYoB9u/FXP6ess50+uL8Mp4yeRN4V3XveinJ9UWmXMFfVK1h/jx\n' +
|
|
76
|
+
'7+40+TlGiJl4AF1RlHK6Y+co7QUoahUtKQ+Ar2fXtEyoBydG5ziu47qHamok/99PdAjg57wCqzD\n' +
|
|
77
|
+
'w3qFJrqoZUEXFfolZVX/UMKjzrRR/9ErhRN3zZceDuwdrc2sSVMi7aYgLEGjzN4I8yvgnKBDE7a\n' +
|
|
78
|
+
'5drOHlcQDRvokhCC4tAsAF5VrxoQW0MwHzkAMXI+EY65z7IWmT4l3Cym1OyujERoBfj0MwmyUn7\n' +
|
|
79
|
+
'SzfNgOisI+98r7gjxyrW94nXsR9H70j9TvJRgKydopmW+8HcYpqaJaflV11bcvzu1Ne7x2Xjifc\n' +
|
|
80
|
+
'xlPi5f3p8IUIQfPH9wxVVOTlJV+rF1hEm3h4ZNMTUzc4Pym+RLIJ8nTNGZYZ0o5DtTFNxfyt8cK\n' +
|
|
81
|
+
'CFrzdnB7zvFoXDpHio+x69Xvaejebql0cegvmaXbg0tRFsx9aNQjD8J32fVTLGzFvN+rQ3juYmn\n' +
|
|
82
|
+
'PsNkcrKmx+bO453eOzZs28NN4XcjY4tE6DmCfFFdyfMkmnEOknWH8Iao+ALoRMopghTV4lnNGwQ\n' +
|
|
83
|
+
'+VEJNbggLVfyiCNnQ4U2r08yOYpx1K6OQk8sUxtRzdYVcvBHtR9hfM5GUf2JIbpbBcVEd3a/0Lp\n' +
|
|
84
|
+
'KqJARe6lmklikH7QdaqH095tQkw2mVQZpMw="}\n',
|
|
85
|
+
bitgoKey: '02e75778dbb3988061f438b08d2eaf8d1bd3e6decc01b57ae35da45ba902eee1b34da5234e4d65c94fa4f8c3ac1313ca3f1f13f1262545d714249c349895eb9c01',
|
|
86
|
+
walletPassphrase: TEST_RECOVERY_PASSCODE,
|
|
87
|
+
walletContractAddress: TEST_POLYGON_WALLET_FIRST_ADDRESS,
|
|
88
|
+
bitgoFeeAddress: '0xbd475757237154b522333fca4c565bc789b46193',
|
|
89
|
+
recoveryDestination: '0xd5adde17fed8baed3f32b84af05b8f2816f7b560',
|
|
90
|
+
bitgoDestinationAddress: '0xe5986ce4490deb67d2950562ceb930ddf9be7a14',
|
|
91
|
+
eip1559: { maxFeePerGas: 20000000000, maxPriorityFeePerGas: 10000000000 },
|
|
92
|
+
gasLimit: 500000,
|
|
93
|
+
intendedChain: intendedChain,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function getBuildUnsignedSweepForSelfCustodyColdWalletsMPCv2(intendedChain = 'tpolygon') {
|
|
97
|
+
const address = '0x3685e9831699279942c1190edbf2c33c2c3c156b';
|
|
98
|
+
return {
|
|
99
|
+
recoveryDestination: '0xd5adde17fed8baed3f32b84af05b8f2816f7b560',
|
|
100
|
+
bitgoDestinationAddress: '0xe5986ce4490deb67d2950562ceb930ddf9be7a14',
|
|
101
|
+
walletContractAddress: TEST_POLYGON_WALLET_FIRST_ADDRESS,
|
|
102
|
+
eip1559: { maxFeePerGas: 20000000000, maxPriorityFeePerGas: 10000000000 },
|
|
103
|
+
gasLimit: 500000,
|
|
104
|
+
intendedChain: intendedChain,
|
|
105
|
+
address: address,
|
|
106
|
+
amount: '100000000000000000', // 0.1 MATIC
|
|
107
|
+
commonKeyChain: '03a139ba3bf49de33675ea869baaab8f3225afffc96835c30db401c53b335476dddf0ad919ad8cfa92967a20879753a42fd3df1d6eb0824f0294a7838faa80e963',
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function getInvalidNonBitGoRecoveryParams() {
|
|
111
|
+
return {
|
|
112
|
+
...getNonBitGoRecoveryForHotWalletsMPCv2(),
|
|
113
|
+
userKey: 'invalidUserKey',
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
exports.getContractCallRequest = {
|
|
117
|
+
chainid: '80002',
|
|
118
|
+
module: 'proxy',
|
|
119
|
+
action: 'eth_call',
|
|
120
|
+
to: '0xdf07117705a9f8dc4c2a78de66b7f1797dba9d4e',
|
|
121
|
+
data: 'a0b7967b',
|
|
122
|
+
tag: 'latest',
|
|
123
|
+
};
|
|
124
|
+
exports.getContractCallResponse = {
|
|
125
|
+
jsonrpc: '2.0',
|
|
126
|
+
result: '0x0000000000000000000000000000000000000000000000000000000000002a7f',
|
|
127
|
+
id: 1,
|
|
128
|
+
};
|
|
129
|
+
exports.keyShares = {
|
|
130
|
+
userKeyShare: {
|
|
131
|
+
pShare: {
|
|
132
|
+
i: 1,
|
|
133
|
+
t: 2,
|
|
134
|
+
c: 3,
|
|
135
|
+
l: 'a1a7728d36dacf20c79bf12a2b2241c6bd891f534e58fd7f997a19af6c4d88975e3190417b1f6c61f12b4a18947f1b52123b4b87cb7cdf963d4c2ebfdf83f966f7e209b4089fcdd02a78bd259787a330d93412fd60420d20541f9fb65f0588f9f45e923d6461bc1bfbc4e779904c4664df1da2c5f858b18534dee88c098beba97496730d908f89ee78cf681dcb7d1dce416c5a064400d9ff6b61dd3c1a0654474972dbffbbc798371d77294c5f4e5dbd3581fa9c6ebabaa6fff02980a26ed230ca4682a3e3b3fa67bf0dcc80a525b0983630cf9251643114ad2ae651e32d9cdb2753f3b362822f004ad47ebaa25af4e71d19e2dfbefc13584c39135a93557589e05023653f744ad7981cb992f18fee6f9b168d1146f43edafba2c0a66dd33afb68b3a26e05ebacbef1ed0ef88abff3ccbfa7d11dba20664008fa31a546e669ce926c6836abf71df0937f78461573238726de348a530d0da19ac27c7233d7f4f5fef158e3da28db5877642341b66ba2c91451f40b908287fb343fc9a556087b18',
|
|
136
|
+
m: '1e7d61cf7ba86b3677a3a254c7e1753505119112005b3e49fa5d4c7bf3b7fd40b1ef795edb0358de3b4cd57e197672157528b5e00936c1c52ff4ec08abf38be50a0327e72f12eb24d7d3c7bb8a43fea87ff2f9a288c83594d4e87a1696f63b4675d80da2325485e25bdfe2d3c204b69af4761597bfe27821784f064f98bfe0cd2beb24f208be143e1f6e5a79187904f5bb5ecbdbb4cdf02ff141d64697d63d1349d9963afc830f25327c6f309baff16641df3f502353188780d8a38d1a93ac2cb60e3e5781151bb5b6937a191423e64f3e14d6b1da8e310af18c165df222f2a6b941c95316258876a58160f62a5d42e5a8e8eba9695470d8342bb9fa6c317690789cbbccccec4483990151b38e4b90b340b63cafab3963f982562942b744383e300f26a9059302eb4fb9161f93c492f968af6337c2c4879ec389e9ab7b1250ac981d4ace0a5ae19a1b159c0b55ec6dc0e537517130a69d17b5c5b8f4e6c36b0196527092506baa774cc76f2f64d3368de2561549a24425fc9944f2725f253cef',
|
|
137
|
+
n: 'a1a7728d36dacf20c79bf12a2b2241c6bd891f534e58fd7f997a19af6c4d88975e3190417b1f6c61f12b4a18947f1b52123b4b87cb7cdf963d4c2ebfdf83f966f7e209b4089fcdd02a78bd259787a330d93412fd60420d20541f9fb65f0588f9f45e923d6461bc1bfbc4e779904c4664df1da2c5f858b18534dee88c098beba97496730d908f89ee78cf681dcb7d1dce416c5a064400d9ff6b61dd3c1a0654474972dbffbbc798371d77294c5f4e5dbd3581fa9c6ebabaa6fff02980a26ed23277696fc7b03b4ef9142784d4fdadaecea436262a757549649725776a9dd2b53bd28dfb76ff67b1b99ddafe83029087833bd9d40f3b41197f05bbbee754b425a1c30ea7f4510a4e16a448dfe5c723ba9a48a16690790b637d81cfe72b836232c3e8fa82dbb3d93cc17aa19b421e086c8939e9ec3b00fb3fae67afddb412ae0d620d4e1bf05a1c4c9448a0e97e8989b32656268f7c1e286439beef8f2436b39f43741a994b1d4976244392fffd4f1407c328ce7b4881d35be3552cccca04255da7',
|
|
138
|
+
y: '021360350b02fc462cd7fd9c4544cb9f262f987f64b8aab70c27f9cb8664ce70ed',
|
|
139
|
+
u: 'fdf5a1261f32418128bdf68c0d55353f9fa5ad11465b6aeacee5e9ee0f2a704c',
|
|
140
|
+
uu: '82688890936109449227043109426237590392531991932277444805725143192988513459692',
|
|
141
|
+
chaincode: '667deabd1590aeb51476f97bdd7068a7548a6f1fb6852f5339c4375bdd2474b2',
|
|
142
|
+
},
|
|
143
|
+
nShares: {
|
|
144
|
+
2: {
|
|
145
|
+
i: 2,
|
|
146
|
+
j: 1,
|
|
147
|
+
n: 'a1a7728d36dacf20c79bf12a2b2241c6bd891f534e58fd7f997a19af6c4d88975e3190417b1f6c61f12b4a18947f1b52123b4b87cb7cdf963d4c2ebfdf83f966f7e209b4089fcdd02a78bd259787a330d93412fd60420d20541f9fb65f0588f9f45e923d6461bc1bfbc4e779904c4664df1da2c5f858b18534dee88c098beba97496730d908f89ee78cf681dcb7d1dce416c5a064400d9ff6b61dd3c1a0654474972dbffbbc798371d77294c5f4e5dbd3581fa9c6ebabaa6fff02980a26ed23277696fc7b03b4ef9142784d4fdadaecea436262a757549649725776a9dd2b53bd28dfb76ff67b1b99ddafe83029087833bd9d40f3b41197f05bbbee754b425a1c30ea7f4510a4e16a448dfe5c723ba9a48a16690790b637d81cfe72b836232c3e8fa82dbb3d93cc17aa19b421e086c8939e9ec3b00fb3fae67afddb412ae0d620d4e1bf05a1c4c9448a0e97e8989b32656268f7c1e286439beef8f2436b39f43741a994b1d4976244392fffd4f1407c328ce7b4881d35be3552cccca04255da7',
|
|
148
|
+
y: '021360350b02fc462cd7fd9c4544cb9f262f987f64b8aab70c27f9cb8664ce70ed',
|
|
149
|
+
v: '03b5b3ed128f6f40635ea2373c7aaf11ea9da5727739f60968235d071b7810a9ba',
|
|
150
|
+
u: '451b0157b4d26c63f188dc916961d052f99f2cd7c6b64b4450fd254c401ec16b',
|
|
151
|
+
chaincode: '667deabd1590aeb51476f97bdd7068a7548a6f1fb6852f5339c4375bdd2474b2',
|
|
152
|
+
},
|
|
153
|
+
3: {
|
|
154
|
+
i: 3,
|
|
155
|
+
j: 1,
|
|
156
|
+
n: 'a1a7728d36dacf20c79bf12a2b2241c6bd891f534e58fd7f997a19af6c4d88975e3190417b1f6c61f12b4a18947f1b52123b4b87cb7cdf963d4c2ebfdf83f966f7e209b4089fcdd02a78bd259787a330d93412fd60420d20541f9fb65f0588f9f45e923d6461bc1bfbc4e779904c4664df1da2c5f858b18534dee88c098beba97496730d908f89ee78cf681dcb7d1dce416c5a064400d9ff6b61dd3c1a0654474972dbffbbc798371d77294c5f4e5dbd3581fa9c6ebabaa6fff02980a26ed23277696fc7b03b4ef9142784d4fdadaecea436262a757549649725776a9dd2b53bd28dfb76ff67b1b99ddafe83029087833bd9d40f3b41197f05bbbee754b425a1c30ea7f4510a4e16a448dfe5c723ba9a48a16690790b637d81cfe72b836232c3e8fa82dbb3d93cc17aa19b421e086c8939e9ec3b00fb3fae67afddb412ae0d620d4e1bf05a1c4c9448a0e97e8989b32656268f7c1e286439beef8f2436b39f43741a994b1d4976244392fffd4f1407c328ce7b4881d35be3552cccca04255da7',
|
|
157
|
+
y: '021360350b02fc462cd7fd9c4544cb9f262f987f64b8aab70c27f9cb8664ce70ed',
|
|
158
|
+
v: '03b5b3ed128f6f40635ea2373c7aaf11ea9da5727739f60968235d071b7810a9ba',
|
|
159
|
+
u: '8c4061894a729746ba53c296c56e6b650e478984f659cbd992e6bf37414953cb',
|
|
160
|
+
chaincode: '667deabd1590aeb51476f97bdd7068a7548a6f1fb6852f5339c4375bdd2474b2',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
backupKeyShare: {
|
|
165
|
+
pShare: {
|
|
166
|
+
i: 2,
|
|
167
|
+
t: 2,
|
|
168
|
+
c: 3,
|
|
169
|
+
l: 'dc2ab89c3888452c814a539a9dd8faba199ab52781ff10b7e870dce72d2c5fc1cb1f039c0f9e90d201194ea1e733730bd9dc64aa239f95da246beb3198e48f274f0b0e7084f3df5aad69b4e624ac9cab5e31dd1335499c8b29e6535858d049fb33ec4933cfefd2e4b11026df3a3818d365a3ac36a120f34b74aebe0490fe90596f0efd69d1d9e5c291f99d10278bce1a4c806e52fa111654c9d9bcb0d89dcf090f58d469e406469ebadb84b16ccc5cc8beca04bb4013991b59af0fd65d24dfd5dd8c6f54d31fbb5e679e4e30adde442a08ef9a49e9c06932f9c7f61cc91122bb412601e8f6c6668b595a50f638a261568a6ad6ba1657d84112573be994994141b6fa78ae0eec3a5d01acf24179d1f38ef1bc4b157d158318e1e2ab34426c85a99b66b3b99a1fa3466d19c225e807ac66322418f97941dbfdd26906e64034d6a55d59d28e66dc20c3d5c3eaa05c6db52216221f82273f6b11940a4a1c814bfbf15165cf475e148ae87e2b5e980f55a51de98aedda77e2923407b3b2e64357bb14',
|
|
170
|
+
m: '1a8423324d6977cf08a81fb3c730f26b00dee9c3b7cb4b9c3576bdb9fa5ee39d62926ec8236430cc2f8bd4acc8e187c19043b87ca9972dd71be81434390f059b2a14e96ffb0bb53ebd8bf8c199282e866d2121b243015ebb3f8dbb654f913d36d35e2691ad6c6e124c1b6b65a77b51c7174d5e500a9eb9085a0d1d65eb24d5bb31c4e1625ff1dde547c8ef8ff0956fc13f185c61ccd5ce1150423fbbcfe43b23f47088ace4545f51a6d74e0b55b1be4cb18aa2b34e31479c145b9d7a2baf89bda8250b63b99827520b15554b2cd75b1e9288280a2a53c3dc49d74c84eceafea8782312d369bfe3e76cfb50c4ff4043cceb4fdf32cb24584243ee22956947896e9cfac6416708aeb358b6c33b0de3a214c73d54eda4e5311ebfbcac3d59b6d84033b8a53ba61bf862176b04f157a06e57e1d47b91840a9def99c375fee28b41eee7bd79f1eff4144210387d3d188881331a758df56a6ab99f522d1ea2b3e05c28a5bb7f5b3464df4d1e95a739ffdc42963f5b27b7801ecd3ec675b1fc5cc3ec3b',
|
|
171
|
+
n: 'dc2ab89c3888452c814a539a9dd8faba199ab52781ff10b7e870dce72d2c5fc1cb1f039c0f9e90d201194ea1e733730bd9dc64aa239f95da246beb3198e48f274f0b0e7084f3df5aad69b4e624ac9cab5e31dd1335499c8b29e6535858d049fb33ec4933cfefd2e4b11026df3a3818d365a3ac36a120f34b74aebe0490fe90596f0efd69d1d9e5c291f99d10278bce1a4c806e52fa111654c9d9bcb0d89dcf090f58d469e406469ebadb84b16ccc5cc8beca04bb4013991b59af0fd65d24dfd7efac59033fe178db7cec6f4aed7f24694ce23f9e4bc67d2c12fc8c5e84d3fde1289af1f1232ae5b7537cccc38e1acfa3239b0002e08349919effed414b2d9e0d4e7adf934b9cc527001176dcf92e1596fb3a6a8540e692fac3ae9476325c0294ef04bee2a6e76c8e74eb3c7eb6457c1b0f4b84214624489b93751efa192185e9dafdfb8b6cf7700e17f9917cb6d45c3edd351ccf09d2cf334439b704b11058afac78874c1d538b1923acfb7f0cd625b3849e077e74261753afb8025d0928fd61',
|
|
172
|
+
y: '03332a7a63338a6c5d36e9559af0027a07a16e04fb8ade0d50cd1aa6c03d0ba46d',
|
|
173
|
+
u: '835bcba8ebddf3b00b1322621d89450c33bf4f18168217346a3921580826c06a',
|
|
174
|
+
uu: '96491455441075905245134070506220690004166606482880684440774828720961296015515',
|
|
175
|
+
chaincode: '952072b9e655f29fa9aca621626e92e10b7356eb729e414c684ffd109f9d1ee4',
|
|
176
|
+
},
|
|
177
|
+
nShares: {
|
|
178
|
+
1: {
|
|
179
|
+
i: 1,
|
|
180
|
+
j: 2,
|
|
181
|
+
n: 'dc2ab89c3888452c814a539a9dd8faba199ab52781ff10b7e870dce72d2c5fc1cb1f039c0f9e90d201194ea1e733730bd9dc64aa239f95da246beb3198e48f274f0b0e7084f3df5aad69b4e624ac9cab5e31dd1335499c8b29e6535858d049fb33ec4933cfefd2e4b11026df3a3818d365a3ac36a120f34b74aebe0490fe90596f0efd69d1d9e5c291f99d10278bce1a4c806e52fa111654c9d9bcb0d89dcf090f58d469e406469ebadb84b16ccc5cc8beca04bb4013991b59af0fd65d24dfd7efac59033fe178db7cec6f4aed7f24694ce23f9e4bc67d2c12fc8c5e84d3fde1289af1f1232ae5b7537cccc38e1acfa3239b0002e08349919effed414b2d9e0d4e7adf934b9cc527001176dcf92e1596fb3a6a8540e692fac3ae9476325c0294ef04bee2a6e76c8e74eb3c7eb6457c1b0f4b84214624489b93751efa192185e9dafdfb8b6cf7700e17f9917cb6d45c3edd351ccf09d2cf334439b704b11058afac78874c1d538b1923acfb7f0cd625b3849e077e74261753afb8025d0928fd61',
|
|
182
|
+
y: '03332a7a63338a6c5d36e9559af0027a07a16e04fb8ade0d50cd1aa6c03d0ba46d',
|
|
183
|
+
v: '03f746e5b4e3ece2ff90b11f1c794f7a339d19f14ed3d85a8703a26d674f5ed876',
|
|
184
|
+
u: '2c58031083c8794285e16ec396fae9b00aca481a07e17c72d8132f6079a04fe2',
|
|
185
|
+
chaincode: '952072b9e655f29fa9aca621626e92e10b7356eb729e414c684ffd109f9d1ee4',
|
|
186
|
+
},
|
|
187
|
+
3: {
|
|
188
|
+
i: 3,
|
|
189
|
+
j: 2,
|
|
190
|
+
n: 'dc2ab89c3888452c814a539a9dd8faba199ab52781ff10b7e870dce72d2c5fc1cb1f039c0f9e90d201194ea1e733730bd9dc64aa239f95da246beb3198e48f274f0b0e7084f3df5aad69b4e624ac9cab5e31dd1335499c8b29e6535858d049fb33ec4933cfefd2e4b11026df3a3818d365a3ac36a120f34b74aebe0490fe90596f0efd69d1d9e5c291f99d10278bce1a4c806e52fa111654c9d9bcb0d89dcf090f58d469e406469ebadb84b16ccc5cc8beca04bb4013991b59af0fd65d24dfd7efac59033fe178db7cec6f4aed7f24694ce23f9e4bc67d2c12fc8c5e84d3fde1289af1f1232ae5b7537cccc38e1acfa3239b0002e08349919effed414b2d9e0d4e7adf934b9cc527001176dcf92e1596fb3a6a8540e692fac3ae9476325c0294ef04bee2a6e76c8e74eb3c7eb6457c1b0f4b84214624489b93751efa192185e9dafdfb8b6cf7700e17f9917cb6d45c3edd351ccf09d2cf334439b704b11058afac78874c1d538b1923acfb7f0cd625b3849e077e74261753afb8025d0928fd61',
|
|
191
|
+
y: '03332a7a63338a6c5d36e9559af0027a07a16e04fb8ade0d50cd1aa6c03d0ba46d',
|
|
192
|
+
v: '03f746e5b4e3ece2ff90b11f1c794f7a339d19f14ed3d85a8703a26d674f5ed876',
|
|
193
|
+
u: 'da5f944153f36e1d9044d600a417a0685cb456162522b1f5fc5f134f96ad30f2',
|
|
194
|
+
chaincode: '952072b9e655f29fa9aca621626e92e10b7356eb729e414c684ffd109f9d1ee4',
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
bitgoKeyShare: {
|
|
199
|
+
pShare: {
|
|
200
|
+
i: 3,
|
|
201
|
+
t: 2,
|
|
202
|
+
c: 3,
|
|
203
|
+
l: 'e70a7827b2748c5264c70a46fb5427396d8e79605bf2507b581722f27530bcbf10e6a20e219d3bdc26083195bfb51c41a100751691126e6a9649ed2c037b356ee82f59ac6edeb278104d01a7a1d6cba0da72783834fb1da4fd5d0e7c040c665f8a0f23e57d5fb6c72599cf21d67a31949c59c3ace0a455a7e565ccc991dc5e717c027b272c888eaa016c8c9c54154cc71dab0ede8838189795511cf9d19738c8a2338320d551c38ff40358010ade95d74ae49a4bdcd10bff75d7e74fd6e6df5f73eff52bef90ebaaa60ffe8cfb5bff688c90c92ee3c1b20c366e044ba39f76c5a5b2120ceb46e57b109509d62ccba2a7d138f6c6a02ce6be4c5e9b065181d2700b6b4485132fd3615f687867c73be1df5e0525bef8aface335aa3426364d7df74a49f915eaf8fc967ceadf422f21999c2afad2629212a908f3ace38aae157971ac240c5a65a11ec7968fdb2e283770677d0afd0cad59eb823b5dc69bb50d7ce3b79a74c4f4bb06ca01c36e2dc51d5852d33b045e6b943a6396501b74ff08dfb8',
|
|
204
|
+
m: '45315d66f88900fd2c906a89b58919bd9966bca242274886ef7eae732748e9818e1d8b7ad16819a6adc4662cf69d1d842c6910dfc36efbec53d2978ae8510a6fcd4eff706d25b660602d7c46dea73fe10f8322d6d5714322335de7bb972c47e0a311b05c1ae20dcc82a6101b1525d06c072b5ef7f3a7cf15b091c68d6e20489f1f4e1ccc9bb117322714d566a89748bd02caeb99331a56a594b556be60d24c7bc66eb9b9c6c39a0781d43f98765efd3c12707d8c0041fdb46bf360aa5e6a3cb7eeda5902371bb6ccabbd1ee10ec87d76883a96167ecc22c6e9f114d984d99c8fa72dbf88e474e8eb6bc50fa9e584b3fc701302363c11af4dc36ec4607ae84ad3ce27b788ffa1fd9f8190e7c3b9d2f2d2c08ed950adde6b15cf9a0c8f05488545fbce69209aa0c980271d6dc89d76d242f220d58c0e92e698b9cc69980c994f19765ffe2ffb802b2f0d27d1575ca0c96dd91276e8063fa6f35a043d7c95b4751770d925f5d5662a5f5daff7771206df1d34c9c7a7b8803a1fbec47a41636dd510',
|
|
205
|
+
n: 'e70a7827b2748c5264c70a46fb5427396d8e79605bf2507b581722f27530bcbf10e6a20e219d3bdc26083195bfb51c41a100751691126e6a9649ed2c037b356ee82f59ac6edeb278104d01a7a1d6cba0da72783834fb1da4fd5d0e7c040c665f8a0f23e57d5fb6c72599cf21d67a31949c59c3ace0a455a7e565ccc991dc5e717c027b272c888eaa016c8c9c54154cc71dab0ede8838189795511cf9d19738c8a2338320d551c38ff40358010ade95d74ae49a4bdcd10bff75d7e74fd6e6df61a2b1c541c481384c25a3eaac80bcd450333bdc414a8e89c885bac072f3c317484f9ac3c7076017c45a22c8679adad03d36e2aa1a8e6bc02ab49eac90a3451523118d45d4101d3900f622816f460dbd43621c04ba3de03f4e4ebaaaa6ba5bd2b1ede7eb1c58a5634496eb02a07714fb0c4010cc0c253b75fccc96f56a0dedd64f9371786d94e1598f16c02e1c69e8e57e214cae8247cbbb21a538bfe9888d57fd83e5ce36a0f6be4af98c5b76fce3f5531847d873fce6d457dda2ecad5322946b',
|
|
206
|
+
y: '027f7b7b2ad18314cf554768cd7d3f06f3e0694037094c38795a0bd6b99888fefa',
|
|
207
|
+
u: 'd2dd18021e1587990a999e3d4b7962b5490d1c97a4a875d9b09dcfcc19513638',
|
|
208
|
+
uu: '620148179599944014098785010506277195518356996977522257747514123370303402392',
|
|
209
|
+
chaincode: 'f9223077f36d7c7ab3730a6fc067d008c2fca36bad74a3ccd5973c063604f2b6',
|
|
210
|
+
},
|
|
211
|
+
nShares: {
|
|
212
|
+
1: {
|
|
213
|
+
i: 1,
|
|
214
|
+
j: 3,
|
|
215
|
+
n: 'e70a7827b2748c5264c70a46fb5427396d8e79605bf2507b581722f27530bcbf10e6a20e219d3bdc26083195bfb51c41a100751691126e6a9649ed2c037b356ee82f59ac6edeb278104d01a7a1d6cba0da72783834fb1da4fd5d0e7c040c665f8a0f23e57d5fb6c72599cf21d67a31949c59c3ace0a455a7e565ccc991dc5e717c027b272c888eaa016c8c9c54154cc71dab0ede8838189795511cf9d19738c8a2338320d551c38ff40358010ade95d74ae49a4bdcd10bff75d7e74fd6e6df61a2b1c541c481384c25a3eaac80bcd450333bdc414a8e89c885bac072f3c317484f9ac3c7076017c45a22c8679adad03d36e2aa1a8e6bc02ab49eac90a3451523118d45d4101d3900f622816f460dbd43621c04ba3de03f4e4ebaaaa6ba5bd2b1ede7eb1c58a5634496eb02a07714fb0c4010cc0c253b75fccc96f56a0dedd64f9371786d94e1598f16c02e1c69e8e57e214cae8247cbbb21a538bfe9888d57fd83e5ce36a0f6be4af98c5b76fce3f5531847d873fce6d457dda2ecad5322946b',
|
|
216
|
+
y: '027f7b7b2ad18314cf554768cd7d3f06f3e0694037094c38795a0bd6b99888fefa',
|
|
217
|
+
v: '0304f1eaada46c6372b6a2caffb50f7724fa21366cf8aefc163be9dc7d630faa5f',
|
|
218
|
+
u: '4733b134fc8fdc51e82ccda1172b49c975c8e4c5621a69d3a52024429a7e8878',
|
|
219
|
+
chaincode: 'f9223077f36d7c7ab3730a6fc067d008c2fca36bad74a3ccd5973c063604f2b6',
|
|
220
|
+
},
|
|
221
|
+
2: {
|
|
222
|
+
i: 2,
|
|
223
|
+
j: 3,
|
|
224
|
+
n: 'e70a7827b2748c5264c70a46fb5427396d8e79605bf2507b581722f27530bcbf10e6a20e219d3bdc26083195bfb51c41a100751691126e6a9649ed2c037b356ee82f59ac6edeb278104d01a7a1d6cba0da72783834fb1da4fd5d0e7c040c665f8a0f23e57d5fb6c72599cf21d67a31949c59c3ace0a455a7e565ccc991dc5e717c027b272c888eaa016c8c9c54154cc71dab0ede8838189795511cf9d19738c8a2338320d551c38ff40358010ade95d74ae49a4bdcd10bff75d7e74fd6e6df61a2b1c541c481384c25a3eaac80bcd450333bdc414a8e89c885bac072f3c317484f9ac3c7076017c45a22c8679adad03d36e2aa1a8e6bc02ab49eac90a3451523118d45d4101d3900f622816f460dbd43621c04ba3de03f4e4ebaaaa6ba5bd2b1ede7eb1c58a5634496eb02a07714fb0c4010cc0c253b75fccc96f56a0dedd64f9371786d94e1598f16c02e1c69e8e57e214cae8247cbbb21a538bfe9888d57fd83e5ce36a0f6be4af98c5b76fce3f5531847d873fce6d457dda2ecad5322946b',
|
|
225
|
+
y: '027f7b7b2ad18314cf554768cd7d3f06f3e0694037094c38795a0bd6b99888fefa',
|
|
226
|
+
v: '0304f1eaada46c6372b6a2caffb50f7724fa21366cf8aefc163be9dc7d630faa5f',
|
|
227
|
+
u: '8d08649b8d52b1f5796335ef3152563f5f6b00ae83616fd6aadefa0759e7df58',
|
|
228
|
+
chaincode: 'f9223077f36d7c7ab3730a6fc067d008c2fca36bad74a3ccd5973c063604f2b6',
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvZml4dHVyZXMvcG9seWdvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FPQztBQVFELDhDQU9DO0FBRUQsd0RBU0M7QUFZRCxzRkFpREM7QUFFRCxrSEFjQztBQUVELDRFQUtDO0FBckhELFNBQWdCLGdCQUFnQixDQUFDLE9BQWU7SUFDOUMsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxPQUFPO0tBQ2pCLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSxpQkFBaUIsR0FBRztJQUMvQixNQUFNLEVBQUUsR0FBRztJQUNYLE9BQU8sRUFBRSx1QkFBdUI7SUFDaEMsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFDO0FBRUYsU0FBZ0IsaUJBQWlCLENBQUMsT0FBZTtJQUMvQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLFNBQVM7UUFDakIsT0FBTyxFQUFFLE9BQU87S0FDakIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxvQkFBNEIsRUFBRSxPQUFlO0lBQ2xGLE9BQU87UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUUsY0FBYztRQUN0QixlQUFlLEVBQUUsb0JBQW9CO1FBQ3JDLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLEdBQUcsRUFBRSxRQUFRO0tBQ2QsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLE1BQU0sRUFBRSxHQUFHO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUscUJBQXFCO0NBQzlCLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxpQ0FBaUMsR0FB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c3QoYWRkcmVzczogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgY2hhaW5pZDogJzgwMDAyJyxcbiAgICBtb2R1bGU6ICdhY2NvdW50JyxcbiAgICBhY3Rpb246ICd0eGxpc3QnLFxuICAgIGFkZHJlc3M6IGFkZHJlc3MsXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBnZXRUeExpc3RSZXNwb25zZSA9IHtcbiAgc3RhdHVzOiAnMCcsXG4gIG1lc3NhZ2U6ICdObyB0cmFuc2FjdGlvbnMgZm91bmQnLFxuICByZXN1bHQ6IFtdLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJhbGFuY2VSZXF1ZXN0KGFkZHJlc3M6IHN0cmluZykge1xuICByZXR1cm4ge1xuICAgIGNoYWluaWQ6ICc4MDAwMicsXG4gICAgbW9kdWxlOiAnYWNjb3VudCcsXG4gICAgYWN0aW9uOiAnYmFsYW5jZScsXG4gICAgYWRkcmVzczogYWRkcmVzcyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRva2VuQmFsYW5jZVJlcXVlc3QodG9rZW5Db250cmFjdEFkZHJlc3M6IHN0cmluZywgYWRkcmVzczogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgY2hhaW5pZDogJzgwMDAyJyxcbiAgICBtb2R1bGU6ICdhY2NvdW50JyxcbiAgICBhY3Rpb246ICd0b2tlbmJhbGFuY2UnLFxuICAgIGNvbnRyYWN0YWRkcmVzczogdG9rZW5Db250cmFjdEFkZHJlc3MsXG4gICAgYWRkcmVzczogYWRkcmVzcyxcbiAgICB0YWc6ICdsYXRlc3QnLFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0QmFsYW5jZVJlc3BvbnNlID0ge1xuICBzdGF0dXM6ICcxJyxcbiAgbWVzc2FnZTogJ09LJyxcbiAgcmVzdWx0OiAnOTk5OTk5OTk5OTk5OTk5OTkyOCcsXG59O1xuXG4vLyBOZXcgbW9jayBkYXRhIGZ1bmN0aW9ucyBmb3IgcmVjb3ZlcnkgYW5kIHN3ZWVwXG5jb25zdCBURVNUX1BPTFlHT05fV0FMTEVUX0ZJUlNUX0FERFJFU1MgPSAnMHhiZDQ3NTc1NzIzNzE1NGI1MjIzMzNmY2E0YzU2NWJjNzg5YjQ2MTkzJztcbmNvbnN0IFRFU1RfUkVDT1ZFUllfUEFTU0NPREUgPSAnQm9uZGlvbGExMjM0Iyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROb25CaXRHb1JlY292ZXJ5Rm9ySG90V2FsbGV0c01QQ3YyKGludGVuZGVkQ2hhaW4gPSAndHBvbHlnb24nKTogYW55IHtcbiAgcmV0dXJuIHtcbiAgICB1c2VyS2V5OlxuICAgICAgJ3tcIml2XCI6XCJTWEVBcXRpK3FLRlp3TW1yS0hhS2RBPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiXFxuJyArXG4gICAgICAnOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiY0kvUFJEbHFGalE9XCIsXCJjdFwiOlwiM1MrVDlraHNVOWFUbExcXG4nICtcbiAgICAgICdNVUczRWdPNjVmMkRBd2t0Q2d1bjdLL2N0MlhqVFQyQkpOclgxYU9yRjA4anRNalJmYlpwR3FRbTB0NU85TkREMWpncytGK21MMXlcXG4nICtcbiAgICAgICcrdU1hYmtwV2FLUzNMMlZwS0RFL0VOZUNaRFI2MzJGcnFVd25SWUN1SFlrZFVoZEczQWVVQlR4SENRRm5aQjVWVHFNRUVmWUkzS0JcXG4nICtcbiAgICAgICd6c3VWU1VQaVVjdm4wK1V4Q1UyZFhBVUk3cElOQjMrZDgvd0FkS2dSbkNzanVnZ25FZHV6eTl4TExpUGI0c2ZOU09yQjdIVzlJYS9cXG4nICtcbiAgICAgICdKc2dHWnNuNHRyNzQ0c0dnWkdVR1c1T1JmUFl0WHVSZ3ZBLzRkaGpLZVcwYm5BemlqdGtRZW8wTTlqa05sUjIrSkYxZnhCa3lEWUNcXG4nICtcbiAgICAgICd4dkVZTWJVL0R3UnhESXFtdmp0SGJNZ2NzcnZBVGkyNFJhV3JDdjRCaDM3cWxQeTdaemZFSUFBRDhHYmo3VTA3NmE4Vk5lS2gwY0RcXG4nICtcbiAgICAgICdZaXFyUDNReGpxQTU4RUVxMmpsdUlMQWpEOUt1ckI2Z2Y3WTBiUXhIOWV3MDlJYWErQUJMeTNFVVFId0EzRHdKM1oydDNsNVRUMHlcXG4nICtcbiAgICAgICdPM0Mva3JpY2xINzVUbFJsSHZSV2VTRXpoV1FNblZ3MExBelRRVGFnNExyRGFMQ2JqYms0Mm9RWGk2eHZtZWFiT3ZnT0x2ZlVoMzNcXG4nICtcbiAgICAgICdnMjRoVk9xUVdLSU1qUmVINmRiMHhqQm11QjhkNEpkT2k3L3NnRWMxZ3pTc2dxdFlUb3RodG96UDJGZUpRdHpPSXZtQzdNcElaZjRcXG4nICtcbiAgICAgICdVZXgvbVhYc2JhenhmQjA5RHdOcXpWOTQ5S25jVysrZExTY0o0U2Z6Umh4THFIVlkyNkVVR1hibnkwbVFGMUFsakFHaGlEVmhqY2hcXG4nICtcbiAgICAgICdTcjZjYVRZVlV5dHNEQjk4V0xwZzhlOXYzbFRyS2k3cjZvaUhrQjVQenRmNyswbGNDSHk4WXBtYmczY1F4blF0bG9Obm8wOHdoeUpcXG4nICtcbiAgICAgICdTRG9UTWJkNnlwMTkwQVFzMnFGendoZGJvRHA2OER0a21MaFBqMytIQ3FHOWhKQjFadlhNbWwvbXMrZUtiaUM1SHp5M2RpaHoxeFpcXG4nICtcbiAgICAgICd3eFh0QkgyNDRYSFVzeEJBTDFiSUk5UkRKQ245blZSNUkyVWhzakxVY1NTOWZtdGhEU1lFaDBMTi80TE8xVTVJRU90QThuaDcyZlpcXG4nICtcbiAgICAgICd5N0FSa2FjY1NIc3pLVGlpR1liVFkySnhudlFjWlByZnVwNllYV2Y4WU5IeGxMM0xoK0xScm4rK3Jhai9IcTFSem14Y0hPTjQyV25cXG4nICtcbiAgICAgICc3KzFWQjcxMzRtN2xRUU55V3k5Sm03cjRFV1BnV0RvbjZvcHplQ01uS2dlZEZKVVNSRzBocVFKVFhEeHY5YzVFUXhwOFE3dnVNek5cXG4nICtcbiAgICAgICdzZDQyZzBheGROQ0RHZlkra0hXZFNrU2RaSzBoQ2FleTBRbz1cIn1cXG4nLFxuICAgIGJhY2t1cEtleTpcbiAgICAgICd7XCJpdlwiOlwiS0JkRk84dW5KRUIvZTN0U2FNRUUwZz09XCIsXCJ2XCI6MSxcIml0ZXJcIjoxMDAwMCxcImtzXCI6MjU2LFwidHNcIjo2NCxcIm1vZGVcIlxcbicgK1xuICAgICAgJzpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcIlJURE1mbG9tT2FVPVwiLFwiY3RcIjpcImx5d1RVajBUS25TRXBjXFxuJyArXG4gICAgICAndmtNRXBRNUdkRVZ0WVg0R0xtL1pLVXlWcExla0xZeU5wdWRFWmdNc1pJN2F6a01FbEZKUHU1YUVsTFdQRUdGYXV2cjVYMGdJNmlhXFxuJyArXG4gICAgICAnOGRwQmVqYWQ5OGNlLzBNd2Y3UGp4clhyS1daN1NFcUhmUFVMSFJ0SDdERytDYWE4ak5CZngxWTNqUGJlRzAzRk13Zy9ucEZiS1l1XFxuJyArXG4gICAgICAnSmV5cUgxMFZaMlpJZ0tTWnRBQVlzdGlqNDFvT1RGRndtOFJvOTltVEtDMTZoVi9lK0VhWlI4Vm9XZ3B6NjZUWWU3OGpWTm9PQmYwXFxuJyArXG4gICAgICAnM3NHb3R6OTBWRGEyVlczSFhaeGdSbnNJNnV4S0Zqci9MZXJqVDB3S1lGL2tzeHpuelp0WUZ6N1EwMy9ydis5U2dxa3lmcEdGV0NVXFxuJyArXG4gICAgICAnQ3B0U1lNRXhuSlhVK0RHeEhMVmptaWtzU2E4dlZBVFFBUDRWVCtkTlpyVlVBMDRXeHpGWm9ubDFCaDlnaFpjZlNYcXJqZm13aUxmXFxuJyArXG4gICAgICAnMis3a0tPc1dGM2FHZVFnL1dVUGNwQkRkSVlvQjl1L0ZYUDZlc3M1MCt1TDhNcDR5ZVJONFYzWHZlaW5KOVVXbVhNRmZWSzFoL2p4XFxuJyArXG4gICAgICAnNys0MCtUbEdpSmw0QUYxUmxISzZZK2NvN1FVb2FoVXRLUStBcjJmWHRFeW9CeWRHNXppdTQ3cUhhbW9rLzk5UGRBamc1N3dDcXpEXFxuJyArXG4gICAgICAndzNxRkpycW9aVUVYRmZvbFpWWC9VTUtqenJSUi85RXJoUk4zelpjZUR1d2RyYzJzU1ZNaTdhWWdMRUdqek40STh5dmduS0JERTdhXFxuJyArXG4gICAgICAnNWRyT0hsY1FEUnZva2hDQzR0QXNBRjVWcnhvUVcwTXdIemtBTVhJK0VZNjV6N0lXbVQ0bDNDeW0xT3l1akVSb0JmajBNd215VW43XFxuJyArXG4gICAgICAnU3pmTmdPaXNJKzk4cjdnanh5clc5NG5Yc1I5SDcwajlUdkpSZ0t5ZG9wbVcrOEhjWXBxYUphZmxWMTFiY3Z6dTFOZTd4MlhqaWZjXFxuJyArXG4gICAgICAneGxQaTVmM3A4SVVJUWZQSDl3eFZWT1RsSlYrckYxaEVtM2g0Wk5NVFV6YzRQeW0rUkxJSjhuVE5HWllaMG81RHRURk54Znl0OGNLXFxuJyArXG4gICAgICAnQ0ZyemRuQjd6dkZvWERwSGlvK3g2OVh2YWVqZWJxbDBjZWd2bWFYYmcwdFJGc3g5YU5RakQ4SjMyZlZUTEd6RnZOK3JRM2p1WW1uXFxuJyArXG4gICAgICAnUHNOa2NyS214K2JPNDUzZU96WnMyOE5ONFhjalk0dEU2RG1DZkZGZHlmTWttbkVPa25XSDhJYW8rQUxvUk1vcGdoVFY0bG5OR3dRXFxuJyArXG4gICAgICAnK1ZFSk5iZ2dMVmZ5aUNOblE0VTJyMDh5T1lweDFLNk9RazhzVXh0UnpkWVZjdkJIdFI5aGZNNUdVZjJKSWJwYkJjVkVkM2EvMExwXFxuJyArXG4gICAgICAnS3FKQVJlNmxta2xpa0g3UWRhcUgwOTV0UWt3Mm1WUVpwTXc9XCJ9XFxuJyxcbiAgICBiaXRnb0tleTpcbiAgICAgICcwMmU3NTc3OGRiYjM5ODgwNjFmNDM4YjA4ZDJlYWY4ZDFiZDNlNmRlY2MwMWI1N2FlMzVkYTQ1YmE5MDJlZWUxYjM0ZGE1MjM0ZTRkNjVjOTRmYTRmOGMzYWMxMzEzY2EzZjFmMTNmMTI2MjU0NWQ3MTQyNDljMzQ5ODk1ZWI5YzAxJyxcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBURVNUX1JFQ09WRVJZX1BBU1NDT0RFLFxuICAgIHdhbGxldENvbnRyYWN0QWRkcmVzczogVEVTVF9QT0xZR09OX1dBTExFVF9GSVJTVF9BRERSRVNTLFxuICAgIGJpdGdvRmVlQWRkcmVzczogJzB4YmQ0NzU3NTcyMzcxNTRiNTIyMzMzZmNhNGM1NjViYzc4OWI0NjE5MycsXG4gICAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogJzB4ZDVhZGRlMTdmZWQ4YmFlZDNmMzJiODRhZjA1YjhmMjgxNmY3YjU2MCcsXG4gICAgYml0Z29EZXN0aW5hdGlvbkFkZHJlc3M6ICcweGU1OTg2Y2U0NDkwZGViNjdkMjk1MDU2MmNlYjkzMGRkZjliZTdhMTQnLFxuICAgIGVpcDE1NTk6IHsgbWF4RmVlUGVyR2FzOiAyMDAwMDAwMDAwMCwgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IDEwMDAwMDAwMDAwIH0sXG4gICAgZ2FzTGltaXQ6IDUwMDAwMCxcbiAgICBpbnRlbmRlZENoYWluOiBpbnRlbmRlZENoYWluLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVpbGRVbnNpZ25lZFN3ZWVwRm9yU2VsZkN1c3RvZHlDb2xkV2FsbGV0c01QQ3YyKGludGVuZGVkQ2hhaW4gPSAndHBvbHlnb24nKTogYW55IHtcbiAgY29uc3QgYWRkcmVzcyA9ICcweDM2ODVlOTgzMTY5OTI3OTk0MmMxMTkwZWRiZjJjMzNjMmMzYzE1NmInO1xuICByZXR1cm4ge1xuICAgIHJlY292ZXJ5RGVzdGluYXRpb246ICcweGQ1YWRkZTE3ZmVkOGJhZWQzZjMyYjg0YWYwNWI4ZjI4MTZmN2I1NjAnLFxuICAgIGJpdGdvRGVzdGluYXRpb25BZGRyZXNzOiAnMHhlNTk4NmNlNDQ5MGRlYjY3ZDI5NTA1NjJjZWI5MzBkZGY5YmU3YTE0JyxcbiAgICB3YWxsZXRDb250cmFjdEFkZHJlc3M6IFRFU1RfUE9MWUdPTl9XQUxMRVRfRklSU1RfQUREUkVTUyxcbiAgICBlaXAxNTU5OiB7IG1heEZlZVBlckdhczogMjAwMDAwMDAwMDAsIG1heFByaW9yaXR5RmVlUGVyR2FzOiAxMDAwMDAwMDAwMCB9LFxuICAgIGdhc0xpbWl0OiA1MDAwMDAsXG4gICAgaW50ZW5kZWRDaGFpbjogaW50ZW5kZWRDaGFpbixcbiAgICBhZGRyZXNzOiBhZGRyZXNzLFxuICAgIGFtb3VudDogJzEwMDAwMDAwMDAwMDAwMDAwMCcsIC8vIDAuMSBNQVRJQ1xuICAgIGNvbW1vbktleUNoYWluOlxuICAgICAgJzAzYTEzOWJhM2JmNDlkZTMzNjc1ZWE4NjliYWFhYjhmMzIyNWFmZmZjOTY4MzVjMzBkYjQwMWM1M2IzMzU0NzZkZGRmMGFkOTE5YWQ4Y2ZhOTI5NjdhMjA4Nzk3NTNhNDJmZDNkZjFkNmViMDgyNGYwMjk0YTc4MzhmYWE4MGU5NjMnLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW52YWxpZE5vbkJpdEdvUmVjb3ZlcnlQYXJhbXMoKTogYW55IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5nZXROb25CaXRHb1JlY292ZXJ5Rm9ySG90V2FsbGV0c01QQ3YyKCksXG4gICAgdXNlcktleTogJ2ludmFsaWRVc2VyS2V5JyxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldENvbnRyYWN0Q2FsbFJlcXVlc3QgPSB7XG4gIGNoYWluaWQ6ICc4MDAwMicsXG4gIG1vZHVsZTogJ3Byb3h5JyxcbiAgYWN0aW9uOiAnZXRoX2NhbGwnLFxuICB0bzogJzB4ZGYwNzExNzcwNWE5ZjhkYzRjMmE3OGRlNjZiN2YxNzk3ZGJhOWQ0ZScsXG4gIGRhdGE6ICdhMGI3OTY3YicsXG4gIHRhZzogJ2xhdGVzdCcsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29udHJhY3RDYWxsUmVzcG9uc2UgPSB7XG4gIGpzb25ycGM6ICcyLjAnLFxuICByZXN1bHQ6ICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJhN2YnLFxuICBpZDogMSxcbn07XG5cbmV4cG9ydCBjb25zdCBrZXlTaGFyZXMgPSB7XG4gIHVzZXJLZXlTaGFyZToge1xuICAgIHBTaGFyZToge1xuICAgICAgaTogMSxcbiAgICAgIHQ6IDIsXG4gICAgICBjOiAzLFxuICAgICAgbDogJ2ExYTc3MjhkMzZkYWNmMjBjNzliZjEyYTJiMjI0MWM2YmQ4OTFmNTM0ZTU4ZmQ3Zjk5N2ExOWFmNmM0ZDg4OTc1ZTMxOTA0MTdiMWY2YzYxZjEyYjRhMTg5NDdmMWI1MjEyM2I0Yjg3Y2I3Y2RmOTYzZDRjMmViZmRmODNmOTY2ZjdlMjA5YjQwODlmY2RkMDJhNzhiZDI1OTc4N2EzMzBkOTM0MTJmZDYwNDIwZDIwNTQxZjlmYjY1ZjA1ODhmOWY0NWU5MjNkNjQ2MWJjMWJmYmM0ZTc3OTkwNGM0NjY0ZGYxZGEyYzVmODU4YjE4NTM0ZGVlODhjMDk4YmViYTk3NDk2NzMwZDkwOGY4OWVlNzhjZjY4MWRjYjdkMWRjZTQxNmM1YTA2NDQwMGQ5ZmY2YjYxZGQzYzFhMDY1NDQ3NDk3MmRiZmZiYmM3OTgzNzFkNzcyOTRjNWY0ZTVkYmQzNTgxZmE5YzZlYmFiYWE2ZmZmMDI5ODBhMjZlZDIzMGNhNDY4MmEzZTNiM2ZhNjdiZjBkY2M4MGE1MjViMDk4MzYzMGNmOTI1MTY0MzExNGFkMmFlNjUxZTMyZDljZGIyNzUzZjNiMzYyODIyZjAwNGFkNDdlYmFhMjVhZjRlNzFkMTllMmRmYmVmYzEzNTg0YzM5MTM1YTkzNTU3NTg5ZTA1MDIzNjUzZjc0NGFkNzk4MWNiOTkyZjE4ZmVlNmY5YjE2OGQxMTQ2ZjQzZWRhZmJhMmMwYTY2ZGQzM2FmYjY4YjNhMjZlMDVlYmFjYmVmMWVkMGVmODhhYmZmM2NjYmZhN2QxMWRiYTIwNjY0MDA4ZmEzMWE1NDZlNjY5Y2U5MjZjNjgzNmFiZjcxZGYwOTM3Zjc4NDYxNTczMjM4NzI2ZGUzNDhhNTMwZDBkYTE5YWMyN2M3MjMzZDdmNGY1ZmVmMTU4ZTNkYTI4ZGI1ODc3NjQyMzQxYjY2YmEyYzkxNDUxZjQwYjkwODI4N2ZiMzQzZmM5YTU1NjA4N2IxOCcsXG4gICAgICBtOiAnMWU3ZDYxY2Y3YmE4NmIzNjc3YTNhMjU0YzdlMTc1MzUwNTExOTExMjAwNWIzZTQ5ZmE1ZDRjN2JmM2I3ZmQ0MGIxZWY3OTVlZGIwMzU4ZGUzYjRjZDU3ZTE5NzY3MjE1NzUyOGI1ZTAwOTM2YzFjNTJmZjRlYzA4YWJmMzhiZTUwYTAzMjdlNzJmMTJlYjI0ZDdkM2M3YmI4YTQzZmVhODdmZjJmOWEyODhjODM1OTRkNGU4N2ExNjk2ZjYzYjQ2NzVkODBkYTIzMjU0ODVlMjViZGZlMmQzYzIwNGI2OWFmNDc2MTU5N2JmZTI3ODIxNzg0ZjA2NGY5OGJmZTBjZDJiZWIyNGYyMDhiZTE0M2UxZjZlNWE3OTE4NzkwNGY1YmI1ZWNiZGJiNGNkZjAyZmYxNDFkNjQ2OTdkNjNkMTM0OWQ5OTYzYWZjODMwZjI1MzI3YzZmMzA5YmFmZjE2NjQxZGYzZjUwMjM1MzE4ODc4MGQ4YTM4ZDFhOTNhYzJjYjYwZTNlNTc4MTE1MWJiNWI2OTM3YTE5MTQyM2U2NGYzZTE0ZDZiMWRhOGUzMTBhZjE4YzE2NWRmMjIyZjJhNmI5NDFjOTUzMTYyNTg4NzZhNTgxNjBmNjJhNWQ0MmU1YThlOGViYTk2OTU0NzBkODM0MmJiOWZhNmMzMTc2OTA3ODljYmJjY2NjZWM0NDgzOTkwMTUxYjM4ZTRiOTBiMzQwYjYzY2FmYWIzOTYzZjk4MjU2Mjk0MmI3NDQzODNlMzAwZjI2YTkwNTkzMDJlYjRmYjkxNjFmOTNjNDkyZjk2OGFmNjMzN2MyYzQ4NzllYzM4OWU5YWI3YjEyNTBhYzk4MWQ0YWNlMGE1YWUxOWExYjE1OWMwYjU1ZWM2ZGMwZTUzNzUxNzEzMGE2OWQxN2I1YzViOGY0ZTZjMzZiMDE5NjUyNzA5MjUwNmJhYTc3NGNjNzZmMmY2NGQzMzY4ZGUyNTYxNTQ5YTI0NDI1ZmM5OTQ0ZjI3MjVmMjUzY2VmJyxcbiAgICAgIG46ICdhMWE3NzI4ZDM2ZGFjZjIwYzc5YmYxMmEyYjIyNDFjNmJkODkxZjUzNGU1OGZkN2Y5OTdhMTlhZjZjNGQ4ODk3NWUzMTkwNDE3YjFmNmM2MWYxMmI0YTE4OTQ3ZjFiNTIxMjNiNGI4N2NiN2NkZjk2M2Q0YzJlYmZkZjgzZjk2NmY3ZTIwOWI0MDg5ZmNkZDAyYTc4YmQyNTk3ODdhMzMwZDkzNDEyZmQ2MDQyMGQyMDU0MWY5ZmI2NWYwNTg4ZjlmNDVlOTIzZDY0NjFiYzFiZmJjNGU3Nzk5MDRjNDY2NGRmMWRhMmM1Zjg1OGIxODUzNGRlZTg4YzA5OGJlYmE5NzQ5NjczMGQ5MDhmODllZTc4Y2Y2ODFkY2I3ZDFkY2U0MTZjNWEwNjQ0MDBkOWZmNmI2MWRkM2MxYTA2NTQ0NzQ5NzJkYmZmYmJjNzk4MzcxZDc3Mjk0YzVmNGU1ZGJkMzU4MWZhOWM2ZWJhYmFhNmZmZjAyOTgwYTI2ZWQyMzI3NzY5NmZjN2IwM2I0ZWY5MTQyNzg0ZDRmZGFkYWVjZWE0MzYyNjJhNzU3NTQ5NjQ5NzI1Nzc2YTlkZDJiNTNiZDI4ZGZiNzZmZjY3YjFiOTlkZGFmZTgzMDI5MDg3ODMzYmQ5ZDQwZjNiNDExOTdmMDViYmJlZTc1NGI0MjVhMWMzMGVhN2Y0NTEwYTRlMTZhNDQ4ZGZlNWM3MjNiYTlhNDhhMTY2OTA3OTBiNjM3ZDgxY2ZlNzJiODM2MjMyYzNlOGZhODJkYmIzZDkzY2MxN2FhMTliNDIxZTA4NmM4OTM5ZTllYzNiMDBmYjNmYWU2N2FmZGRiNDEyYWUwZDYyMGQ0ZTFiZjA1YTFjNGM5NDQ4YTBlOTdlODk4OWIzMjY1NjI2OGY3YzFlMjg2NDM5YmVlZjhmMjQzNmIzOWY0Mzc0MWE5OTRiMWQ0OTc2MjQ0MzkyZmZmZDRmMTQwN2MzMjhjZTdiNDg4MWQzNWJlMzU1MmNjY2NhMDQyNTVkYTcnLFxuICAgICAgeTogJzAyMTM2MDM1MGIwMmZjNDYyY2Q3ZmQ5YzQ1NDRjYjlmMjYyZjk4N2Y2NGI4YWFiNzBjMjdmOWNiODY2NGNlNzBlZCcsXG4gICAgICB1OiAnZmRmNWExMjYxZjMyNDE4MTI4YmRmNjhjMGQ1NTM1M2Y5ZmE1YWQxMTQ2NWI2YWVhY2VlNWU5ZWUwZjJhNzA0YycsXG4gICAgICB1dTogJzgyNjg4ODkwOTM2MTA5NDQ5MjI3MDQzMTA5NDI2MjM3NTkwMzkyNTMxOTkxOTMyMjc3NDQ0ODA1NzI1MTQzMTkyOTg4NTEzNDU5NjkyJyxcbiAgICAgIGNoYWluY29kZTogJzY2N2RlYWJkMTU5MGFlYjUxNDc2Zjk3YmRkNzA2OGE3NTQ4YTZmMWZiNjg1MmY1MzM5YzQzNzViZGQyNDc0YjInLFxuICAgIH0sXG4gICAgblNoYXJlczoge1xuICAgICAgMjoge1xuICAgICAgICBpOiAyLFxuICAgICAgICBqOiAxLFxuICAgICAgICBuOiAnYTFhNzcyOGQzNmRhY2YyMGM3OWJmMTJhMmIyMjQxYzZiZDg5MWY1MzRlNThmZDdmOTk3YTE5YWY2YzRkODg5NzVlMzE5MDQxN2IxZjZjNjFmMTJiNGExODk0N2YxYjUyMTIzYjRiODdjYjdjZGY5NjNkNGMyZWJmZGY4M2Y5NjZmN2UyMDliNDA4OWZjZGQwMmE3OGJkMjU5Nzg3YTMzMGQ5MzQxMmZkNjA0MjBkMjA1NDFmOWZiNjVmMDU4OGY5ZjQ1ZTkyM2Q2NDYxYmMxYmZiYzRlNzc5OTA0YzQ2NjRkZjFkYTJjNWY4NThiMTg1MzRkZWU4OGMwOThiZWJhOTc0OTY3MzBkOTA4Zjg5ZWU3OGNmNjgxZGNiN2QxZGNlNDE2YzVhMDY0NDAwZDlmZjZiNjFkZDNjMWEwNjU0NDc0OTcyZGJmZmJiYzc5ODM3MWQ3NzI5NGM1ZjRlNWRiZDM1ODFmYTljNmViYWJhYTZmZmYwMjk4MGEyNmVkMjMyNzc2OTZmYzdiMDNiNGVmOTE0Mjc4NGQ0ZmRhZGFlY2VhNDM2MjYyYTc1NzU0OTY0OTcyNTc3NmE5ZGQyYjUzYmQyOGRmYjc2ZmY2N2IxYjk5ZGRhZmU4MzAyOTA4NzgzM2JkOWQ0MGYzYjQxMTk3ZjA1YmJiZWU3NTRiNDI1YTFjMzBlYTdmNDUxMGE0ZTE2YTQ0OGRmZTVjNzIzYmE5YTQ4YTE2NjkwNzkwYjYzN2Q4MWNmZTcyYjgzNjIzMmMzZThmYTgyZGJiM2Q5M2NjMTdhYTE5YjQyMWUwODZjODkzOWU5ZWMzYjAwZmIzZmFlNjdhZmRkYjQxMmFlMGQ2MjBkNGUxYmYwNWExYzRjOTQ0OGEwZTk3ZTg5ODliMzI2NTYyNjhmN2MxZTI4NjQzOWJlZWY4ZjI0MzZiMzlmNDM3NDFhOTk0YjFkNDk3NjI0NDM5MmZmZmQ0ZjE0MDdjMzI4Y2U3YjQ4ODFkMzViZTM1NTJjY2NjYTA0MjU1ZGE3JyxcbiAgICAgICAgeTogJzAyMTM2MDM1MGIwMmZjNDYyY2Q3ZmQ5YzQ1NDRjYjlmMjYyZjk4N2Y2NGI4YWFiNzBjMjdmOWNiODY2NGNlNzBlZCcsXG4gICAgICAgIHY6ICcwM2I1YjNlZDEyOGY2ZjQwNjM1ZWEyMzczYzdhYWYxMWVhOWRhNTcyNzczOWY2MDk2ODIzNWQwNzFiNzgxMGE5YmEnLFxuICAgICAgICB1OiAnNDUxYjAxNTdiNGQyNmM2M2YxODhkYzkxNjk2MWQwNTJmOTlmMmNkN2M2YjY0YjQ0NTBmZDI1NGM0MDFlYzE2YicsXG4gICAgICAgIGNoYWluY29kZTogJzY2N2RlYWJkMTU5MGFlYjUxNDc2Zjk3YmRkNzA2OGE3NTQ4YTZmMWZiNjg1MmY1MzM5YzQzNzViZGQyNDc0YjInLFxuICAgICAgfSxcbiAgICAgIDM6IHtcbiAgICAgICAgaTogMyxcbiAgICAgICAgajogMSxcbiAgICAgICAgbjogJ2ExYTc3MjhkMzZkYWNmMjBjNzliZjEyYTJiMjI0MWM2YmQ4OTFmNTM0ZTU4ZmQ3Zjk5N2ExOWFmNmM0ZDg4OTc1ZTMxOTA0MTdiMWY2YzYxZjEyYjRhMTg5NDdmMWI1MjEyM2I0Yjg3Y2I3Y2RmOTYzZDRjMmViZmRmODNmOTY2ZjdlMjA5YjQwODlmY2RkMDJhNzhiZDI1OTc4N2EzMzBkOTM0MTJmZDYwNDIwZDIwNTQxZjlmYjY1ZjA1ODhmOWY0NWU5MjNkNjQ2MWJjMWJmYmM0ZTc3OTkwNGM0NjY0ZGYxZGEyYzVmODU4YjE4NTM0ZGVlODhjMDk4YmViYTk3NDk2NzMwZDkwOGY4OWVlNzhjZjY4MWRjYjdkMWRjZTQxNmM1YTA2NDQwMGQ5ZmY2YjYxZGQzYzFhMDY1NDQ3NDk3MmRiZmZiYmM3OTgzNzFkNzcyOTRjNWY0ZTVkYmQzNTgxZmE5YzZlYmFiYWE2ZmZmMDI5ODBhMjZlZDIzMjc3Njk2ZmM3YjAzYjRlZjkxNDI3ODRkNGZkYWRhZWNlYTQzNjI2MmE3NTc1NDk2NDk3MjU3NzZhOWRkMmI1M2JkMjhkZmI3NmZmNjdiMWI5OWRkYWZlODMwMjkwODc4MzNiZDlkNDBmM2I0MTE5N2YwNWJiYmVlNzU0YjQyNWExYzMwZWE3ZjQ1MTBhNGUxNmE0NDhkZmU1YzcyM2JhOWE0OGExNjY5MDc5MGI2MzdkODFjZmU3MmI4MzYyMzJjM2U4ZmE4MmRiYjNkOTNjYzE3YWExOWI0MjFlMDg2Yzg5MzllOWVjM2IwMGZiM2ZhZTY3YWZkZGI0MTJhZTBkNjIwZDRlMWJmMDVhMWM0Yzk0NDhhMGU5N2U4OTg5YjMyNjU2MjY4ZjdjMWUyODY0MzliZWVmOGYyNDM2YjM5ZjQzNzQxYTk5NGIxZDQ5NzYyNDQzOTJmZmZkNGYxNDA3YzMyOGNlN2I0ODgxZDM1YmUzNTUyY2NjY2EwNDI1NWRhNycsXG4gICAgICAgIHk6ICcwMjEzNjAzNTBiMDJmYzQ2MmNkN2ZkOWM0NTQ0Y2I5ZjI2MmY5ODdmNjRiOGFhYjcwYzI3ZjljYjg2NjRjZTcwZWQnLFxuICAgICAgICB2OiAnMDNiNWIzZWQxMjhmNmY0MDYzNWVhMjM3M2M3YWFmMTFlYTlkYTU3Mjc3MzlmNjA5NjgyMzVkMDcxYjc4MTBhOWJhJyxcbiAgICAgICAgdTogJzhjNDA2MTg5NGE3Mjk3NDZiYTUzYzI5NmM1NmU2YjY1MGU0Nzg5ODRmNjU5Y2JkOTkyZTZiZjM3NDE0OTUzY2InLFxuICAgICAgICBjaGFpbmNvZGU6ICc2NjdkZWFiZDE1OTBhZWI1MTQ3NmY5N2JkZDcwNjhhNzU0OGE2ZjFmYjY4NTJmNTMzOWM0Mzc1YmRkMjQ3NGIyJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgYmFja3VwS2V5U2hhcmU6IHtcbiAgICBwU2hhcmU6IHtcbiAgICAgIGk6IDIsXG4gICAgICB0OiAyLFxuICAgICAgYzogMyxcbiAgICAgIGw6ICdkYzJhYjg5YzM4ODg0NTJjODE0YTUzOWE5ZGQ4ZmFiYTE5OWFiNTI3ODFmZjEwYjdlODcwZGNlNzJkMmM1ZmMxY2IxZjAzOWMwZjllOTBkMjAxMTk0ZWExZTczMzczMGJkOWRjNjRhYTIzOWY5NWRhMjQ2YmViMzE5OGU0OGYyNzRmMGIwZTcwODRmM2RmNWFhZDY5YjRlNjI0YWM5Y2FiNWUzMWRkMTMzNTQ5OWM4YjI5ZTY1MzU4NThkMDQ5ZmIzM2VjNDkzM2NmZWZkMmU0YjExMDI2ZGYzYTM4MThkMzY1YTNhYzM2YTEyMGYzNGI3NGFlYmUwNDkwZmU5MDU5NmYwZWZkNjlkMWQ5ZTVjMjkxZjk5ZDEwMjc4YmNlMWE0YzgwNmU1MmZhMTExNjU0YzlkOWJjYjBkODlkY2YwOTBmNThkNDY5ZTQwNjQ2OWViYWRiODRiMTZjY2M1Y2M4YmVjYTA0YmI0MDEzOTkxYjU5YWYwZmQ2NWQyNGRmZDVkZDhjNmY1NGQzMWZiYjVlNjc5ZTRlMzBhZGRlNDQyYTA4ZWY5YTQ5ZTljMDY5MzJmOWM3ZjYxY2M5MTEyMmJiNDEyNjAxZThmNmM2NjY4YjU5NWE1MGY2MzhhMjYxNTY4YTZhZDZiYTE2NTdkODQxMTI1NzNiZTk5NDk5NDE0MWI2ZmE3OGFlMGVlYzNhNWQwMWFjZjI0MTc5ZDFmMzhlZjFiYzRiMTU3ZDE1ODMxOGUxZTJhYjM0NDI2Yzg1YTk5YjY2YjNiOTlhMWZhMzQ2NmQxOWMyMjVlODA3YWM2NjMyMjQxOGY5Nzk0MWRiZmRkMjY5MDZlNjQwMzRkNmE1NWQ1OWQyOGU2NmRjMjBjM2Q1YzNlYWEwNWM2ZGI1MjIxNjIyMWY4MjI3M2Y2YjExOTQwYTRhMWM4MTRiZmJmMTUxNjVjZjQ3NWUxNDhhZTg3ZTJiNWU5ODBmNTVhNTFkZTk4YWVkZGE3N2UyOTIzNDA3YjNiMmU2NDM1N2JiMTQnLFxuICAgICAgbTogJzFhODQyMzMyNGQ2OTc3Y2YwOGE4MWZiM2M3MzBmMjZiMDBkZWU5YzNiN2NiNGI5YzM1NzZiZGI5ZmE1ZWUzOWQ2MjkyNmVjODIzNjQzMGNjMmY4YmQ0YWNjOGUxODdjMTkwNDNiODdjYTk5NzJkZDcxYmU4MTQzNDM5MGYwNTliMmExNGU5NmZmYjBiYjUzZWJkOGJmOGMxOTkyODJlODY2ZDIxMjFiMjQzMDE1ZWJiM2Y4ZGJiNjU0ZjkxM2QzNmQzNWUyNjkxYWQ2YzZlMTI0YzFiNmI2NWE3N2I1MWM3MTc0ZDVlNTAwYTllYjkwODVhMGQxZDY1ZWIyNGQ1YmIzMWM0ZTE2MjVmZjFkZGU1NDdjOGVmOGZmMDk1NmZjMTNmMTg1YzYxY2NkNWNlMTE1MDQyM2ZiYmNmZTQzYjIzZjQ3MDg4YWNlNDU0NWY1MWE2ZDc0ZTBiNTViMWJlNGNiMThhYTJiMzRlMzE0NzljMTQ1YjlkN2EyYmFmODliZGE4MjUwYjYzYjk5ODI3NTIwYjE1NTU0YjJjZDc1YjFlOTI4ODI4MGEyYTUzYzNkYzQ5ZDc0Yzg0ZWNlYWZlYTg3ODIzMTJkMzY5YmZlM2U3NmNmYjUwYzRmZjQwNDNjY2ViNGZkZjMyY2IyNDU4NDI0M2VlMjI5NTY5NDc4OTZlOWNmYWM2NDE2NzA4YWViMzU4YjZjMzNiMGRlM2EyMTRjNzNkNTRlZGE0ZTUzMTFlYmZiY2FjM2Q1OWI2ZDg0MDMzYjhhNTNiYTYxYmY4NjIxNzZiMDRmMTU3YTA2ZTU3ZTFkNDdiOTE4NDBhOWRlZjk5YzM3NWZlZTI4YjQxZWVlN2JkNzlmMWVmZjQxNDQyMTAzODdkM2QxODg4ODEzMzFhNzU4ZGY1NmE2YWI5OWY1MjJkMWVhMmIzZTA1YzI4YTViYjdmNWIzNDY0ZGY0ZDFlOTVhNzM5ZmZkYzQyOTYzZjViMjdiNzgwMWVjZDNlYzY3NWIxZmM1Y2MzZWMzYicsXG4gICAgICBuOiAnZGMyYWI4OWMzODg4NDUyYzgxNGE1MzlhOWRkOGZhYmExOTlhYjUyNzgxZmYxMGI3ZTg3MGRjZTcyZDJjNWZjMWNiMWYwMzljMGY5ZTkwZDIwMTE5NGVhMWU3MzM3MzBiZDlkYzY0YWEyMzlmOTVkYTI0NmJlYjMxOThlNDhmMjc0ZjBiMGU3MDg0ZjNkZjVhYWQ2OWI0ZTYyNGFjOWNhYjVlMzFkZDEzMzU0OTljOGIyOWU2NTM1ODU4ZDA0OWZiMzNlYzQ5MzNjZmVmZDJlNGIxMTAyNmRmM2EzODE4ZDM2NWEzYWMzNmExMjBmMzRiNzRhZWJlMDQ5MGZlOTA1OTZmMGVmZDY5ZDFkOWU1YzI5MWY5OWQxMDI3OGJjZTFhNGM4MDZlNTJmYTExMTY1NGM5ZDliY2IwZDg5ZGNmMDkwZjU4ZDQ2OWU0MDY0NjllYmFkYjg0YjE2Y2NjNWNjOGJlY2EwNGJiNDAxMzk5MWI1OWFmMGZkNjVkMjRkZmQ3ZWZhYzU5MDMzZmUxNzhkYjdjZWM2ZjRhZWQ3ZjI0Njk0Y2UyM2Y5ZTRiYzY3ZDJjMTJmYzhjNWU4NGQzZmRlMTI4OWFmMWYxMjMyYWU1Yjc1MzdjY2NjMzhlMWFjZmEzMjM5YjAwMDJlMDgzNDk5MTllZmZlZDQxNGIyZDllMGQ0ZTdhZGY5MzRiOWNjNTI3MDAxMTc2ZGNmOTJlMTU5NmZiM2E2YTg1NDBlNjkyZmFjM2FlOTQ3NjMyNWMwMjk0ZWYwNGJlZTJhNmU3NmM4ZTc0ZWIzYzdlYjY0NTdjMWIwZjRiODQyMTQ2MjQ0ODliOTM3NTFlZmExOTIxODVlOWRhZmRmYjhiNmNmNzcwMGUxN2Y5OTE3Y2I2ZDQ1YzNlZGQzNTFjY2YwOWQyY2YzMzQ0MzliNzA0YjExMDU4YWZhYzc4ODc0YzFkNTM4YjE5MjNhY2ZiN2YwY2Q2MjViMzg0OWUwNzdlNzQyNjE3NTNhZmI4MDI1ZDA5MjhmZDYxJyxcbiAgICAgIHk6ICcwMzMzMmE3YTYzMzM4YTZjNWQzNmU5NTU5YWYwMDI3YTA3YTE2ZTA0ZmI4YWRlMGQ1MGNkMWFhNmMwM2QwYmE0NmQnLFxuICAgICAgdTogJzgzNWJjYmE4ZWJkZGYzYjAwYjEzMjI2MjFkODk0NTBjMzNiZjRmMTgxNjgyMTczNDZhMzkyMTU4MDgyNmMwNmEnLFxuICAgICAgdXU6ICc5NjQ5MTQ1NTQ0MTA3NTkwNTI0NTEzNDA3MDUwNjIyMDY5MDAwNDE2NjYwNjQ4Mjg4MDY4NDQ0MDc3NDgyODcyMDk2MTI5NjAxNTUxNScsXG4gICAgICBjaGFpbmNvZGU6ICc5NTIwNzJiOWU2NTVmMjlmYTlhY2E2MjE2MjZlOTJlMTBiNzM1NmViNzI5ZTQxNGM2ODRmZmQxMDlmOWQxZWU0JyxcbiAgICB9LFxuICAgIG5TaGFyZXM6IHtcbiAgICAgIDE6IHtcbiAgICAgICAgaTogMSxcbiAgICAgICAgajogMixcbiAgICAgICAgbjogJ2RjMmFiODljMzg4ODQ1MmM4MTRhNTM5YTlkZDhmYWJhMTk5YWI1Mjc4MWZmMTBiN2U4NzBkY2U3MmQyYzVmYzFjYjFmMDM5YzBmOWU5MGQyMDExOTRlYTFlNzMzNzMwYmQ5ZGM2NGFhMjM5Zjk1ZGEyNDZiZWIzMTk4ZTQ4ZjI3NGYwYjBlNzA4NGYzZGY1YWFkNjliNGU2MjRhYzljYWI1ZTMxZGQxMzM1NDk5YzhiMjllNjUzNTg1OGQwNDlmYjMzZWM0OTMzY2ZlZmQyZTRiMTEwMjZkZjNhMzgxOGQzNjVhM2FjMzZhMTIwZjM0Yjc0YWViZTA0OTBmZTkwNTk2ZjBlZmQ2OWQxZDllNWMyOTFmOTlkMTAyNzhiY2UxYTRjODA2ZTUyZmExMTE2NTRjOWQ5YmNiMGQ4OWRjZjA5MGY1OGQ0NjllNDA2NDY5ZWJhZGI4NGIxNmNjYzVjYzhiZWNhMDRiYjQwMTM5OTFiNTlhZjBmZDY1ZDI0ZGZkN2VmYWM1OTAzM2ZlMTc4ZGI3Y2VjNmY0YWVkN2YyNDY5NGNlMjNmOWU0YmM2N2QyYzEyZmM4YzVlODRkM2ZkZTEyODlhZjFmMTIzMmFlNWI3NTM3Y2NjYzM4ZTFhY2ZhMzIzOWIwMDAyZTA4MzQ5OTE5ZWZmZWQ0MTRiMmQ5ZTBkNGU3YWRmOTM0YjljYzUyNzAwMTE3NmRjZjkyZTE1OTZmYjNhNmE4NTQwZTY5MmZhYzNhZTk0NzYzMjVjMDI5NGVmMDRiZWUyYTZlNzZjOGU3NGViM2M3ZWI2NDU3YzFiMGY0Yjg0MjE0NjI0NDg5YjkzNzUxZWZhMTkyMTg1ZTlkYWZkZmI4YjZjZjc3MDBlMTdmOTkxN2NiNmQ0NWMzZWRkMzUxY2NmMDlkMmNmMzM0NDM5YjcwNGIxMTA1OGFmYWM3ODg3NGMxZDUzOGIxOTIzYWNmYjdmMGNkNjI1YjM4NDllMDc3ZTc0MjYxNzUzYWZiODAyNWQwOTI4ZmQ2MScsXG4gICAgICAgIHk6ICcwMzMzMmE3YTYzMzM4YTZjNWQzNmU5NTU5YWYwMDI3YTA3YTE2ZTA0ZmI4YWRlMGQ1MGNkMWFhNmMwM2QwYmE0NmQnLFxuICAgICAgICB2OiAnMDNmNzQ2ZTViNGUzZWNlMmZmOTBiMTFmMWM3OTRmN2EzMzlkMTlmMTRlZDNkODVhODcwM2EyNmQ2NzRmNWVkODc2JyxcbiAgICAgICAgdTogJzJjNTgwMzEwODNjODc5NDI4NWUxNmVjMzk2ZmFlOWIwMGFjYTQ4MWEwN2UxN2M3MmQ4MTMyZjYwNzlhMDRmZTInLFxuICAgICAgICBjaGFpbmNvZGU6ICc5NTIwNzJiOWU2NTVmMjlmYTlhY2E2MjE2MjZlOTJlMTBiNzM1NmViNzI5ZTQxNGM2ODRmZmQxMDlmOWQxZWU0JyxcbiAgICAgIH0sXG4gICAgICAzOiB7XG4gICAgICAgIGk6IDMsXG4gICAgICAgIGo6IDIsXG4gICAgICAgIG46ICdkYzJhYjg5YzM4ODg0NTJjODE0YTUzOWE5ZGQ4ZmFiYTE5OWFiNTI3ODFmZjEwYjdlODcwZGNlNzJkMmM1ZmMxY2IxZjAzOWMwZjllOTBkMjAxMTk0ZWExZTczMzczMGJkOWRjNjRhYTIzOWY5NWRhMjQ2YmViMzE5OGU0OGYyNzRmMGIwZTcwODRmM2RmNWFhZDY5YjRlNjI0YWM5Y2FiNWUzMWRkMTMzNTQ5OWM4YjI5ZTY1MzU4NThkMDQ5ZmIzM2VjNDkzM2NmZWZkMmU0YjExMDI2ZGYzYTM4MThkMzY1YTNhYzM2YTEyMGYzNGI3NGFlYmUwNDkwZmU5MDU5NmYwZWZkNjlkMWQ5ZTVjMjkxZjk5ZDEwMjc4YmNlMWE0YzgwNmU1MmZhMTExNjU0YzlkOWJjYjBkODlkY2YwOTBmNThkNDY5ZTQwNjQ2OWViYWRiODRiMTZjY2M1Y2M4YmVjYTA0YmI0MDEzOTkxYjU5YWYwZmQ2NWQyNGRmZDdlZmFjNTkwMzNmZTE3OGRiN2NlYzZmNGFlZDdmMjQ2OTRjZTIzZjllNGJjNjdkMmMxMmZjOGM1ZTg0ZDNmZGUxMjg5YWYxZjEyMzJhZTViNzUzN2NjY2MzOGUxYWNmYTMyMzliMDAwMmUwODM0OTkxOWVmZmVkNDE0YjJkOWUwZDRlN2FkZjkzNGI5Y2M1MjcwMDExNzZkY2Y5MmUxNTk2ZmIzYTZhODU0MGU2OTJmYWMzYWU5NDc2MzI1YzAyOTRlZjA0YmVlMmE2ZTc2YzhlNzRlYjNjN2ViNjQ1N2MxYjBmNGI4NDIxNDYyNDQ4OWI5Mzc1MWVmYTE5MjE4NWU5ZGFmZGZiOGI2Y2Y3NzAwZTE3Zjk5MTdjYjZkNDVjM2VkZDM1MWNjZjA5ZDJjZjMzNDQzOWI3MDRiMTEwNThhZmFjNzg4NzRjMWQ1MzhiMTkyM2FjZmI3ZjBjZDYyNWIzODQ5ZTA3N2U3NDI2MTc1M2FmYjgwMjVkMDkyOGZkNjEnLFxuICAgICAgICB5OiAnMDMzMzJhN2E2MzMzOGE2YzVkMzZlOTU1OWFmMDAyN2EwN2ExNmUwNGZiOGFkZTBkNTBjZDFhYTZjMDNkMGJhNDZkJyxcbiAgICAgICAgdjogJzAzZjc0NmU1YjRlM2VjZTJmZjkwYjExZjFjNzk0ZjdhMzM5ZDE5ZjE0ZWQzZDg1YTg3MDNhMjZkNjc0ZjVlZDg3NicsXG4gICAgICAgIHU6ICdkYTVmOTQ0MTUzZjM2ZTFkOTA0NGQ2MDBhNDE3YTA2ODVjYjQ1NjE2MjUyMmIxZjVmYzVmMTM0Zjk2YWQzMGYyJyxcbiAgICAgICAgY2hhaW5jb2RlOiAnOTUyMDcyYjllNjU1ZjI5ZmE5YWNhNjIxNjI2ZTkyZTEwYjczNTZlYjcyOWU0MTRjNjg0ZmZkMTA5ZjlkMWVlNCcsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIGJpdGdvS2V5U2hhcmU6IHtcbiAgICBwU2hhcmU6IHtcbiAgICAgIGk6IDMsXG4gICAgICB0OiAyLFxuICAgICAgYzogMyxcbiAgICAgIGw6ICdlNzBhNzgyN2IyNzQ4YzUyNjRjNzBhNDZmYjU0MjczOTZkOGU3OTYwNWJmMjUwN2I1ODE3MjJmMjc1MzBiY2JmMTBlNmEyMGUyMTlkM2JkYzI2MDgzMTk1YmZiNTFjNDFhMTAwNzUxNjkxMTI2ZTZhOTY0OWVkMmMwMzdiMzU2ZWU4MmY1OWFjNmVkZWIyNzgxMDRkMDFhN2ExZDZjYmEwZGE3Mjc4MzgzNGZiMWRhNGZkNWQwZTdjMDQwYzY2NWY4YTBmMjNlNTdkNWZiNmM3MjU5OWNmMjFkNjdhMzE5NDljNTljM2FjZTBhNDU1YTdlNTY1Y2NjOTkxZGM1ZTcxN2MwMjdiMjcyYzg4OGVhYTAxNmM4YzljNTQxNTRjYzcxZGFiMGVkZTg4MzgxODk3OTU1MTFjZjlkMTk3MzhjOGEyMzM4MzIwZDU1MWMzOGZmNDAzNTgwMTBhZGU5NWQ3NGFlNDlhNGJkY2QxMGJmZjc1ZDdlNzRmZDZlNmRmNWY3M2VmZjUyYmVmOTBlYmFhYTYwZmZlOGNmYjViZmY2ODhjOTBjOTJlZTNjMWIyMGMzNjZlMDQ0YmEzOWY3NmM1YTViMjEyMGNlYjQ2ZTU3YjEwOTUwOWQ2MmNjYmEyYTdkMTM4ZjZjNmEwMmNlNmJlNGM1ZTliMDY1MTgxZDI3MDBiNmI0NDg1MTMyZmQzNjE1ZjY4Nzg2N2M3M2JlMWRmNWUwNTI1YmVmOGFmYWNlMzM1YWEzNDI2MzY0ZDdkZjc0YTQ5ZjkxNWVhZjhmYzk2N2NlYWRmNDIyZjIxOTk5YzJhZmFkMjYyOTIxMmE5MDhmM2FjZTM4YWFlMTU3OTcxYWMyNDBjNWE2NWExMWVjNzk2OGZkYjJlMjgzNzcwNjc3ZDBhZmQwY2FkNTllYjgyM2I1ZGM2OWJiNTBkN2NlM2I3OWE3NGM0ZjRiYjA2Y2EwMWMzNmUyZGM1MWQ1ODUyZDMzYjA0NWU2Yjk0M2E2Mzk2NTAxYjc0ZmYwOGRmYjgnLFxuICAgICAgbTogJzQ1MzE1ZDY2Zjg4OTAwZmQyYzkwNmE4OWI1ODkxOWJkOTk2NmJjYTI0MjI3NDg4NmVmN2VhZTczMjc0OGU5ODE4ZTFkOGI3YWQxNjgxOWE2YWRjNDY2MmNmNjlkMWQ4NDJjNjkxMGRmYzM2ZWZiZWM1M2QyOTc4YWU4NTEwYTZmY2Q0ZWZmNzA2ZDI1YjY2MDYwMmQ3YzQ2ZGVhNzNmZTEwZjgzMjJkNmQ1NzE0MzIyMzM1ZGU3YmI5NzJjNDdlMGEzMTFiMDVjMWFlMjBkY2M4MmE2MTAxYjE1MjVkMDZjMDcyYjVlZjdmM2E3Y2YxNWIwOTFjNjhkNmUyMDQ4OWYxZjRlMWNjYzliYjExNzMyMjcxNGQ1NjZhODk3NDhiZDAyY2FlYjk5MzMxYTU2YTU5NGI1NTZiZTYwZDI0YzdiYzY2ZWI5YjljNmMzOWEwNzgxZDQzZjk4NzY1ZWZkM2MxMjcwN2Q4YzAwNDFmZGI0NmJmMzYwYWE1ZTZhM2NiN2VlZGE1OTAyMzcxYmI2Y2NhYmJkMWVlMTBlYzg3ZDc2ODgzYTk2MTY3ZWNjMjJjNmU5ZjExNGQ5ODRkOTljOGZhNzJkYmY4OGU0NzRlOGViNmJjNTBmYTllNTg0YjNmYzcwMTMwMjM2M2MxMWFmNGRjMzZlYzQ2MDdhZTg0YWQzY2UyN2I3ODhmZmExZmQ5ZjgxOTBlN2MzYjlkMmYyZDJjMDhlZDk1MGFkZGU2YjE1Y2Y5YTBjOGYwNTQ4ODU0NWZiY2U2OTIwOWFhMGM5ODAyNzFkNmRjODlkNzZkMjQyZjIyMGQ1OGMwZTkyZTY5OGI5Y2M2OTk4MGM5OTRmMTk3NjVmZmUyZmZiODAyYjJmMGQyN2QxNTc1Y2EwYzk2ZGQ5MTI3NmU4MDYzZmE2ZjM1YTA0M2Q3Yzk1YjQ3NTE3NzBkOTI1ZjVkNTY2MmE1ZjVkYWZmNzc3MTIwNmRmMWQzNGM5YzdhN2I4ODAzYTFmYmVjNDdhNDE2MzZkZDUxMCcsXG4gICAgICBuOiAnZTcwYTc4MjdiMjc0OGM1MjY0YzcwYTQ2ZmI1NDI3Mzk2ZDhlNzk2MDViZjI1MDdiNTgxNzIyZjI3NTMwYmNiZjEwZTZhMjBlMjE5ZDNiZGMyNjA4MzE5NWJmYjUxYzQxYTEwMDc1MTY5MTEyNmU2YTk2NDllZDJjMDM3YjM1NmVlODJmNTlhYzZlZGViMjc4MTA0ZDAxYTdhMWQ2Y2JhMGRhNzI3ODM4MzRmYjFkYTRmZDVkMGU3YzA0MGM2NjVmOGEwZjIzZTU3ZDVmYjZjNzI1OTljZjIxZDY3YTMxOTQ5YzU5YzNhY2UwYTQ1NWE3ZTU2NWNjYzk5MWRjNWU3MTdjMDI3YjI3MmM4ODhlYWEwMTZjOGM5YzU0MTU0Y2M3MWRhYjBlZGU4ODM4MTg5Nzk1NTExY2Y5ZDE5NzM4YzhhMjMzODMyMGQ1NTFjMzhmZjQwMzU4MDEwYWRlOTVkNzRhZTQ5YTRiZGNkMTBiZmY3NWQ3ZTc0ZmQ2ZTZkZjYxYTJiMWM1NDFjNDgxMzg0YzI1YTNlYWFjODBiY2Q0NTAzMzNiZGM0MTRhOGU4OWM4ODViYWMwNzJmM2MzMTc0ODRmOWFjM2M3MDc2MDE3YzQ1YTIyYzg2NzlhZGFkMDNkMzZlMmFhMWE4ZTZiYzAyYWI0OWVhYzkwYTM0NTE1MjMxMThkNDVkNDEwMWQzOTAwZjYyMjgxNmY0NjBkYmQ0MzYyMWMwNGJhM2RlMDNmNGU0ZWJhYWFhNmJhNWJkMmIxZWRlN2ViMWM1OGE1NjM0NDk2ZWIwMmEwNzcxNGZiMGM0MDEwY2MwYzI1M2I3NWZjY2M5NmY1NmEwZGVkZDY0ZjkzNzE3ODZkOTRlMTU5OGYxNmMwMmUxYzY5ZThlNTdlMjE0Y2FlODI0N2NiYmIyMWE1MzhiZmU5ODg4ZDU3ZmQ4M2U1Y2UzNmEwZjZiZTRhZjk4YzViNzZmY2UzZjU1MzE4NDdkODczZmNlNmQ0NTdkZGEyZWNhZDUzMjI5NDZiJyxcbiAgICAgIHk6ICcwMjdmN2I3YjJhZDE4MzE0Y2Y1NTQ3NjhjZDdkM2YwNmYzZTA2OTQwMzcwOTRjMzg3OTVhMGJkNmI5OTg4OGZlZmEnLFxuICAgICAgdTogJ2QyZGQxODAyMWUxNTg3OTkwYTk5OWUzZDRiNzk2MmI1NDkwZDFjOTdhNGE4NzVkOWIwOWRjZmNjMTk1MTM2MzgnLFxuICAgICAgdXU6ICc2MjAxNDgxNzk1OTk5NDQwMTQwOTg3ODUwMTA1MDYyNzcxOTU1MTgzNTY5OTY5Nzc1MjIyNTc3NDc1MTQxMjMzNzAzMDM0MDIzOTInLFxuICAgICAgY2hhaW5jb2RlOiAnZjkyMjMwNzdmMzZkN2M3YWIzNzMwYTZmYzA2N2QwMDhjMmZjYTM2YmFkNzRhM2NjZDU5NzNjMDYzNjA0ZjJiNicsXG4gICAgfSxcbiAgICBuU2hhcmVzOiB7XG4gICAgICAxOiB7XG4gICAgICAgIGk6IDEsXG4gICAgICAgIGo6IDMsXG4gICAgICAgIG46ICdlNzBhNzgyN2IyNzQ4YzUyNjRjNzBhNDZmYjU0MjczOTZkOGU3OTYwNWJmMjUwN2I1ODE3MjJmMjc1MzBiY2JmMTBlNmEyMGUyMTlkM2JkYzI2MDgzMTk1YmZiNTFjNDFhMTAwNzUxNjkxMTI2ZTZhOTY0OWVkMmMwMzdiMzU2ZWU4MmY1OWFjNmVkZWIyNzgxMDRkMDFhN2ExZDZjYmEwZGE3Mjc4MzgzNGZiMWRhNGZkNWQwZTdjMDQwYzY2NWY4YTBmMjNlNTdkNWZiNmM3MjU5OWNmMjFkNjdhMzE5NDljNTljM2FjZTBhNDU1YTdlNTY1Y2NjOTkxZGM1ZTcxN2MwMjdiMjcyYzg4OGVhYTAxNmM4YzljNTQxNTRjYzcxZGFiMGVkZTg4MzgxODk3OTU1MTFjZjlkMTk3MzhjOGEyMzM4MzIwZDU1MWMzOGZmNDAzNTgwMTBhZGU5NWQ3NGFlNDlhNGJkY2QxMGJmZjc1ZDdlNzRmZDZlNmRmNjFhMmIxYzU0MWM0ODEzODRjMjVhM2VhYWM4MGJjZDQ1MDMzM2JkYzQxNGE4ZTg5Yzg4NWJhYzA3MmYzYzMxNzQ4NGY5YWMzYzcwNzYwMTdjNDVhMjJjODY3OWFkYWQwM2QzNmUyYWExYThlNmJjMDJhYjQ5ZWFjOTBhMzQ1MTUyMzExOGQ0NWQ0MTAxZDM5MDBmNjIyODE2ZjQ2MGRiZDQzNjIxYzA0YmEzZGUwM2Y0ZTRlYmFhYWE2YmE1YmQyYjFlZGU3ZWIxYzU4YTU2MzQ0OTZlYjAyYTA3NzE0ZmIwYzQwMTBjYzBjMjUzYjc1ZmNjYzk2ZjU2YTBkZWRkNjRmOTM3MTc4NmQ5NGUxNTk4ZjE2YzAyZTFjNjllOGU1N2UyMTRjYWU4MjQ3Y2JiYjIxYTUzOGJmZTk4ODhkNTdmZDgzZTVjZTM2YTBmNmJlNGFmOThjNWI3NmZjZTNmNTUzMTg0N2Q4NzNmY2U2ZDQ1N2RkYTJlY2FkNTMyMjk0NmInLFxuICAgICAgICB5OiAnMDI3ZjdiN2IyYWQxODMxNGNmNTU0NzY4Y2Q3ZDNmMDZmM2UwNjk0MDM3MDk0YzM4Nzk1YTBiZDZiOTk4ODhmZWZhJyxcbiAgICAgICAgdjogJzAzMDRmMWVhYWRhNDZjNjM3MmI2YTJjYWZmYjUwZjc3MjRmYTIxMzY2Y2Y4YWVmYzE2M2JlOWRjN2Q2MzBmYWE1ZicsXG4gICAgICAgIHU6ICc0NzMzYjEzNGZjOGZkYzUxZTgyY2NkYTExNzJiNDljOTc1YzhlNGM1NjIxYTY5ZDNhNTIwMjQ0MjlhN2U4ODc4JyxcbiAgICAgICAgY2hhaW5jb2RlOiAnZjkyMjMwNzdmMzZkN2M3YWIzNzMwYTZmYzA2N2QwMDhjMmZjYTM2YmFkNzRhM2NjZDU5NzNjMDYzNjA0ZjJiNicsXG4gICAgICB9LFxuICAgICAgMjoge1xuICAgICAgICBpOiAyLFxuICAgICAgICBqOiAzLFxuICAgICAgICBuOiAnZTcwYTc4MjdiMjc0OGM1MjY0YzcwYTQ2ZmI1NDI3Mzk2ZDhlNzk2MDViZjI1MDdiNTgxNzIyZjI3NTMwYmNiZjEwZTZhMjBlMjE5ZDNiZGMyNjA4MzE5NWJmYjUxYzQxYTEwMDc1MTY5MTEyNmU2YTk2NDllZDJjMDM3YjM1NmVlODJmNTlhYzZlZGViMjc4MTA0ZDAxYTdhMWQ2Y2JhMGRhNzI3ODM4MzRmYjFkYTRmZDVkMGU3YzA0MGM2NjVmOGEwZjIzZTU3ZDVmYjZjNzI1OTljZjIxZDY3YTMxOTQ5YzU5YzNhY2UwYTQ1NWE3ZTU2NWNjYzk5MWRjNWU3MTdjMDI3YjI3MmM4ODhlYWEwMTZjOGM5YzU0MTU0Y2M3MWRhYjBlZGU4ODM4MTg5Nzk1NTExY2Y5ZDE5NzM4YzhhMjMzODMyMGQ1NTFjMzhmZjQwMzU4MDEwYWRlOTVkNzRhZTQ5YTRiZGNkMTBiZmY3NWQ3ZTc0ZmQ2ZTZkZjYxYTJiMWM1NDFjNDgxMzg0YzI1YTNlYWFjODBiY2Q0NTAzMzNiZGM0MTRhOGU4OWM4ODViYWMwNzJmM2MzMTc0ODRmOWFjM2M3MDc2MDE3YzQ1YTIyYzg2NzlhZGFkMDNkMzZlMmFhMWE4ZTZiYzAyYWI0OWVhYzkwYTM0NTE1MjMxMThkNDVkNDEwMWQzOTAwZjYyMjgxNmY0NjBkYmQ0MzYyMWMwNGJhM2RlMDNmNGU0ZWJhYWFhNmJhNWJkMmIxZWRlN2ViMWM1OGE1NjM0NDk2ZWIwMmEwNzcxNGZiMGM0MDEwY2MwYzI1M2I3NWZjY2M5NmY1NmEwZGVkZDY0ZjkzNzE3ODZkOTRlMTU5OGYxNmMwMmUxYzY5ZThlNTdlMjE0Y2FlODI0N2NiYmIyMWE1MzhiZmU5ODg4ZDU3ZmQ4M2U1Y2UzNmEwZjZiZTRhZjk4YzViNzZmY2UzZjU1MzE4NDdkODczZmNlNmQ0NTdkZGEyZWNhZDUzMjI5NDZiJyxcbiAgICAgICAgeTogJzAyN2Y3YjdiMmFkMTgzMTRjZjU1NDc2OGNkN2QzZjA2ZjNlMDY5NDAzNzA5NGMzODc5NWEwYmQ2Yjk5ODg4ZmVmYScsXG4gICAgICAgIHY6ICcwMzA0ZjFlYWFkYTQ2YzYzNzJiNmEyY2FmZmI1MGY3NzI0ZmEyMTM2NmNmOGFlZmMxNjNiZTlkYzdkNjMwZmFhNWYnLFxuICAgICAgICB1OiAnOGQwODY0OWI4ZDUyYjFmNTc5NjMzNWVmMzE1MjU2M2Y1ZjZiMDBhZTgzNjE2ZmQ2YWFkZWZhMDc1OWU3ZGY1OCcsXG4gICAgICAgIGNoYWluY29kZTogJ2Y5MjIzMDc3ZjM2ZDdjN2FiMzczMGE2ZmMwNjdkMDA4YzJmY2EzNmJhZDc0YTNjY2Q1OTczYzA2MzYwNGYyYjYnLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
|