@c4tplatform/caminojs
Version:
Camino Platform JS Library
126 lines • 15.6 kB
JavaScript
"use strict";
/**
* @packageDocumentation
* @module Utils-Networks
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const bn_js_1 = __importDefault(require("bn.js"));
const constants_1 = require("./constants");
const TestNetwork = {
preDefined: true,
hrp: constants_1.TestHRP,
X: {
blockchainID: constants_1.TestXBlockchainID,
alias: constants_1.XChainAlias,
vm: constants_1.XChainVMName,
avaxAssetID: constants_1.TestAvaxAssetID,
avaxAssetAlias: "AVAX",
txFee: constants_1.MILLIAVAX,
createAssetTxFee: constants_1.CENTIAVAX,
mintTxFee: constants_1.MILLIAVAX
},
P: {
blockchainID: constants_1.DefaultPlatformChainID,
alias: constants_1.PChainAlias,
vm: constants_1.PChainVMName,
txFee: constants_1.MILLIAVAX,
createAssetTxFee: constants_1.CENTIAVAX,
createSubnetTx: constants_1.ONEAVAX,
createChainTx: constants_1.ONEAVAX,
minConsumption: 0.1,
maxConsumption: 0.12,
maxStakingDuration: new bn_js_1.default(31536000),
maxSupply: new bn_js_1.default(720000000).mul(constants_1.ONEAVAX),
minStake: constants_1.ONEAVAX,
minStakeDuration: 24 * 60 * 60,
maxStakeDuration: 365 * 24 * 60 * 60,
minDelegationStake: constants_1.ONEAVAX,
minDelegationFee: new bn_js_1.default(2),
verifyNodeSignature: false,
lockModeBondDeposit: false
},
C: {
blockchainID: constants_1.TestCBlockchainID,
alias: constants_1.CChainAlias,
vm: constants_1.CChainVMName,
txBytesGas: 1,
costPerSignature: 1000,
txFee: constants_1.MILLIAVAX,
gasPrice: constants_1.GWEI.mul(new bn_js_1.default(225)),
minGasPrice: constants_1.GWEI.mul(new bn_js_1.default(25)),
maxGasPrice: constants_1.GWEI.mul(new bn_js_1.default(1000)),
chainID: 43112
}
};
// Does not support p:getConfiguration
const AvaxMainNetwork = {
preDefined: true,
hrp: "avax",
X: {
blockchainID: "2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM",
alias: constants_1.XChainAlias,
vm: constants_1.XChainVMName,
avaxAssetID: "FvwEAhmxKfeiG8SnEvq42hc6whRyY3EFYAvebMqDNDGCgxN5Z",
avaxAssetAlias: "AVAX",
txFee: constants_1.MILLIAVAX,
createAssetTxFee: constants_1.CENTIAVAX,
mintTxFee: constants_1.MILLIAVAX
},
P: {
blockchainID: constants_1.DefaultPlatformChainID,
alias: constants_1.PChainAlias,
vm: constants_1.PChainVMName,
txFee: constants_1.MILLIAVAX,
createAssetTxFee: constants_1.CENTIAVAX,
createSubnetTx: constants_1.ONEAVAX,
createChainTx: constants_1.ONEAVAX,
minConsumption: 0.1,
maxConsumption: 0.12,
maxStakingDuration: new bn_js_1.default(31536000),
maxSupply: new bn_js_1.default(720000000).mul(constants_1.ONEAVAX),
minStake: constants_1.ONEAVAX.mul(new bn_js_1.default(2000)),
minStakeDuration: 2 * 7 * 24 * 60 * 60,
maxStakeDuration: 365 * 24 * 60 * 60,
minDelegationStake: constants_1.ONEAVAX.mul(new bn_js_1.default(25)),
minDelegationFee: new bn_js_1.default(2),
verifyNodeSignature: false,
lockModeBondDeposit: false
},
C: {
blockchainID: "2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5",
alias: constants_1.CChainAlias,
vm: constants_1.CChainVMName,
txBytesGas: 1,
costPerSignature: 1000,
txFee: constants_1.MILLIAVAX,
gasPrice: constants_1.GWEI.mul(new bn_js_1.default(225)),
minGasPrice: constants_1.GWEI.mul(new bn_js_1.default(25)),
maxGasPrice: constants_1.GWEI.mul(new bn_js_1.default(1000)),
chainID: 43114
}
};
/**
* A class for storing predefined / fetched networks
*/
class Networks {
constructor() {
this.registry = new Map();
this.registerNetwork(constants_1.DefaultNetworkID, AvaxMainNetwork);
this.registerNetwork(constants_1.TestNetworkID, TestNetwork);
}
registerNetwork(networkID, network) {
this.registry[networkID.toString()] = network;
}
getNetwork(networkID) {
return this.registry[networkID.toString()];
}
isPredefined(networkID) {
var _a, _b;
return (_b = (_a = this.registry[networkID.toString()]) === null || _a === void 0 ? void 0 : _a.preDefined) !== null && _b !== void 0 ? _b : false;
}
}
exports.default = new Networks();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7Ozs7QUFFSCxrREFBc0I7QUFDdEIsMkNBa0JvQjtBQStEcEIsTUFBTSxXQUFXLEdBQVk7SUFDM0IsVUFBVSxFQUFFLElBQUk7SUFDaEIsR0FBRyxFQUFFLG1CQUFPO0lBQ1osQ0FBQyxFQUFFO1FBQ0QsWUFBWSxFQUFFLDZCQUFpQjtRQUMvQixLQUFLLEVBQUUsdUJBQVc7UUFDbEIsRUFBRSxFQUFFLHdCQUFZO1FBQ2hCLFdBQVcsRUFBRSwyQkFBZTtRQUM1QixjQUFjLEVBQUUsTUFBTTtRQUN0QixLQUFLLEVBQUUscUJBQVM7UUFDaEIsZ0JBQWdCLEVBQUUscUJBQVM7UUFDM0IsU0FBUyxFQUFFLHFCQUFTO0tBQ3JCO0lBQ0QsQ0FBQyxFQUFFO1FBQ0QsWUFBWSxFQUFFLGtDQUFzQjtRQUNwQyxLQUFLLEVBQUUsdUJBQVc7UUFDbEIsRUFBRSxFQUFFLHdCQUFZO1FBQ2hCLEtBQUssRUFBRSxxQkFBUztRQUNoQixnQkFBZ0IsRUFBRSxxQkFBUztRQUMzQixjQUFjLEVBQUUsbUJBQU87UUFDdkIsYUFBYSxFQUFFLG1CQUFPO1FBQ3RCLGNBQWMsRUFBRSxHQUFHO1FBQ25CLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLGtCQUFrQixFQUFFLElBQUksZUFBRSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxTQUFTLEVBQUUsSUFBSSxlQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLG1CQUFPLENBQUM7UUFDekMsUUFBUSxFQUFFLG1CQUFPO1FBQ2pCLGdCQUFnQixFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtRQUM5QixnQkFBZ0IsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO1FBQ3BDLGtCQUFrQixFQUFFLG1CQUFPO1FBQzNCLGdCQUFnQixFQUFFLElBQUksZUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQixtQkFBbUIsRUFBRSxLQUFLO1FBQzFCLG1CQUFtQixFQUFFLEtBQUs7S0FDM0I7SUFDRCxDQUFDLEVBQUU7UUFDRCxZQUFZLEVBQUUsNkJBQWlCO1FBQy9CLEtBQUssRUFBRSx1QkFBVztRQUNsQixFQUFFLEVBQUUsd0JBQVk7UUFDaEIsVUFBVSxFQUFFLENBQUM7UUFDYixnQkFBZ0IsRUFBRSxJQUFJO1FBQ3RCLEtBQUssRUFBRSxxQkFBUztRQUNoQixRQUFRLEVBQUUsZ0JBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxlQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsV0FBVyxFQUFFLGdCQUFJLENBQUMsR0FBRyxDQUFDLElBQUksZUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLFdBQVcsRUFBRSxnQkFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLEVBQUUsS0FBSztLQUNmO0NBQ0YsQ0FBQTtBQUVELHNDQUFzQztBQUN0QyxNQUFNLGVBQWUsR0FBWTtJQUMvQixVQUFVLEVBQUUsSUFBSTtJQUNoQixHQUFHLEVBQUUsTUFBTTtJQUNYLENBQUMsRUFBRTtRQUNELFlBQVksRUFBRSxvREFBb0Q7UUFDbEUsS0FBSyxFQUFFLHVCQUFXO1FBQ2xCLEVBQUUsRUFBRSx3QkFBWTtRQUNoQixXQUFXLEVBQUUsbURBQW1EO1FBQ2hFLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLEtBQUssRUFBRSxxQkFBUztRQUNoQixnQkFBZ0IsRUFBRSxxQkFBUztRQUMzQixTQUFTLEVBQUUscUJBQVM7S0FDckI7SUFDRCxDQUFDLEVBQUU7UUFDRCxZQUFZLEVBQUUsa0NBQXNCO1FBQ3BDLEtBQUssRUFBRSx1QkFBVztRQUNsQixFQUFFLEVBQUUsd0JBQVk7UUFDaEIsS0FBSyxFQUFFLHFCQUFTO1FBQ2hCLGdCQUFnQixFQUFFLHFCQUFTO1FBQzNCLGNBQWMsRUFBRSxtQkFBTztRQUN2QixhQUFhLEVBQUUsbUJBQU87UUFDdEIsY0FBYyxFQUFFLEdBQUc7UUFDbkIsY0FBYyxFQUFFLElBQUk7UUFDcEIsa0JBQWtCLEVBQUUsSUFBSSxlQUFFLENBQUMsUUFBUSxDQUFDO1FBQ3BDLFNBQVMsRUFBRSxJQUFJLGVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQU8sQ0FBQztRQUN6QyxRQUFRLEVBQUUsbUJBQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxlQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7UUFDdEMsZ0JBQWdCLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtRQUNwQyxrQkFBa0IsRUFBRSxtQkFBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLGVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxnQkFBZ0IsRUFBRSxJQUFJLGVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0IsbUJBQW1CLEVBQUUsS0FBSztRQUMxQixtQkFBbUIsRUFBRSxLQUFLO0tBQzNCO0lBQ0QsQ0FBQyxFQUFFO1FBQ0QsWUFBWSxFQUFFLG1EQUFtRDtRQUNqRSxLQUFLLEVBQUUsdUJBQVc7UUFDbEIsRUFBRSxFQUFFLHdCQUFZO1FBQ2hCLFVBQVUsRUFBRSxDQUFDO1FBQ2IsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixLQUFLLEVBQUUscUJBQVM7UUFDaEIsUUFBUSxFQUFFLGdCQUFJLENBQUMsR0FBRyxDQUFDLElBQUksZUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFdBQVcsRUFBRSxnQkFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxXQUFXLEVBQUUsZ0JBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxlQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxFQUFFLEtBQUs7S0FDZjtDQUNGLENBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sUUFBUTtJQUdaO1FBRkEsYUFBUSxHQUF5QixJQUFJLEdBQUcsRUFBRSxDQUFBO1FBR3hDLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUE7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUIsRUFBRSxPQUFnQjtRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQTtJQUMvQyxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCOztRQUM1QixPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQywwQ0FBRSxVQUFVLG1DQUFJLEtBQUssQ0FBQTtJQUNqRSxDQUFDO0NBQ0Y7QUFFRCxrQkFBZSxJQUFJLFFBQVEsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgVXRpbHMtTmV0d29ya3NcbiAqL1xuXG5pbXBvcnQgQk4gZnJvbSBcImJuLmpzXCJcbmltcG9ydCB7XG4gIENDaGFpbkFsaWFzLFxuICBDQ2hhaW5WTU5hbWUsXG4gIENFTlRJQVZBWCxcbiAgRGVmYXVsdE5ldHdvcmtJRCxcbiAgR1dFSSxcbiAgTUlMTElBVkFYLFxuICBPTkVBVkFYLFxuICBQQ2hhaW5BbGlhcyxcbiAgUENoYWluVk1OYW1lLFxuICBYQ2hhaW5BbGlhcyxcbiAgWENoYWluVk1OYW1lLFxuICBEZWZhdWx0UGxhdGZvcm1DaGFpbklELFxuICBUZXN0QXZheEFzc2V0SUQsXG4gIFRlc3RDQmxvY2tjaGFpbklELFxuICBUZXN0SFJQLFxuICBUZXN0TmV0d29ya0lELFxuICBUZXN0WEJsb2NrY2hhaW5JRFxufSBmcm9tIFwiLi9jb25zdGFudHNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIEMge1xuICBibG9ja2NoYWluSUQ6IHN0cmluZ1xuICBhbGlhczogc3RyaW5nXG4gIHZtOiBzdHJpbmdcbiAgZmVlPzogQk5cbiAgZ2FzUHJpY2U6IEJOIHwgbnVtYmVyXG4gIGNoYWluSUQ/OiBudW1iZXJcbiAgbWluR2FzUHJpY2U/OiBCTlxuICBtYXhHYXNQcmljZT86IEJOXG4gIHR4Qnl0ZXNHYXM/OiBudW1iZXJcbiAgY29zdFBlclNpZ25hdHVyZT86IG51bWJlclxuICB0eEZlZT86IEJOXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWCB7XG4gIGJsb2NrY2hhaW5JRDogc3RyaW5nXG4gIGFsaWFzOiBzdHJpbmdcbiAgdm06IHN0cmluZ1xuICBjcmVhdGVBc3NldFR4RmVlOiBCTiB8IG51bWJlclxuICBhdmF4QXNzZXRJRDogc3RyaW5nXG4gIGF2YXhBc3NldEFsaWFzOiBzdHJpbmdcbiAgdHhGZWU/OiBCTiB8IG51bWJlclxuICBmZWU/OiBCTlxuICBtaW50VHhGZWU/OiBCTiB8IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFAge1xuICBibG9ja2NoYWluSUQ6IHN0cmluZ1xuICBhbGlhczogc3RyaW5nXG4gIHZtOiBzdHJpbmdcbiAgY3JlYXRlQXNzZXRUeEZlZTogQk4gfCBudW1iZXJcbiAgY3JlYXRlU3VibmV0VHg6IEJOIHwgbnVtYmVyXG4gIGNyZWF0ZUNoYWluVHg6IEJOIHwgbnVtYmVyXG4gIG1pbkNvbnN1bXB0aW9uOiBudW1iZXJcbiAgbWF4Q29uc3VtcHRpb246IG51bWJlclxuICBtYXhTdGFraW5nRHVyYXRpb246IEJOXG4gIG1heFN1cHBseTogQk5cbiAgbWluU3Rha2U6IEJOXG4gIG1pblN0YWtlRHVyYXRpb246IG51bWJlclxuICBtYXhTdGFrZUR1cmF0aW9uOiBudW1iZXJcbiAgbWluRGVsZWdhdGlvblN0YWtlOiBCTlxuICBtaW5EZWxlZ2F0aW9uRmVlOiBCTlxuICB0eEZlZT86IEJOIHwgbnVtYmVyXG4gIGZlZT86IEJOXG4gIHZlcmlmeU5vZGVTaWduYXR1cmU6IGJvb2xlYW5cbiAgbG9ja01vZGVCb25kRGVwb3NpdDogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmsge1xuICBwcmVEZWZpbmVkPzogYm9vbGVhblxuICBocnA6IHN0cmluZ1xuICBDOiBDXG4gIFg6IFhcbiAgUDogUFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluIHtcbiAgYWxpYXM6IHN0cmluZ1xuICBpZDogc3RyaW5nXG59XG5cbmNvbnN0IFRlc3ROZXR3b3JrOiBOZXR3b3JrID0ge1xuICBwcmVEZWZpbmVkOiB0cnVlLFxuICBocnA6IFRlc3RIUlAsXG4gIFg6IHtcbiAgICBibG9ja2NoYWluSUQ6IFRlc3RYQmxvY2tjaGFpbklELFxuICAgIGFsaWFzOiBYQ2hhaW5BbGlhcyxcbiAgICB2bTogWENoYWluVk1OYW1lLFxuICAgIGF2YXhBc3NldElEOiBUZXN0QXZheEFzc2V0SUQsXG4gICAgYXZheEFzc2V0QWxpYXM6IFwiQVZBWFwiLFxuICAgIHR4RmVlOiBNSUxMSUFWQVgsXG4gICAgY3JlYXRlQXNzZXRUeEZlZTogQ0VOVElBVkFYLFxuICAgIG1pbnRUeEZlZTogTUlMTElBVkFYXG4gIH0sXG4gIFA6IHtcbiAgICBibG9ja2NoYWluSUQ6IERlZmF1bHRQbGF0Zm9ybUNoYWluSUQsXG4gICAgYWxpYXM6IFBDaGFpbkFsaWFzLFxuICAgIHZtOiBQQ2hhaW5WTU5hbWUsXG4gICAgdHhGZWU6IE1JTExJQVZBWCxcbiAgICBjcmVhdGVBc3NldFR4RmVlOiBDRU5USUFWQVgsXG4gICAgY3JlYXRlU3VibmV0VHg6IE9ORUFWQVgsXG4gICAgY3JlYXRlQ2hhaW5UeDogT05FQVZBWCxcbiAgICBtaW5Db25zdW1wdGlvbjogMC4xLFxuICAgIG1heENvbnN1bXB0aW9uOiAwLjEyLFxuICAgIG1heFN0YWtpbmdEdXJhdGlvbjogbmV3IEJOKDMxNTM2MDAwKSxcbiAgICBtYXhTdXBwbHk6IG5ldyBCTig3MjAwMDAwMDApLm11bChPTkVBVkFYKSxcbiAgICBtaW5TdGFrZTogT05FQVZBWCxcbiAgICBtaW5TdGFrZUR1cmF0aW9uOiAyNCAqIDYwICogNjAsIC8vb25lIGRheVxuICAgIG1heFN0YWtlRHVyYXRpb246IDM2NSAqIDI0ICogNjAgKiA2MCwgLy8gb25lIHllYXJcbiAgICBtaW5EZWxlZ2F0aW9uU3Rha2U6IE9ORUFWQVgsXG4gICAgbWluRGVsZWdhdGlvbkZlZTogbmV3IEJOKDIpLFxuICAgIHZlcmlmeU5vZGVTaWduYXR1cmU6IGZhbHNlLFxuICAgIGxvY2tNb2RlQm9uZERlcG9zaXQ6IGZhbHNlXG4gIH0sXG4gIEM6IHtcbiAgICBibG9ja2NoYWluSUQ6IFRlc3RDQmxvY2tjaGFpbklELFxuICAgIGFsaWFzOiBDQ2hhaW5BbGlhcyxcbiAgICB2bTogQ0NoYWluVk1OYW1lLFxuICAgIHR4Qnl0ZXNHYXM6IDEsXG4gICAgY29zdFBlclNpZ25hdHVyZTogMTAwMCxcbiAgICB0eEZlZTogTUlMTElBVkFYLFxuICAgIGdhc1ByaWNlOiBHV0VJLm11bChuZXcgQk4oMjI1KSksXG4gICAgbWluR2FzUHJpY2U6IEdXRUkubXVsKG5ldyBCTigyNSkpLFxuICAgIG1heEdhc1ByaWNlOiBHV0VJLm11bChuZXcgQk4oMTAwMCkpLFxuICAgIGNoYWluSUQ6IDQzMTEyXG4gIH1cbn1cblxuLy8gRG9lcyBub3Qgc3VwcG9ydCBwOmdldENvbmZpZ3VyYXRpb25cbmNvbnN0IEF2YXhNYWluTmV0d29yazogTmV0d29yayA9IHtcbiAgcHJlRGVmaW5lZDogdHJ1ZSxcbiAgaHJwOiBcImF2YXhcIixcbiAgWDoge1xuICAgIGJsb2NrY2hhaW5JRDogXCIyb1lNQk5WNGVOSHlxazJmampWNW5WUUxEYnRtTkp6cTVzM3FzM0xvNmZ0bkM2RkJ5TVwiLFxuICAgIGFsaWFzOiBYQ2hhaW5BbGlhcyxcbiAgICB2bTogWENoYWluVk1OYW1lLFxuICAgIGF2YXhBc3NldElEOiBcIkZ2d0VBaG14S2ZlaUc4U25FdnE0MmhjNndoUnlZM0VGWUF2ZWJNcUROREdDZ3hONVpcIixcbiAgICBhdmF4QXNzZXRBbGlhczogXCJBVkFYXCIsXG4gICAgdHhGZWU6IE1JTExJQVZBWCxcbiAgICBjcmVhdGVBc3NldFR4RmVlOiBDRU5USUFWQVgsXG4gICAgbWludFR4RmVlOiBNSUxMSUFWQVhcbiAgfSxcbiAgUDoge1xuICAgIGJsb2NrY2hhaW5JRDogRGVmYXVsdFBsYXRmb3JtQ2hhaW5JRCxcbiAgICBhbGlhczogUENoYWluQWxpYXMsXG4gICAgdm06IFBDaGFpblZNTmFtZSxcbiAgICB0eEZlZTogTUlMTElBVkFYLFxuICAgIGNyZWF0ZUFzc2V0VHhGZWU6IENFTlRJQVZBWCxcbiAgICBjcmVhdGVTdWJuZXRUeDogT05FQVZBWCxcbiAgICBjcmVhdGVDaGFpblR4OiBPTkVBVkFYLFxuICAgIG1pbkNvbnN1bXB0aW9uOiAwLjEsXG4gICAgbWF4Q29uc3VtcHRpb246IDAuMTIsXG4gICAgbWF4U3Rha2luZ0R1cmF0aW9uOiBuZXcgQk4oMzE1MzYwMDApLFxuICAgIG1heFN1cHBseTogbmV3IEJOKDcyMDAwMDAwMCkubXVsKE9ORUFWQVgpLFxuICAgIG1pblN0YWtlOiBPTkVBVkFYLm11bChuZXcgQk4oMjAwMCkpLFxuICAgIG1pblN0YWtlRHVyYXRpb246IDIgKiA3ICogMjQgKiA2MCAqIDYwLCAvL29uZSBkYXlcbiAgICBtYXhTdGFrZUR1cmF0aW9uOiAzNjUgKiAyNCAqIDYwICogNjAsIC8vIG9uZSB5ZWFyXG4gICAgbWluRGVsZWdhdGlvblN0YWtlOiBPTkVBVkFYLm11bChuZXcgQk4oMjUpKSxcbiAgICBtaW5EZWxlZ2F0aW9uRmVlOiBuZXcgQk4oMiksXG4gICAgdmVyaWZ5Tm9kZVNpZ25hdHVyZTogZmFsc2UsXG4gICAgbG9ja01vZGVCb25kRGVwb3NpdDogZmFsc2VcbiAgfSxcbiAgQzoge1xuICAgIGJsb2NrY2hhaW5JRDogXCIycTllNHI2TXUzVTY4blUxZllqZ2JSNkp2d3JSeDM2Q29ocEFYNVVReHNlNTV4MVE1XCIsXG4gICAgYWxpYXM6IENDaGFpbkFsaWFzLFxuICAgIHZtOiBDQ2hhaW5WTU5hbWUsXG4gICAgdHhCeXRlc0dhczogMSxcbiAgICBjb3N0UGVyU2lnbmF0dXJlOiAxMDAwLFxuICAgIHR4RmVlOiBNSUxMSUFWQVgsXG4gICAgZ2FzUHJpY2U6IEdXRUkubXVsKG5ldyBCTigyMjUpKSxcbiAgICBtaW5HYXNQcmljZTogR1dFSS5tdWwobmV3IEJOKDI1KSksXG4gICAgbWF4R2FzUHJpY2U6IEdXRUkubXVsKG5ldyBCTigxMDAwKSksXG4gICAgY2hhaW5JRDogNDMxMTRcbiAgfVxufVxuXG4vKipcbiAqIEEgY2xhc3MgZm9yIHN0b3JpbmcgcHJlZGVmaW5lZCAvIGZldGNoZWQgbmV0d29ya3NcbiAqL1xuY2xhc3MgTmV0d29ya3Mge1xuICByZWdpc3RyeTogTWFwPHN0cmluZywgTmV0d29yaz4gPSBuZXcgTWFwKClcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnJlZ2lzdGVyTmV0d29yayhEZWZhdWx0TmV0d29ya0lELCBBdmF4TWFpbk5ldHdvcmspXG4gICAgdGhpcy5yZWdpc3Rlck5ldHdvcmsoVGVzdE5ldHdvcmtJRCwgVGVzdE5ldHdvcmspXG4gIH1cblxuICByZWdpc3Rlck5ldHdvcmsobmV0d29ya0lEOiBudW1iZXIsIG5ldHdvcms6IE5ldHdvcmspOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdHJ5W25ldHdvcmtJRC50b1N0cmluZygpXSA9IG5ldHdvcmtcbiAgfVxuXG4gIGdldE5ldHdvcmsobmV0d29ya0lEOiBudW1iZXIpOiBOZXR3b3JrIHtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RyeVtuZXR3b3JrSUQudG9TdHJpbmcoKV1cbiAgfVxuXG4gIGlzUHJlZGVmaW5lZChuZXR3b3JrSUQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5W25ldHdvcmtJRC50b1N0cmluZygpXT8ucHJlRGVmaW5lZCA/PyBmYWxzZVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG5ldyBOZXR3b3JrcygpXG4iXX0=