@wallfree-dev/angular-core 0.0.59-beta.4 → 0.0.59-beta.5
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/esm2022/lib/services/protocol/defaults.mjs +4 -3
- package/esm2022/lib/utils/protocol/protocol-v0-adapter.mjs +7 -1
- package/fesm2022/wallfree-dev-angular-core.mjs +9 -2
- package/fesm2022/wallfree-dev-angular-core.mjs.map +1 -1
- package/lib/services/protocol/defaults.d.ts.map +1 -1
- package/lib/utils/protocol/protocol-v0-adapter.d.ts +2 -0
- package/lib/utils/protocol/protocol-v0-adapter.d.ts.map +1 -1
- package/package.json +24 -22
- package/src/assets/symbols/sui.svg +1 -0
- package/src/assets/workers/airgap-coin-lib.js +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { erc20Tokens } from '@wallfree-dev/ethereum';
|
|
2
|
-
import { createV0AeternityProtocol, createV0AstarProtocol, createV0BitcoinProtocol, createV0BitcoinSegwitProtocol, createV0CosmosProtocol, createV0EthereumERC20Token, createV0EthereumProtocol, createV0GroestlcoinProtocol, createV0KusamaProtocol, createV0MoonbeamProtocol, createV0MoonriverProtocol, createV0PolkadotProtocol, createV0ShidenProtocol, createV0SolanaProtocol, createV0TezosBTCTezProtocol, createV0TezosCTezProtocol, createV0TezosDogamiProtocol, createV0TezosETHTezProtocol, createV0TezosKolibriUSDProtocol, createV0TezosKtProtocol, createV0TezosPlentyProtocol, createV0TezosProtocol, createV0TezosQuipuswapProtocol, createV0TezosSiriusProtocol, createV0TezosTetherUSDProtocol, createV0TezosTzBTCProtocol, createV0TezosUBTCProtocol, createV0TezosUDEFIProtocol, createV0TezosUSDTezProtocol, createV0TezosUUSDProtocol, createV0TezosWrapProtocol, createV0TezosYouProtocol } from '../../utils/protocol/protocol-v0-adapter';
|
|
2
|
+
import { createV0AeternityProtocol, createV0AptosProtocol, createV0AstarProtocol, createV0BitcoinProtocol, createV0BitcoinSegwitProtocol, createV0CosmosProtocol, createV0EthereumERC20Token, createV0EthereumProtocol, createV0GroestlcoinProtocol, createV0KusamaProtocol, createV0MoonbeamProtocol, createV0MoonriverProtocol, createV0PolkadotProtocol, createV0ShidenProtocol, createV0SolanaProtocol, createV0TezosBTCTezProtocol, createV0TezosCTezProtocol, createV0TezosDogamiProtocol, createV0TezosETHTezProtocol, createV0TezosKolibriUSDProtocol, createV0TezosKtProtocol, createV0TezosPlentyProtocol, createV0TezosProtocol, createV0TezosQuipuswapProtocol, createV0TezosSiriusProtocol, createV0TezosTetherUSDProtocol, createV0TezosTzBTCProtocol, createV0TezosUBTCProtocol, createV0TezosUDEFIProtocol, createV0TezosUSDTezProtocol, createV0TezosUUSDProtocol, createV0TezosWrapProtocol, createV0TezosYouProtocol } from '../../utils/protocol/protocol-v0-adapter';
|
|
3
3
|
export async function getDefaultPassiveProtocols() {
|
|
4
4
|
return [];
|
|
5
5
|
}
|
|
@@ -18,7 +18,8 @@ export async function getDefaultActiveProtocols() {
|
|
|
18
18
|
createV0BitcoinProtocol(),
|
|
19
19
|
createV0AstarProtocol(),
|
|
20
20
|
createV0ShidenProtocol(),
|
|
21
|
-
createV0SolanaProtocol()
|
|
21
|
+
createV0SolanaProtocol(),
|
|
22
|
+
createV0AptosProtocol()
|
|
22
23
|
]);
|
|
23
24
|
}
|
|
24
25
|
export async function getDefaultPassiveSubProtocols() {
|
|
@@ -52,4 +53,4 @@ function pairWithMainProtocol(mainProtocol) {
|
|
|
52
53
|
return [mainProtocol, subProtocol];
|
|
53
54
|
};
|
|
54
55
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Byb3RvY29sL2RlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUVwRCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3QixzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQiw4QkFBOEIsRUFDOUIsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUM5QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDekIsTUFBTSwwQ0FBMEMsQ0FBQTtBQUVqRCxNQUFNLENBQUMsS0FBSyxVQUFVLDBCQUEwQjtJQUM5QyxPQUFPLEVBQUUsQ0FBQTtBQUNYLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QjtJQUM3QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQWdCO1FBQ2hDLDZCQUE2QixFQUFFO1FBQy9CLHdCQUF3QixFQUFFO1FBQzFCLHFCQUFxQixFQUFFO1FBQ3ZCLHdCQUF3QixFQUFFO1FBQzFCLHNCQUFzQixFQUFFO1FBQ3hCLHNCQUFzQixFQUFFO1FBQ3hCLHlCQUF5QixFQUFFO1FB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ZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgeyBJQ29pblByb3RvY29sLCBJQ29pblN1YlByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUnXG5pbXBvcnQgeyBlcmMyMFRva2VucyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvZXRoZXJldW0nXG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gJy4uLy4uL3R5cGVzL1Rva2VuJ1xuaW1wb3J0IHtcbiAgY3JlYXRlVjBBZXRlcm5pdHlQcm90b2NvbCxcbiAgY3JlYXRlVjBBcHRvc1Byb3RvY29sLFxuICBjcmVhdGVWMEFzdGFyUHJvdG9jb2wsXG4gIGNyZWF0ZVYwQml0Y29pblByb3RvY29sLFxuICBjcmVhdGVWMEJpdGNvaW5TZWd3aXRQcm90b2NvbCxcbiAgY3JlYXRlVjBDb3Ntb3NQcm90b2NvbCxcbiAgY3JlYXRlVjBFdGhlcmV1bUVSQzIwVG9rZW4sXG4gIGNyZWF0ZVYwRXRoZXJldW1Qcm90b2NvbCxcbiAgY3JlYXRlVjBHcm9lc3RsY29pblByb3RvY29sLFxuICBjcmVhdGVWMEt1c2FtYVByb3RvY29sLFxuICBjcmVhdGVWME1vb25iZWFtUHJvdG9jb2wsXG4gIGNyZWF0ZVYwTW9vbnJpdmVyUHJvdG9jb2wsXG4gIGNyZWF0ZVYwUG9sa2Fkb3RQcm90b2NvbCxcbiAgY3JlYXRlVjBTaGlkZW5Qcm90b2NvbCxcbiAgY3JlYXRlVjBTb2xhbmFQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc0JUQ1RlelByb3RvY29sLFxuICBjcmVhdGVWMFRlem9zQ1RlelByb3RvY29sLFxuICBjcmVhdGVWMFRlem9zRG9nYW1pUHJvdG9jb2wsXG4gIGNyZWF0ZVYwVGV6b3NFVEhUZXpQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc0tvbGlicmlVU0RQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc0t0UHJvdG9jb2wsXG4gIGNyZWF0ZVYwVGV6b3NQbGVudHlQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc1Byb3RvY29sLFxuICBjcmVhdGVWMFRlem9zUXVpcHVzd2FwUHJvdG9jb2wsXG4gIGNyZWF0ZVYwVGV6b3NTaXJpdXNQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc1RldGhlclVTRFByb3RvY29sLFxuICBjcmVhdGVWMFRlem9zVHpCVENQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc1VCVENQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc1VERUZJUHJvdG9jb2wsXG4gIGNyZWF0ZVYwVGV6b3NVU0RUZXpQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc1VVU0RQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc1dyYXBQcm90b2NvbCxcbiAgY3JlYXRlVjBUZXpvc1lvdVByb3RvY29sXG59IGZyb20gJy4uLy4uL3V0aWxzL3Byb3RvY29sL3Byb3RvY29sLXYwLWFkYXB0ZXInXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZWZhdWx0UGFzc2l2ZVByb3RvY29scygpOiBQcm9taXNlPElDb2luUHJvdG9jb2xbXT4ge1xuICByZXR1cm4gW11cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlZmF1bHRBY3RpdmVQcm90b2NvbHMoKTogUHJvbWlzZTxJQ29pblByb3RvY29sW10+IHtcbiAgcmV0dXJuIFByb21pc2UuYWxsPElDb2luUHJvdG9jb2w+KFtcbiAgICBjcmVhdGVWMEJpdGNvaW5TZWd3aXRQcm90b2NvbCgpLFxuICAgIGNyZWF0ZVYwRXRoZXJldW1Qcm90b2NvbCgpLFxuICAgIGNyZWF0ZVYwVGV6b3NQcm90b2NvbCgpLFxuICAgIGNyZWF0ZVYwUG9sa2Fkb3RQcm90b2NvbCgpLFxuICAgIGNyZWF0ZVYwS3VzYW1hUHJvdG9jb2woKSxcbiAgICBjcmVhdGVWMENvc21vc1Byb3RvY29sKCksXG4gICAgY3JlYXRlVjBBZXRlcm5pdHlQcm90b2NvbCgpLFxuICAgIGNyZWF0ZVYwR3JvZXN0bGNvaW5Qcm90b2NvbCgpLFxuICAgIGNyZWF0ZVYwTW9vbnJpdmVyUHJvdG9jb2woKSxcbiAgICBjcmVhdGVWME1vb25iZWFtUHJvdG9jb2woKSxcbiAgICBjcmVhdGVWMEJpdGNvaW5Qcm90b2NvbCgpLFxuICAgIGNyZWF0ZVYwQXN0YXJQcm90b2NvbCgpLFxuICAgIGNyZWF0ZVYwU2hpZGVuUHJvdG9jb2woKSxcbiAgICBjcmVhdGVWMFNvbGFuYVByb3RvY29sKCksXG4gICAgY3JlYXRlVjBBcHRvc1Byb3RvY29sKClcbiAgXSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlZmF1bHRQYXNzaXZlU3ViUHJvdG9jb2xzKCk6IFByb21pc2U8W0lDb2luUHJvdG9jb2wsIElDb2luU3ViUHJvdG9jb2xdW10+IHtcbiAgcmV0dXJuIFtdXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZWZhdWx0QWN0aXZlU3ViUHJvdG9jb2xzKCk6IFByb21pc2U8W0lDb2luUHJvdG9jb2wsIElDb2luU3ViUHJvdG9jb2xdW10+IHtcbiAgY29uc3QgW3Rlem9zUHJvdG9jb2wsIGV0aGVyZXVtUHJvdG9jb2xdID0gYXdhaXQgUHJvbWlzZS5hbGwoW2NyZWF0ZVYwVGV6b3NQcm90b2NvbCgpLCBjcmVhdGVWMEV0aGVyZXVtUHJvdG9jb2woKV0pXG5cbiAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICBjcmVhdGVWMFRlem9zVVVTRFByb3RvY29sKCkudGhlbihwYWlyV2l0aE1haW5Qcm90b2NvbCh0ZXpvc1Byb3RvY29sKSksXG4gICAgY3JlYXRlVjBUZXpvc1lvdVByb3RvY29sKCkudGhlbihwYWlyV2l0aE1haW5Qcm90b2NvbCh0ZXpvc1Byb3RvY29sKSksXG4gICAgY3JlYXRlVjBUZXpvc1R6QlRDUHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zVVNEVGV6UHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zVURFRklQcm90b2NvbCgpLnRoZW4ocGFpcldpdGhNYWluUHJvdG9jb2wodGV6b3NQcm90b2NvbCkpLFxuICAgIGNyZWF0ZVYwVGV6b3NDVGV6UHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zUGxlbnR5UHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zV3JhcFByb3RvY29sKCkudGhlbihwYWlyV2l0aE1haW5Qcm90b2NvbCh0ZXpvc1Byb3RvY29sKSksXG4gICAgY3JlYXRlVjBUZXpvc1F1aXB1c3dhcFByb3RvY29sKCkudGhlbihwYWlyV2l0aE1haW5Qcm90b2NvbCh0ZXpvc1Byb3RvY29sKSksXG4gICAgY3JlYXRlVjBUZXpvc0tvbGlicmlVU0RQcm90b2NvbCgpLnRoZW4ocGFpcldpdGhNYWluUHJvdG9jb2wodGV6b3NQcm90b2NvbCkpLFxuICAgIGNyZWF0ZVYwVGV6b3NVQlRDUHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zRG9nYW1pUHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zU2lyaXVzUHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zQlRDVGV6UHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zRVRIVGV6UHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zVGV0aGVyVVNEUHJvdG9jb2woKS50aGVuKHBhaXJXaXRoTWFpblByb3RvY29sKHRlem9zUHJvdG9jb2wpKSxcbiAgICBjcmVhdGVWMFRlem9zS3RQcm90b2NvbCgpLnRoZW4ocGFpcldpdGhNYWluUHJvdG9jb2wodGV6b3NQcm90b2NvbCkpLFxuICAgIC4uLk9iamVjdC52YWx1ZXMoZXJjMjBUb2tlbnMpLm1hcCgodG9rZW46IFRva2VuKSA9PiBjcmVhdGVWMEV0aGVyZXVtRVJDMjBUb2tlbih0b2tlbikudGhlbihwYWlyV2l0aE1haW5Qcm90b2NvbChldGhlcmV1bVByb3RvY29sKSkpXG4gIF0pXG59XG5cbmZ1bmN0aW9uIHBhaXJXaXRoTWFpblByb3RvY29sKG1haW5Qcm90b2NvbDogSUNvaW5Qcm90b2NvbCk6IChzdWJQcm90b2NvbDogSUNvaW5TdWJQcm90b2NvbCkgPT4gW0lDb2luUHJvdG9jb2wsIElDb2luU3ViUHJvdG9jb2xdIHtcbiAgcmV0dXJuIChzdWJQcm90b2NvbDogSUNvaW5TdWJQcm90b2NvbCk6IFtJQ29pblByb3RvY29sLCBJQ29pblN1YlByb3RvY29sXSA9PiB7XG4gICAgcmV0dXJuIFttYWluUHJvdG9jb2wsIHN1YlByb3RvY29sXSBhcyBbSUNvaW5Qcm90b2NvbCwgSUNvaW5TdWJQcm90b2NvbF1cbiAgfVxufVxuIl19
|
|
@@ -13,6 +13,7 @@ import { createMoonbaseProtocol, createMoonbeamProtocol, createMoonriverProtocol
|
|
|
13
13
|
import { createERC20Token as createOptimismERC20Token, createOptimismProtocol, OptimismModule } from '@wallfree-dev/optimism';
|
|
14
14
|
import { createKusamaProtocol, createPolkadotProtocol, PolkadotModule } from '@wallfree-dev/polkadot';
|
|
15
15
|
import { createSolanaProtocol, SolanaModule } from '@wallfree-dev/solana';
|
|
16
|
+
import { AptosModule, createAptosProtocol } from '@wallfree-dev/aptos';
|
|
16
17
|
import { createBTCTezProtocol, createCTezProtocol, createDogamiProtocol, createETHTezProtocol, createKolibriUSDProtocol, createPlentyProtocol, createQuipuswapProtocol, createSiriusProtocol, createStakerProtocol, createTetherUSDProtocol, createTezosFA1p2Protocol, createTezosFA2Protocol, createTezosKtProtocol, createTezosProtocol, createTezosShieldedTezProtocol, createTzBTCProtocol, createUBTCProtocol, createUDEFIProtocol, createUSDTezProtocol, createUUSDProtocol, createWrappedTezosProtocol, createWrapProtocol, createYouProtocol, TezosModule } from '@wallfree-dev/tezos';
|
|
17
18
|
import BigNumber from '@wallfree-dev/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
|
|
18
19
|
import { AirGapTransactionStatus as AirGapTransactionStatusV0, AirGapTransactionWarningType } from '@wallfree-dev/coinlib-core/interfaces/IAirGapTransaction';
|
|
@@ -171,6 +172,11 @@ export async function createV0SolanaProtocol(...args) {
|
|
|
171
172
|
const module = new SolanaModule();
|
|
172
173
|
return createV0Protocol(protocol, module);
|
|
173
174
|
}
|
|
175
|
+
export async function createV0AptosProtocol(...args) {
|
|
176
|
+
const protocol = createAptosProtocol(...args);
|
|
177
|
+
const module = new AptosModule();
|
|
178
|
+
return createV0Protocol(protocol, module);
|
|
179
|
+
}
|
|
174
180
|
export async function createV0TezosProtocol(...args) {
|
|
175
181
|
const protocol = createTezosProtocol(...args);
|
|
176
182
|
const module = new TezosModule();
|
|
@@ -387,4 +393,4 @@ export function getSecretKeyType(secretKey) {
|
|
|
387
393
|
export function getPublicKeyType(publicKey) {
|
|
388
394
|
return publicKey.startsWith('xpub') ? 'xpub' : 'pub';
|
|
389
395
|
}
|
|
390
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2wtdjAtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvcHJvdG9jb2wvcHJvdG9jb2wtdjAtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBcUIsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFpQixtQkFBbUIsRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQTtBQUMzSCxPQUFPLEVBQ0wsZUFBZSxJQUFJLGlCQUFpQixFQUNwQyxXQUFXLElBQUkscUJBQXFCLEVBS3JDLE1BQU0sNEJBQTRCLENBQUE7QUFDbkMsT0FBTyxFQUNMLGdCQUFnQixJQUFJLHdCQUF3QixFQUM1QyxzQkFBc0IsRUFFdEIsY0FBYyxFQUVmLE1BQU0sd0JBQXdCLENBQUE7QUFDL0IsT0FBTyxFQWNMLGdCQUFnQixFQUNoQixTQUFTLEVBVVYsTUFBTSwwQkFBMEIsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsYUFBYSxFQUEwQyxxQkFBcUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2pKLE9BQU8sRUFBRSxZQUFZLEVBQWtCLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsaUJBQWlCLEVBQXVCLE1BQU0sMkJBQTJCLENBQUE7QUFDN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBZSxNQUFNLG1CQUFtQixDQUFBO0FBQzdFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUV2QixjQUFjLEVBR2YsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQ0wsZ0JBQWdCLElBQUksd0JBQXdCLEVBQzVDLHNCQUFzQixFQUV0QixjQUFjLEVBRWYsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQWtCLGNBQWMsRUFBb0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2SSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFrQixNQUFNLHNCQUFzQixDQUFBO0FBQ3pGLE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLDhCQUE4QixFQUM5QixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBY2pCLFdBQVcsRUFZWixNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sU0FBUyxNQUFNLDBFQUEwRSxDQUFBO0FBRWhHLE9BQU8sRUFDTCx1QkFBdUIsSUFBSSx5QkFBeUIsRUFFcEQsNEJBQTRCLEVBQzdCLE1BQU0sMERBQTBELENBQUE7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBRTVELE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsNkJBQTZCLEVBRzdCLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdkIsTUFBTSw0Q0FBNEMsQ0FBQTtBQUVuRCxVQUFVO0FBRVYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQTJCO0lBQ2xFLE9BQU8sSUFBSSxLQUFLLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtBQUMzSCxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQTJCO0lBQ2xFLE9BQU8sSUFBSSxLQUFLLFNBQVM7UUFDdkIsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE9BQU87UUFDL0IsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQ3BCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPO1lBQy9CLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUE7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUEwQjtJQUM3RCxPQUFPO1FBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzVDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWE7UUFDckQsR0FBRyxDQUFDLE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUM5RCxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUEwQixFQUFFLGFBQXVDO0lBQ3RHLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUMvQyxNQUFNLGVBQWUsR0FBNEIsSUFBSSw0QkFBNEIsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFFMUgsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFBO0FBQ3hHLENBQUM7QUFFRCxXQUFXO0FBRVgsS0FBSyxVQUFVLGdEQUFnRCxDQUM3RCxNQUFvQixFQUNwQixVQUFrQixFQUNsQixPQUFzQztJQUV0QyxNQUFNLENBQUMsYUFBYSxFQUFFLHFCQUFxQixDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQy9ELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDO1FBQy9DLE1BQU0sQ0FBQywyQkFBMkIsRUFBRTtLQUNyQyxDQUFDLENBQUE7SUFFRixPQUFPLENBQUMsYUFBYSxFQUFFLHFCQUFxQixDQUFDLENBQUE7QUFDL0MsQ0FBQztBQUVELEtBQUssVUFBVSxvQ0FBb0MsQ0FDakQsUUFBVyxFQUNYLE1BQW9CO0lBRXBCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQXNELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMvRixRQUFRLENBQUMsV0FBVyxFQUFFO1FBQ3RCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0tBQ2hGLENBQUMsQ0FBQTtJQUVGLE9BQU8sZ0RBQWdELENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDL0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLFFBQVcsRUFDWCxNQUFvQixFQUNwQixPQUFzQyxNQUFNO0lBRTVDLE1BQU0sQ0FBQyxhQUFhLEVBQUUscUJBQXFCLENBQUMsR0FDMUMsTUFBTSxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFFOUQsT0FBTywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUM3RixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FDdkMsUUFBVyxFQUNYLE1BQW9CLEVBQ3BCLE9BQXNDLE1BQU07SUFFNUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxHQUMxQyxNQUFNLG9DQUFvQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUU5RCxPQUFPLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQ2hHLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGtCQUFrQixDQUN0QyxVQUFhLEVBQ2IsUUFBMkIsRUFDM0IsTUFBb0IsRUFDcEIsT0FBc0MsTUFBTTtJQUU1QyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFzRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDL0YsUUFBUSxDQUFDLFdBQVcsRUFBRTtRQUN0QixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztLQUNwRixDQUFDLENBQUE7SUFFRixNQUFNLENBQUMsYUFBYSxFQUFFLHFCQUFxQixDQUFDLEdBQUcsTUFBTSxnREFBZ0QsQ0FDbkcsTUFBTSxFQUNOLFFBQVEsQ0FBQyxVQUFVLEVBQ25CLE9BQU8sQ0FDUixDQUFBO0lBRUQsT0FBTyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUNsRyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSx5QkFBeUIsQ0FDN0MsR0FBRyxJQUFnRDtJQUVuRCxNQUFNLFFBQVEsR0FBc0IsdUJBQXVCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNwRSxNQUFNLE1BQU0sR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQTtJQUVyRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUMzQyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxHQUFHLElBQTRDO0lBQ3pGLE1BQU0sUUFBUSxHQUFrQixtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzVELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QixDQUMzQyxHQUFHLElBQThDO0lBRWpELE1BQU0sUUFBUSxHQUFvQixxQkFBcUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sTUFBTSxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFBO0lBRWpELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDZCQUE2QixDQUNqRCxHQUFHLElBQW9EO0lBRXZELE1BQU0sUUFBUSxHQUEwQiwyQkFBMkIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzVFLE1BQU0sTUFBTSxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFBO0lBRWpELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFBO0lBRS9DLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFBO0lBRS9DLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxHQUFHLElBQStDO0lBRWxELE1BQU0sUUFBUSxHQUFxQixzQkFBc0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDBCQUEwQixDQUM5QyxHQUFHLElBQWlEO0lBRXBELE1BQU0sVUFBVSxHQUF1Qix3QkFBd0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sZ0JBQWdCLEdBQXFCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sa0JBQWtCLENBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ2pFLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUFHLElBQWtEO0lBRXJELE1BQU0sUUFBUSxHQUF3Qix5QkFBeUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sTUFBTSxHQUFzQixJQUFJLGlCQUFpQixFQUFFLENBQUE7SUFFekQsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDM0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQUMsR0FBRyxJQUEwQztJQUNyRixNQUFNLFFBQVEsR0FBZ0IsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUN4RCxNQUFNLE1BQU0sR0FBYyxJQUFJLFNBQVMsRUFBRSxDQUFBO0lBRXpDLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxHQUFHLElBQStDO0lBRWxELE1BQU0sUUFBUSxHQUFxQixzQkFBc0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QixDQUM3QyxHQUFHLElBQWdEO0lBRW5ELE1BQU0sUUFBUSxHQUFzQix1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3BFLE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxHQUFHLElBQStDO0lBRWxELE1BQU0sUUFBUSxHQUFxQixzQkFBc0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxHQUFHLElBQStDO0lBRWxELE1BQU0sUUFBUSxHQUFxQixzQkFBc0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDBCQUEwQixDQUM5QyxHQUFHLElBQWlEO0lBRXBELE1BQU0sVUFBVSxHQUF1Qix3QkFBd0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sZ0JBQWdCLEdBQXFCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sa0JBQWtCLENBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ2pFLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxHQUFHLElBQStDO0lBRWxELE1BQU0sUUFBUSxHQUFxQixzQkFBc0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFBO0lBRW5ELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFRLElBQUksWUFBWSxFQUFFLENBQUE7SUFFdEMsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDM0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUscUJBQXFCLENBQUMsR0FBRyxJQUE0QztJQUN6RixNQUFNLFFBQVEsR0FBa0IsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM1RCxNQUFNLE1BQU0sR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQTtJQUU3QyxPQUFPLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUMzQyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxnQ0FBZ0MsQ0FDcEQsR0FBRyxJQUF1RDtJQUUxRCxNQUFNLFFBQVEsR0FBNkIsOEJBQThCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNsRixNQUFNLE1BQU0sR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQTtJQUU3QyxPQUFPLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUMzQyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSx1QkFBdUIsQ0FDM0MsR0FBRyxJQUE4QztJQUVqRCxNQUFNLFFBQVEsR0FBb0IscUJBQXFCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNoRSxNQUFNLE1BQU0sR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQTtJQUU3QyxPQUFPLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUM5QyxDQUFDO0FBRUQsS0FBSyxVQUFVLHVCQUF1QixDQUNwQyxVQUFhLEVBQ2IsWUFBcUQsRUFDckQsT0FBc0MsTUFBTTtJQUU1QyxNQUFNLGFBQWEsR0FBa0IsbUJBQW1CLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtJQUNuRixNQUFNLE1BQU0sR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQTtJQUU3QyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFzRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDL0YsYUFBYSxDQUFDLFdBQVcsRUFBRTtRQUMzQixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztLQUNwRixDQUFDLENBQUE7SUFFRixNQUFNLENBQUMsYUFBYSxFQUFFLHFCQUFxQixDQUFDLEdBQUcsTUFBTSxnREFBZ0QsQ0FDbkcsTUFBTSxFQUNOLFFBQVEsQ0FBQyxVQUFVLEVBQ25CLE9BQU8sQ0FDUixDQUFBO0lBRUQsT0FBTyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUNsRyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSwwQkFBMEIsQ0FDOUMsR0FBRyxJQUFpRDtJQUVwRCxNQUFNLGFBQWEsR0FBdUIsd0JBQXdCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUUzRSxPQUFPLHVCQUF1QixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDaEUsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsd0JBQXdCLENBQzVDLEdBQUcsSUFBK0M7SUFFbEQsTUFBTSxXQUFXLEdBQXFCLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFFckUsT0FBTyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzlELENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QixDQUM3QyxHQUFHLElBQTJDO0lBRTlDLE1BQU0sUUFBUSxHQUFpQixrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzFELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUNuRCxHQUFHLElBQWlEO0lBRXBELE1BQU0sUUFBUSxHQUF1Qix3QkFBd0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3RFLE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDhCQUE4QixDQUNsRCxHQUFHLElBQWdEO0lBRW5ELE1BQU0sUUFBUSxHQUFzQix1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3BFLE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDhCQUE4QixDQUNsRCxHQUFHLElBQWdEO0lBRW5ELE1BQU0sUUFBUSxHQUFzQix1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3BFLE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDBCQUEwQixDQUM5QyxHQUFHLElBQTRDO0lBRS9DLE1BQU0sUUFBUSxHQUFrQixtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzVELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QixDQUM3QyxHQUFHLElBQTJDO0lBRTlDLE1BQU0sUUFBUSxHQUFpQixrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzFELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDBCQUEwQixDQUM5QyxHQUFHLElBQTRDO0lBRS9DLE1BQU0sUUFBUSxHQUFrQixtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzVELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUFHLElBQTZDO0lBRWhELE1BQU0sUUFBUSxHQUFtQixvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QixDQUM3QyxHQUFHLElBQTJDO0lBRTlDLE1BQU0sUUFBUSxHQUFpQixrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzFELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLDRCQUE0QixDQUNoRCxHQUFHLElBQW1EO0lBRXRELE1BQU0sUUFBUSxHQUF5QiwwQkFBMEIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzFFLE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QixDQUM3QyxHQUFHLElBQTJDO0lBRTlDLE1BQU0sUUFBUSxHQUFpQixrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzFELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxHQUFHLElBQTBDO0lBRTdDLE1BQU0sUUFBUSxHQUFnQixpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3hELE1BQU0sTUFBTSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRTdDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxjQUFjO0FBRWQsTUFBTSxVQUFVLDhCQUE4QixDQUFDLE1BQWlDO0lBQzlFLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTO1FBQzlCLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPO1FBQ25DLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDMUIsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLE1BQU07WUFDbEMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtBQUNmLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLE9BQTJCO0lBQ3pELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQXdCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSztRQUN2QixJQUFJLEVBQUUsRUFBRTtLQUNULENBQUMsQ0FBQyxDQUFBO0FBQ0wsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsTUFBeUI7SUFDdEQsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLEVBQ0YsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQ3RCLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPO1lBQ3RDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU07Z0JBQ3ZCLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJO2dCQUNuQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO29CQUMxQixDQUFDLENBQUMsNEJBQTRCLENBQUMsT0FBTztvQkFDdEMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLEtBQUs7UUFDeEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSztRQUN4QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLO1FBQ3BDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0tBQzNFLENBQUMsQ0FBQyxDQUFBO0FBQ0wsQ0FBQztBQVlELHdDQUF3QztBQUN4QyxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUNuRCxHQUEwQixFQUMxQixrQkFBMkQsRUFDM0Qsa0JBQTBEO0lBRTFELE1BQU0sZ0JBQWdCLEdBQXFCLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDO1FBQzdFLENBQUMsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLFdBQVcsRUFBRTtRQUN4QyxDQUFDLENBQUMsa0JBQWtCLENBQUE7SUFFdEIsTUFBTSxTQUFTLEdBQXNCLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdELENBQUMsQ0FBQyxrQkFBa0IsWUFBWSxpQkFBaUI7WUFDakQsQ0FBQyxDQUFDLGtCQUFrQjtZQUNwQixDQUFDLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUU1QyxNQUFNLEtBQUssR0FBMEIsZ0JBQWdCLENBQUMsS0FBSyxDQUFBO0lBQzNELE1BQU0sUUFBUSxHQUEwQixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQTtJQUU1RSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUF1QixFQUF1QixFQUFFO1FBQzlELE9BQU87WUFDTCxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUk7WUFDYixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDVCxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVM7WUFFdkIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUs7WUFDcEQsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUs7WUFFakQsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTO1lBQ3ZCLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUI7WUFDdkMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhO1lBRS9CLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLFVBQTZCO1lBQ2xFLE9BQU8sRUFBRSxTQUFTO1lBRWxCLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxhQUFhLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRXJGLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUk7WUFDckIsV0FBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSztZQUM3QixNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBRXpFLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFFdEUsS0FBSyxFQUFFO2dCQUNMLEdBQUcsRUFBRSxDQUFDLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJO2FBQ2Q7WUFDRCxrQkFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSTtTQUM1QixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsY0FBYztBQUVkLE1BQU0sVUFBVSx3QkFBd0IsQ0FBMkIsV0FBMEIsRUFBRSxRQUFnQjtJQUM3RyxPQUFPO1FBQ0wsR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFlBQVksQ0FBQztRQUNoRixNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsWUFBWSxDQUFDO1FBQ3RGLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUM7S0FDbkYsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsV0FBMEIsRUFBRSxnQkFBa0M7SUFDckcsTUFBTSxRQUFRLEdBQTBCLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFBO0lBQzdGLE1BQU0sT0FBTyxHQUFXLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxRQUFRLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFBO0lBRW5GLE9BQU87UUFDTCxHQUFHLEVBQUUsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtRQUN6RixNQUFNLEVBQUUsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtRQUMvRixJQUFJLEVBQUUsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtLQUM1RixDQUFBO0FBQ0gsQ0FBQztBQUVELFFBQVE7QUFFUixNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBYTtJQUNsRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxTQUFpQjtJQUNoRCxPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO0FBQ3hELENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsU0FBaUI7SUFDaEQsT0FBTyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxpbmVzICovXG5pbXBvcnQgeyBBZXRlcm5pdHlNb2R1bGUsIEFldGVybml0eVByb3RvY29sLCBjcmVhdGVBZXRlcm5pdHlQcm90b2NvbCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYWV0ZXJuaXR5J1xuaW1wb3J0IHsgQXN0YXJNb2R1bGUsIEFzdGFyUHJvdG9jb2wsIGNyZWF0ZUFzdGFyUHJvdG9jb2wsIGNyZWF0ZVNoaWRlblByb3RvY29sLCBTaGlkZW5Qcm90b2NvbCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYXN0YXInXG5pbXBvcnQge1xuICBQcm90b2NvbE5ldHdvcmsgYXMgUHJvdG9jb2xOZXR3b3JrVjAsXG4gIE5ldHdvcmtUeXBlIGFzIFByb3RvY29sTmV0d29ya1R5cGVWMCxcbiAgUHJvdG9jb2xCbG9ja0V4cGxvcmVyIGFzIFByb3RvY29sQmxvY2tFeHBsb3JlclYwLFxuICBGZWVEZWZhdWx0cyBhcyBGZWVEZWZhdWx0c1YwLFxuICBJQWlyR2FwVHJhbnNhY3Rpb24gYXMgQWlyR2FwVHJhbnNhY3Rpb25WMCxcbiAgUHJvdG9jb2xTeW1ib2xzXG59IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuaW1wb3J0IHtcbiAgY3JlYXRlRVJDMjBUb2tlbiBhcyBjcmVhdGVFdGhlcmV1bUVSQzIwVG9rZW4sXG4gIGNyZWF0ZUV0aGVyZXVtUHJvdG9jb2wsXG4gIEVSQzIwVG9rZW4gYXMgRXRoZXJldW1FUkMyMFRva2VuLFxuICBFdGhlcmV1bU1vZHVsZSxcbiAgRXRoZXJldW1Qcm90b2NvbFxufSBmcm9tICdAd2FsbGZyZWUtZGV2L2V0aGVyZXVtJ1xuaW1wb3J0IHtcbiAgQWlyR2FwQW55UHJvdG9jb2wsXG4gIEFpckdhcEJsb2NrRXhwbG9yZXIgYXMgUHJvdG9jb2xCbG9ja0V4cGxvcmVyVjEsXG4gIEFpckdhcE1vZHVsZSxcbiAgQWlyR2FwT25saW5lUHJvdG9jb2wsXG4gIEFpckdhcFRyYW5zYWN0aW9uIGFzIEFpckdhcFRyYW5zYWN0aW9uVjEsXG4gIEFpckdhcFRyYW5zYWN0aW9uU3RhdHVzIGFzIEFpckdhcFRyYW5zYWN0aW9uU3RhdHVzVjEsXG4gIEFpckdhcFVJQWN0aW9uIGFzIEFpckdhcFVJQWN0aW9uVjEsXG4gIEFpckdhcFVJQWxlcnQgYXMgQWlyR2FwVUlBbGVydFYxLFxuICBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb24sXG4gIEJ5dGVzU3RyaW5nRm9ybWF0LFxuICBFeHRlbmRlZFB1YmxpY0tleSxcbiAgRXh0ZW5kZWRTZWNyZXRLZXksXG4gIEZlZURlZmF1bHRzIGFzIEZlZURlZmF1bHRzVjEsXG4gIGlzT25saW5lUHJvdG9jb2wsXG4gIG5ld0Ftb3VudCxcbiAgUHJvdG9jb2xDb25maWd1cmF0aW9uLFxuICBQcm90b2NvbE1ldGFkYXRhLFxuICBQcm90b2NvbE5ldHdvcmsgYXMgUHJvdG9jb2xOZXR3b3JrVjEsXG4gIFByb3RvY29sTmV0d29ya1R5cGUgYXMgUHJvdG9jb2xOZXR3b3JrVHlwZVYxLFxuICBQcm90b2NvbFVuaXRzTWV0YWRhdGEsXG4gIFB1YmxpY0tleSxcbiAgUmVjdXJzaXZlUGFydGlhbCxcbiAgU2VjcmV0S2V5LFxuICBTdWJQcm90b2NvbFxufSBmcm9tICdAd2FsbGZyZWUtZGV2L21vZHVsZS1raXQnXG5pbXBvcnQgeyBCaXRjb2luTW9kdWxlLCBCaXRjb2luUHJvdG9jb2wsIEJpdGNvaW5TZWd3aXRQcm90b2NvbCwgY3JlYXRlQml0Y29pblByb3RvY29sLCBjcmVhdGVCaXRjb2luU2Vnd2l0UHJvdG9jb2wgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2JpdGNvaW4nXG5pbXBvcnQgeyBDb3JldW1Nb2R1bGUsIENvcmV1bVByb3RvY29sLCBjcmVhdGVDb3JldW1Qcm90b2NvbCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29yZXVtJ1xuaW1wb3J0IHsgQ29zbW9zTW9kdWxlLCBDb3Ntb3NQcm90b2NvbCwgY3JlYXRlQ29zbW9zUHJvdG9jb2wgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2Nvc21vcydcbmltcG9ydCB7IGNyZWF0ZUdyb2VzdGxjb2luUHJvdG9jb2wsIEdyb2VzdGxjb2luTW9kdWxlLCBHcm9lc3RsY29pblByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9ncm9lc3RsY29pbidcbmltcG9ydCB7IGNyZWF0ZUlDUFByb3RvY29sLCBJQ1BNb2R1bGUsIElDUFByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9pY3AnXG5pbXBvcnQge1xuICBjcmVhdGVNb29uYmFzZVByb3RvY29sLFxuICBjcmVhdGVNb29uYmVhbVByb3RvY29sLFxuICBjcmVhdGVNb29ucml2ZXJQcm90b2NvbCxcbiAgTW9vbmJhc2VQcm90b2NvbCxcbiAgTW9vbmJlYW1Nb2R1bGUsXG4gIE1vb25iZWFtUHJvdG9jb2wsXG4gIE1vb25yaXZlclByb3RvY29sXG59IGZyb20gJ0B3YWxsZnJlZS1kZXYvbW9vbmJlYW0nXG5pbXBvcnQge1xuICBjcmVhdGVFUkMyMFRva2VuIGFzIGNyZWF0ZU9wdGltaXNtRVJDMjBUb2tlbixcbiAgY3JlYXRlT3B0aW1pc21Qcm90b2NvbCxcbiAgRVJDMjBUb2tlbiBhcyBPcHRpbWlzbUVSQzIwVG9rZW4sXG4gIE9wdGltaXNtTW9kdWxlLFxuICBPcHRpbWlzbVByb3RvY29sXG59IGZyb20gJ0B3YWxsZnJlZS1kZXYvb3B0aW1pc20nXG5pbXBvcnQgeyBjcmVhdGVLdXNhbWFQcm90b2NvbCwgY3JlYXRlUG9sa2Fkb3RQcm90b2NvbCwgS3VzYW1hUHJvdG9jb2wsIFBvbGthZG90TW9kdWxlLCBQb2xrYWRvdFByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9wb2xrYWRvdCdcbmltcG9ydCB7IGNyZWF0ZVNvbGFuYVByb3RvY29sLCBTb2xhbmFNb2R1bGUsIFNvbGFuYVByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9zb2xhbmEnXG5pbXBvcnQge1xuICBCVENUZXpQcm90b2NvbCxcbiAgY3JlYXRlQlRDVGV6UHJvdG9jb2wsXG4gIGNyZWF0ZUNUZXpQcm90b2NvbCxcbiAgY3JlYXRlRG9nYW1pUHJvdG9jb2wsXG4gIGNyZWF0ZUVUSFRlelByb3RvY29sLFxuICBjcmVhdGVLb2xpYnJpVVNEUHJvdG9jb2wsXG4gIGNyZWF0ZVBsZW50eVByb3RvY29sLFxuICBjcmVhdGVRdWlwdXN3YXBQcm90b2NvbCxcbiAgY3JlYXRlU2lyaXVzUHJvdG9jb2wsXG4gIGNyZWF0ZVN0YWtlclByb3RvY29sLFxuICBjcmVhdGVUZXRoZXJVU0RQcm90b2NvbCxcbiAgY3JlYXRlVGV6b3NGQTFwMlByb3RvY29sLFxuICBjcmVhdGVUZXpvc0ZBMlByb3RvY29sLFxuICBjcmVhdGVUZXpvc0t0UHJvdG9jb2wsXG4gIGNyZWF0ZVRlem9zUHJvdG9jb2wsXG4gIGNyZWF0ZVRlem9zU2hpZWxkZWRUZXpQcm90b2NvbCxcbiAgY3JlYXRlVHpCVENQcm90b2NvbCxcbiAgY3JlYXRlVUJUQ1Byb3RvY29sLFxuICBjcmVhdGVVREVGSVByb3RvY29sLFxuICBjcmVhdGVVU0RUZXpQcm90b2NvbCxcbiAgY3JlYXRlVVVTRFByb3RvY29sLFxuICBjcmVhdGVXcmFwcGVkVGV6b3NQcm90b2NvbCxcbiAgY3JlYXRlV3JhcFByb3RvY29sLFxuICBjcmVhdGVZb3VQcm90b2NvbCxcbiAgQ1RlelByb3RvY29sLFxuICBEb2dhbWlQcm90b2NvbCxcbiAgRVRIVGV6UHJvdG9jb2wsXG4gIEtvbGlicmlVU0RQcm90b2NvbCxcbiAgUGxlbnR5UHJvdG9jb2wsXG4gIFF1aXB1c3dhcFByb3RvY29sLFxuICBTaXJpdXNQcm90b2NvbCxcbiAgU3Rha2VyUHJvdG9jb2wsXG4gIFRldGhlclVTRFByb3RvY29sLFxuICBUZXpvc0ZBMXAyUHJvdG9jb2wsXG4gIFRlem9zRkEyUHJvdG9jb2wsXG4gIFRlem9zRkFQcm90b2NvbCxcbiAgVGV6b3NLdFByb3RvY29sLFxuICBUZXpvc01vZHVsZSxcbiAgVGV6b3NQcm90b2NvbCxcbiAgVGV6b3NQcm90b2NvbE5ldHdvcmssXG4gIFRlem9zU2hpZWxkZWRUZXpQcm90b2NvbCxcbiAgVHpCVENQcm90b2NvbCxcbiAgVUJUQ1Byb3RvY29sLFxuICBVREVGSVByb3RvY29sLFxuICBVU0RUZXpQcm90b2NvbCxcbiAgVVVTRFByb3RvY29sLFxuICBXcmFwcGVkVGV6b3NQcm90b2NvbCxcbiAgV3JhcFByb3RvY29sLFxuICBZb3VQcm90b2NvbFxufSBmcm9tICdAd2FsbGZyZWUtZGV2L3Rlem9zJ1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdAd2FsbGZyZWUtZGV2L2NvaW5saWItY29yZS9kZXBlbmRlbmNpZXMvc3JjL2JpZ251bWJlci5qcy05LjAuMC9iaWdudW1iZXInXG5cbmltcG9ydCB7XG4gIEFpckdhcFRyYW5zYWN0aW9uU3RhdHVzIGFzIEFpckdhcFRyYW5zYWN0aW9uU3RhdHVzVjAsXG4gIEFpckdhcFRyYW5zYWN0aW9uV2FybmluZyBhcyBBaXJHYXBVSUFsZXJ0VjAsXG4gIEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGVcbn0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUvaW50ZXJmYWNlcy9JQWlyR2FwVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpc0hleCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlL3V0aWxzL2hleCdcblxuaW1wb3J0IHtcbiAgY3JlYXRlSUNvaW5Qcm90b2NvbEFkYXB0ZXIsXG4gIGNyZWF0ZUlDb2luU3ViUHJvdG9jb2xBZGFwdGVyLFxuICBJQ29pblByb3RvY29sQWRhcHRlcixcbiAgSUNvaW5TdWJQcm90b2NvbEFkYXB0ZXIsXG4gIFByb3RvY29sQmxvY2tFeHBsb3JlckFkYXB0ZXIsXG4gIFByb3RvY29sTmV0d29ya0FkYXB0ZXJcbn0gZnJvbSAnLi4vLi4vcHJvdG9jb2wvYWRhcHRlci9wcm90b2NvbC12MC1hZGFwdGVyJ1xuXG4vLyBOZXR3b3JrXG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TmV0d29ya1R5cGVWMFRvVjEodHlwZTogUHJvdG9jb2xOZXR3b3JrVHlwZVYwKTogUHJvdG9jb2xOZXR3b3JrVHlwZVYxIHtcbiAgcmV0dXJuIHR5cGUgPT09IFByb3RvY29sTmV0d29ya1R5cGVWMC5NQUlOTkVUID8gJ21haW5uZXQnIDogdHlwZSA9PT0gUHJvdG9jb2xOZXR3b3JrVHlwZVYwLlRFU1RORVQgPyAndGVzdG5ldCcgOiAnY3VzdG9tJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydE5ldHdvcmtUeXBlVjFUb1YwKHR5cGU6IFByb3RvY29sTmV0d29ya1R5cGVWMSk6IFByb3RvY29sTmV0d29ya1R5cGVWMCB7XG4gIHJldHVybiB0eXBlID09PSAnbWFpbm5ldCdcbiAgICA/IFByb3RvY29sTmV0d29ya1R5cGVWMC5NQUlOTkVUXG4gICAgOiB0eXBlID09PSAndGVzdG5ldCdcbiAgICA/IFByb3RvY29sTmV0d29ya1R5cGVWMC5URVNUTkVUXG4gICAgOiBQcm90b2NvbE5ldHdvcmtUeXBlVjAuQ1VTVE9NXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TmV0d29ya1YwVG9WMShuZXR3b3JrOiBQcm90b2NvbE5ldHdvcmtWMCk6IFByb3RvY29sTmV0d29ya1YxIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuZXR3b3JrLm5hbWUsXG4gICAgdHlwZTogY29udmVydE5ldHdvcmtUeXBlVjBUb1YxKG5ldHdvcmsudHlwZSksXG4gICAgcnBjVXJsOiBuZXR3b3JrLnJwY1VybCxcbiAgICBibG9ja0V4cGxvcmVyVXJsOiBuZXR3b3JrLmJsb2NrRXhwbG9yZXIuYmxvY2tFeHBsb3JlcixcbiAgICAuLi4odHlwZW9mIG5ldHdvcmsuZXh0cmFzID09PSAnb2JqZWN0JyA/IG5ldHdvcmsuZXh0cmFzIDoge30pXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnROZXR3b3JrVjFUb1YwKG5ldHdvcms6IFByb3RvY29sTmV0d29ya1YxLCBibG9ja0V4cGxvcmVyPzogUHJvdG9jb2xCbG9ja0V4cGxvcmVyVjEpOiBQcm90b2NvbE5ldHdvcmtWMCB7XG4gIGNvbnN0IHsgbmFtZSwgdHlwZSwgcnBjVXJsLCAuLi5yZXN0IH0gPSBuZXR3b3JrXG4gIGNvbnN0IGJsb2NrRXhwbG9yZXJWMDogUHJvdG9jb2xCbG9ja0V4cGxvcmVyVjAgPSBuZXcgUHJvdG9jb2xCbG9ja0V4cGxvcmVyQWRhcHRlcihibG9ja0V4cGxvcmVyLCBuZXR3b3JrLmJsb2NrRXhwbG9yZXJVcmwpXG5cbiAgcmV0dXJuIG5ldyBQcm90b2NvbE5ldHdvcmtBZGFwdGVyKG5hbWUsIGNvbnZlcnROZXR3b3JrVHlwZVYxVG9WMCh0eXBlKSwgcnBjVXJsLCBibG9ja0V4cGxvcmVyVjAsIHJlc3QpXG59XG5cbi8vIFByb3RvY29sXG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUFkYXB0ZXJTdXBwbGVtZW50c0Zyb21JZGVudGlmaWVyQW5kTmV0d29yayhcbiAgbW9kdWxlOiBBaXJHYXBNb2R1bGUsXG4gIGlkZW50aWZpZXI6IHN0cmluZyxcbiAgbmV0d29yazogUHJvdG9jb2xOZXR3b3JrVjEgfCB1bmRlZmluZWRcbik6IFByb21pc2U8W1Byb3RvY29sQmxvY2tFeHBsb3JlclYxLCBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb25dPiB7XG4gIGNvbnN0IFtibG9ja0V4cGxvcmVyLCB2M1NlcmlhbGl6ZXJDb21wYW5pb25dID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgIG1vZHVsZS5jcmVhdGVCbG9ja0V4cGxvcmVyKGlkZW50aWZpZXIsIG5ldHdvcmspLFxuICAgIG1vZHVsZS5jcmVhdGVWM1NlcmlhbGl6ZXJDb21wYW5pb24oKVxuICBdKVxuXG4gIHJldHVybiBbYmxvY2tFeHBsb3JlciwgdjNTZXJpYWxpemVyQ29tcGFuaW9uXVxufVxuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVBZGFwdGVyU3VwcGxlbWVudHNGcm9tUHJvdG9jb2w8VCBleHRlbmRzIEFpckdhcEFueVByb3RvY29sPihcbiAgcHJvdG9jb2w6IFQsXG4gIG1vZHVsZTogQWlyR2FwTW9kdWxlXG4pOiBQcm9taXNlPFtQcm90b2NvbEJsb2NrRXhwbG9yZXJWMSwgQWlyR2FwVjNTZXJpYWxpemVyQ29tcGFuaW9uXT4ge1xuICBjb25zdCBbbWV0YWRhdGEsIG5ldHdvcmtdOiBbUHJvdG9jb2xNZXRhZGF0YSwgUHJvdG9jb2xOZXR3b3JrVjEgfCB1bmRlZmluZWRdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgIHByb3RvY29sLmdldE1ldGFkYXRhKCksXG4gICAgaXNPbmxpbmVQcm90b2NvbChwcm90b2NvbCkgPyBwcm90b2NvbC5nZXROZXR3b3JrKCkgOiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKVxuICBdKVxuXG4gIHJldHVybiBjcmVhdGVBZGFwdGVyU3VwcGxlbWVudHNGcm9tSWRlbnRpZmllckFuZE5ldHdvcmsobW9kdWxlLCBtZXRhZGF0YS5pZGVudGlmaWVyLCBuZXR3b3JrKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBQcm90b2NvbDxUIGV4dGVuZHMgQWlyR2FwQW55UHJvdG9jb2w+KFxuICBwcm90b2NvbDogVCxcbiAgbW9kdWxlOiBBaXJHYXBNb2R1bGUsXG4gIHR5cGU6IFByb3RvY29sQ29uZmlndXJhdGlvblsndHlwZSddID0gJ2Z1bGwnXG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPFQ+PiB7XG4gIGNvbnN0IFtibG9ja0V4cGxvcmVyLCB2M1NlcmlhbGl6ZXJDb21wYW5pb25dOiBbUHJvdG9jb2xCbG9ja0V4cGxvcmVyVjEsIEFpckdhcFYzU2VyaWFsaXplckNvbXBhbmlvbl0gPVxuICAgIGF3YWl0IGNyZWF0ZUFkYXB0ZXJTdXBwbGVtZW50c0Zyb21Qcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxuXG4gIHJldHVybiBjcmVhdGVJQ29pblByb3RvY29sQWRhcHRlcihwcm90b2NvbCwgYmxvY2tFeHBsb3JlciwgdjNTZXJpYWxpemVyQ29tcGFuaW9uLCB7IHR5cGUgfSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwU3ViUHJvdG9jb2w8VCBleHRlbmRzIEFpckdhcEFueVByb3RvY29sICYgU3ViUHJvdG9jb2w+KFxuICBwcm90b2NvbDogVCxcbiAgbW9kdWxlOiBBaXJHYXBNb2R1bGUsXG4gIHR5cGU6IFByb3RvY29sQ29uZmlndXJhdGlvblsndHlwZSddID0gJ2Z1bGwnXG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFQ+PiB7XG4gIGNvbnN0IFtibG9ja0V4cGxvcmVyLCB2M1NlcmlhbGl6ZXJDb21wYW5pb25dOiBbUHJvdG9jb2xCbG9ja0V4cGxvcmVyVjEsIEFpckdhcFYzU2VyaWFsaXplckNvbXBhbmlvbl0gPVxuICAgIGF3YWl0IGNyZWF0ZUFkYXB0ZXJTdXBwbGVtZW50c0Zyb21Qcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxuXG4gIHJldHVybiBjcmVhdGVJQ29pblN1YlByb3RvY29sQWRhcHRlcihwcm90b2NvbCwgYmxvY2tFeHBsb3JlciwgdjNTZXJpYWxpemVyQ29tcGFuaW9uLCB7IHR5cGUgfSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwRVJDMjBUb2tlbjxUIGV4dGVuZHMgQWlyR2FwQW55UHJvdG9jb2wgJiBTdWJQcm90b2NvbD4oXG4gIGVyYzIwVG9rZW46IFQsXG4gIHByb3RvY29sOiBBaXJHYXBBbnlQcm90b2NvbCxcbiAgbW9kdWxlOiBBaXJHYXBNb2R1bGUsXG4gIHR5cGU6IFByb3RvY29sQ29uZmlndXJhdGlvblsndHlwZSddID0gJ2Z1bGwnXG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFQ+PiB7XG4gIGNvbnN0IFttZXRhZGF0YSwgbmV0d29ya106IFtQcm90b2NvbE1ldGFkYXRhLCBQcm90b2NvbE5ldHdvcmtWMSB8IHVuZGVmaW5lZF0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgcHJvdG9jb2wuZ2V0TWV0YWRhdGEoKSxcbiAgICBpc09ubGluZVByb3RvY29sKGVyYzIwVG9rZW4pID8gZXJjMjBUb2tlbi5nZXROZXR3b3JrKCkgOiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKVxuICBdKVxuXG4gIGNvbnN0IFtibG9ja0V4cGxvcmVyLCB2M1NlcmlhbGl6ZXJDb21wYW5pb25dID0gYXdhaXQgY3JlYXRlQWRhcHRlclN1cHBsZW1lbnRzRnJvbUlkZW50aWZpZXJBbmROZXR3b3JrKFxuICAgIG1vZHVsZSxcbiAgICBtZXRhZGF0YS5pZGVudGlmaWVyLFxuICAgIG5ldHdvcmtcbiAgKVxuXG4gIHJldHVybiBjcmVhdGVJQ29pblN1YlByb3RvY29sQWRhcHRlcihlcmMyMFRva2VuLCBibG9ja0V4cGxvcmVyLCB2M1NlcmlhbGl6ZXJDb21wYW5pb24sIHsgdHlwZSB9KVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBBZXRlcm5pdHlQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlQWV0ZXJuaXR5UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPEFldGVybml0eVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogQWV0ZXJuaXR5UHJvdG9jb2wgPSBjcmVhdGVBZXRlcm5pdHlQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IEFldGVybml0eU1vZHVsZSA9IG5ldyBBZXRlcm5pdHlNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMEFzdGFyUHJvdG9jb2woLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlQXN0YXJQcm90b2NvbD4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPEFzdGFyUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBBc3RhclByb3RvY29sID0gY3JlYXRlQXN0YXJQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IEFzdGFyTW9kdWxlID0gbmV3IEFzdGFyTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBTaGlkZW5Qcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlU2hpZGVuUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPFNoaWRlblByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogU2hpZGVuUHJvdG9jb2wgPSBjcmVhdGVTaGlkZW5Qcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IEFzdGFyTW9kdWxlID0gbmV3IEFzdGFyTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBCaXRjb2luUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUJpdGNvaW5Qcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8Qml0Y29pblByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogQml0Y29pblByb3RvY29sID0gY3JlYXRlQml0Y29pblByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogQml0Y29pbk1vZHVsZSA9IG5ldyBCaXRjb2luTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBCaXRjb2luU2Vnd2l0UHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUJpdGNvaW5TZWd3aXRQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8Qml0Y29pblNlZ3dpdFByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogQml0Y29pblNlZ3dpdFByb3RvY29sID0gY3JlYXRlQml0Y29pblNlZ3dpdFByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogQml0Y29pbk1vZHVsZSA9IG5ldyBCaXRjb2luTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBDb3JldW1Qcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlQ29yZXVtUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPENvcmV1bVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogQ29yZXVtUHJvdG9jb2wgPSBjcmVhdGVDb3JldW1Qcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IENvcmV1bU1vZHVsZSA9IG5ldyBDb3JldW1Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMENvc21vc1Byb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVDb3Ntb3NQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8Q29zbW9zUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBDb3Ntb3NQcm90b2NvbCA9IGNyZWF0ZUNvc21vc1Byb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogQ29zbW9zTW9kdWxlID0gbmV3IENvc21vc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwRXRoZXJldW1Qcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlRXRoZXJldW1Qcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8RXRoZXJldW1Qcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IEV0aGVyZXVtUHJvdG9jb2wgPSBjcmVhdGVFdGhlcmV1bVByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogRXRoZXJldW1Nb2R1bGUgPSBuZXcgRXRoZXJldW1Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMEV0aGVyZXVtRVJDMjBUb2tlbihcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlRXRoZXJldW1FUkMyMFRva2VuPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxFdGhlcmV1bUVSQzIwVG9rZW4+PiB7XG4gIGNvbnN0IGVyYzIwVG9rZW46IEV0aGVyZXVtRVJDMjBUb2tlbiA9IGNyZWF0ZUV0aGVyZXVtRVJDMjBUb2tlbiguLi5hcmdzKVxuICBjb25zdCBldGhlcmV1bVByb3RvY29sOiBFdGhlcmV1bVByb3RvY29sID0gY3JlYXRlRXRoZXJldW1Qcm90b2NvbChhcmdzWzFdKVxuICBjb25zdCBtb2R1bGU6IEV0aGVyZXVtTW9kdWxlID0gbmV3IEV0aGVyZXVtTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBFUkMyMFRva2VuKGVyYzIwVG9rZW4sIGV0aGVyZXVtUHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwR3JvZXN0bGNvaW5Qcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlR3JvZXN0bGNvaW5Qcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8R3JvZXN0bGNvaW5Qcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IEdyb2VzdGxjb2luUHJvdG9jb2wgPSBjcmVhdGVHcm9lc3RsY29pblByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogR3JvZXN0bGNvaW5Nb2R1bGUgPSBuZXcgR3JvZXN0bGNvaW5Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMElDUFByb3RvY29sKC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUlDUFByb3RvY29sPik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8SUNQUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBJQ1BQcm90b2NvbCA9IGNyZWF0ZUlDUFByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogSUNQTW9kdWxlID0gbmV3IElDUE1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwTW9vbmJlYW1Qcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlTW9vbmJlYW1Qcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8TW9vbmJlYW1Qcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IE1vb25iZWFtUHJvdG9jb2wgPSBjcmVhdGVNb29uYmVhbVByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogTW9vbmJlYW1Nb2R1bGUgPSBuZXcgTW9vbmJlYW1Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWME1vb25yaXZlclByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVNb29ucml2ZXJQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8TW9vbnJpdmVyUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBNb29ucml2ZXJQcm90b2NvbCA9IGNyZWF0ZU1vb25yaXZlclByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogTW9vbmJlYW1Nb2R1bGUgPSBuZXcgTW9vbmJlYW1Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWME1vb25iYXNlUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZU1vb25iYXNlUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPE1vb25iYXNlUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBNb29uYmFzZVByb3RvY29sID0gY3JlYXRlTW9vbmJhc2VQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IE1vb25iZWFtTW9kdWxlID0gbmV3IE1vb25iZWFtTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBPcHRpbWlzbVByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVPcHRpbWlzbVByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxPcHRpbWlzbVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogT3B0aW1pc21Qcm90b2NvbCA9IGNyZWF0ZU9wdGltaXNtUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBPcHRpbWlzbU1vZHVsZSA9IG5ldyBPcHRpbWlzbU1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwT3B0aW1pc21FUkMyMFRva2VuKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVPcHRpbWlzbUVSQzIwVG9rZW4+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPE9wdGltaXNtRVJDMjBUb2tlbj4+IHtcbiAgY29uc3QgZXJjMjBUb2tlbjogT3B0aW1pc21FUkMyMFRva2VuID0gY3JlYXRlT3B0aW1pc21FUkMyMFRva2VuKC4uLmFyZ3MpXG4gIGNvbnN0IG9wdGltaXNtUHJvdG9jb2w6IE9wdGltaXNtUHJvdG9jb2wgPSBjcmVhdGVPcHRpbWlzbVByb3RvY29sKGFyZ3NbMV0pXG4gIGNvbnN0IG1vZHVsZTogT3B0aW1pc21Nb2R1bGUgPSBuZXcgT3B0aW1pc21Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMEVSQzIwVG9rZW4oZXJjMjBUb2tlbiwgb3B0aW1pc21Qcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBQb2xrYWRvdFByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVQb2xrYWRvdFByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxQb2xrYWRvdFByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogUG9sa2Fkb3RQcm90b2NvbCA9IGNyZWF0ZVBvbGthZG90UHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBQb2xrYWRvdE1vZHVsZSA9IG5ldyBQb2xrYWRvdE1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwS3VzYW1hUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUt1c2FtYVByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxLdXNhbWFQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IEt1c2FtYVByb3RvY29sID0gY3JlYXRlS3VzYW1hUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBQb2xrYWRvdE1vZHVsZSA9IG5ldyBQb2xrYWRvdE1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwU29sYW5hUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVNvbGFuYVByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxTb2xhbmFQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFNvbGFuYVByb3RvY29sID0gY3JlYXRlU29sYW5hUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBhbnkgPSBuZXcgU29sYW5hTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1Byb3RvY29sKC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVRlem9zUHJvdG9jb2w+KTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxUZXpvc1Byb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogVGV6b3NQcm90b2NvbCA9IGNyZWF0ZVRlem9zUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NTaGllbGRlZFRlelByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVUZXpvc1NoaWVsZGVkVGV6UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPFRlem9zU2hpZWxkZWRUZXpQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFRlem9zU2hpZWxkZWRUZXpQcm90b2NvbCA9IGNyZWF0ZVRlem9zU2hpZWxkZWRUZXpQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc0t0UHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVRlem9zS3RQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VGV6b3NLdFByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogVGV6b3NLdFByb3RvY29sID0gY3JlYXRlVGV6b3NLdFByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NGQVByb3RvY29sPFQgZXh0ZW5kcyBUZXpvc0ZBUHJvdG9jb2w+KFxuICBmYVByb3RvY29sOiBULFxuICB0ZXpvc05ldHdvcms/OiBSZWN1cnNpdmVQYXJ0aWFsPFRlem9zUHJvdG9jb2xOZXR3b3JrPixcbiAgdHlwZTogUHJvdG9jb2xDb25maWd1cmF0aW9uWyd0eXBlJ10gPSAnZnVsbCdcbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VD4+IHtcbiAgY29uc3QgdGV6b3NQcm90b2NvbDogVGV6b3NQcm90b2NvbCA9IGNyZWF0ZVRlem9zUHJvdG9jb2woeyBuZXR3b3JrOiB0ZXpvc05ldHdvcmsgfSlcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgY29uc3QgW21ldGFkYXRhLCBuZXR3b3JrXTogW1Byb3RvY29sTWV0YWRhdGEsIFByb3RvY29sTmV0d29ya1YxIHwgdW5kZWZpbmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICB0ZXpvc1Byb3RvY29sLmdldE1ldGFkYXRhKCksXG4gICAgaXNPbmxpbmVQcm90b2NvbChmYVByb3RvY29sKSA/IGZhUHJvdG9jb2wuZ2V0TmV0d29yaygpIDogUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZClcbiAgXSlcblxuICBjb25zdCBbYmxvY2tFeHBsb3JlciwgdjNTZXJpYWxpemVyQ29tcGFuaW9uXSA9IGF3YWl0IGNyZWF0ZUFkYXB0ZXJTdXBwbGVtZW50c0Zyb21JZGVudGlmaWVyQW5kTmV0d29yayhcbiAgICBtb2R1bGUsXG4gICAgbWV0YWRhdGEuaWRlbnRpZmllcixcbiAgICBuZXR3b3JrXG4gIClcblxuICByZXR1cm4gY3JlYXRlSUNvaW5TdWJQcm90b2NvbEFkYXB0ZXIoZmFQcm90b2NvbCwgYmxvY2tFeHBsb3JlciwgdjNTZXJpYWxpemVyQ29tcGFuaW9uLCB7IHR5cGUgfSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NGQTFwMlByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVUZXpvc0ZBMXAyUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFRlem9zRkExcDJQcm90b2NvbD4+IHtcbiAgY29uc3QgZmExcDJQcm90b2NvbDogVGV6b3NGQTFwMlByb3RvY29sID0gY3JlYXRlVGV6b3NGQTFwMlByb3RvY29sKC4uLmFyZ3MpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwVGV6b3NGQVByb3RvY29sKGZhMXAyUHJvdG9jb2wsIGFyZ3NbMF0ubmV0d29yaylcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NGQTJQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlVGV6b3NGQTJQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VGV6b3NGQTJQcm90b2NvbD4+IHtcbiAgY29uc3QgZmEyUHJvdG9jb2w6IFRlem9zRkEyUHJvdG9jb2wgPSBjcmVhdGVUZXpvc0ZBMlByb3RvY29sKC4uLmFyZ3MpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwVGV6b3NGQVByb3RvY29sKGZhMlByb3RvY29sLCBhcmdzWzBdLm5ldHdvcmspXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zQlRDVGV6UHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUJUQ1RlelByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxCVENUZXpQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IEJUQ1RlelByb3RvY29sID0gY3JlYXRlQlRDVGV6UHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NDVGV6UHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUNUZXpQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8Q1RlelByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogQ1RlelByb3RvY29sID0gY3JlYXRlQ1RlelByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zRG9nYW1pUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZURvZ2FtaVByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxEb2dhbWlQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IERvZ2FtaVByb3RvY29sID0gY3JlYXRlRG9nYW1pUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NFVEhUZXpQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlRVRIVGV6UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPEVUSFRlelByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogRVRIVGV6UHJvdG9jb2wgPSBjcmVhdGVFVEhUZXpQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc0tvbGlicmlVU0RQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlS29saWJyaVVTRFByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxLb2xpYnJpVVNEUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBLb2xpYnJpVVNEUHJvdG9jb2wgPSBjcmVhdGVLb2xpYnJpVVNEUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NQbGVudHlQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlUGxlbnR5UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFBsZW50eVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogUGxlbnR5UHJvdG9jb2wgPSBjcmVhdGVQbGVudHlQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1F1aXB1c3dhcFByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVRdWlwdXN3YXBQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8UXVpcHVzd2FwUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBRdWlwdXN3YXBQcm90b2NvbCA9IGNyZWF0ZVF1aXB1c3dhcFByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zU2lyaXVzUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVNpcml1c1Byb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxTaXJpdXNQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFNpcml1c1Byb3RvY29sID0gY3JlYXRlU2lyaXVzUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NTdGFrZXJQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlU3Rha2VyUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFN0YWtlclByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogU3Rha2VyUHJvdG9jb2wgPSBjcmVhdGVTdGFrZXJQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1RldGhlclVTRFByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVUZXRoZXJVU0RQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VGV0aGVyVVNEUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBUZXRoZXJVU0RQcm90b2NvbCA9IGNyZWF0ZVRldGhlclVTRFByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zVHpCVENQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlVHpCVENQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VHpCVENQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFR6QlRDUHJvdG9jb2wgPSBjcmVhdGVUekJUQ1Byb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zVUJUQ1Byb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVVQlRDUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFVCVENQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFVCVENQcm90b2NvbCA9IGNyZWF0ZVVCVENQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1VERUZJUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVVERUZJUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFVERUZJUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBVREVGSVByb3RvY29sID0gY3JlYXRlVURFRklQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1VTRFRlelByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVVU0RUZXpQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VVNEVGV6UHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBVU0RUZXpQcm90b2NvbCA9IGNyZWF0ZVVTRFRlelByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zVVVTRFByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVVVVNEUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFVVU0RQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFVVU0RQcm90b2NvbCA9IGNyZWF0ZVVVU0RQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1dyYXBwZWRQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlV3JhcHBlZFRlem9zUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFdyYXBwZWRUZXpvc1Byb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogV3JhcHBlZFRlem9zUHJvdG9jb2wgPSBjcmVhdGVXcmFwcGVkVGV6b3NQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1dyYXBQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlV3JhcFByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxXcmFwUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBXcmFwUHJvdG9jb2wgPSBjcmVhdGVXcmFwUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NZb3VQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlWW91UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFlvdVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogWW91UHJvdG9jb2wgPSBjcmVhdGVZb3VQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG4vLyBUcmFuc2FjdGlvblxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9uU3RhdHVzVjFUb1YwKHN0YXR1czogQWlyR2FwVHJhbnNhY3Rpb25TdGF0dXNWMSk6IEFpckdhcFRyYW5zYWN0aW9uU3RhdHVzVjAge1xuICByZXR1cm4gc3RhdHVzLnR5cGUgPT09ICdhcHBsaWVkJ1xuICAgID8gQWlyR2FwVHJhbnNhY3Rpb25TdGF0dXNWMC5BUFBMSUVEXG4gICAgOiBzdGF0dXMudHlwZSA9PT0gJ2ZhaWxlZCdcbiAgICA/IEFpckdhcFRyYW5zYWN0aW9uU3RhdHVzVjAuRkFJTEVEXG4gICAgOiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gY29udmVydFVJQWN0aW9uc1YxVG9WMChhY3Rpb25zOiBBaXJHYXBVSUFjdGlvblYxW10pOiBBaXJHYXBVSUFsZXJ0VjBbJ2FjdGlvbnMnXSB7XG4gIHJldHVybiBhY3Rpb25zLm1hcCgoYWN0aW9uOiBBaXJHYXBVSUFjdGlvblYxKSA9PiAoe1xuICAgIHRleHQ6IGFjdGlvbi50ZXh0LnZhbHVlLFxuICAgIGxpbms6ICcnXG4gIH0pKVxufVxuXG5mdW5jdGlvbiBjb252ZXJ0VUlBbGVydHNWMVRvVjAoYWxlcnRzOiBBaXJHYXBVSUFsZXJ0VjFbXSk6IEFpckdhcFVJQWxlcnRWMFtdIHtcbiAgcmV0dXJuIGFsZXJ0cy5tYXAoKGFsZXJ0OiBBaXJHYXBVSUFsZXJ0VjEpID0+ICh7XG4gICAgdHlwZTpcbiAgICAgIGFsZXJ0LnR5cGUgPT09ICdzdWNjZXNzJ1xuICAgICAgICA/IEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGUuU1VDQ0VTU1xuICAgICAgICA6IGFsZXJ0LnR5cGUgPT09ICdpbmZvJ1xuICAgICAgICA/IEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGUuTk9URVxuICAgICAgICA6IGFsZXJ0LnR5cGUgPT09ICd3YXJuaW5nJ1xuICAgICAgICA/IEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGUuV0FSTklOR1xuICAgICAgICA6IEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGUuRVJST1IsXG4gICAgdGl0bGU6IGFsZXJ0LnRpdGxlLnZhbHVlLFxuICAgIGRlc2NyaXB0aW9uOiBhbGVydC5kZXNjcmlwdGlvbi52YWx1ZSxcbiAgICBpY29uOiBhbGVydC5pY29uLFxuICAgIGFjdGlvbnM6IGFsZXJ0LmFjdGlvbnMgPyBjb252ZXJ0VUlBY3Rpb25zVjFUb1YwKGFsZXJ0LmFjdGlvbnMpIDogdW5kZWZpbmVkXG4gIH0pKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9uRGV0YWlsc1YxVG9WMChcbiAgdHhzOiBBaXJHYXBUcmFuc2FjdGlvblYxW10sXG4gIHByb3RvY29sOiBBaXJHYXBPbmxpbmVQcm90b2NvbFxuKTogUHJvbWlzZTxBaXJHYXBUcmFuc2FjdGlvblYwW10+XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9uRGV0YWlsc1YxVG9WMChcbiAgdHhzOiBBaXJHYXBUcmFuc2FjdGlvblYxW10sXG4gIG1ldGFkYXRhOiBQcm90b2NvbE1ldGFkYXRhLFxuICBuZXR3b3JrOiBQcm90b2NvbE5ldHdvcmtWMSB8IFByb3RvY29sTmV0d29ya1YwXG4pOiBQcm9taXNlPEFpckdhcFRyYW5zYWN0aW9uVjBbXT5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25EZXRhaWxzVjFUb1YwKFxuICB0eHM6IEFpckdhcFRyYW5zYWN0aW9uVjFbXSxcbiAgcHJvdG9jb2xPck1ldGFkYXRhOiBBaXJHYXBPbmxpbmVQcm90b2NvbCB8IFByb3RvY29sTWV0YWRhdGEsXG4gIG5ldHdvcmtPclVuZGVmaW5lZD86IFByb3RvY29sTmV0d29ya1YxIHwgUHJvdG9jb2xOZXR3b3JrVjBcbik6IFByb21pc2U8QWlyR2FwVHJhbnNhY3Rpb25WMFtdPiB7XG4gIGNvbnN0IHByb3RvY29sTWV0YWRhdGE6IFByb3RvY29sTWV0YWRhdGEgPSBpc09ubGluZVByb3RvY29sKHByb3RvY29sT3JNZXRhZGF0YSlcbiAgICA/IGF3YWl0IHByb3RvY29sT3JNZXRhZGF0YS5nZXRNZXRhZGF0YSgpXG4gICAgOiBwcm90b2NvbE9yTWV0YWRhdGFcblxuICBjb25zdCBuZXR3b3JrVjA6IFByb3RvY29sTmV0d29ya1YwID0gaXNPbmxpbmVQcm90b2NvbChwcm90b2NvbE9yTWV0YWRhdGEpXG4gICAgPyBjb252ZXJ0TmV0d29ya1YxVG9WMChhd2FpdCBwcm90b2NvbE9yTWV0YWRhdGEuZ2V0TmV0d29yaygpKVxuICAgIDogbmV0d29ya09yVW5kZWZpbmVkIGluc3RhbmNlb2YgUHJvdG9jb2xOZXR3b3JrVjBcbiAgICA/IG5ldHdvcmtPclVuZGVmaW5lZFxuICAgIDogY29udmVydE5ldHdvcmtWMVRvVjAobmV0d29ya09yVW5kZWZpbmVkKVxuXG4gIGNvbnN0IHVuaXRzOiBQcm90b2NvbFVuaXRzTWV0YWRhdGEgPSBwcm90b2NvbE1ldGFkYXRhLnVuaXRzXG4gIGNvbnN0IGZlZVVuaXRzOiBQcm90b2NvbFVuaXRzTWV0YWRhdGEgPSBwcm90b2NvbE1ldGFkYXRhLmZlZT8udW5pdHMgPz8gdW5pdHNcblxuICByZXR1cm4gdHhzLm1hcCgodHg6IEFpckdhcFRyYW5zYWN0aW9uVjEpOiBBaXJHYXBUcmFuc2FjdGlvblYwID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZnJvbTogdHguZnJvbSxcbiAgICAgIHRvOiB0eC50byxcbiAgICAgIGlzSW5ib3VuZDogdHguaXNJbmJvdW5kLFxuXG4gICAgICBhbW91bnQ6IG5ld0Ftb3VudCh0eC5hbW91bnQpLmJsb2NrY2hhaW4odW5pdHMpLnZhbHVlLFxuICAgICAgZmVlOiBuZXdBbW91bnQodHguZmVlKS5ibG9ja2NoYWluKGZlZVVuaXRzKS52YWx1ZSxcblxuICAgICAgdGltZXN0YW1wOiB0eC50aW1lc3RhbXAsXG4gICAgICBjaGFuZ2VBZGRyZXNzSW5mbzogdHguY2hhbmdlQWRkcmVzc0luZm8sXG4gICAgICBkaXNwbGF5RnJvbVRvOiB0eC5kaXNwbGF5RnJvbVRvLFxuXG4gICAgICBwcm90b2NvbElkZW50aWZpZXI6IHByb3RvY29sTWV0YWRhdGEuaWRlbnRpZmllciBhcyBQcm90b2NvbFN5bWJvbHMsXG4gICAgICBuZXR3b3JrOiBuZXR3b3JrVjAsXG5cbiAgICAgIGRhdGE6IHR5cGVvZiB0eC5hcmJpdHJhcnlEYXRhID09PSAnc3RyaW5nJyA/IHR4LmFyYml0cmFyeURhdGEgOiB0eC5hcmJpdHJhcnlEYXRhPy5bMV0sXG5cbiAgICAgIGhhc2g6IHR4LnN0YXR1cz8uaGFzaCxcbiAgICAgIGJsb2NrSGVpZ2h0OiB0eC5zdGF0dXM/LmJsb2NrLFxuICAgICAgc3RhdHVzOiB0eC5zdGF0dXMgPyBjb252ZXJ0VHJhbnNhY3Rpb25TdGF0dXNWMVRvVjAodHguc3RhdHVzKSA6IHVuZGVmaW5lZCxcblxuICAgICAgd2FybmluZ3M6IHR4LnVpQWxlcnRzID8gY29udmVydFVJQWxlcnRzVjFUb1YwKHR4LnVpQWxlcnRzKSA6IHVuZGVmaW5lZCxcblxuICAgICAgZXh0cmE6IHtcbiAgICAgICAgLi4udHguZXh0cmEsXG4gICAgICAgIHR5cGU6IHR4LnR5cGVcbiAgICAgIH0sXG4gICAgICB0cmFuc2FjdGlvbkRldGFpbHM6IHR4Lmpzb25cbiAgICB9XG4gIH0pXG59XG5cbi8vIEZlZURlZmF1bHRzXG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0RmVlRGVmYXVsdHNWMFRvVjE8X0ZlZVVuaXRzIGV4dGVuZHMgc3RyaW5nPihmZWVEZWZhdWx0czogRmVlRGVmYXVsdHNWMCwgZGVjaW1hbHM6IG51bWJlcik6IEZlZURlZmF1bHRzVjE8X0ZlZVVuaXRzPiB7XG4gIHJldHVybiB7XG4gICAgbG93OiBuZXdBbW91bnQobmV3IEJpZ051bWJlcihmZWVEZWZhdWx0cy5sb3cpLnNoaWZ0ZWRCeShkZWNpbWFscyksICdibG9ja2NoYWluJyksXG4gICAgbWVkaXVtOiBuZXdBbW91bnQobmV3IEJpZ051bWJlcihmZWVEZWZhdWx0cy5tZWRpdW0pLnNoaWZ0ZWRCeShkZWNpbWFscyksICdibG9ja2NoYWluJyksXG4gICAgaGlnaDogbmV3QW1vdW50KG5ldyBCaWdOdW1iZXIoZmVlRGVmYXVsdHMuaGlnaCkuc2hpZnRlZEJ5KGRlY2ltYWxzKSwgJ2Jsb2NrY2hhaW4nKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0RmVlRGVmYXVsdHNWMVRvVjAoZmVlRGVmYXVsdHM6IEZlZURlZmF1bHRzVjEsIHByb3RvY29sTWV0YWRhdGE6IFByb3RvY29sTWV0YWRhdGEpOiBGZWVEZWZhdWx0c1YwIHtcbiAgY29uc3QgZmVlVW5pdHM6IFByb3RvY29sVW5pdHNNZXRhZGF0YSA9IHByb3RvY29sTWV0YWRhdGEuZmVlPy51bml0cyA/PyBwcm90b2NvbE1ldGFkYXRhLnVuaXRzXG4gIGNvbnN0IGZlZVVuaXQ6IHN0cmluZyA9IHByb3RvY29sTWV0YWRhdGEuZmVlPy5tYWluVW5pdCA/PyBwcm90b2NvbE1ldGFkYXRhLm1haW5Vbml0XG5cbiAgcmV0dXJuIHtcbiAgICBsb3c6IG5ldyBCaWdOdW1iZXIobmV3QW1vdW50KGZlZURlZmF1bHRzLmxvdykuY29udmVydChmZWVVbml0LCBmZWVVbml0cykudmFsdWUpLnRvRml4ZWQoKSxcbiAgICBtZWRpdW06IG5ldyBCaWdOdW1iZXIobmV3QW1vdW50KGZlZURlZmF1bHRzLm1lZGl1bSkuY29udmVydChmZWVVbml0LCBmZWVVbml0cykudmFsdWUpLnRvRml4ZWQoKSxcbiAgICBoaWdoOiBuZXcgQmlnTnVtYmVyKG5ld0Ftb3VudChmZWVEZWZhdWx0cy5oaWdoKS5jb252ZXJ0KGZlZVVuaXQsIGZlZVVuaXRzKS52YWx1ZSkudG9GaXhlZCgpXG4gIH1cbn1cblxuLy8gQnl0ZXNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ5dGVzRm9ybWF0VjFGcm9tVjAoYnl0ZXM6IHN0cmluZyk6IEJ5dGVzU3RyaW5nRm9ybWF0IHtcbiAgcmV0dXJuIGlzSGV4KGJ5dGVzKSA/ICdoZXgnIDogJ2VuY29kZWQnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWNyZXRLZXlUeXBlKHNlY3JldEtleTogc3RyaW5nKTogU2VjcmV0S2V5Wyd0eXBlJ10gfCBFeHRlbmRlZFNlY3JldEtleVsndHlwZSddIHtcbiAgcmV0dXJuIHNlY3JldEtleS5zdGFydHNXaXRoKCd4cHJ2JykgPyAneHByaXYnIDogJ3ByaXYnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQdWJsaWNLZXlUeXBlKHB1YmxpY0tleTogc3RyaW5nKTogUHVibGljS2V5Wyd0eXBlJ10gfCBFeHRlbmRlZFB1YmxpY0tleVsndHlwZSddIHtcbiAgcmV0dXJuIHB1YmxpY0tleS5zdGFydHNXaXRoKCd4cHViJykgPyAneHB1YicgOiAncHViJ1xufVxuIl19
|
|
396
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2wtdjAtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvcHJvdG9jb2wvcHJvdG9jb2wtdjAtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBcUIsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFpQixtQkFBbUIsRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQTtBQUMzSCxPQUFPLEVBQ0wsZUFBZSxJQUFJLGlCQUFpQixFQUNwQyxXQUFXLElBQUkscUJBQXFCLEVBS3JDLE1BQU0sNEJBQTRCLENBQUE7QUFDbkMsT0FBTyxFQUNMLGdCQUFnQixJQUFJLHdCQUF3QixFQUM1QyxzQkFBc0IsRUFFdEIsY0FBYyxFQUVmLE1BQU0sd0JBQXdCLENBQUE7QUFDL0IsT0FBTyxFQWNMLGdCQUFnQixFQUNoQixTQUFTLEVBVVYsTUFBTSwwQkFBMEIsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsYUFBYSxFQUEwQyxxQkFBcUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2pKLE9BQU8sRUFBRSxZQUFZLEVBQWtCLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsaUJBQWlCLEVBQXVCLE1BQU0sMkJBQTJCLENBQUE7QUFDN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBZSxNQUFNLG1CQUFtQixDQUFBO0FBQzdFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUV2QixjQUFjLEVBR2YsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVB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O1FBQ3pGLE1BQU0sRUFBRSxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO1FBQy9GLElBQUksRUFBRSxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO0tBQzVGLENBQUE7QUFDSCxDQUFDO0FBRUQsUUFBUTtBQUVSLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUFhO0lBQ2xELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFNBQWlCO0lBQ2hELE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7QUFDeEQsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxTQUFpQjtJQUNoRCxPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGluZXMgKi9cbmltcG9ydCB7IEFldGVybml0eU1vZHVsZSwgQWV0ZXJuaXR5UHJvdG9jb2wsIGNyZWF0ZUFldGVybml0eVByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9hZXRlcm5pdHknXG5pbXBvcnQgeyBBc3Rhck1vZHVsZSwgQXN0YXJQcm90b2NvbCwgY3JlYXRlQXN0YXJQcm90b2NvbCwgY3JlYXRlU2hpZGVuUHJvdG9jb2wsIFNoaWRlblByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9hc3RhcidcbmltcG9ydCB7XG4gIFByb3RvY29sTmV0d29yayBhcyBQcm90b2NvbE5ldHdvcmtWMCxcbiAgTmV0d29ya1R5cGUgYXMgUHJvdG9jb2xOZXR3b3JrVHlwZVYwLFxuICBQcm90b2NvbEJsb2NrRXhwbG9yZXIgYXMgUHJvdG9jb2xCbG9ja0V4cGxvcmVyVjAsXG4gIEZlZURlZmF1bHRzIGFzIEZlZURlZmF1bHRzVjAsXG4gIElBaXJHYXBUcmFuc2FjdGlvbiBhcyBBaXJHYXBUcmFuc2FjdGlvblYwLFxuICBQcm90b2NvbFN5bWJvbHNcbn0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUnXG5pbXBvcnQge1xuICBjcmVhdGVFUkMyMFRva2VuIGFzIGNyZWF0ZUV0aGVyZXVtRVJDMjBUb2tlbixcbiAgY3JlYXRlRXRoZXJldW1Qcm90b2NvbCxcbiAgRVJDMjBUb2tlbiBhcyBFdGhlcmV1bUVSQzIwVG9rZW4sXG4gIEV0aGVyZXVtTW9kdWxlLFxuICBFdGhlcmV1bVByb3RvY29sXG59IGZyb20gJ0B3YWxsZnJlZS1kZXYvZXRoZXJldW0nXG5pbXBvcnQge1xuICBBaXJHYXBBbnlQcm90b2NvbCxcbiAgQWlyR2FwQmxvY2tFeHBsb3JlciBhcyBQcm90b2NvbEJsb2NrRXhwbG9yZXJWMSxcbiAgQWlyR2FwTW9kdWxlLFxuICBBaXJHYXBPbmxpbmVQcm90b2NvbCxcbiAgQWlyR2FwVHJhbnNhY3Rpb24gYXMgQWlyR2FwVHJhbnNhY3Rpb25WMSxcbiAgQWlyR2FwVHJhbnNhY3Rpb25TdGF0dXMgYXMgQWlyR2FwVHJhbnNhY3Rpb25TdGF0dXNWMSxcbiAgQWlyR2FwVUlBY3Rpb24gYXMgQWlyR2FwVUlBY3Rpb25WMSxcbiAgQWlyR2FwVUlBbGVydCBhcyBBaXJHYXBVSUFsZXJ0VjEsXG4gIEFpckdhcFYzU2VyaWFsaXplckNvbXBhbmlvbixcbiAgQnl0ZXNTdHJpbmdGb3JtYXQsXG4gIEV4dGVuZGVkUHVibGljS2V5LFxuICBFeHRlbmRlZFNlY3JldEtleSxcbiAgRmVlRGVmYXVsdHMgYXMgRmVlRGVmYXVsdHNWMSxcbiAgaXNPbmxpbmVQcm90b2NvbCxcbiAgbmV3QW1vdW50LFxuICBQcm90b2NvbENvbmZpZ3VyYXRpb24sXG4gIFByb3RvY29sTWV0YWRhdGEsXG4gIFByb3RvY29sTmV0d29yayBhcyBQcm90b2NvbE5ldHdvcmtWMSxcbiAgUHJvdG9jb2xOZXR3b3JrVHlwZSBhcyBQcm90b2NvbE5ldHdvcmtUeXBlVjEsXG4gIFByb3RvY29sVW5pdHNNZXRhZGF0YSxcbiAgUHVibGljS2V5LFxuICBSZWN1cnNpdmVQYXJ0aWFsLFxuICBTZWNyZXRLZXksXG4gIFN1YlByb3RvY29sXG59IGZyb20gJ0B3YWxsZnJlZS1kZXYvbW9kdWxlLWtpdCdcbmltcG9ydCB7IEJpdGNvaW5Nb2R1bGUsIEJpdGNvaW5Qcm90b2NvbCwgQml0Y29pblNlZ3dpdFByb3RvY29sLCBjcmVhdGVCaXRjb2luUHJvdG9jb2wsIGNyZWF0ZUJpdGNvaW5TZWd3aXRQcm90b2NvbCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYml0Y29pbidcbmltcG9ydCB7IENvcmV1bU1vZHVsZSwgQ29yZXVtUHJvdG9jb2wsIGNyZWF0ZUNvcmV1bVByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb3JldW0nXG5pbXBvcnQgeyBDb3Ntb3NNb2R1bGUsIENvc21vc1Byb3RvY29sLCBjcmVhdGVDb3Ntb3NQcm90b2NvbCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29zbW9zJ1xuaW1wb3J0IHsgY3JlYXRlR3JvZXN0bGNvaW5Qcm90b2NvbCwgR3JvZXN0bGNvaW5Nb2R1bGUsIEdyb2VzdGxjb2luUHJvdG9jb2wgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2dyb2VzdGxjb2luJ1xuaW1wb3J0IHsgY3JlYXRlSUNQUHJvdG9jb2wsIElDUE1vZHVsZSwgSUNQUHJvdG9jb2wgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2ljcCdcbmltcG9ydCB7XG4gIGNyZWF0ZU1vb25iYXNlUHJvdG9jb2wsXG4gIGNyZWF0ZU1vb25iZWFtUHJvdG9jb2wsXG4gIGNyZWF0ZU1vb25yaXZlclByb3RvY29sLFxuICBNb29uYmFzZVByb3RvY29sLFxuICBNb29uYmVhbU1vZHVsZSxcbiAgTW9vbmJlYW1Qcm90b2NvbCxcbiAgTW9vbnJpdmVyUHJvdG9jb2xcbn0gZnJvbSAnQHdhbGxmcmVlLWRldi9tb29uYmVhbSdcbmltcG9ydCB7XG4gIGNyZWF0ZUVSQzIwVG9rZW4gYXMgY3JlYXRlT3B0aW1pc21FUkMyMFRva2VuLFxuICBjcmVhdGVPcHRpbWlzbVByb3RvY29sLFxuICBFUkMyMFRva2VuIGFzIE9wdGltaXNtRVJDMjBUb2tlbixcbiAgT3B0aW1pc21Nb2R1bGUsXG4gIE9wdGltaXNtUHJvdG9jb2xcbn0gZnJvbSAnQHdhbGxmcmVlLWRldi9vcHRpbWlzbSdcbmltcG9ydCB7IGNyZWF0ZUt1c2FtYVByb3RvY29sLCBjcmVhdGVQb2xrYWRvdFByb3RvY29sLCBLdXNhbWFQcm90b2NvbCwgUG9sa2Fkb3RNb2R1bGUsIFBvbGthZG90UHJvdG9jb2wgfSBmcm9tICdAd2FsbGZyZWUtZGV2L3BvbGthZG90J1xuaW1wb3J0IHsgY3JlYXRlU29sYW5hUHJvdG9jb2wsIFNvbGFuYU1vZHVsZSwgU29sYW5hUHJvdG9jb2wgfSBmcm9tICdAd2FsbGZyZWUtZGV2L3NvbGFuYSdcbmltcG9ydCB7IEFwdG9zTW9kdWxlLCBBcHRvc1Byb3RvY29sLCBjcmVhdGVBcHRvc1Byb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9hcHRvcydcbmltcG9ydCB7XG4gIEJUQ1RlelByb3RvY29sLFxuICBjcmVhdGVCVENUZXpQcm90b2NvbCxcbiAgY3JlYXRlQ1RlelByb3RvY29sLFxuICBjcmVhdGVEb2dhbWlQcm90b2NvbCxcbiAgY3JlYXRlRVRIVGV6UHJvdG9jb2wsXG4gIGNyZWF0ZUtvbGlicmlVU0RQcm90b2NvbCxcbiAgY3JlYXRlUGxlbnR5UHJvdG9jb2wsXG4gIGNyZWF0ZVF1aXB1c3dhcFByb3RvY29sLFxuICBjcmVhdGVTaXJpdXNQcm90b2NvbCxcbiAgY3JlYXRlU3Rha2VyUHJvdG9jb2wsXG4gIGNyZWF0ZVRldGhlclVTRFByb3RvY29sLFxuICBjcmVhdGVUZXpvc0ZBMXAyUHJvdG9jb2wsXG4gIGNyZWF0ZVRlem9zRkEyUHJvdG9jb2wsXG4gIGNyZWF0ZVRlem9zS3RQcm90b2NvbCxcbiAgY3JlYXRlVGV6b3NQcm90b2NvbCxcbiAgY3JlYXRlVGV6b3NTaGllbGRlZFRlelByb3RvY29sLFxuICBjcmVhdGVUekJUQ1Byb3RvY29sLFxuICBjcmVhdGVVQlRDUHJvdG9jb2wsXG4gIGNyZWF0ZVVERUZJUHJvdG9jb2wsXG4gIGNyZWF0ZVVTRFRlelByb3RvY29sLFxuICBjcmVhdGVVVVNEUHJvdG9jb2wsXG4gIGNyZWF0ZVdyYXBwZWRUZXpvc1Byb3RvY29sLFxuICBjcmVhdGVXcmFwUHJvdG9jb2wsXG4gIGNyZWF0ZVlvdVByb3RvY29sLFxuICBDVGV6UHJvdG9jb2wsXG4gIERvZ2FtaVByb3RvY29sLFxuICBFVEhUZXpQcm90b2NvbCxcbiAgS29saWJyaVVTRFByb3RvY29sLFxuICBQbGVudHlQcm90b2NvbCxcbiAgUXVpcHVzd2FwUHJvdG9jb2wsXG4gIFNpcml1c1Byb3RvY29sLFxuICBTdGFrZXJQcm90b2NvbCxcbiAgVGV0aGVyVVNEUHJvdG9jb2wsXG4gIFRlem9zRkExcDJQcm90b2NvbCxcbiAgVGV6b3NGQTJQcm90b2NvbCxcbiAgVGV6b3NGQVByb3RvY29sLFxuICBUZXpvc0t0UHJvdG9jb2wsXG4gIFRlem9zTW9kdWxlLFxuICBUZXpvc1Byb3RvY29sLFxuICBUZXpvc1Byb3RvY29sTmV0d29yayxcbiAgVGV6b3NTaGllbGRlZFRlelByb3RvY29sLFxuICBUekJUQ1Byb3RvY29sLFxuICBVQlRDUHJvdG9jb2wsXG4gIFVERUZJUHJvdG9jb2wsXG4gIFVTRFRlelByb3RvY29sLFxuICBVVVNEUHJvdG9jb2wsXG4gIFdyYXBwZWRUZXpvc1Byb3RvY29sLFxuICBXcmFwUHJvdG9jb2wsXG4gIFlvdVByb3RvY29sXG59IGZyb20gJ0B3YWxsZnJlZS1kZXYvdGV6b3MnXG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlL2RlcGVuZGVuY2llcy9zcmMvYmlnbnVtYmVyLmpzLTkuMC4wL2JpZ251bWJlcidcblxuaW1wb3J0IHtcbiAgQWlyR2FwVHJhbnNhY3Rpb25TdGF0dXMgYXMgQWlyR2FwVHJhbnNhY3Rpb25TdGF0dXNWMCxcbiAgQWlyR2FwVHJhbnNhY3Rpb25XYXJuaW5nIGFzIEFpckdhcFVJQWxlcnRWMCxcbiAgQWlyR2FwVHJhbnNhY3Rpb25XYXJuaW5nVHlwZVxufSBmcm9tICdAd2FsbGZyZWUtZGV2L2NvaW5saWItY29yZS9pbnRlcmZhY2VzL0lBaXJHYXBUcmFuc2FjdGlvbidcbmltcG9ydCB7IGlzSGV4IH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUvdXRpbHMvaGV4J1xuXG5pbXBvcnQge1xuICBjcmVhdGVJQ29pblByb3RvY29sQWRhcHRlcixcbiAgY3JlYXRlSUNvaW5TdWJQcm90b2NvbEFkYXB0ZXIsXG4gIElDb2luUHJvdG9jb2xBZGFwdGVyLFxuICBJQ29pblN1YlByb3RvY29sQWRhcHRlcixcbiAgUHJvdG9jb2xCbG9ja0V4cGxvcmVyQWRhcHRlcixcbiAgUHJvdG9jb2xOZXR3b3JrQWRhcHRlclxufSBmcm9tICcuLi8uLi9wcm90b2NvbC9hZGFwdGVyL3Byb3RvY29sLXYwLWFkYXB0ZXInXG5cbi8vIE5ldHdvcmtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnROZXR3b3JrVHlwZVYwVG9WMSh0eXBlOiBQcm90b2NvbE5ldHdvcmtUeXBlVjApOiBQcm90b2NvbE5ldHdvcmtUeXBlVjEge1xuICByZXR1cm4gdHlwZSA9PT0gUHJvdG9jb2xOZXR3b3JrVHlwZVYwLk1BSU5ORVQgPyAnbWFpbm5ldCcgOiB0eXBlID09PSBQcm90b2NvbE5ldHdvcmtUeXBlVjAuVEVTVE5FVCA/ICd0ZXN0bmV0JyA6ICdjdXN0b20nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TmV0d29ya1R5cGVWMVRvVjAodHlwZTogUHJvdG9jb2xOZXR3b3JrVHlwZVYxKTogUHJvdG9jb2xOZXR3b3JrVHlwZVYwIHtcbiAgcmV0dXJuIHR5cGUgPT09ICdtYWlubmV0J1xuICAgID8gUHJvdG9jb2xOZXR3b3JrVHlwZVYwLk1BSU5ORVRcbiAgICA6IHR5cGUgPT09ICd0ZXN0bmV0J1xuICAgID8gUHJvdG9jb2xOZXR3b3JrVHlwZVYwLlRFU1RORVRcbiAgICA6IFByb3RvY29sTmV0d29ya1R5cGVWMC5DVVNUT01cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnROZXR3b3JrVjBUb1YxKG5ldHdvcms6IFByb3RvY29sTmV0d29ya1YwKTogUHJvdG9jb2xOZXR3b3JrVjEge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IG5ldHdvcmsubmFtZSxcbiAgICB0eXBlOiBjb252ZXJ0TmV0d29ya1R5cGVWMFRvVjEobmV0d29yay50eXBlKSxcbiAgICBycGNVcmw6IG5ldHdvcmsucnBjVXJsLFxuICAgIGJsb2NrRXhwbG9yZXJVcmw6IG5ldHdvcmsuYmxvY2tFeHBsb3Jlci5ibG9ja0V4cGxvcmVyLFxuICAgIC4uLih0eXBlb2YgbmV0d29yay5leHRyYXMgPT09ICdvYmplY3QnID8gbmV0d29yay5leHRyYXMgOiB7fSlcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydE5ldHdvcmtWMVRvVjAobmV0d29yazogUHJvdG9jb2xOZXR3b3JrVjEsIGJsb2NrRXhwbG9yZXI/OiBQcm90b2NvbEJsb2NrRXhwbG9yZXJWMSk6IFByb3RvY29sTmV0d29ya1YwIHtcbiAgY29uc3QgeyBuYW1lLCB0eXBlLCBycGNVcmwsIC4uLnJlc3QgfSA9IG5ldHdvcmtcbiAgY29uc3QgYmxvY2tFeHBsb3JlclYwOiBQcm90b2NvbEJsb2NrRXhwbG9yZXJWMCA9IG5ldyBQcm90b2NvbEJsb2NrRXhwbG9yZXJBZGFwdGVyKGJsb2NrRXhwbG9yZXIsIG5ldHdvcmsuYmxvY2tFeHBsb3JlclVybClcblxuICByZXR1cm4gbmV3IFByb3RvY29sTmV0d29ya0FkYXB0ZXIobmFtZSwgY29udmVydE5ldHdvcmtUeXBlVjFUb1YwKHR5cGUpLCBycGNVcmwsIGJsb2NrRXhwbG9yZXJWMCwgcmVzdClcbn1cblxuLy8gUHJvdG9jb2xcblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlQWRhcHRlclN1cHBsZW1lbnRzRnJvbUlkZW50aWZpZXJBbmROZXR3b3JrKFxuICBtb2R1bGU6IEFpckdhcE1vZHVsZSxcbiAgaWRlbnRpZmllcjogc3RyaW5nLFxuICBuZXR3b3JrOiBQcm90b2NvbE5ldHdvcmtWMSB8IHVuZGVmaW5lZFxuKTogUHJvbWlzZTxbUHJvdG9jb2xCbG9ja0V4cGxvcmVyVjEsIEFpckdhcFYzU2VyaWFsaXplckNvbXBhbmlvbl0+IHtcbiAgY29uc3QgW2Jsb2NrRXhwbG9yZXIsIHYzU2VyaWFsaXplckNvbXBhbmlvbl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgbW9kdWxlLmNyZWF0ZUJsb2NrRXhwbG9yZXIoaWRlbnRpZmllciwgbmV0d29yayksXG4gICAgbW9kdWxlLmNyZWF0ZVYzU2VyaWFsaXplckNvbXBhbmlvbigpXG4gIF0pXG5cbiAgcmV0dXJuIFtibG9ja0V4cGxvcmVyLCB2M1NlcmlhbGl6ZXJDb21wYW5pb25dXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUFkYXB0ZXJTdXBwbGVtZW50c0Zyb21Qcm90b2NvbDxUIGV4dGVuZHMgQWlyR2FwQW55UHJvdG9jb2w+KFxuICBwcm90b2NvbDogVCxcbiAgbW9kdWxlOiBBaXJHYXBNb2R1bGVcbik6IFByb21pc2U8W1Byb3RvY29sQmxvY2tFeHBsb3JlclYxLCBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb25dPiB7XG4gIGNvbnN0IFttZXRhZGF0YSwgbmV0d29ya106IFtQcm90b2NvbE1ldGFkYXRhLCBQcm90b2NvbE5ldHdvcmtWMSB8IHVuZGVmaW5lZF0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgcHJvdG9jb2wuZ2V0TWV0YWRhdGEoKSxcbiAgICBpc09ubGluZVByb3RvY29sKHByb3RvY29sKSA/IHByb3RvY29sLmdldE5ldHdvcmsoKSA6IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpXG4gIF0pXG5cbiAgcmV0dXJuIGNyZWF0ZUFkYXB0ZXJTdXBwbGVtZW50c0Zyb21JZGVudGlmaWVyQW5kTmV0d29yayhtb2R1bGUsIG1ldGFkYXRhLmlkZW50aWZpZXIsIG5ldHdvcmspXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFByb3RvY29sPFQgZXh0ZW5kcyBBaXJHYXBBbnlQcm90b2NvbD4oXG4gIHByb3RvY29sOiBULFxuICBtb2R1bGU6IEFpckdhcE1vZHVsZSxcbiAgdHlwZTogUHJvdG9jb2xDb25maWd1cmF0aW9uWyd0eXBlJ10gPSAnZnVsbCdcbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8VD4+IHtcbiAgY29uc3QgW2Jsb2NrRXhwbG9yZXIsIHYzU2VyaWFsaXplckNvbXBhbmlvbl06IFtQcm90b2NvbEJsb2NrRXhwbG9yZXJWMSwgQWlyR2FwVjNTZXJpYWxpemVyQ29tcGFuaW9uXSA9XG4gICAgYXdhaXQgY3JlYXRlQWRhcHRlclN1cHBsZW1lbnRzRnJvbVByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG5cbiAgcmV0dXJuIGNyZWF0ZUlDb2luUHJvdG9jb2xBZGFwdGVyKHByb3RvY29sLCBibG9ja0V4cGxvcmVyLCB2M1NlcmlhbGl6ZXJDb21wYW5pb24sIHsgdHlwZSB9KVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBTdWJQcm90b2NvbDxUIGV4dGVuZHMgQWlyR2FwQW55UHJvdG9jb2wgJiBTdWJQcm90b2NvbD4oXG4gIHByb3RvY29sOiBULFxuICBtb2R1bGU6IEFpckdhcE1vZHVsZSxcbiAgdHlwZTogUHJvdG9jb2xDb25maWd1cmF0aW9uWyd0eXBlJ10gPSAnZnVsbCdcbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VD4+IHtcbiAgY29uc3QgW2Jsb2NrRXhwbG9yZXIsIHYzU2VyaWFsaXplckNvbXBhbmlvbl06IFtQcm90b2NvbEJsb2NrRXhwbG9yZXJWMSwgQWlyR2FwVjNTZXJpYWxpemVyQ29tcGFuaW9uXSA9XG4gICAgYXdhaXQgY3JlYXRlQWRhcHRlclN1cHBsZW1lbnRzRnJvbVByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG5cbiAgcmV0dXJuIGNyZWF0ZUlDb2luU3ViUHJvdG9jb2xBZGFwdGVyKHByb3RvY29sLCBibG9ja0V4cGxvcmVyLCB2M1NlcmlhbGl6ZXJDb21wYW5pb24sIHsgdHlwZSB9KVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBFUkMyMFRva2VuPFQgZXh0ZW5kcyBBaXJHYXBBbnlQcm90b2NvbCAmIFN1YlByb3RvY29sPihcbiAgZXJjMjBUb2tlbjogVCxcbiAgcHJvdG9jb2w6IEFpckdhcEFueVByb3RvY29sLFxuICBtb2R1bGU6IEFpckdhcE1vZHVsZSxcbiAgdHlwZTogUHJvdG9jb2xDb25maWd1cmF0aW9uWyd0eXBlJ10gPSAnZnVsbCdcbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VD4+IHtcbiAgY29uc3QgW21ldGFkYXRhLCBuZXR3b3JrXTogW1Byb3RvY29sTWV0YWRhdGEsIFByb3RvY29sTmV0d29ya1YxIHwgdW5kZWZpbmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICBwcm90b2NvbC5nZXRNZXRhZGF0YSgpLFxuICAgIGlzT25saW5lUHJvdG9jb2woZXJjMjBUb2tlbikgPyBlcmMyMFRva2VuLmdldE5ldHdvcmsoKSA6IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpXG4gIF0pXG5cbiAgY29uc3QgW2Jsb2NrRXhwbG9yZXIsIHYzU2VyaWFsaXplckNvbXBhbmlvbl0gPSBhd2FpdCBjcmVhdGVBZGFwdGVyU3VwcGxlbWVudHNGcm9tSWRlbnRpZmllckFuZE5ldHdvcmsoXG4gICAgbW9kdWxlLFxuICAgIG1ldGFkYXRhLmlkZW50aWZpZXIsXG4gICAgbmV0d29ya1xuICApXG5cbiAgcmV0dXJuIGNyZWF0ZUlDb2luU3ViUHJvdG9jb2xBZGFwdGVyKGVyYzIwVG9rZW4sIGJsb2NrRXhwbG9yZXIsIHYzU2VyaWFsaXplckNvbXBhbmlvbiwgeyB0eXBlIH0pXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMEFldGVybml0eVByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVBZXRlcm5pdHlQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8QWV0ZXJuaXR5UHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBBZXRlcm5pdHlQcm90b2NvbCA9IGNyZWF0ZUFldGVybml0eVByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogQWV0ZXJuaXR5TW9kdWxlID0gbmV3IEFldGVybml0eU1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwQXN0YXJQcm90b2NvbCguLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVBc3RhclByb3RvY29sPik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8QXN0YXJQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IEFzdGFyUHJvdG9jb2wgPSBjcmVhdGVBc3RhclByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogQXN0YXJNb2R1bGUgPSBuZXcgQXN0YXJNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFNoaWRlblByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVTaGlkZW5Qcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8U2hpZGVuUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBTaGlkZW5Qcm90b2NvbCA9IGNyZWF0ZVNoaWRlblByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogQXN0YXJNb2R1bGUgPSBuZXcgQXN0YXJNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMEJpdGNvaW5Qcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlQml0Y29pblByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxCaXRjb2luUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBCaXRjb2luUHJvdG9jb2wgPSBjcmVhdGVCaXRjb2luUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBCaXRjb2luTW9kdWxlID0gbmV3IEJpdGNvaW5Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMEJpdGNvaW5TZWd3aXRQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlQml0Y29pblNlZ3dpdFByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxCaXRjb2luU2Vnd2l0UHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBCaXRjb2luU2Vnd2l0UHJvdG9jb2wgPSBjcmVhdGVCaXRjb2luU2Vnd2l0UHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBCaXRjb2luTW9kdWxlID0gbmV3IEJpdGNvaW5Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMENvcmV1bVByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVDb3JldW1Qcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8Q29yZXVtUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBDb3JldW1Qcm90b2NvbCA9IGNyZWF0ZUNvcmV1bVByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogQ29yZXVtTW9kdWxlID0gbmV3IENvcmV1bU1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwQ29zbW9zUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUNvc21vc1Byb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxDb3Ntb3NQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IENvc21vc1Byb3RvY29sID0gY3JlYXRlQ29zbW9zUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBDb3Ntb3NNb2R1bGUgPSBuZXcgQ29zbW9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBFdGhlcmV1bVByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVFdGhlcmV1bVByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxFdGhlcmV1bVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogRXRoZXJldW1Qcm90b2NvbCA9IGNyZWF0ZUV0aGVyZXVtUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBFdGhlcmV1bU1vZHVsZSA9IG5ldyBFdGhlcmV1bU1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwRXRoZXJldW1FUkMyMFRva2VuKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVFdGhlcmV1bUVSQzIwVG9rZW4+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPEV0aGVyZXVtRVJDMjBUb2tlbj4+IHtcbiAgY29uc3QgZXJjMjBUb2tlbjogRXRoZXJldW1FUkMyMFRva2VuID0gY3JlYXRlRXRoZXJldW1FUkMyMFRva2VuKC4uLmFyZ3MpXG4gIGNvbnN0IGV0aGVyZXVtUHJvdG9jb2w6IEV0aGVyZXVtUHJvdG9jb2wgPSBjcmVhdGVFdGhlcmV1bVByb3RvY29sKGFyZ3NbMV0pXG4gIGNvbnN0IG1vZHVsZTogRXRoZXJldW1Nb2R1bGUgPSBuZXcgRXRoZXJldW1Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMEVSQzIwVG9rZW4oZXJjMjBUb2tlbiwgZXRoZXJldW1Qcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBHcm9lc3RsY29pblByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVHcm9lc3RsY29pblByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxHcm9lc3RsY29pblByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogR3JvZXN0bGNvaW5Qcm90b2NvbCA9IGNyZWF0ZUdyb2VzdGxjb2luUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBHcm9lc3RsY29pbk1vZHVsZSA9IG5ldyBHcm9lc3RsY29pbk1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwSUNQUHJvdG9jb2woLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlSUNQUHJvdG9jb2w+KTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxJQ1BQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IElDUFByb3RvY29sID0gY3JlYXRlSUNQUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBJQ1BNb2R1bGUgPSBuZXcgSUNQTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBNb29uYmVhbVByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVNb29uYmVhbVByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxNb29uYmVhbVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogTW9vbmJlYW1Qcm90b2NvbCA9IGNyZWF0ZU1vb25iZWFtUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBNb29uYmVhbU1vZHVsZSA9IG5ldyBNb29uYmVhbU1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwTW9vbnJpdmVyUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZU1vb25yaXZlclByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxNb29ucml2ZXJQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IE1vb25yaXZlclByb3RvY29sID0gY3JlYXRlTW9vbnJpdmVyUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBNb29uYmVhbU1vZHVsZSA9IG5ldyBNb29uYmVhbU1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwTW9vbmJhc2VQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlTW9vbmJhc2VQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5Qcm90b2NvbEFkYXB0ZXI8TW9vbmJhc2VQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IE1vb25iYXNlUHJvdG9jb2wgPSBjcmVhdGVNb29uYmFzZVByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogTW9vbmJlYW1Nb2R1bGUgPSBuZXcgTW9vbmJlYW1Nb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWME9wdGltaXNtUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZU9wdGltaXNtUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPE9wdGltaXNtUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBPcHRpbWlzbVByb3RvY29sID0gY3JlYXRlT3B0aW1pc21Qcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IE9wdGltaXNtTW9kdWxlID0gbmV3IE9wdGltaXNtTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBPcHRpbWlzbUVSQzIwVG9rZW4oXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZU9wdGltaXNtRVJDMjBUb2tlbj5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8T3B0aW1pc21FUkMyMFRva2VuPj4ge1xuICBjb25zdCBlcmMyMFRva2VuOiBPcHRpbWlzbUVSQzIwVG9rZW4gPSBjcmVhdGVPcHRpbWlzbUVSQzIwVG9rZW4oLi4uYXJncylcbiAgY29uc3Qgb3B0aW1pc21Qcm90b2NvbDogT3B0aW1pc21Qcm90b2NvbCA9IGNyZWF0ZU9wdGltaXNtUHJvdG9jb2woYXJnc1sxXSlcbiAgY29uc3QgbW9kdWxlOiBPcHRpbWlzbU1vZHVsZSA9IG5ldyBPcHRpbWlzbU1vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwRVJDMjBUb2tlbihlcmMyMFRva2VuLCBvcHRpbWlzbVByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFBvbGthZG90UHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVBvbGthZG90UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPFBvbGthZG90UHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBQb2xrYWRvdFByb3RvY29sID0gY3JlYXRlUG9sa2Fkb3RQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFBvbGthZG90TW9kdWxlID0gbmV3IFBvbGthZG90TW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBLdXNhbWFQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlS3VzYW1hUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPEt1c2FtYVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogS3VzYW1hUHJvdG9jb2wgPSBjcmVhdGVLdXNhbWFQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFBvbGthZG90TW9kdWxlID0gbmV3IFBvbGthZG90TW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBTb2xhbmFQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlU29sYW5hUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPFNvbGFuYVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogU29sYW5hUHJvdG9jb2wgPSBjcmVhdGVTb2xhbmFQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IGFueSA9IG5ldyBTb2xhbmFNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMEFwdG9zUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUFwdG9zUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPEFwdG9zUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBBcHRvc1Byb3RvY29sID0gY3JlYXRlQXB0b3NQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IEFwdG9zTW9kdWxlID0gbmV3IEFwdG9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1Byb3RvY29sKC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVRlem9zUHJvdG9jb2w+KTogUHJvbWlzZTxJQ29pblByb3RvY29sQWRhcHRlcjxUZXpvc1Byb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogVGV6b3NQcm90b2NvbCA9IGNyZWF0ZVRlem9zUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NTaGllbGRlZFRlelByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVUZXpvc1NoaWVsZGVkVGV6UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luUHJvdG9jb2xBZGFwdGVyPFRlem9zU2hpZWxkZWRUZXpQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFRlem9zU2hpZWxkZWRUZXpQcm90b2NvbCA9IGNyZWF0ZVRlem9zU2hpZWxkZWRUZXpQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc0t0UHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVRlem9zS3RQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VGV6b3NLdFByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogVGV6b3NLdFByb3RvY29sID0gY3JlYXRlVGV6b3NLdFByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NGQVByb3RvY29sPFQgZXh0ZW5kcyBUZXpvc0ZBUHJvdG9jb2w+KFxuICBmYVByb3RvY29sOiBULFxuICB0ZXpvc05ldHdvcms/OiBSZWN1cnNpdmVQYXJ0aWFsPFRlem9zUHJvdG9jb2xOZXR3b3JrPixcbiAgdHlwZTogUHJvdG9jb2xDb25maWd1cmF0aW9uWyd0eXBlJ10gPSAnZnVsbCdcbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VD4+IHtcbiAgY29uc3QgdGV6b3NQcm90b2NvbDogVGV6b3NQcm90b2NvbCA9IGNyZWF0ZVRlem9zUHJvdG9jb2woeyBuZXR3b3JrOiB0ZXpvc05ldHdvcmsgfSlcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgY29uc3QgW21ldGFkYXRhLCBuZXR3b3JrXTogW1Byb3RvY29sTWV0YWRhdGEsIFByb3RvY29sTmV0d29ya1YxIHwgdW5kZWZpbmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICB0ZXpvc1Byb3RvY29sLmdldE1ldGFkYXRhKCksXG4gICAgaXNPbmxpbmVQcm90b2NvbChmYVByb3RvY29sKSA/IGZhUHJvdG9jb2wuZ2V0TmV0d29yaygpIDogUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZClcbiAgXSlcblxuICBjb25zdCBbYmxvY2tFeHBsb3JlciwgdjNTZXJpYWxpemVyQ29tcGFuaW9uXSA9IGF3YWl0IGNyZWF0ZUFkYXB0ZXJTdXBwbGVtZW50c0Zyb21JZGVudGlmaWVyQW5kTmV0d29yayhcbiAgICBtb2R1bGUsXG4gICAgbWV0YWRhdGEuaWRlbnRpZmllcixcbiAgICBuZXR3b3JrXG4gIClcblxuICByZXR1cm4gY3JlYXRlSUNvaW5TdWJQcm90b2NvbEFkYXB0ZXIoZmFQcm90b2NvbCwgYmxvY2tFeHBsb3JlciwgdjNTZXJpYWxpemVyQ29tcGFuaW9uLCB7IHR5cGUgfSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NGQTFwMlByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVUZXpvc0ZBMXAyUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFRlem9zRkExcDJQcm90b2NvbD4+IHtcbiAgY29uc3QgZmExcDJQcm90b2NvbDogVGV6b3NGQTFwMlByb3RvY29sID0gY3JlYXRlVGV6b3NGQTFwMlByb3RvY29sKC4uLmFyZ3MpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwVGV6b3NGQVByb3RvY29sKGZhMXAyUHJvdG9jb2wsIGFyZ3NbMF0ubmV0d29yaylcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NGQTJQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlVGV6b3NGQTJQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VGV6b3NGQTJQcm90b2NvbD4+IHtcbiAgY29uc3QgZmEyUHJvdG9jb2w6IFRlem9zRkEyUHJvdG9jb2wgPSBjcmVhdGVUZXpvc0ZBMlByb3RvY29sKC4uLmFyZ3MpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwVGV6b3NGQVByb3RvY29sKGZhMlByb3RvY29sLCBhcmdzWzBdLm5ldHdvcmspXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zQlRDVGV6UHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUJUQ1RlelByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxCVENUZXpQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IEJUQ1RlelByb3RvY29sID0gY3JlYXRlQlRDVGV6UHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NDVGV6UHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUNUZXpQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8Q1RlelByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogQ1RlelByb3RvY29sID0gY3JlYXRlQ1RlelByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zRG9nYW1pUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZURvZ2FtaVByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxEb2dhbWlQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IERvZ2FtaVByb3RvY29sID0gY3JlYXRlRG9nYW1pUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NFVEhUZXpQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlRVRIVGV6UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPEVUSFRlelByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogRVRIVGV6UHJvdG9jb2wgPSBjcmVhdGVFVEhUZXpQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc0tvbGlicmlVU0RQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlS29saWJyaVVTRFByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxLb2xpYnJpVVNEUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBLb2xpYnJpVVNEUHJvdG9jb2wgPSBjcmVhdGVLb2xpYnJpVVNEUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NQbGVudHlQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlUGxlbnR5UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFBsZW50eVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogUGxlbnR5UHJvdG9jb2wgPSBjcmVhdGVQbGVudHlQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1F1aXB1c3dhcFByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVRdWlwdXN3YXBQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8UXVpcHVzd2FwUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBRdWlwdXN3YXBQcm90b2NvbCA9IGNyZWF0ZVF1aXB1c3dhcFByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zU2lyaXVzUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVNpcml1c1Byb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxTaXJpdXNQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFNpcml1c1Byb3RvY29sID0gY3JlYXRlU2lyaXVzUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NTdGFrZXJQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlU3Rha2VyUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFN0YWtlclByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogU3Rha2VyUHJvdG9jb2wgPSBjcmVhdGVTdGFrZXJQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1RldGhlclVTRFByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVUZXRoZXJVU0RQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VGV0aGVyVVNEUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBUZXRoZXJVU0RQcm90b2NvbCA9IGNyZWF0ZVRldGhlclVTRFByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zVHpCVENQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlVHpCVENQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VHpCVENQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFR6QlRDUHJvdG9jb2wgPSBjcmVhdGVUekJUQ1Byb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zVUJUQ1Byb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVVQlRDUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFVCVENQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFVCVENQcm90b2NvbCA9IGNyZWF0ZVVCVENQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1VERUZJUHJvdG9jb2woXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZVVERUZJUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFVERUZJUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBVREVGSVByb3RvY29sID0gY3JlYXRlVURFRklQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1VTRFRlelByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVVU0RUZXpQcm90b2NvbD5cbik6IFByb21pc2U8SUNvaW5TdWJQcm90b2NvbEFkYXB0ZXI8VVNEVGV6UHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBVU0RUZXpQcm90b2NvbCA9IGNyZWF0ZVVTRFRlelByb3RvY29sKC4uLmFyZ3MpXG4gIGNvbnN0IG1vZHVsZTogVGV6b3NNb2R1bGUgPSBuZXcgVGV6b3NNb2R1bGUoKVxuXG4gIHJldHVybiBjcmVhdGVWMFN1YlByb3RvY29sKHByb3RvY29sLCBtb2R1bGUpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVWMFRlem9zVVVTRFByb3RvY29sKFxuICAuLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVVVVNEUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFVVU0RQcm90b2NvbD4+IHtcbiAgY29uc3QgcHJvdG9jb2w6IFVVU0RQcm90b2NvbCA9IGNyZWF0ZVVVU0RQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1dyYXBwZWRQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlV3JhcHBlZFRlem9zUHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFdyYXBwZWRUZXpvc1Byb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogV3JhcHBlZFRlem9zUHJvdG9jb2wgPSBjcmVhdGVXcmFwcGVkVGV6b3NQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVjBUZXpvc1dyYXBQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlV3JhcFByb3RvY29sPlxuKTogUHJvbWlzZTxJQ29pblN1YlByb3RvY29sQWRhcHRlcjxXcmFwUHJvdG9jb2w+PiB7XG4gIGNvbnN0IHByb3RvY29sOiBXcmFwUHJvdG9jb2wgPSBjcmVhdGVXcmFwUHJvdG9jb2woLi4uYXJncylcbiAgY29uc3QgbW9kdWxlOiBUZXpvc01vZHVsZSA9IG5ldyBUZXpvc01vZHVsZSgpXG5cbiAgcmV0dXJuIGNyZWF0ZVYwU3ViUHJvdG9jb2wocHJvdG9jb2wsIG1vZHVsZSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVYwVGV6b3NZb3VQcm90b2NvbChcbiAgLi4uYXJnczogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlWW91UHJvdG9jb2w+XG4pOiBQcm9taXNlPElDb2luU3ViUHJvdG9jb2xBZGFwdGVyPFlvdVByb3RvY29sPj4ge1xuICBjb25zdCBwcm90b2NvbDogWW91UHJvdG9jb2wgPSBjcmVhdGVZb3VQcm90b2NvbCguLi5hcmdzKVxuICBjb25zdCBtb2R1bGU6IFRlem9zTW9kdWxlID0gbmV3IFRlem9zTW9kdWxlKClcblxuICByZXR1cm4gY3JlYXRlVjBTdWJQcm90b2NvbChwcm90b2NvbCwgbW9kdWxlKVxufVxuXG4vLyBUcmFuc2FjdGlvblxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9uU3RhdHVzVjFUb1YwKHN0YXR1czogQWlyR2FwVHJhbnNhY3Rpb25TdGF0dXNWMSk6IEFpckdhcFRyYW5zYWN0aW9uU3RhdHVzVjAge1xuICByZXR1cm4gc3RhdHVzLnR5cGUgPT09ICdhcHBsaWVkJ1xuICAgID8gQWlyR2FwVHJhbnNhY3Rpb25TdGF0dXNWMC5BUFBMSUVEXG4gICAgOiBzdGF0dXMudHlwZSA9PT0gJ2ZhaWxlZCdcbiAgICA/IEFpckdhcFRyYW5zYWN0aW9uU3RhdHVzVjAuRkFJTEVEXG4gICAgOiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gY29udmVydFVJQWN0aW9uc1YxVG9WMChhY3Rpb25zOiBBaXJHYXBVSUFjdGlvblYxW10pOiBBaXJHYXBVSUFsZXJ0VjBbJ2FjdGlvbnMnXSB7XG4gIHJldHVybiBhY3Rpb25zLm1hcCgoYWN0aW9uOiBBaXJHYXBVSUFjdGlvblYxKSA9PiAoe1xuICAgIHRleHQ6IGFjdGlvbi50ZXh0LnZhbHVlLFxuICAgIGxpbms6ICcnXG4gIH0pKVxufVxuXG5mdW5jdGlvbiBjb252ZXJ0VUlBbGVydHNWMVRvVjAoYWxlcnRzOiBBaXJHYXBVSUFsZXJ0VjFbXSk6IEFpckdhcFVJQWxlcnRWMFtdIHtcbiAgcmV0dXJuIGFsZXJ0cy5tYXAoKGFsZXJ0OiBBaXJHYXBVSUFsZXJ0VjEpID0+ICh7XG4gICAgdHlwZTpcbiAgICAgIGFsZXJ0LnR5cGUgPT09ICdzdWNjZXNzJ1xuICAgICAgICA/IEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGUuU1VDQ0VTU1xuICAgICAgICA6IGFsZXJ0LnR5cGUgPT09ICdpbmZvJ1xuICAgICAgICA/IEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGUuTk9URVxuICAgICAgICA6IGFsZXJ0LnR5cGUgPT09ICd3YXJuaW5nJ1xuICAgICAgICA/IEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGUuV0FSTklOR1xuICAgICAgICA6IEFpckdhcFRyYW5zYWN0aW9uV2FybmluZ1R5cGUuRVJST1IsXG4gICAgdGl0bGU6IGFsZXJ0LnRpdGxlLnZhbHVlLFxuICAgIGRlc2NyaXB0aW9uOiBhbGVydC5kZXNjcmlwdGlvbi52YWx1ZSxcbiAgICBpY29uOiBhbGVydC5pY29uLFxuICAgIGFjdGlvbnM6IGFsZXJ0LmFjdGlvbnMgPyBjb252ZXJ0VUlBY3Rpb25zVjFUb1YwKGFsZXJ0LmFjdGlvbnMpIDogdW5kZWZpbmVkXG4gIH0pKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9uRGV0YWlsc1YxVG9WMChcbiAgdHhzOiBBaXJHYXBUcmFuc2FjdGlvblYxW10sXG4gIHByb3RvY29sOiBBaXJHYXBPbmxpbmVQcm90b2NvbFxuKTogUHJvbWlzZTxBaXJHYXBUcmFuc2FjdGlvblYwW10+XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9uRGV0YWlsc1YxVG9WMChcbiAgdHhzOiBBaXJHYXBUcmFuc2FjdGlvblYxW10sXG4gIG1ldGFkYXRhOiBQcm90b2NvbE1ldGFkYXRhLFxuICBuZXR3b3JrOiBQcm90b2NvbE5ldHdvcmtWMSB8IFByb3RvY29sTmV0d29ya1YwXG4pOiBQcm9taXNlPEFpckdhcFRyYW5zYWN0aW9uVjBbXT5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25EZXRhaWxzVjFUb1YwKFxuICB0eHM6IEFpckdhcFRyYW5zYWN0aW9uVjFbXSxcbiAgcHJvdG9jb2xPck1ldGFkYXRhOiBBaXJHYXBPbmxpbmVQcm90b2NvbCB8IFByb3RvY29sTWV0YWRhdGEsXG4gIG5ldHdvcmtPclVuZGVmaW5lZD86IFByb3RvY29sTmV0d29ya1YxIHwgUHJvdG9jb2xOZXR3b3JrVjBcbik6IFByb21pc2U8QWlyR2FwVHJhbnNhY3Rpb25WMFtdPiB7XG4gIGNvbnN0IHByb3RvY29sTWV0YWRhdGE6IFByb3RvY29sTWV0YWRhdGEgPSBpc09ubGluZVByb3RvY29sKHByb3RvY29sT3JNZXRhZGF0YSlcbiAgICA/IGF3YWl0IHByb3RvY29sT3JNZXRhZGF0YS5nZXRNZXRhZGF0YSgpXG4gICAgOiBwcm90b2NvbE9yTWV0YWRhdGFcblxuICBjb25zdCBuZXR3b3JrVjA6IFByb3RvY29sTmV0d29ya1YwID0gaXNPbmxpbmVQcm90b2NvbChwcm90b2NvbE9yTWV0YWRhdGEpXG4gICAgPyBjb252ZXJ0TmV0d29ya1YxVG9WMChhd2FpdCBwcm90b2NvbE9yTWV0YWRhdGEuZ2V0TmV0d29yaygpKVxuICAgIDogbmV0d29ya09yVW5kZWZpbmVkIGluc3RhbmNlb2YgUHJvdG9jb2xOZXR3b3JrVjBcbiAgICA/IG5ldHdvcmtPclVuZGVmaW5lZFxuICAgIDogY29udmVydE5ldHdvcmtWMVRvVjAobmV0d29ya09yVW5kZWZpbmVkKVxuXG4gIGNvbnN0IHVuaXRzOiBQcm90b2NvbFVuaXRzTWV0YWRhdGEgPSBwcm90b2NvbE1ldGFkYXRhLnVuaXRzXG4gIGNvbnN0IGZlZVVuaXRzOiBQcm90b2NvbFVuaXRzTWV0YWRhdGEgPSBwcm90b2NvbE1ldGFkYXRhLmZlZT8udW5pdHMgPz8gdW5pdHNcblxuICByZXR1cm4gdHhzLm1hcCgodHg6IEFpckdhcFRyYW5zYWN0aW9uVjEpOiBBaXJHYXBUcmFuc2FjdGlvblYwID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZnJvbTogdHguZnJvbSxcbiAgICAgIHRvOiB0eC50byxcbiAgICAgIGlzSW5ib3VuZDogdHguaXNJbmJvdW5kLFxuXG4gICAgICBhbW91bnQ6IG5ld0Ftb3VudCh0eC5hbW91bnQpLmJsb2NrY2hhaW4odW5pdHMpLnZhbHVlLFxuICAgICAgZmVlOiBuZXdBbW91bnQodHguZmVlKS5ibG9ja2NoYWluKGZlZVVuaXRzKS52YWx1ZSxcblxuICAgICAgdGltZXN0YW1wOiB0eC50aW1lc3RhbXAsXG4gICAgICBjaGFuZ2VBZGRyZXNzSW5mbzogdHguY2hhbmdlQWRkcmVzc0luZm8sXG4gICAgICBkaXNwbGF5RnJvbVRvOiB0eC5kaXNwbGF5RnJvbVRvLFxuXG4gICAgICBwcm90b2NvbElkZW50aWZpZXI6IHByb3RvY29sTWV0YWRhdGEuaWRlbnRpZmllciBhcyBQcm90b2NvbFN5bWJvbHMsXG4gICAgICBuZXR3b3JrOiBuZXR3b3JrVjAsXG5cbiAgICAgIGRhdGE6IHR5cGVvZiB0eC5hcmJpdHJhcnlEYXRhID09PSAnc3RyaW5nJyA/IHR4LmFyYml0cmFyeURhdGEgOiB0eC5hcmJpdHJhcnlEYXRhPy5bMV0sXG5cbiAgICAgIGhhc2g6IHR4LnN0YXR1cz8uaGFzaCxcbiAgICAgIGJsb2NrSGVpZ2h0OiB0eC5zdGF0dXM/LmJsb2NrLFxuICAgICAgc3RhdHVzOiB0eC5zdGF0dXMgPyBjb252ZXJ0VHJhbnNhY3Rpb25TdGF0dXNWMVRvVjAodHguc3RhdHVzKSA6IHVuZGVmaW5lZCxcblxuICAgICAgd2FybmluZ3M6IHR4LnVpQWxlcnRzID8gY29udmVydFVJQWxlcnRzVjFUb1YwKHR4LnVpQWxlcnRzKSA6IHVuZGVmaW5lZCxcblxuICAgICAgZXh0cmE6IHtcbiAgICAgICAgLi4udHguZXh0cmEsXG4gICAgICAgIHR5cGU6IHR4LnR5cGVcbiAgICAgIH0sXG4gICAgICB0cmFuc2FjdGlvbkRldGFpbHM6IHR4Lmpzb25cbiAgICB9XG4gIH0pXG59XG5cbi8vIEZlZURlZmF1bHRzXG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0RmVlRGVmYXVsdHNWMFRvVjE8X0ZlZVVuaXRzIGV4dGVuZHMgc3RyaW5nPihmZWVEZWZhdWx0czogRmVlRGVmYXVsdHNWMCwgZGVjaW1hbHM6IG51bWJlcik6IEZlZURlZmF1bHRzVjE8X0ZlZVVuaXRzPiB7XG4gIHJldHVybiB7XG4gICAgbG93OiBuZXdBbW91bnQobmV3IEJpZ051bWJlcihmZWVEZWZhdWx0cy5sb3cpLnNoaWZ0ZWRCeShkZWNpbWFscyksICdibG9ja2NoYWluJyksXG4gICAgbWVkaXVtOiBuZXdBbW91bnQobmV3IEJpZ051bWJlcihmZWVEZWZhdWx0cy5tZWRpdW0pLnNoaWZ0ZWRCeShkZWNpbWFscyksICdibG9ja2NoYWluJyksXG4gICAgaGlnaDogbmV3QW1vdW50KG5ldyBCaWdOdW1iZXIoZmVlRGVmYXVsdHMuaGlnaCkuc2hpZnRlZEJ5KGRlY2ltYWxzKSwgJ2Jsb2NrY2hhaW4nKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0RmVlRGVmYXVsdHNWMVRvVjAoZmVlRGVmYXVsdHM6IEZlZURlZmF1bHRzVjEsIHByb3RvY29sTWV0YWRhdGE6IFByb3RvY29sTWV0YWRhdGEpOiBGZWVEZWZhdWx0c1YwIHtcbiAgY29uc3QgZmVlVW5pdHM6IFByb3RvY29sVW5pdHNNZXRhZGF0YSA9IHByb3RvY29sTWV0YWRhdGEuZmVlPy51bml0cyA/PyBwcm90b2NvbE1ldGFkYXRhLnVuaXRzXG4gIGNvbnN0IGZlZVVuaXQ6IHN0cmluZyA9IHByb3RvY29sTWV0YWRhdGEuZmVlPy5tYWluVW5pdCA/PyBwcm90b2NvbE1ldGFkYXRhLm1haW5Vbml0XG5cbiAgcmV0dXJuIHtcbiAgICBsb3c6IG5ldyBCaWdOdW1iZXIobmV3QW1vdW50KGZlZURlZmF1bHRzLmxvdykuY29udmVydChmZWVVbml0LCBmZWVVbml0cykudmFsdWUpLnRvRml4ZWQoKSxcbiAgICBtZWRpdW06IG5ldyBCaWdOdW1iZXIobmV3QW1vdW50KGZlZURlZmF1bHRzLm1lZGl1bSkuY29udmVydChmZWVVbml0LCBmZWVVbml0cykudmFsdWUpLnRvRml4ZWQoKSxcbiAgICBoaWdoOiBuZXcgQmlnTnVtYmVyKG5ld0Ftb3VudChmZWVEZWZhdWx0cy5oaWdoKS5jb252ZXJ0KGZlZVVuaXQsIGZlZVVuaXRzKS52YWx1ZSkudG9GaXhlZCgpXG4gIH1cbn1cblxuLy8gQnl0ZXNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ5dGVzRm9ybWF0VjFGcm9tVjAoYnl0ZXM6IHN0cmluZyk6IEJ5dGVzU3RyaW5nRm9ybWF0IHtcbiAgcmV0dXJuIGlzSGV4KGJ5dGVzKSA/ICdoZXgnIDogJ2VuY29kZWQnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWNyZXRLZXlUeXBlKHNlY3JldEtleTogc3RyaW5nKTogU2VjcmV0S2V5Wyd0eXBlJ10gfCBFeHRlbmRlZFNlY3JldEtleVsndHlwZSddIHtcbiAgcmV0dXJuIHNlY3JldEtleS5zdGFydHNXaXRoKCd4cHJ2JykgPyAneHByaXYnIDogJ3ByaXYnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQdWJsaWNLZXlUeXBlKHB1YmxpY0tleTogc3RyaW5nKTogUHVibGljS2V5Wyd0eXBlJ10gfCBFeHRlbmRlZFB1YmxpY0tleVsndHlwZSddIHtcbiAgcmV0dXJuIHB1YmxpY0tleS5zdGFydHNXaXRoKCd4cHViJykgPyAneHB1YicgOiAncHViJ1xufVxuIl19
|
|
@@ -25,6 +25,7 @@ import { createMoonbeamProtocol, MoonbeamModule, createMoonriverProtocol, create
|
|
|
25
25
|
import { createOptimismProtocol, OptimismModule, createERC20Token as createERC20Token$1 } from '@wallfree-dev/optimism';
|
|
26
26
|
import { createPolkadotProtocol, PolkadotModule, createKusamaProtocol } from '@wallfree-dev/polkadot';
|
|
27
27
|
import { createSolanaProtocol, SolanaModule } from '@wallfree-dev/solana';
|
|
28
|
+
import { createAptosProtocol, AptosModule } from '@wallfree-dev/aptos';
|
|
28
29
|
import { isTezosSaplingProtocol, createTezosProtocol, TezosModule, createTezosShieldedTezProtocol, createTezosKtProtocol, createTezosFA1p2Protocol, createTezosFA2Protocol, createBTCTezProtocol, createCTezProtocol, createDogamiProtocol, createETHTezProtocol, createKolibriUSDProtocol, createPlentyProtocol, createQuipuswapProtocol, createSiriusProtocol, createStakerProtocol, createTetherUSDProtocol, createTzBTCProtocol, createUBTCProtocol, createUDEFIProtocol, createUSDTezProtocol, createUUSDProtocol, createWrappedTezosProtocol, createWrapProtocol, createYouProtocol } from '@wallfree-dev/tezos';
|
|
29
30
|
import BigNumber$1 from '@wallfree-dev/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
|
|
30
31
|
import { AirGapTransactionStatus, AirGapTransactionWarningType } from '@wallfree-dev/coinlib-core/interfaces/IAirGapTransaction';
|
|
@@ -1334,6 +1335,11 @@ async function createV0SolanaProtocol(...args) {
|
|
|
1334
1335
|
const module = new SolanaModule();
|
|
1335
1336
|
return createV0Protocol(protocol, module);
|
|
1336
1337
|
}
|
|
1338
|
+
async function createV0AptosProtocol(...args) {
|
|
1339
|
+
const protocol = createAptosProtocol(...args);
|
|
1340
|
+
const module = new AptosModule();
|
|
1341
|
+
return createV0Protocol(protocol, module);
|
|
1342
|
+
}
|
|
1337
1343
|
async function createV0TezosProtocol(...args) {
|
|
1338
1344
|
const protocol = createTezosProtocol(...args);
|
|
1339
1345
|
const module = new TezosModule();
|
|
@@ -1569,7 +1575,8 @@ async function getDefaultActiveProtocols() {
|
|
|
1569
1575
|
createV0BitcoinProtocol(),
|
|
1570
1576
|
createV0AstarProtocol(),
|
|
1571
1577
|
createV0ShidenProtocol(),
|
|
1572
|
-
createV0SolanaProtocol()
|
|
1578
|
+
createV0SolanaProtocol(),
|
|
1579
|
+
createV0AptosProtocol()
|
|
1573
1580
|
]);
|
|
1574
1581
|
}
|
|
1575
1582
|
async function getDefaultPassiveSubProtocols() {
|
|
@@ -6929,5 +6936,5 @@ var isolatedModules_plugin = /*#__PURE__*/Object.freeze({
|
|
|
6929
6936
|
* Generated bundle index. Do not edit.
|
|
6930
6937
|
*/
|
|
6931
6938
|
|
|
6932
|
-
export { APP_CONFIG, APP_INFO_PLUGIN, APP_LAUNCHER_PLUGIN, APP_PLUGIN, AccountItemComponent, AccountSelectionComponent, AddressService, AirGapAngularCoreModule, AirGapTranslateLoader, AmountConverterPipe, AppInfo, BaseComponent, BaseEnvironmentService, BaseFacade, BaseIACService, BaseModulesService, BaseStorage, CLIPBOARD_PLUGIN, CURRENCY_SYMBOL_FACADE, CURRENCY_SYMBOL_FACADE_FACTORY, ClipboardService, ComponentsModule, CurrencySymbolComponent, DEFAULT_CURRENCY_SYMBOL_URL, DeeplinkService, ExposedPromise, ExposedPromiseRegistry, ExposedPromiseStatus, FILESYSTEM_PLUGIN, FeeConverterPipe, FilesystemService, FromToComponent, IACHandlerStatus, IACMessageHandler, IACMessageTransport, IACQrComponent, IACSinglePartHandler, ICoinDelegateProtocolAdapter, ICoinDelegateSubProtocolAdapter, ICoinProtocolAdapter, ICoinSubProtocolAdapter, ISOLATED_MODULES_DETAILS_FACADE, ISOLATED_MODULES_DETAILS_FACADE_FACTORY, ISOLATED_MODULES_LIST_FACADE, ISOLATED_MODULES_LIST_FACADE_FACTORY, ISOLATED_MODULES_LIST_PAGE_FACADE, ISOLATED_MODULES_LIST_PAGE_FACADE_FACTORY, ISOLATED_MODULES_PLUGIN, IdenticonComponent, IntegralModulesController, InternalStorageKey, InternalStorageService, IsolatedAirGapBlockExplorer, IsolatedAirGapOfflineProtocol, IsolatedAirGapOnlineProtocol, IsolatedAirGapV3SerializerCompanion, IsolatedModulesBadgesComponent, IsolatedModulesController, IsolatedModulesDetailsComponent, IsolatedModulesListComponent, IsolatedModulesOnboardingComponent, KeyPairService, LanguageService, MainProtocolStoreService, ModulesController, NetworkBadgeComponent, PermissionStatus, PermissionTypes, PermissionsService, PipesModule, ProtocolBlockExplorerAdapter, ProtocolNetworkAdapter, ProtocolOptionsAdapter, ProtocolService, QRType, QrComponent, QrScannerService, QrSettingsComponent, RuntimeMode, SPLASH_SCREEN_PLUGIN, STATUS_BAR_PLUGIN, SerializerService, SubProtocolStoreService, TEMP_BTC_REQUEST_IDS, TEMP_MM_REQUEST_IDS, TitledAddressComponent, TitledTextComponent, TransactionService, TransactionValidatorAdapter, UIActionStatus, UIResourceStatus, UiEventElementsService, UiEventService, UriService, WalletFilterPipe, IsolatedModules as WebIsolatedModules, ZIP_PLUGIN, Zip, assertNever, convertFeeDefaultsV0ToV1, convertFeeDefaultsV1ToV0, convertNetworkTypeV0ToV1, convertNetworkTypeV1ToV0, convertNetworkV0ToV1, convertNetworkV1ToV0, convertTransactionDetailsV1ToV0, convertTransactionStatusV1ToV0, convertV2ToV3, convertV3ToV2, createICoinProtocolAdapter, createICoinSubProtocolAdapter, createNotInitialized, createV0AeternityProtocol, createV0AstarProtocol, createV0BitcoinProtocol, createV0BitcoinSegwitProtocol, createV0CoreumProtocol, createV0CosmosProtocol, createV0ERC20Token, createV0EthereumERC20Token, createV0EthereumProtocol, createV0GroestlcoinProtocol, createV0ICPProtocol, createV0KusamaProtocol, createV0MoonbaseProtocol, createV0MoonbeamProtocol, createV0MoonriverProtocol, createV0OptimismERC20Token, createV0OptimismProtocol, createV0PolkadotProtocol, createV0Protocol, createV0ShidenProtocol, createV0SolanaProtocol, createV0SubProtocol, createV0TezosBTCTezProtocol, createV0TezosCTezProtocol, createV0TezosDogamiProtocol, createV0TezosETHTezProtocol, createV0TezosFA1p2Protocol, createV0TezosFA2Protocol, createV0TezosKolibriUSDProtocol, createV0TezosKtProtocol, createV0TezosPlentyProtocol, createV0TezosProtocol, createV0TezosQuipuswapProtocol, createV0TezosShieldedTezProtocol, createV0TezosSiriusProtocol, createV0TezosStakerProtocol, createV0TezosTetherUSDProtocol, createV0TezosTzBTCProtocol, createV0TezosUBTCProtocol, createV0TezosUDEFIProtocol, createV0TezosUSDTezProtocol, createV0TezosUUSDProtocol, createV0TezosWrapProtocol, createV0TezosWrappedProtocol, createV0TezosYouProtocol, currencySymbolFacade, defaultValues, deriveAddressesAsync, duplicatesRemoved, flattenAirGapTxAddresses, flattened, generateGUID, getBytesFormatV1FromV0, getMainIdentifier, getOfflineProtocolConfiguration, getOnlineProtocolConfiguration, getProtocolAndNetworkIdentifier, getPublicKeyType, getSecretKeyType, isIsolatedModuleMetadata, isolatedModules, isolatedModulesDetailsFacade, isolatedModulesListFacade, isolatedModulesListPageFacade, merged, parseIACUrl, partition, serializedDataToUrlString, splitProtocolNetworkIdentifier, sumAirGapTxValues, supportsV0Delegation, supportsV1Delegation, to, toBoolean };
|
|
6939
|
+
export { APP_CONFIG, APP_INFO_PLUGIN, APP_LAUNCHER_PLUGIN, APP_PLUGIN, AccountItemComponent, AccountSelectionComponent, AddressService, AirGapAngularCoreModule, AirGapTranslateLoader, AmountConverterPipe, AppInfo, BaseComponent, BaseEnvironmentService, BaseFacade, BaseIACService, BaseModulesService, BaseStorage, CLIPBOARD_PLUGIN, CURRENCY_SYMBOL_FACADE, CURRENCY_SYMBOL_FACADE_FACTORY, ClipboardService, ComponentsModule, CurrencySymbolComponent, DEFAULT_CURRENCY_SYMBOL_URL, DeeplinkService, ExposedPromise, ExposedPromiseRegistry, ExposedPromiseStatus, FILESYSTEM_PLUGIN, FeeConverterPipe, FilesystemService, FromToComponent, IACHandlerStatus, IACMessageHandler, IACMessageTransport, IACQrComponent, IACSinglePartHandler, ICoinDelegateProtocolAdapter, ICoinDelegateSubProtocolAdapter, ICoinProtocolAdapter, ICoinSubProtocolAdapter, ISOLATED_MODULES_DETAILS_FACADE, ISOLATED_MODULES_DETAILS_FACADE_FACTORY, ISOLATED_MODULES_LIST_FACADE, ISOLATED_MODULES_LIST_FACADE_FACTORY, ISOLATED_MODULES_LIST_PAGE_FACADE, ISOLATED_MODULES_LIST_PAGE_FACADE_FACTORY, ISOLATED_MODULES_PLUGIN, IdenticonComponent, IntegralModulesController, InternalStorageKey, InternalStorageService, IsolatedAirGapBlockExplorer, IsolatedAirGapOfflineProtocol, IsolatedAirGapOnlineProtocol, IsolatedAirGapV3SerializerCompanion, IsolatedModulesBadgesComponent, IsolatedModulesController, IsolatedModulesDetailsComponent, IsolatedModulesListComponent, IsolatedModulesOnboardingComponent, KeyPairService, LanguageService, MainProtocolStoreService, ModulesController, NetworkBadgeComponent, PermissionStatus, PermissionTypes, PermissionsService, PipesModule, ProtocolBlockExplorerAdapter, ProtocolNetworkAdapter, ProtocolOptionsAdapter, ProtocolService, QRType, QrComponent, QrScannerService, QrSettingsComponent, RuntimeMode, SPLASH_SCREEN_PLUGIN, STATUS_BAR_PLUGIN, SerializerService, SubProtocolStoreService, TEMP_BTC_REQUEST_IDS, TEMP_MM_REQUEST_IDS, TitledAddressComponent, TitledTextComponent, TransactionService, TransactionValidatorAdapter, UIActionStatus, UIResourceStatus, UiEventElementsService, UiEventService, UriService, WalletFilterPipe, IsolatedModules as WebIsolatedModules, ZIP_PLUGIN, Zip, assertNever, convertFeeDefaultsV0ToV1, convertFeeDefaultsV1ToV0, convertNetworkTypeV0ToV1, convertNetworkTypeV1ToV0, convertNetworkV0ToV1, convertNetworkV1ToV0, convertTransactionDetailsV1ToV0, convertTransactionStatusV1ToV0, convertV2ToV3, convertV3ToV2, createICoinProtocolAdapter, createICoinSubProtocolAdapter, createNotInitialized, createV0AeternityProtocol, createV0AptosProtocol, createV0AstarProtocol, createV0BitcoinProtocol, createV0BitcoinSegwitProtocol, createV0CoreumProtocol, createV0CosmosProtocol, createV0ERC20Token, createV0EthereumERC20Token, createV0EthereumProtocol, createV0GroestlcoinProtocol, createV0ICPProtocol, createV0KusamaProtocol, createV0MoonbaseProtocol, createV0MoonbeamProtocol, createV0MoonriverProtocol, createV0OptimismERC20Token, createV0OptimismProtocol, createV0PolkadotProtocol, createV0Protocol, createV0ShidenProtocol, createV0SolanaProtocol, createV0SubProtocol, createV0TezosBTCTezProtocol, createV0TezosCTezProtocol, createV0TezosDogamiProtocol, createV0TezosETHTezProtocol, createV0TezosFA1p2Protocol, createV0TezosFA2Protocol, createV0TezosKolibriUSDProtocol, createV0TezosKtProtocol, createV0TezosPlentyProtocol, createV0TezosProtocol, createV0TezosQuipuswapProtocol, createV0TezosShieldedTezProtocol, createV0TezosSiriusProtocol, createV0TezosStakerProtocol, createV0TezosTetherUSDProtocol, createV0TezosTzBTCProtocol, createV0TezosUBTCProtocol, createV0TezosUDEFIProtocol, createV0TezosUSDTezProtocol, createV0TezosUUSDProtocol, createV0TezosWrapProtocol, createV0TezosWrappedProtocol, createV0TezosYouProtocol, currencySymbolFacade, defaultValues, deriveAddressesAsync, duplicatesRemoved, flattenAirGapTxAddresses, flattened, generateGUID, getBytesFormatV1FromV0, getMainIdentifier, getOfflineProtocolConfiguration, getOnlineProtocolConfiguration, getProtocolAndNetworkIdentifier, getPublicKeyType, getSecretKeyType, isIsolatedModuleMetadata, isolatedModules, isolatedModulesDetailsFacade, isolatedModulesListFacade, isolatedModulesListPageFacade, merged, parseIACUrl, partition, serializedDataToUrlString, splitProtocolNetworkIdentifier, sumAirGapTxValues, supportsV0Delegation, supportsV1Delegation, to, toBoolean };
|
|
6933
6940
|
//# sourceMappingURL=wallfree-dev-angular-core.mjs.map
|