UNPKG

@bitgo-beta/bitgo

Version:
127 lines • 27.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * @prettier */ const sdk_core_1 = require("@bitgo-beta/sdk-core"); const sdk_coin_algo_1 = require("@bitgo-beta/sdk-coin-algo"); const sdk_coin_bcha_1 = require("@bitgo-beta/sdk-coin-bcha"); const coins_1 = require("./coins"); const sdk_coin_near_1 = require("@bitgo-beta/sdk-coin-near"); const config_1 = require("../config"); const sdk_coin_sol_1 = require("@bitgo-beta/sdk-coin-sol"); const sdk_coin_hbar_1 = require("@bitgo-beta/sdk-coin-hbar"); function registerCoinConstructors(globalCoinFactory) { globalCoinFactory.register('ada', coins_1.Ada.createInstance); globalCoinFactory.register('algo', coins_1.Algo.createInstance); globalCoinFactory.register('avaxc', coins_1.AvaxC.createInstance); globalCoinFactory.register('avaxp', coins_1.AvaxP.createInstance); globalCoinFactory.register('bch', coins_1.Bch.createInstance); globalCoinFactory.register('bcha', sdk_coin_bcha_1.Bcha.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('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('fiateur', coins_1.FiatEur.createInstance); globalCoinFactory.register('fiatgbp', coins_1.FiatGBP.createInstance); globalCoinFactory.register('fiatusd', coins_1.FiatUsd.createInstance); globalCoinFactory.register('gteth', coins_1.Gteth.createInstance); globalCoinFactory.register('hbar', coins_1.Hbar.createInstance); globalCoinFactory.register('ltc', coins_1.Ltc.createInstance); globalCoinFactory.register('near', sdk_coin_near_1.Near.createInstance); globalCoinFactory.register('ofc', coins_1.Ofc.createInstance); globalCoinFactory.register('polygon', coins_1.Polygon.createInstance); globalCoinFactory.register('rbtc', coins_1.Rbtc.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('talgo', coins_1.Talgo.createInstance); globalCoinFactory.register('tada', coins_1.Tada.createInstance); globalCoinFactory.register('tavaxc', coins_1.TavaxC.createInstance); globalCoinFactory.register('tavaxp', coins_1.TavaxP.createInstance); globalCoinFactory.register('tbch', coins_1.Tbch.createInstance); globalCoinFactory.register('tbcha', sdk_coin_bcha_1.Tbcha.createInstance); globalCoinFactory.register('tbsc', coins_1.Tbsc.createInstance); globalCoinFactory.register('tbsv', coins_1.Tbsv.createInstance); globalCoinFactory.register('tbtc', coins_1.Tbtc.createInstance); globalCoinFactory.register('tcelo', coins_1.Tcelo.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('thbar', coins_1.Thbar.createInstance); globalCoinFactory.register('tltc', coins_1.Tltc.createInstance); globalCoinFactory.register('tnear', sdk_coin_near_1.TNear.createInstance); globalCoinFactory.register('tpolygon', coins_1.Tpolygon.createInstance); globalCoinFactory.register('trbtc', coins_1.Trbtc.createInstance); globalCoinFactory.register('trx', coins_1.Trx.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('ttrx', coins_1.Ttrx.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('xlm', coins_1.Xlm.createInstance); globalCoinFactory.register('xrp', coins_1.Xrp.createInstance); globalCoinFactory.register('xtz', coins_1.Xtz.createInstance); globalCoinFactory.register('zec', coins_1.Zec.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); }); 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); }); } const GlobalCoinFactory = new sdk_core_1.CoinFactory(); registerCoinConstructors(GlobalCoinFactory); exports.default = GlobalCoinFactory; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdjIvY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7R0FFRztBQUNILG1EQUFtRDtBQUNuRCw2REFBc0Q7QUFDdEQsNkRBQXdEO0FBQ3hELG1DQStFaUI7QUFDakIsNkRBQXdEO0FBQ3hELHNDQUFtQztBQUNuQywyREFBb0Q7QUFDcEQsNkRBQXNEO0FBRXRELFNBQVMsd0JBQXdCLENBQUMsaUJBQThCO0lBQzlELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsb0JBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLGVBQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLGVBQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLGVBQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLG9CQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxlQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxxQkFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsZ0JBQVEsQ0FBQyxjQUFj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b0JBQVksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDM0UsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUVILHVCQUFRLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3ZFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFFSCx5QkFBUyxDQUFDLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN4RSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0saUJBQWlCLEdBQWdCLElBQUksc0JBQVcsRUFBRSxDQUFDO0FBRXpELHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFNUMsa0JBQWUsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBDb2luRmFjdG9yeSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEFsZ29Ub2tlbiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWFsZ28nO1xuaW1wb3J0IHsgQmNoYSwgVGJjaGEgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1iY2hhJztcbmltcG9ydCB7XG4gIEFkYSxcbiAgQWxnbyxcbiAgQXZheEMsXG4gIEF2YXhDVG9rZW4sXG4gIEF2YXhQLFxuICBCY2gsXG4gIEJzYyxcbiAgQnNjVG9rZW4sXG4gIEJzdixcbiAgQnRjLFxuICBCdGcsXG4gIENlbG8sXG4gIENlbG9Ub2tlbixcbiAgQ3NwcixcbiAgRGFzaCxcbiAgRG9nZSxcbiAgRG90LFxuICBFb3MsXG4gIEVvc1Rva2VuLFxuICBFcmMyMFRva2VuLFxuICBFdGMsXG4gIEV0aCxcbiAgRXRoMixcbiAgRXRodyxcbiAgRmlhdEV1cixcbiAgRmlhdEdCUCxcbiAgRmlhdFVzZCxcbiAgR3RldGgsXG4gIEhiYXIsXG4gIEx0YyxcbiAgT2ZjLFxuICBPZmNUb2tlbixcbiAgUG9seWdvbixcbiAgUG9seWdvblRva2VuLFxuICBSYnRjLFxuICBTb2wsXG4gIFN0ZWxsYXJUb2tlbixcbiAgU3R4LFxuICBTdWksXG4gIFN1c2QsXG4gIFRhbGdvLFxuICBUYXZheEMsXG4gIFRhZGEsXG4gIFRhdmF4UCxcbiAgVGJjaCxcbiAgVGJzYyxcbiAgVGJzdixcbiAgVGJ0YyxcbiAgVGNlbG8sXG4gIFRjc3ByLFxuICBUZGFzaCxcbiAgVGRvZ2UsXG4gIFRkb3QsXG4gIFRlb3MsXG4gIFRldGMsXG4gIFRldGgsXG4gIFRldGgyLFxuICBUZmlhdEV1cixcbiAgVGZpYXRHQlAsXG4gIFRmaWF0VXNkLFxuICBUaGJhcixcbiAgVGx0YyxcbiAgVHBvbHlnb24sXG4gIFRyYnRjLFxuICBUcngsXG4gIFRzb2wsXG4gIFRzdHgsXG4gIFRzdWksXG4gIFRzdXNkLFxuICBUdHJ4LFxuICBUeGxtLFxuICBUeHJwLFxuICBUeHR6LFxuICBUemVjLFxuICBYbG0sXG4gIFhycCxcbiAgWHR6LFxuICBaZWMsXG59IGZyb20gJy4vY29pbnMnO1xuaW1wb3J0IHsgTmVhciwgVE5lYXIgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1uZWFyJztcbmltcG9ydCB7IHRva2VucyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTb2xUb2tlbiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXNvbCc7XG5pbXBvcnQgeyBIYmFyVG9rZW4gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1oYmFyJztcblxuZnVuY3Rpb24gcmVnaXN0ZXJDb2luQ29uc3RydWN0b3JzKGdsb2JhbENvaW5GYWN0b3J5OiBDb2luRmFjdG9yeSk6IHZvaWQge1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYWRhJywgQWRhLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FsZ28nLCBBbGdvLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2F2YXhjJywgQXZheEMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYXZheHAnLCBBdmF4UC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiY2gnLCBCY2guY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYmNoYScsIEJjaGEuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYnNjJywgQnNjLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JzdicsIEJzdi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdidGMnLCBCdGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYnRnJywgQnRnLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NlbG8nLCBDZWxvLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NzcHInLCBDc3ByLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2Rhc2gnLCBEYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2RvZ2UnLCBEb2dlLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2RvdCcsIERvdC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdlb3MnLCBFb3MuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZXRjJywgRXRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2V0aCcsIEV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdldGgyJywgRXRoMi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdldGh3JywgRXRody5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdmaWF0ZXVyJywgRmlhdEV1ci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdmaWF0Z2JwJywgRmlhdEdCUC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdmaWF0dXNkJywgRmlhdFVzZC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdndGV0aCcsIEd0ZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2hiYXInLCBIYmFyLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2x0YycsIEx0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCduZWFyJywgTmVhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdvZmMnLCBPZmMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigncG9seWdvbicsIFBvbHlnb24uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigncmJ0YycsIFJidGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignc29sJywgU29sLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3N0eCcsIFN0eC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzdWknLCBTdWkuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignc3VzZCcsIFN1c2QuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGFsZ28nLCBUYWxnby5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YWRhJywgVGFkYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YXZheGMnLCBUYXZheEMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGF2YXhwJywgVGF2YXhQLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RiY2gnLCBUYmNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RiY2hhJywgVGJjaGEuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGJzYycsIFRic2MuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGJzdicsIFRic3YuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGJ0YycsIFRidGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGNlbG8nLCBUY2Vsby5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0Y3NwcicsIFRjc3ByLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RkYXNoJywgVGRhc2guY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGRvZ2UnLCBUZG9nZS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZG90JywgVGRvdC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZW9zJywgVGVvcy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZXRjJywgVGV0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZXRoJywgVGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZXRoMicsIFRldGgyLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RmaWF0ZXVyJywgVGZpYXRFdXIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGZpYXRnYnAnLCBUZmlhdEdCUC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZmlhdHVzZCcsIFRmaWF0VXNkLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RoYmFyJywgVGhiYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGx0YycsIFRsdGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndG5lYXInLCBUTmVhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cG9seWdvbicsIFRwb2x5Z29uLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RyYnRjJywgVHJidGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHJ4JywgVHJ4LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rzb2wnLCBUc29sLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RzdHgnLCBUc3R4LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RzdWknLCBUc3VpLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RzdXNkJywgVHN1c2QuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHRyeCcsIFR0cnguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHhsbScsIFR4bG0uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHhycCcsIFR4cnAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHh0eicsIFR4dHouY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHplYycsIFR6ZWMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigneGxtJywgWGxtLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3hycCcsIFhycC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd4dHonLCBYdHouY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignemVjJywgWmVjLmNyZWF0ZUluc3RhbmNlKTtcblxuICBFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFN0ZWxsYXJUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBmb3IgKGNvbnN0IG9mY1Rva2VuIG9mIFsuLi50b2tlbnMuYml0Y29pbi5vZmMudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5vZmMudG9rZW5zXSkge1xuICAgIGNvbnN0IHRva2VuQ29uc3RydWN0b3IgPSBPZmNUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKG9mY1Rva2VuKTtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihvZmNUb2tlbi50eXBlLCB0b2tlbkNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIENlbG9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBCc2NUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBFb3NUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBBbGdvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgQXZheENUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBQb2x5Z29uVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgU29sVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgSGJhclRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xufVxuXG5jb25zdCBHbG9iYWxDb2luRmFjdG9yeTogQ29pbkZhY3RvcnkgPSBuZXcgQ29pbkZhY3RvcnkoKTtcblxucmVnaXN0ZXJDb2luQ29uc3RydWN0b3JzKEdsb2JhbENvaW5GYWN0b3J5KTtcblxuZXhwb3J0IGRlZmF1bHQgR2xvYmFsQ29pbkZhY3Rvcnk7XG4iXX0=