bitgo
Version:
BitGo JavaScript SDK
208 lines • 47.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* @prettier
*/
const sdk_coin_ada_1 = require("@bitgo/sdk-coin-ada");
const sdk_coin_algo_1 = require("@bitgo/sdk-coin-algo");
const sdk_coin_bcha_1 = require("@bitgo/sdk-coin-bcha");
const sdk_coin_hbar_1 = require("@bitgo/sdk-coin-hbar");
const sdk_coin_near_1 = require("@bitgo/sdk-coin-near");
const sdk_coin_sol_1 = require("@bitgo/sdk-coin-sol");
const sdk_coin_trx_1 = require("@bitgo/sdk-coin-trx");
const sdk_core_1 = require("@bitgo/sdk-core");
const config_1 = require("../config");
const coins_1 = require("./coins");
function registerCoinConstructors(globalCoinFactory) {
globalCoinFactory.register('ada', coins_1.Ada.createInstance);
globalCoinFactory.register('algo', coins_1.Algo.createInstance);
globalCoinFactory.register('apt', coins_1.Apt.createInstance);
globalCoinFactory.register('arbeth', coins_1.Arbeth.createInstance);
globalCoinFactory.register('atom', coins_1.Atom.createInstance);
globalCoinFactory.register('avaxc', coins_1.AvaxC.createInstance);
globalCoinFactory.register('avaxp', coins_1.AvaxP.createInstance);
globalCoinFactory.register('baby', coins_1.Baby.createInstance);
globalCoinFactory.register('bch', coins_1.Bch.createInstance);
globalCoinFactory.register('bcha', sdk_coin_bcha_1.Bcha.createInstance);
globalCoinFactory.register('bera', coins_1.Bera.createInstance);
globalCoinFactory.register('bld', coins_1.Bld.createInstance);
globalCoinFactory.register('bsc', coins_1.Bsc.createInstance);
globalCoinFactory.register('bsv', coins_1.Bsv.createInstance);
globalCoinFactory.register('btc', coins_1.Btc.createInstance);
globalCoinFactory.register('btg', coins_1.Btg.createInstance);
globalCoinFactory.register('celo', coins_1.Celo.createInstance);
globalCoinFactory.register('coredao', coins_1.Coredao.createInstance);
globalCoinFactory.register('coreum', coins_1.Coreum.createInstance);
globalCoinFactory.register('cspr', coins_1.Cspr.createInstance);
globalCoinFactory.register('dash', coins_1.Dash.createInstance);
globalCoinFactory.register('doge', coins_1.Doge.createInstance);
globalCoinFactory.register('dot', coins_1.Dot.createInstance);
globalCoinFactory.register('eos', coins_1.Eos.createInstance);
globalCoinFactory.register('etc', coins_1.Etc.createInstance);
globalCoinFactory.register('eth', coins_1.Eth.createInstance);
globalCoinFactory.register('eth2', coins_1.Eth2.createInstance);
globalCoinFactory.register('ethw', coins_1.Ethw.createInstance);
globalCoinFactory.register('baseeth', coins_1.EthLikeCoin.createInstance);
globalCoinFactory.register('tbaseeth', coins_1.TethLikeCoin.createInstance);
globalCoinFactory.register('fiateur', coins_1.FiatEur.createInstance);
globalCoinFactory.register('fiatgbp', coins_1.FiatGBP.createInstance);
globalCoinFactory.register('fiatusd', coins_1.FiatUsd.createInstance);
globalCoinFactory.register('flr', coins_1.Flr.createInstance);
globalCoinFactory.register('gteth', coins_1.Gteth.createInstance);
globalCoinFactory.register('hash', coins_1.Hash.createInstance);
globalCoinFactory.register('hbar', coins_1.Hbar.createInstance);
globalCoinFactory.register('hteth', coins_1.Hteth.createInstance);
globalCoinFactory.register('lnbtc', coins_1.Lnbtc.createInstance);
globalCoinFactory.register('ltc', coins_1.Ltc.createInstance);
globalCoinFactory.register('icp', coins_1.Icp.createInstance);
globalCoinFactory.register('injective', coins_1.Injective.createInstance);
globalCoinFactory.register('islm', coins_1.Islm.createInstance);
globalCoinFactory.register('near', sdk_coin_near_1.Near.createInstance);
globalCoinFactory.register('oas', coins_1.Oas.createInstance);
globalCoinFactory.register('ofc', coins_1.Ofc.createInstance);
globalCoinFactory.register('opeth', coins_1.Opeth.createInstance);
globalCoinFactory.register('osmo', coins_1.Osmo.createInstance);
globalCoinFactory.register('polygon', coins_1.Polygon.createInstance);
globalCoinFactory.register('rbtc', coins_1.Rbtc.createInstance);
globalCoinFactory.register('thorchain:rune', coins_1.Rune.createInstance);
globalCoinFactory.register('sei', coins_1.Sei.createInstance);
globalCoinFactory.register('sgb', coins_1.Sgb.createInstance);
globalCoinFactory.register('sol', coins_1.Sol.createInstance);
globalCoinFactory.register('stx', coins_1.Stx.createInstance);
globalCoinFactory.register('sui', coins_1.Sui.createInstance);
globalCoinFactory.register('susd', coins_1.Susd.createInstance);
globalCoinFactory.register('tao', coins_1.Tao.createInstance);
globalCoinFactory.register('tia', coins_1.Tia.createInstance);
globalCoinFactory.register('ton', coins_1.Ton.createInstance);
globalCoinFactory.register('talgo', coins_1.Talgo.createInstance);
globalCoinFactory.register('tapt', coins_1.Tapt.createInstance);
globalCoinFactory.register('tarbeth', coins_1.Tarbeth.createInstance);
globalCoinFactory.register('tada', coins_1.Tada.createInstance);
globalCoinFactory.register('tatom', coins_1.Tatom.createInstance);
globalCoinFactory.register('tavaxc', coins_1.TavaxC.createInstance);
globalCoinFactory.register('tavaxp', coins_1.TavaxP.createInstance);
globalCoinFactory.register('tbaby', coins_1.Tbaby.createInstance);
globalCoinFactory.register('tbch', coins_1.Tbch.createInstance);
globalCoinFactory.register('tbcha', sdk_coin_bcha_1.Tbcha.createInstance);
globalCoinFactory.register('tbera', coins_1.Tbera.createInstance);
globalCoinFactory.register('tbld', coins_1.Tbld.createInstance);
globalCoinFactory.register('tbsc', coins_1.Tbsc.createInstance);
globalCoinFactory.register('tbsv', coins_1.Tbsv.createInstance);
globalCoinFactory.register('tbtc', coins_1.Tbtc.createInstance);
globalCoinFactory.register('tbtcsig', coins_1.Tbtcsig.createInstance);
globalCoinFactory.register('tbtc4', coins_1.Tbtc4.createInstance);
globalCoinFactory.register('tbtcbgsig', coins_1.Tbtcbgsig.createInstance);
globalCoinFactory.register('tcelo', coins_1.Tcelo.createInstance);
globalCoinFactory.register('tcoredao', coins_1.Tcoredao.createInstance);
globalCoinFactory.register('tcoreum', coins_1.Tcoreum.createInstance);
globalCoinFactory.register('tcspr', coins_1.Tcspr.createInstance);
globalCoinFactory.register('tdash', coins_1.Tdash.createInstance);
globalCoinFactory.register('tdoge', coins_1.Tdoge.createInstance);
globalCoinFactory.register('tdot', coins_1.Tdot.createInstance);
globalCoinFactory.register('teos', coins_1.Teos.createInstance);
globalCoinFactory.register('tetc', coins_1.Tetc.createInstance);
globalCoinFactory.register('teth', coins_1.Teth.createInstance);
globalCoinFactory.register('teth2', coins_1.Teth2.createInstance);
globalCoinFactory.register('tfiateur', coins_1.TfiatEur.createInstance);
globalCoinFactory.register('tfiatgbp', coins_1.TfiatGBP.createInstance);
globalCoinFactory.register('tfiatusd', coins_1.TfiatUsd.createInstance);
globalCoinFactory.register('tflr', coins_1.Tflr.createInstance);
globalCoinFactory.register('thash', coins_1.Thash.createInstance);
globalCoinFactory.register('thbar', coins_1.Thbar.createInstance);
globalCoinFactory.register('ticp', coins_1.Ticp.createInstance);
globalCoinFactory.register('tinjective', coins_1.Tinjective.createInstance);
globalCoinFactory.register('tislm', coins_1.Tislm.createInstance);
globalCoinFactory.register('tlnbtc', coins_1.Tlnbtc.createInstance);
globalCoinFactory.register('tltc', coins_1.Tltc.createInstance);
globalCoinFactory.register('tnear', sdk_coin_near_1.TNear.createInstance);
globalCoinFactory.register('toas', coins_1.Toas.createInstance);
globalCoinFactory.register('topeth', coins_1.Topeth.createInstance);
globalCoinFactory.register('tosmo', coins_1.Tosmo.createInstance);
globalCoinFactory.register('tpolygon', coins_1.Tpolygon.createInstance);
globalCoinFactory.register('trbtc', coins_1.Trbtc.createInstance);
globalCoinFactory.register('tsgb', coins_1.Tsgb.createInstance);
globalCoinFactory.register('tthorchain:rune', coins_1.Trune.createInstance);
globalCoinFactory.register('trx', coins_1.Trx.createInstance);
globalCoinFactory.register('tsei', coins_1.Tsei.createInstance);
globalCoinFactory.register('tsol', coins_1.Tsol.createInstance);
globalCoinFactory.register('tstx', coins_1.Tstx.createInstance);
globalCoinFactory.register('tsui', coins_1.Tsui.createInstance);
globalCoinFactory.register('tsusd', coins_1.Tsusd.createInstance);
globalCoinFactory.register('ttao', coins_1.Ttao.createInstance);
globalCoinFactory.register('ttia', coins_1.Ttia.createInstance);
globalCoinFactory.register('tton', coins_1.Tton.createInstance);
globalCoinFactory.register('ttrx', coins_1.Ttrx.createInstance);
globalCoinFactory.register('txdc', coins_1.Txdc.createInstance);
globalCoinFactory.register('txlm', coins_1.Txlm.createInstance);
globalCoinFactory.register('txrp', coins_1.Txrp.createInstance);
globalCoinFactory.register('txtz', coins_1.Txtz.createInstance);
globalCoinFactory.register('tzec', coins_1.Tzec.createInstance);
globalCoinFactory.register('tzeta', coins_1.Tzeta.createInstance);
globalCoinFactory.register('tzketh', coins_1.Tzketh.createInstance);
globalCoinFactory.register('twemix', coins_1.Twemix.createInstance);
globalCoinFactory.register('xdc', coins_1.Xdc.createInstance);
globalCoinFactory.register('xlm', coins_1.Xlm.createInstance);
globalCoinFactory.register('xrp', coins_1.Xrp.createInstance);
globalCoinFactory.register('xtz', coins_1.Xtz.createInstance);
globalCoinFactory.register('wemix', coins_1.Wemix.createInstance);
globalCoinFactory.register('zec', coins_1.Zec.createInstance);
globalCoinFactory.register('zeta', coins_1.Zeta.createInstance);
globalCoinFactory.register('zketh', coins_1.Zketh.createInstance);
coins_1.Erc20Token.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.StellarToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
for (const ofcToken of [...config_1.tokens.bitcoin.ofc.tokens, ...config_1.tokens.testnet.ofc.tokens]) {
const tokenConstructor = coins_1.OfcToken.createTokenConstructor(ofcToken);
globalCoinFactory.register(ofcToken.type, tokenConstructor);
}
coins_1.CeloToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.BscToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.EosToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
sdk_coin_algo_1.AlgoToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.AvaxCToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.PolygonToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.ArbethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.OpethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.ZkethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
coins_1.BeraToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
sdk_coin_sol_1.SolToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
sdk_coin_hbar_1.HbarToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
sdk_coin_trx_1.TrxToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
globalCoinFactory.register(name, coinConstructor);
});
sdk_coin_ada_1.AdaToken.createTokenConstructors().forEach(({ name, coinConstructor }) => globalCoinFactory.register(name, coinConstructor));
coins_1.SuiToken.createTokenConstructors().forEach(({ name, coinConstructor }) => globalCoinFactory.register(name, coinConstructor));
coins_1.XrpToken.createTokenConstructors().forEach(({ name, coinConstructor }) => globalCoinFactory.register(name, coinConstructor));
coins_1.AptToken.createTokenConstructors().forEach(({ name, coinConstructor }) => globalCoinFactory.register(name, coinConstructor));
}
const GlobalCoinFactory = new sdk_core_1.CoinFactory();
registerCoinConstructors(GlobalCoinFactory);
exports.default = GlobalCoinFactory;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdjIvY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7R0FFRztBQUNILHNEQUErQztBQUMvQyx3REFBaUQ7QUFDakQsd0RBQW1EO0FBQ25ELHdEQUFpRDtBQUNqRCx3REFBbUQ7QUFDbkQsc0RBQStDO0FBQy9DLHNEQUErQztBQUMvQyw4Q0FBOEM7QUFDOUMsc0NBQW1DO0FBQ25DLG1DQWtKaUI7QUFFakIsU0FBUyx3QkFBd0IsQ0FBQyxpQkFBOEI7SUFDOUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxvQkFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsZUFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FB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Q0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsZUFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FB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USxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxh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QUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxDQUN2RSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUNsRCxDQUFDO0lBRUYsZ0JBQVEsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FDdkUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDbEQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGlCQUFpQixHQUFnQixJQUFJLHNCQUFXLEVBQUUsQ0FBQztBQUV6RCx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTVDLGtCQUFlLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQWRhVG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tYWRhJztcbmltcG9ydCB7IEFsZ29Ub2tlbiB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1hbGdvJztcbmltcG9ydCB7IEJjaGEsIFRiY2hhIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWJjaGEnO1xuaW1wb3J0IHsgSGJhclRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWhiYXInO1xuaW1wb3J0IHsgTmVhciwgVE5lYXIgfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tbmVhcic7XG5pbXBvcnQgeyBTb2xUb2tlbiB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1zb2wnO1xuaW1wb3J0IHsgVHJ4VG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tdHJ4JztcbmltcG9ydCB7IENvaW5GYWN0b3J5IH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IHRva2VucyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge1xuICBBZGEsXG4gIEFsZ28sXG4gIEFwdCxcbiAgQXB0VG9rZW4sXG4gIEFyYmV0aCxcbiAgQXJiZXRoVG9rZW4sXG4gIEF0b20sXG4gIEF2YXhDLFxuICBBdmF4Q1Rva2VuLFxuICBBdmF4UCxcbiAgQmFieSxcbiAgQmNoLFxuICBCZXJhLFxuICBCZXJhVG9rZW4sXG4gIEJsZCxcbiAgQnNjLFxuICBCc2NUb2tlbixcbiAgQnN2LFxuICBCdGMsXG4gIEJ0ZyxcbiAgQ2VsbyxcbiAgQ2Vsb1Rva2VuLFxuICBDb3JlZGFvLFxuICBDb3JldW0sXG4gIENzcHIsXG4gIERhc2gsXG4gIERvZ2UsXG4gIERvdCxcbiAgRW9zLFxuICBFb3NUb2tlbixcbiAgRXJjMjBUb2tlbixcbiAgRXRjLFxuICBFdGgsXG4gIEV0aDIsXG4gIEV0aHcsXG4gIEV0aExpa2VDb2luLFxuICBGbHIsXG4gIFRldGhMaWtlQ29pbixcbiAgRmlhdEV1cixcbiAgRmlhdEdCUCxcbiAgRmlhdFVzZCxcbiAgR3RldGgsXG4gIEhhc2gsXG4gIEhiYXIsXG4gIEh0ZXRoLFxuICBJY3AsXG4gIEluamVjdGl2ZSxcbiAgSXNsbSxcbiAgTG5idGMsXG4gIEx0YyxcbiAgT2ZjLFxuICBPYXMsXG4gIE9mY1Rva2VuLFxuICBPcGV0aCxcbiAgT3BldGhUb2tlbixcbiAgT3NtbyxcbiAgUG9seWdvbixcbiAgUG9seWdvblRva2VuLFxuICBSdW5lLFxuICBSYnRjLFxuICBTZWksXG4gIFNnYixcbiAgU29sLFxuICBTdGVsbGFyVG9rZW4sXG4gIFN0eCxcbiAgU3VpLFxuICBTdWlUb2tlbixcbiAgU3VzZCxcbiAgVGFvLFxuICBUb24sXG4gIFRhZGEsXG4gIFRhbGdvLFxuICBUYXB0LFxuICBUYXJiZXRoLFxuICBUYXRvbSxcbiAgVGF2YXhDLFxuICBUYXZheFAsXG4gIFRiYWJ5LFxuICBUYmNoLFxuICBUYmVyYSxcbiAgVGJsZCxcbiAgVGJzYyxcbiAgVGJzdixcbiAgVGJ0YyxcbiAgVGJ0Y3NpZyxcbiAgVGJ0YzQsXG4gIFRidGNiZ3NpZyxcbiAgVGNlbG8sXG4gIFRjb3JlZGFvLFxuICBUY29yZXVtLFxuICBUY3NwcixcbiAgVGRhc2gsXG4gIFRkb2dlLFxuICBUZG90LFxuICBUZW9zLFxuICBUZXRjLFxuICBUZXRoLFxuICBUZXRoMixcbiAgVGZscixcbiAgVGZpYXRFdXIsXG4gIFRmaWF0R0JQLFxuICBUZmlhdFVzZCxcbiAgVGhhc2gsXG4gIFRoYmFyLFxuICBUaWEsXG4gIFRpY3AsXG4gIFRpbmplY3RpdmUsXG4gIFRpc2xtLFxuICBUbG5idGMsXG4gIFRsdGMsXG4gIFRvYXMsXG4gIFRvc21vLFxuICBUb3BldGgsXG4gIFRwb2x5Z29uLFxuICBUcmJ0YyxcbiAgVHJ1bmUsXG4gIFRyeCxcbiAgVHNnYixcbiAgVHNlaSxcbiAgVHNvbCxcbiAgVHN0eCxcbiAgVHN1aSxcbiAgVHN1c2QsXG4gIFR3ZW1peCxcbiAgVHRhbyxcbiAgVHRpYSxcbiAgVHRvbixcbiAgVHRyeCxcbiAgVHhsbSxcbiAgVHhkYyxcbiAgVHhycCxcbiAgVHh0eixcbiAgVHplYyxcbiAgVHpldGEsXG4gIFR6a2V0aCxcbiAgV2VtaXgsXG4gIFhkYyxcbiAgWGxtLFxuICBYcnAsXG4gIFhycFRva2VuLFxuICBYdHosXG4gIFplYyxcbiAgWmV0YSxcbiAgWmtldGgsXG4gIFprZXRoVG9rZW4sXG59IGZyb20gJy4vY29pbnMnO1xuXG5mdW5jdGlvbiByZWdpc3RlckNvaW5Db25zdHJ1Y3RvcnMoZ2xvYmFsQ29pbkZhY3Rvcnk6IENvaW5GYWN0b3J5KTogdm9pZCB7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhZGEnLCBBZGEuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYWxnbycsIEFsZ28uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYXB0JywgQXB0LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FyYmV0aCcsIEFyYmV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhdG9tJywgQXRvbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhdmF4YycsIEF2YXhDLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2F2YXhwJywgQXZheFAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYmFieScsIEJhYnkuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYmNoJywgQmNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JjaGEnLCBCY2hhLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JlcmEnLCBCZXJhLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JsZCcsIEJsZC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdic2MnLCBCc2MuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYnN2JywgQnN2LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2J0YycsIEJ0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdidGcnLCBCdGcuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignY2VsbycsIENlbG8uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignY29yZWRhbycsIENvcmVkYW8uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignY29yZXVtJywgQ29yZXVtLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NzcHInLCBDc3ByLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2Rhc2gnLCBEYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2RvZ2UnLCBEb2dlLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2RvdCcsIERvdC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdlb3MnLCBFb3MuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZXRjJywgRXRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2V0aCcsIEV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdldGgyJywgRXRoMi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdldGh3JywgRXRody5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiYXNlZXRoJywgRXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGJhc2VldGgnLCBUZXRoTGlrZUNvaW4uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZmlhdGV1cicsIEZpYXRFdXIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZmlhdGdicCcsIEZpYXRHQlAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZmlhdHVzZCcsIEZpYXRVc2QuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZmxyJywgRmxyLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2d0ZXRoJywgR3RldGguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignaGFzaCcsIEhhc2guY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignaGJhcicsIEhiYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignaHRldGgnLCBIdGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdsbmJ0YycsIExuYnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2x0YycsIEx0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdpY3AnLCBJY3AuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignaW5qZWN0aXZlJywgSW5qZWN0aXZlLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2lzbG0nLCBJc2xtLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ25lYXInLCBOZWFyLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ29hcycsIE9hcy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdvZmMnLCBPZmMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignb3BldGgnLCBPcGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdvc21vJywgT3Ntby5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdwb2x5Z29uJywgUG9seWdvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdyYnRjJywgUmJ0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aG9yY2hhaW46cnVuZScsIFJ1bmUuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignc2VpJywgU2VpLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3NnYicsIFNnYi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzb2wnLCBTb2wuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignc3R4JywgU3R4LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3N1aScsIFN1aS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzdXNkJywgU3VzZC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YW8nLCBUYW8uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGlhJywgVGlhLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RvbicsIFRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YWxnbycsIFRhbGdvLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RhcHQnLCBUYXB0LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RhcmJldGgnLCBUYXJiZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RhZGEnLCBUYWRhLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RhdG9tJywgVGF0b20uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGF2YXhjJywgVGF2YXhDLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RhdmF4cCcsIFRhdmF4UC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YmFieScsIFRiYWJ5LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RiY2gnLCBUYmNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RiY2hhJywgVGJjaGEuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGJlcmEnLCBUYmVyYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YmxkJywgVGJsZC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YnNjJywgVGJzYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YnN2JywgVGJzdi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YnRjJywgVGJ0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YnRjc2lnJywgVGJ0Y3NpZy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YnRjNCcsIFRidGM0LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGNiZ3NpZycsIFRidGNiZ3NpZy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0Y2VsbycsIFRjZWxvLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rjb3JlZGFvJywgVGNvcmVkYW8uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGNvcmV1bScsIFRjb3JldW0uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGNzcHInLCBUY3Nwci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZGFzaCcsIFRkYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rkb2dlJywgVGRvZ2UuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGRvdCcsIFRkb3QuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGVvcycsIFRlb3MuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGV0YycsIFRldGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGV0aCcsIFRldGguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGV0aDInLCBUZXRoMi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZmlhdGV1cicsIFRmaWF0RXVyLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RmaWF0Z2JwJywgVGZpYXRHQlAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGZpYXR1c2QnLCBUZmlhdFVzZC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZmxyJywgVGZsci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aGFzaCcsIFRoYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RoYmFyJywgVGhiYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGljcCcsIFRpY3AuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGluamVjdGl2ZScsIFRpbmplY3RpdmUuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGlzbG0nLCBUaXNsbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0bG5idGMnLCBUbG5idGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGx0YycsIFRsdGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndG5lYXInLCBUTmVhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b2FzJywgVG9hcy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b3BldGgnLCBUb3BldGguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndG9zbW8nLCBUb3Ntby5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cG9seWdvbicsIFRwb2x5Z29uLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RyYnRjJywgVHJidGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHNnYicsIFRzZ2IuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHRob3JjaGFpbjpydW5lJywgVHJ1bmUuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHJ4JywgVHJ4LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RzZWknLCBUc2VpLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rzb2wnLCBUc29sLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RzdHgnLCBUc3R4LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RzdWknLCBUc3VpLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RzdXNkJywgVHN1c2QuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHRhbycsIFR0YW8uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHRpYScsIFR0aWEuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHRvbicsIFR0b24uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHRyeCcsIFR0cnguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHhkYycsIFR4ZGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHhsbScsIFR4bG0uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHhycCcsIFR4cnAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHh0eicsIFR4dHouY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHplYycsIFR6ZWMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHpldGEnLCBUemV0YS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0emtldGgnLCBUemtldGguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHdlbWl4JywgVHdlbWl4LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3hkYycsIFhkYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd4bG0nLCBYbG0uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigneHJwJywgWHJwLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3h0eicsIFh0ei5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd3ZW1peCcsIFdlbWl4LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3plYycsIFplYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd6ZXRhJywgWmV0YS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd6a2V0aCcsIFprZXRoLmNyZWF0ZUluc3RhbmNlKTtcblxuICBFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFN0ZWxsYXJUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBmb3IgKGNvbnN0IG9mY1Rva2VuIG9mIFsuLi50b2tlbnMuYml0Y29pbi5vZmMudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5vZmMudG9rZW5zXSkge1xuICAgIGNvbnN0IHRva2VuQ29uc3RydWN0b3IgPSBPZmNUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKG9mY1Rva2VuKTtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihvZmNUb2tlbi50eXBlLCB0b2tlbkNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIENlbG9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBCc2NUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBFb3NUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBBbGdvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgQXZheENUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBQb2x5Z29uVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgQXJiZXRoVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgT3BldGhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBaa2V0aFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIEJlcmFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBTb2xUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBIYmFyVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgVHJ4VG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgQWRhVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PlxuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3RvcilcbiAgKTtcblxuICBTdWlUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKVxuICApO1xuXG4gIFhycFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT5cbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpXG4gICk7XG5cbiAgQXB0VG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PlxuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3RvcilcbiAgKTtcbn1cblxuY29uc3QgR2xvYmFsQ29pbkZhY3Rvcnk6IENvaW5GYWN0b3J5ID0gbmV3IENvaW5GYWN0b3J5KCk7XG5cbnJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycyhHbG9iYWxDb2luRmFjdG9yeSk7XG5cbmV4cG9ydCBkZWZhdWx0IEdsb2JhbENvaW5GYWN0b3J5O1xuIl19