@bitgo/sdk-core 28.9.0 → 28.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +9 -1
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +11 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +3 -2
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +2 -4
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +10 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts +5 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +2 -1
- package/dist/test/unit/bitgo/lightning/lightningUtils.js +3 -14
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -27,13 +27,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const assert_1 = __importDefault(require("assert"));
|
|
30
|
-
const sinon = __importStar(require("sinon"));
|
|
31
30
|
const macaroon_1 = require("macaroon");
|
|
32
|
-
const statics = __importStar(require("@bitgo/statics"));
|
|
33
31
|
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
34
32
|
const createWatchOnlyFixture_1 = require("./createWatchOnlyFixture");
|
|
35
33
|
const lightningUtils_1 = require("./../../../../src/bitgo/lightning/lightningUtils");
|
|
36
|
-
const lightningUtils = __importStar(require("../../../../src/bitgo/lightning/lightningUtils"));
|
|
37
34
|
const src_1 = require("../../../../src");
|
|
38
35
|
describe('lightning utils', function () {
|
|
39
36
|
[
|
|
@@ -88,18 +85,10 @@ describe('lightning utils', function () {
|
|
|
88
85
|
});
|
|
89
86
|
it(`deriveLightningServiceSharedSecret`, function () {
|
|
90
87
|
const userAuthXprv = 'xprv9s21ZrQH143K4NPkV8riiTnFf72MRyQDVHMmmpekGF1w5QkS2MfTei9KXYvrZVMop4zQ4arnzSF7TRp3Cy73AWaDdADiYMCi5qpYW1bUa5m';
|
|
91
|
-
const lightningServicePubKey = '
|
|
92
|
-
const
|
|
93
|
-
const coin = statics.coins.get('tlnbtc');
|
|
94
|
-
(0, assert_1.default)(coin instanceof statics.LightningCoin);
|
|
95
|
-
const getStaticsLightningNetworkStub = sinon.stub(lightningUtils, 'getStaticsLightningNetwork').returns({
|
|
96
|
-
...coin.network,
|
|
97
|
-
lightningServicePubKey,
|
|
98
|
-
});
|
|
88
|
+
const lightningServicePubKey = (0, lightningUtils_1.getStaticsLightningNetwork)('tlnbtc').lightningServicePubKey;
|
|
89
|
+
const expectedSecret = (0, src_1.getSharedSecret)(utxolib.bip32.fromBase58(userAuthXprv), Buffer.from(lightningServicePubKey, 'hex'));
|
|
99
90
|
const secret = (0, lightningUtils_1.deriveLightningServiceSharedSecret)('tlnbtc', userAuthXprv);
|
|
100
|
-
getStaticsLightningNetworkStub.restore();
|
|
101
|
-
const expectedSecret = (0, src_1.getSharedSecret)(Buffer.from(lightningServicePrvKey, 'hex'), utxolib.bip32.fromBase58(userAuthXprv).neutered());
|
|
102
91
|
assert_1.default.deepStrictEqual(secret, expectedSecret);
|
|
103
92
|
});
|
|
104
93
|
});
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vbGlnaHRuaW5nL2xpZ2h0bmluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsNkNBQStCO0FBQy9CLHVDQUEwQztBQUMxQyx3REFBMEM7QUFDMUMseURBQTJDO0FBRTNDLHFFQUFtRTtBQUNuRSxxRkFVMEQ7QUFFMUQsK0ZBQWlGO0FBQ2pGLHlDQUFrRDtBQUVsRCxRQUFRLENBQUMsaUJBQWlCLEVBQUU7SUFDMUI7UUFDRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtRQUN6QyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtLQUMzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7UUFDbEMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLGdCQUFnQixXQUFXLEVBQUUsRUFBRTtZQUM1RCxFQUFFLENBQUMscURBQXFELEVBQUU7Z0JBQ3hELElBQUEsZ0JBQU0sRUFBQyxJQUFBLDRDQUEyQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUEsb0NBQW1CLEVBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2pELGdCQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMseUJBQXlCLEVBQUU7Z0JBQzVCLElBQUEsZ0JBQU0sRUFBQyxJQUFBLDRDQUEyQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELElBQUEsZ0JBQU0sRUFBQyxJQUFBLHdD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cUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFO1FBQ3ZDLE1BQU0sWUFBWSxHQUNoQixpSEFBaUgsQ0FBQztRQUNwSCxNQUFNLHNCQUFzQixHQUFHLG9FQUFvRSxDQUFDO1FBQ3BHLE1BQU0sc0JBQXNCLEdBQUcsa0VBQWtFLENBQUM7UUFFbEcsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBQSxnQkFBTSxFQUFDLElBQUksWUFBWSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFOUMsTUFBTSw4QkFBOEIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN0RyxHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2Ysc0JBQXNCO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLElBQUEsbURBQWtDLEVBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFFLDhCQUE4QixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXpDLE1BQU0sY0FBYyxHQUFHLElBQUEscUJBQWUsRUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsRUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ2xELENBQUM7UUFFRixnQkFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7IGltcG9ydE1hY2Fyb29uIH0gZnJvbSAnbWFjYXJvb24nO1xuaW1wb3J0ICogYXMgc3RhdGljcyBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IGFjY291bnRzLCBzaWduZXJSb290S2V5IH0gZnJvbSAnLi9jcmVhdGVXYXRjaE9ubHlGaXh0dXJlJztcbmltcG9ydCB7XG4gIGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZSxcbiAgZ2V0TGlnaHRuaW5nTmV0d29yayxcbiAgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmssXG4gIGdldFN0YXRpY3NMaWdodG5pbmdOZXR3b3JrLFxuICBnZXRVdHhvbGliTmV0d29yayxcbiAgaXNMaWdodG5pbmdDb2luTmFtZSxcbiAgY3JlYXRlV2F0Y2hPbmx5LFxuICBhZGRJUENhdmVhdFRvTWFjYXJvb24sXG4gIGRlcml2ZUxpZ2h0bmluZ1NlcnZpY2VTaGFyZWRTZWNyZXQsXG59IGZyb20gJy4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9saWdodG5pbmdVdGlscyc7XG5cbmltcG9ydCAqIGFzIGxpZ2h0bmluZ1V0aWxzIGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvbGlnaHRuaW5nVXRpbHMnO1xuaW1wb3J0IHsgZ2V0U2hhcmVkU2VjcmV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ2xpZ2h0bmluZyB1dGlscycsIGZ1bmN0aW9uICgpIHtcbiAgW1xuICAgIHsgbmFtZTogJ2xuYnRjJywgbmV0d29ya05hbWU6ICdiaXRjb2luJyB9LFxuICAgIHsgbmFtZTogJ3RsbmJ0YycsIG5ldHdvcmtOYW1lOiAndGVzdG5ldCcgfSxcbiAgXS5mb3JFYWNoKCh7IG5hbWUsIG5ldHdvcmtOYW1lIH0pID0+IHtcbiAgICBkZXNjcmliZShgc3VjY2VzcyAtIGNvaW4gJHtuYW1lfSBhbmQgbmV0d29yayAke25ldHdvcmtOYW1lfWAsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUgYW5kIGdldExpZ2h0bmluZ05ldHdvcmtgLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydChpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUobmV0d29ya05hbWUpKTtcbiAgICAgICAgY29uc3QgbmV0d29yayA9IGdldExpZ2h0bmluZ05ldHdvcmsobmV0d29ya05hbWUpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobmV0d29yaywgdXR4b2xpYi5uZXR3b3Jrc1tuZXR3b3JrTmFtZV0pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0KGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZShuZXR3b3JrTmFtZSkpO1xuICAgICAgICBhc3NlcnQoaXNWYWxpZExpZ2h0bmluZ05ldHdvcmsodXR4b2xpYi5uZXR3b3Jrc1tuZXR3b3JrTmFtZV0pKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdChgZ2V0U3RhdGljc0xpZ2h0bmluZ05ldHdvcmtgLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRTdGF0aWNzTGlnaHRuaW5nTmV0d29yayhuYW1lKS5mYW1pbHksICdsbmJ0YycpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KGBnZXRVdHhvbGliTmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICAgIGdldFV0eG9saWJOZXR3b3JrKG5hbWUpLFxuICAgICAgICAgIG5ldHdvcmtOYW1lID09PSAnYml0Y29pbicgPyB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4gOiB1dHhvbGliLm5ldHdvcmtzLnRlc3RuZXRcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdChgaXNMaWdodG5pbmdDb2luTmFtZWAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGlzTGlnaHRuaW5nQ29pbk5hbWUobmFtZSksIHRydWUpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoaXNMaWdodG5pbmdDb2luTmFtZSgnbHRjJyksIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBpdChgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmtOYW1lIHNob3VsZCByZXR1cm4gZmFsc2UgZm9yIG5vbiBsaWdodG5pbmcgbmV0d29yayBuYW1lYCwgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUoJ2xpdGVjb2luJyksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoYGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrIHNob3VsZCByZXR1cm4gZmFsc2UgZm9yIG5vbiBsaWdodG5pbmcgbmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoaXNWYWxpZExpZ2h0bmluZ05ldHdvcmsodXR4b2xpYi5uZXR3b3Jrc1snbGl0ZWNvaW4nXSksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoYGdldFV0eG9saWJOZXR3b3JrIHNob3VsZCByZXR1cm4gZmFpbCBmb3IgaW52YWxpZCBsaWdodG5pbmcgY29pbmAsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgIGdldFV0eG9saWJOZXR3b3JrKCdsdGMnKTtcbiAgICB9LCAvbHRjIGlzIG5vdCBhIGxpZ2h0bmluZyBjb2luLyk7XG4gIH0pO1xuXG4gIGl0KGBjcmVhdGVXYXRjaE9ubHlgLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3Qgd2F0Y2hPbmx5ID0gY3JlYXRlV2F0Y2hPbmx5KHNpZ25lclJvb3RLZXksIHV0eG9saWIubmV0d29ya3MudGVzdG5ldCk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXRjaE9ubHkuYWNjb3VudHMsIGFjY291bnRzKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICB3YXRjaE9ubHkubWFzdGVyX2tleV9maW5nZXJwcmludCxcbiAgICAgIHV0eG9saWIuYmlwMzIuZnJvbUJhc2U1OChzaWduZXJSb290S2V5LCB1dHhvbGliLm5ldHdvcmtzLnRlc3RuZXQpLmZpbmdlcnByaW50LnRvU3RyaW5nKCdoZXgnKVxuICAgICk7XG4gIH0pO1xuXG4gIGl0KGBhZGRJUENhdmVhdFRvTWFjYXJvb25gLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgbWFjYXJvb24gPVxuICAgICAgJ0FnRURiRzVrQXZnQkF3b1FNZ1U3ckRpODAyWXFnL3RIbGwyNG5oSUJNQm9XQ2dkaFpHUnlaWE56RWdSeVpXRmtFZ1YzY21sMFpSb1RDZ1JwYm1adkVnUnlaV0ZrRWdWM2NtbDBaUm9YQ2docGJuWnZhV05sY3hJRWNtVmhaQklGZDNKcGRHVWFJUW9JYldGallYSnZiMjRTQ0dkbGJtVnlZWFJsRWdSeVpXRmtFZ1YzY21sMFpSb1dDZ2R0WlhOellXZGxFZ1J5WldGa0VnVjNjbWwwWlJvWENnaHZabVpqYUdGcGJoSUVjbVZoWkJJRmQzSnBkR1VhRmdvSGIyNWphR0ZwYmhJRWNtVmhaQklGZDNKcGRHVWFGQW9GY0dWbGNuTVNCSEpsWVdRU0JYZHlhWFJsR2hnS0JuTnBaMjVsY2hJSVoyVnVaWEpoZEdVU0JISmxZV1FBQUFZZ1pLaVV2RXp4R2QyUUtHVVMrOVI1WldldkcwOVMwNmZNSlVudCtrMVhYWFE9JztcbiAgICBjb25zdCBtYWNhcm9vbk9iaiA9IGltcG9ydE1hY2Fyb29uKG1hY2Fyb29uKS5leHBvcnRKU09OKCk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1hY2Fyb29uT2JqLmMsIHVuZGVmaW5lZCk7XG4gICAgY29uc3QgbWFjYXJvb25XaXRoQ2F2ZWF0ID0gYWRkSVBDYXZlYXRUb01hY2Fyb29uKG1hY2Fyb29uLCAnMTI3LjAuMC4xJyk7XG4gICAgY29uc3QgbWFjYXJvb25PYmpXaXRoQ2F2ZWF0ID0gaW1wb3J0TWFjYXJvb24obWFjYXJvb25XaXRoQ2F2ZWF0KS5leHBvcnRKU09OKCk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1hY2Fyb29uT2JqV2l0aENhdmVhdC5jWzBdLmksICdpcGFkZHIgMTI3LjAuMC4xJyk7XG4gIH0pO1xuXG4gIGl0KGBkZXJpdmVMaWdodG5pbmdTZXJ2aWNlU2hhcmVkU2VjcmV0YCwgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHVzZXJBdXRoWHBydiA9XG4gICAgICAneHBydjlzMjFaclFIMTQzSzROUGtWOHJpaVRuRmY3Mk1SeVFEVkhNbW1wZWtHRjF3NVFrUzJNZlRlaTlLWFl2clpWTW9wNHpRNGFybnpTRjdUUnAzQ3k3M0FXYURkQURpWU1DaTVxcFlXMWJVYTVtJztcbiAgICBjb25zdCBsaWdodG5pbmdTZXJ2aWNlUHViS2V5ID0gJzAzYjZmZTI2NmIzZjhhZTExMGI4NzdkOTQyNzY1ZTljZWE5ZTgyZmFmMDNjZGJiNmQwZWZmZTk4MGI2MzcxYjljMic7XG4gICAgY29uc3QgbGlnaHRuaW5nU2VydmljZVBydktleSA9ICc4Yjk1NjEzZjQzNDFlMzQ3NzQzYmQyNjI1NzI4ZDg3YmM2ZjBhMTE5YWNiNmFlOTEyMWFmZWVlMmIyYTY1MGY3JztcblxuICAgIGNvbnN0IGNvaW4gPSBzdGF0aWNzLmNvaW5zLmdldCgndGxuYnRjJyk7XG4gICAgYXNzZXJ0KGNvaW4gaW5zdGFuY2VvZiBzdGF0aWNzLkxpZ2h0bmluZ0NvaW4pO1xuXG4gICAgY29uc3QgZ2V0U3RhdGljc0xpZ2h0bmluZ05ldHdvcmtTdHViID0gc2lub24uc3R1YihsaWdodG5pbmdVdGlscywgJ2dldFN0YXRpY3NMaWdodG5pbmdOZXR3b3JrJykucmV0dXJucyh7XG4gICAgICAuLi5jb2luLm5ldHdvcmssXG4gICAgICBsaWdodG5pbmdTZXJ2aWNlUHViS2V5LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VjcmV0ID0gZGVyaXZlTGlnaHRuaW5nU2VydmljZVNoYXJlZFNlY3JldCgndGxuYnRjJywgdXNlckF1dGhYcHJ2KTtcbiAgICBnZXRTdGF0aWNzTGlnaHRuaW5nTmV0d29ya1N0dWIucmVzdG9yZSgpO1xuXG4gICAgY29uc3QgZXhwZWN0ZWRTZWNyZXQgPSBnZXRTaGFyZWRTZWNyZXQoXG4gICAgICBCdWZmZXIuZnJvbShsaWdodG5pbmdTZXJ2aWNlUHJ2S2V5LCAnaGV4JyksXG4gICAgICB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgodXNlckF1dGhYcHJ2KS5uZXV0ZXJlZCgpXG4gICAgKTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoc2VjcmV0LCBleHBlY3RlZFNlY3JldCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vbGlnaHRuaW5nL2xpZ2h0bmluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsdUNBQTBDO0FBQzFDLHlEQUEyQztBQUUzQyxxRUFBbUU7QUFDbkUscUZBVTBEO0FBRTFELHlDQUFrRDtBQUVsRCxRQUFRLENBQUMsaUJBQWlCLEVBQUU7SUFDMUI7UUFDRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtRQUN6QyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtLQUMzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7UUFDbEMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLGdCQUFnQixXQUFXLEVBQUUsRUFBRTtZQUM1RCxFQUFFLENBQUMscURBQXFELEVBQUU7Z0JBQ3hELElBQUEsZ0JBQU0sRUFBQyxJQUFBLDRDQUEyQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUEsb0NBQW1CLEVBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2pELGdCQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMseUJBQXlCLEVBQUU7Z0JBQzVCLElBQUEsZ0JBQU0sRUFBQyxJQUFBLDRDQUEyQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELElBQUEsZ0JBQU0sRUFBQyxJQUFBLHdDQUF1QixFQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFD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QUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFO1FBQ3ZDLE1BQU0sWUFBWSxHQUNoQixpSEFBaUgsQ0FBQztRQUNwSCxNQUFNLHNCQUFzQixHQUFHLElBQUEsMkNBQTBCLEVBQUMsUUFBUSxDQUFDLENBQUMsc0JBQXNCLENBQUM7UUFFM0YsTUFBTSxjQUFjLEdBQUcsSUFBQSxxQkFBZSxFQUNwQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FDM0MsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLElBQUEsbURBQWtDLEVBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTFFLGdCQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgaW1wb3J0TWFjYXJvb24gfSBmcm9tICdtYWNhcm9vbic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IGFjY291bnRzLCBzaWduZXJSb290S2V5IH0gZnJvbSAnLi9jcmVhdGVXYXRjaE9ubHlGaXh0dXJlJztcbmltcG9ydCB7XG4gIGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZSxcbiAgZ2V0TGlnaHRuaW5nTmV0d29yayxcbiAgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmssXG4gIGdldFN0YXRpY3NMaWdodG5pbmdOZXR3b3JrLFxuICBnZXRVdHhvbGliTmV0d29yayxcbiAgaXNMaWdodG5pbmdDb2luTmFtZSxcbiAgY3JlYXRlV2F0Y2hPbmx5LFxuICBhZGRJUENhdmVhdFRvTWFjYXJvb24sXG4gIGRlcml2ZUxpZ2h0bmluZ1NlcnZpY2VTaGFyZWRTZWNyZXQsXG59IGZyb20gJy4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9saWdodG5pbmdVdGlscyc7XG5cbmltcG9ydCB7IGdldFNoYXJlZFNlY3JldCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdsaWdodG5pbmcgdXRpbHMnLCBmdW5jdGlvbiAoKSB7XG4gIFtcbiAgICB7IG5hbWU6ICdsbmJ0YycsIG5ldHdvcmtOYW1lOiAnYml0Y29pbicgfSxcbiAgICB7IG5hbWU6ICd0bG5idGMnLCBuZXR3b3JrTmFtZTogJ3Rlc3RuZXQnIH0sXG4gIF0uZm9yRWFjaCgoeyBuYW1lLCBuZXR3b3JrTmFtZSB9KSA9PiB7XG4gICAgZGVzY3JpYmUoYHN1Y2Nlc3MgLSBjb2luICR7bmFtZX0gYW5kIG5ldHdvcmsgJHtuZXR3b3JrTmFtZX1gLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdChgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmtOYW1lIGFuZCBnZXRMaWdodG5pbmdOZXR3b3JrYCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQoaXNWYWxpZExpZ2h0bmluZ05ldHdvcmtOYW1lKG5ldHdvcmtOYW1lKSk7XG4gICAgICAgIGNvbnN0IG5ldHdvcmsgPSBnZXRMaWdodG5pbmdOZXR3b3JrKG5ldHdvcmtOYW1lKTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG5ldHdvcmssIHV0eG9saWIubmV0d29ya3NbbmV0d29ya05hbWVdKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdChgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmtgLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydChpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUobmV0d29ya05hbWUpKTtcbiAgICAgICAgYXNzZXJ0KGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrKHV0eG9saWIubmV0d29ya3NbbmV0d29ya05hbWVdKSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoYGdldFN0YXRpY3NMaWdodG5pbmdOZXR3b3JrYCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0U3RhdGljc0xpZ2h0bmluZ05ldHdvcmsobmFtZSkuZmFtaWx5LCAnbG5idGMnKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdChgZ2V0VXR4b2xpYk5ldHdvcmtgLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgICBnZXRVdHhvbGliTmV0d29yayhuYW1lKSxcbiAgICAgICAgICBuZXR3b3JrTmFtZSA9PT0gJ2JpdGNvaW4nID8gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luIDogdXR4b2xpYi5uZXR3b3Jrcy50ZXN0bmV0XG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgaXQoYGlzTGlnaHRuaW5nQ29pbk5hbWVgLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChpc0xpZ2h0bmluZ0NvaW5OYW1lKG5hbWUpLCB0cnVlKTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGlzTGlnaHRuaW5nQ29pbk5hbWUoJ2x0YycpLCBmYWxzZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoYGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZSBzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBub24gbGlnaHRuaW5nIG5ldHdvcmsgbmFtZWAsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoaXNWYWxpZExpZ2h0bmluZ05ldHdvcmtOYW1lKCdsaXRlY29pbicpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29yayBzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBub24gbGlnaHRuaW5nIG5ldHdvcmtgLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrKHV0eG9saWIubmV0d29ya3NbJ2xpdGVjb2luJ10pLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KGBnZXRVdHhvbGliTmV0d29yayBzaG91bGQgcmV0dXJuIGZhaWwgZm9yIGludmFsaWQgbGlnaHRuaW5nIGNvaW5gLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICBnZXRVdHhvbGliTmV0d29yaygnbHRjJyk7XG4gICAgfSwgL2x0YyBpcyBub3QgYSBsaWdodG5pbmcgY29pbi8pO1xuICB9KTtcblxuICBpdChgY3JlYXRlV2F0Y2hPbmx5YCwgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHdhdGNoT25seSA9IGNyZWF0ZVdhdGNoT25seShzaWduZXJSb290S2V5LCB1dHhvbGliLm5ldHdvcmtzLnRlc3RuZXQpO1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwod2F0Y2hPbmx5LmFjY291bnRzLCBhY2NvdW50cyk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgd2F0Y2hPbmx5Lm1hc3Rlcl9rZXlfZmluZ2VycHJpbnQsXG4gICAgICB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoc2lnbmVyUm9vdEtleSwgdXR4b2xpYi5uZXR3b3Jrcy50ZXN0bmV0KS5maW5nZXJwcmludC50b1N0cmluZygnaGV4JylcbiAgICApO1xuICB9KTtcblxuICBpdChgYWRkSVBDYXZlYXRUb01hY2Fyb29uYCwgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG1hY2Fyb29uID1cbiAgICAgICdBZ0VEYkc1a0F2Z0JBd29RTWdVN3JEaTgwMllxZy90SGxsMjRuaElCTUJvV0NnZGhaR1J5WlhOekVnUnlaV0ZrRWdWM2NtbDBaUm9UQ2dScGJtWnZFZ1J5WldGa0VnVjNjbWwwWlJvWENnaHBiblp2YVdObGN4SUVjbVZoWkJJRmQzSnBkR1VhSVFvSWJXRmpZWEp2YjI0U0NHZGxibVZ5WVhSbEVnUnlaV0ZrRWdWM2NtbDBaUm9XQ2dkdFpYTnpZV2RsRWdSeVpXRmtFZ1YzY21sMFpSb1hDZ2h2Wm1aamFHRnBiaElFY21WaFpCSUZkM0pwZEdVYUZnb0hiMjVqYUdGcGJoSUVjbVZoWkJJRmQzSnBkR1VhRkFvRmNHVmxjbk1TQkhKbFlXUVNCWGR5YVhSbEdoZ0tCbk5wWjI1bGNoSUlaMlZ1WlhKaGRHVVNCSEpsWVdRQUFBWWdaS2lVdkV6eEdkMlFLR1VTKzlSNVpXZXZHMDlTMDZmTUpVbnQrazFYWFhRPSc7XG4gICAgY29uc3QgbWFjYXJvb25PYmogPSBpbXBvcnRNYWNhcm9vbihtYWNhcm9vbikuZXhwb3J0SlNPTigpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChtYWNhcm9vbk9iai5jLCB1bmRlZmluZWQpO1xuICAgIGNvbnN0IG1hY2Fyb29uV2l0aENhdmVhdCA9IGFkZElQQ2F2ZWF0VG9NYWNhcm9vbihtYWNhcm9vbiwgJzEyNy4wLjAuMScpO1xuICAgIGNvbnN0IG1hY2Fyb29uT2JqV2l0aENhdmVhdCA9IGltcG9ydE1hY2Fyb29uKG1hY2Fyb29uV2l0aENhdmVhdCkuZXhwb3J0SlNPTigpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChtYWNhcm9vbk9ialdpdGhDYXZlYXQuY1swXS5pLCAnaXBhZGRyIDEyNy4wLjAuMScpO1xuICB9KTtcblxuICBpdChgZGVyaXZlTGlnaHRuaW5nU2VydmljZVNoYXJlZFNlY3JldGAsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB1c2VyQXV0aFhwcnYgPVxuICAgICAgJ3hwcnY5czIxWnJRSDE0M0s0TlBrVjhyaWlUbkZmNzJNUnlRRFZITW1tcGVrR0YxdzVRa1MyTWZUZWk5S1hZdnJaVk1vcDR6UTRhcm56U0Y3VFJwM0N5NzNBV2FEZEFEaVlNQ2k1cXBZVzFiVWE1bSc7XG4gICAgY29uc3QgbGlnaHRuaW5nU2VydmljZVB1YktleSA9IGdldFN0YXRpY3NMaWdodG5pbmdOZXR3b3JrKCd0bG5idGMnKS5saWdodG5pbmdTZXJ2aWNlUHViS2V5O1xuXG4gICAgY29uc3QgZXhwZWN0ZWRTZWNyZXQgPSBnZXRTaGFyZWRTZWNyZXQoXG4gICAgICB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgodXNlckF1dGhYcHJ2KSxcbiAgICAgIEJ1ZmZlci5mcm9tKGxpZ2h0bmluZ1NlcnZpY2VQdWJLZXksICdoZXgnKVxuICAgICk7XG5cbiAgICBjb25zdCBzZWNyZXQgPSBkZXJpdmVMaWdodG5pbmdTZXJ2aWNlU2hhcmVkU2VjcmV0KCd0bG5idGMnLCB1c2VyQXV0aFhwcnYpO1xuXG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChzZWNyZXQsIGV4cGVjdGVkU2VjcmV0KTtcbiAgfSk7XG59KTtcbiJdfQ==
|