@bitgo-beta/sdk-coin-sol 7.6.4-beta.790 → 7.6.4-beta.792
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/dist/cjs/src/lib/constants.d.ts +8 -0
- package/dist/cjs/src/lib/constants.d.ts.map +1 -1
- package/dist/cjs/src/lib/constants.js +13 -2
- package/dist/cjs/src/lib/explainTransactionWasm.d.ts.map +1 -1
- package/dist/cjs/src/lib/explainTransactionWasm.js +26 -8
- package/dist/cjs/src/lib/instructionParamsFactory.d.ts.map +1 -1
- package/dist/cjs/src/lib/instructionParamsFactory.js +13 -1
- package/dist/cjs/src/lib/utils.d.ts +12 -1
- package/dist/cjs/src/lib/utils.d.ts.map +1 -1
- package/dist/cjs/src/lib/utils.js +55 -3
- package/dist/cjs/src/sol.d.ts.map +1 -1
- package/dist/cjs/src/sol.js +9 -1
- package/dist/cjs/test/resources/sol.d.ts +1 -1
- package/dist/cjs/test/resources/sol.d.ts.map +1 -1
- package/dist/cjs/test/resources/sol.js +2 -2
- package/dist/cjs/test/unit/explainTransactionWasm.js +82 -1
- package/dist/cjs/test/unit/instructionParamsFactory.staking.js +14 -38
- package/dist/cjs/test/unit/sol.js +63 -1
- package/dist/cjs/test/unit/transactionBuilder/stakingDeactivateBuilder.js +2 -2
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/lib/constants.d.ts +8 -0
- package/dist/esm/lib/constants.d.ts.map +1 -1
- package/dist/esm/lib/constants.js +12 -1
- package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -1
- package/dist/esm/lib/explainTransactionWasm.js +26 -8
- package/dist/esm/lib/instructionParamsFactory.d.ts.map +1 -1
- package/dist/esm/lib/instructionParamsFactory.js +13 -1
- package/dist/esm/lib/utils.d.ts +12 -1
- package/dist/esm/lib/utils.d.ts.map +1 -1
- package/dist/esm/lib/utils.js +53 -4
- package/dist/esm/sol.d.ts.map +1 -1
- package/dist/esm/sol.js +10 -2
- package/package.json +8 -8
|
@@ -202,6 +202,14 @@ export declare const marinadeStakingDeactivateInstructionsIndexes: {
|
|
|
202
202
|
readonly Transfer: 0;
|
|
203
203
|
readonly Memo: 1;
|
|
204
204
|
};
|
|
205
|
+
/**
|
|
206
|
+
* Marinade native-staking unstake has no on-chain program instruction: it is a single SystemProgram
|
|
207
|
+
* Transfer to one of Marinade's order addresses plus a PrepareForRevoke memo, acted on off-chain.
|
|
208
|
+
* The destination and amount are therefore the only server-independent signal that it is genuine.
|
|
209
|
+
*/
|
|
210
|
+
export declare const MARINADE_ORDER_ADDRESSES: readonly string[];
|
|
211
|
+
/** Lamports BitGo sends per Marinade unstake order (marinade.unstakeTransferAmount in staking-service) */
|
|
212
|
+
export declare const MARINADE_UNSTAKE_TRANSFER_LAMPORTS: bigint;
|
|
205
213
|
/** Const to check the order of the Partial Staking Deactivate instructions when decoded */
|
|
206
214
|
export declare const stakingPartialDeactivateInstructionsIndexes: {
|
|
207
215
|
readonly Transfer: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -241,6 +241,17 @@ export const marinadeStakingDeactivateInstructionsIndexes = {
|
|
|
241
241
|
Transfer: 0,
|
|
242
242
|
Memo: 1,
|
|
243
243
|
};
|
|
244
|
+
/**
|
|
245
|
+
* Marinade native-staking unstake has no on-chain program instruction: it is a single SystemProgram
|
|
246
|
+
* Transfer to one of Marinade's order addresses plus a PrepareForRevoke memo, acted on off-chain.
|
|
247
|
+
* The destination and amount are therefore the only server-independent signal that it is genuine.
|
|
248
|
+
*/
|
|
249
|
+
export const MARINADE_ORDER_ADDRESSES = [
|
|
250
|
+
'opNS8ENpEMWdXcJUgJCsJTDp7arTXayoBEeBUg6UezP', // native
|
|
251
|
+
'opiNSvKm1aPkbuSjnZfY5vyJUmaVxuQyTJt6jnNTW1L', // select
|
|
252
|
+
];
|
|
253
|
+
/** Lamports BitGo sends per Marinade unstake order (marinade.unstakeTransferAmount in staking-service) */
|
|
254
|
+
export const MARINADE_UNSTAKE_TRANSFER_LAMPORTS = BigInt(2300000);
|
|
244
255
|
/** Const to check the order of the Partial Staking Deactivate instructions when decoded */
|
|
245
256
|
export const stakingPartialDeactivateInstructionsIndexes = {
|
|
246
257
|
Transfer: 0,
|
|
@@ -271,4 +282,4 @@ export const ataRecoverNestedInstructionIndexes = {
|
|
|
271
282
|
export const nonceAdvanceInstruction = 'AdvanceNonceAccount';
|
|
272
283
|
export const validInstructionData = '0a00000001000000';
|
|
273
284
|
export const validInstructionData2 = '0a00000000000000';
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLDZDQUE2QyxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFFOUIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxPQUFPLENBQUM7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxPQUFTLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBRTlDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLDZDQUE2QyxDQUFDO0FBRXpGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLDZDQUE2QyxDQUFDO0FBRXpGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUFTO0lBQ25ELENBQUMsRUFBRSxtQkFBbUI7SUFDdEIsQ0FBQyxFQUFFLFVBQVU7SUFDYixDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLHNCQUFzQjtDQUMxQixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyw2Q0FBNkMsQ0FBQztBQUNyRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyw4Q0FBOEMsQ0FBQztB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RVgsMkZBQTJGO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHO0lBQ3pELFFBQVEsRUFBRSxDQUFDO0lBQ1gsUUFBUSxFQUFFLENBQUM7SUFDWCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxDQUFDO0lBQ1IsVUFBVSxFQUFFLENBQUM7SUFDYixJQUFJLEVBQUUsQ0FBQztDQUNDLENBQUM7QUFFWCxnRkFBZ0Y7QUFDaEYsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUc7SUFDaEQsUUFBUSxFQUFFLENBQUM7SUFDWCxJQUFJLEVBQUUsQ0FBQztDQUNDLENBQUM7QUFFWCx3RUFBd0U7QUFDeEUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDdkMsZ0NBQWdDLEVBQUUsQ0FBQztJQUNuQyxJQUFJLEVBQUUsQ0FBQztDQUNDLENBQUM7QUFFWCx3RUFBd0U7QUFDeEUsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsMkJBQTJCLEVBQUUsQ0FBQztDQUN0QixDQUFDO0FBRVgsa0ZBQWtGO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHO0lBQ2hELG1DQUFtQyxFQUFFLENBQUM7Q0FDOUIsQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLHFCQUFxQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRJbnN0cnVjdGlvblR5cGVzIH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBNRU1PX1BST0dSQU1fUEsgPSAnTWVtb1NxNGdxQUJBWEtiOTZxbkg4VHlzTmNXeE15V0NxWGdETEdtZmNIcic7XG5cbmV4cG9ydCBjb25zdCBTRUVEX0xFTkdUSCA9IDMyO1xuXG5leHBvcnQgY29uc3QgTUFYX01FTU9fTEVOR1RIID0gMTMwO1xuZXhwb3J0IGNvbnN0IFNUQUtFX0FDQ09VTlRfUkVOVF9FWEVNUFRfQU1PVU5UID0gMjI4Mjg4MDtcblxuLyoqXG4gKiBNYXhpbXVtIGNvbXB1dGUgdW5pdHMgYSBzaW5nbGUgdHJhbnNhY3Rpb24gY2FuIHJlcXVlc3QgdGhyb3VnaCB0aGUgY29tcHV0ZVxuICogYnVkZ2V0IHByb2dyYW0gKFNldENvbXB1dGVVbml0TGltaXQpLCBlbmZvcmNlZCBvbi1jaGFpbiBieSB0aGUgcnVudGltZS5cbiAqIFRoZSBwcmlvcml0eSBmZWUgaXMgY2hhcmdlZCBvbiB0aGUgcmVxdWVzdGVkIGxpbWl0IHJhdGhlciB0aGFuIHRoZSB1bml0c1xuICogYWN0dWFsbHkgY29uc3VtZWQsIHNvIGJ1aWxkZXJzIG11c3Qgc2V0IGFuIGludGVudC1zaXplZCBsaW1pdCBiZWxvdyB0aGlzIGNhcC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9DT01QVVRFX1VOSVRfTElNSVQgPSAxXzQwMF8wMDA7XG5cbmV4cG9ydCBjb25zdCBVTkFWQUlMQUJMRV9URVhUID0gJ1VOQVZBSUxBQkxFJztcblxuLyoqXG4gKiBTeXN2YXIgaW5zdHJ1Y3Rpb25zIGFjY291bnQgYWRkcmVzcyDigJQgdXNlZCBieSBUb2tlbi0yMDIyIGNvbmZpZGVudGlhbCB0cmFuc2ZlclxuICogaW5zdHJ1Y3Rpb25zIHRvIGxvY2F0ZSBpbmxpbmUgcHJvb2YgdmVyaWZpY2F0aW9uIGluc3RydWN0aW9ucyBpbiB0aGUgc2FtZSB0cmFuc2FjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IElOU1RSVUNUSU9OU19TWVNWQVJfQUREUkVTUyA9ICdTeXN2YXIxbnN0cnVjdGlvbnMxMTExMTExMTExMTExMTExMTExMTExMTExJztcblxuLyoqXG4gKiBDYW5vbmljYWwgb24tY2hhaW4gcHJvZ3JhbSBpZCBvZiB0aGUgemstZWxnYW1hbC1wcm9vZiBwcm9ncmFtLlxuICpcbiAqIFRoaXMgaXMgdGhlIHNhbWUgYWNyb3NzIG1haW5uZXQsIGRldm5ldCwgYW5kIHRlc3RuZXQg4oCUIGl0IGlzIGEgbmF0aXZlXG4gKiBidWlsdC1pbiBwcm9ncmFtLiBDYWxsZXJzIGNhbiBvdmVycmlkZSB2aWEgQ29uZmlkZW50aWFsVHJhbnNmZXJCdWlsZGVyXG4gKiAuemtQcm9vZlByb2dyYW1JZCgpIGlmIHRhcmdldGluZyBhIGN1c3RvbSBkZXBsb3ltZW50LlxuICpcbiAqIE5vdGU6IFRoZSBkZXByZWNhdGVkIHprLXRva2VuLXByb29mIHByb2dyYW0gaWQgaXNcbiAqIGBaa1Rva2VuUHJvb2YxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExYC5cbiAqL1xuZXhwb3J0IGNvbnN0IFpLX0VMR0FNQUxfUFJPT0ZfUFJPR1JBTV9JRCA9ICdaa0UxR2FtYTFQcm9vZjExMTExMTExMTExMTExMTExMTExMTExMTExMTExJztcblxuLyoqXG4gKiBUb2tlbi0yMDIyIGNvbmZpZGVudGlhbCB0cmFuc2ZlciBleHRlbnNpb24gZGlzY3JpbWluYXRvciAoYnl0ZSAwIG9mIGluc3RydWN0aW9uIGRhdGEpLlxuICovXG5leHBvcnQgY29uc3QgQ1RfRVhUX0RJU0NSSU1JTkFUT1IgPSAyNztcblxuLyoqXG4gKiBWYWxpZCBDVCBzdWItaW5zdHJ1Y3Rpb24gZGlzY3JpbWluYXRvcnMgKGJ5dGUgMSBhZnRlciBDVF9FWFRfRElTQ1JJTUlOQVRPUikuXG4gKiBVc2VkIGZvciB0cmFuc2FjdGlvbiB0eXBlIGRldGVjdGlvbiAoZ2V0VHJhbnNhY3Rpb25UeXBlIC8gZGVyaXZlVHJhbnNhY3Rpb25UeXBlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IENUX1NVQl9ESVNDUklNSU5BVE9SUyA9IG5ldyBTZXQ8bnVtYmVyPihbXG4gIDIsIC8vIENvbmZpZ3VyZUFjY291bnRcbiAgNSwgLy8gRGVwb3NpdFxuICA2LCAvLyBXaXRoZHJhd1xuICA3LCAvLyBUcmFuc2ZlclxuICA4LCAvLyBBcHBseVBlbmRpbmdCYWxhbmNlXG5dKTtcblxuLyoqXG4gKiBNYXhpbXVtIG92ZXItdGhlLXdpcmUgc2l6ZSBvZiBhIFNvbGFuYSB0cmFuc2FjdGlvbiAoaW4gYnl0ZXMpXG4gKlxuICogU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vYW56YS14eXovYWdhdmUvYmxvYi92Mi4xLjEzL3Nkay9wYWNrZXQvc3JjL2xpYi5ycyNMMjctTDI5XG4gKlxuICogQ2FsY3VsYXRpb246XG4gKiAtIElQdjYgbWluaW11bSBNVFU6IDEyODAgYnl0ZXNcbiAqIC0gSVB2NiBoZWFkZXI6IDQwIGJ5dGVzXG4gKiAtIEZyYWdtZW50L1VEUCBoZWFkZXI6IDggYnl0ZXNcbiAqIC0gUmVzdWx0OiAxMjgwIC0gNDAgLSA4ID0gMTIzMiBieXRlc1xuICpcbiAqIFRoaXMgbGltaXQgaXMgZGVzaWduZWQgdG8gYXZvaWQgcGFja2V0IGZyYWdtZW50YXRpb24gb24gdHlwaWNhbCBpbnRlcm5ldCBpbmZyYXN0cnVjdHVyZS5cbiAqIFRyYW5zYWN0aW9ucyBleGNlZWRpbmcgdGhpcyBsaW1pdCB3aWxsIGZhaWwgdG8gc2VyaWFsaXplIHdpdGggYSBSYW5nZUVycm9yIGR1cmluZ1xuICogdGhlIGVuY29kaW5nIG9mIHRoZSB0cmFuc2FjdGlvbiBtZXNzYWdlLlxuICpcbiAqIFJlZmVyZW5jZTogaHR0cHM6Ly9zb2xhbmEuY29tL2RvY3MvY29yZS90cmFuc2FjdGlvbnMjdHJhbnNhY3Rpb24tc2l6ZVxuICovXG5leHBvcnQgY29uc3QgU09MQU5BX1RSQU5TQUNUSU9OX01BWF9TSVpFID0gMTIzMjtcblxuZXhwb3J0IGNvbnN0IEpJVE9fU1RBS0VfUE9PTF9BRERSRVNTID0gJ0ppdG80QVB5ZjY0MkpQWlB4M2hHYzZXV0o4elBLdFJiUnM0UDgxNUF3YmInO1xuZXhwb3J0IGNvbnN0IEpJVE9TT0xfTUlOVF9BRERSRVNTID0gJ0oxdG9zbzF1Q2szUkxtam9yaFR0clZ3WTlISjdYOFY5eVlhYzZZN2tHQ1BuJztcbmV4cG9ydCBjb25zdCBKSVRPX1NUQUtFX1BPT0xfUkVTRVJWRV9BQ0NPVU5UID0gJ0JnS1VYZFMyOVljSENGclBtNU04b0xIaVR6WmFNRGpzZWJnZ2pvYVE2S0ZMJztcbmV4cG9ydCBjb25zdCBKSVRPX1NUQUtFX1BPT0xfUkVTRVJWRV9BQ0NPVU5UX1RFU1RORVQgPSAncnJXQlFxUnFCWFladzNDbVBDQ2NqRnhRMkRzNEpGSmQ3b1JRSjk5N2Roeic7XG5leHBvcnQgY29uc3QgSklUT19NQU5BR0VSX0ZFRV9BQ0NPVU5UID0gJ2ZlZWVGTExzYW02eFpKRmM2VVFGckhxa3ZWdDRqZm1WdmkyQlJMa1VaNGknO1xuZXhwb3J0IGNvbnN0IEpJVE9fTUFOQUdFUl9GRUVfQUNDT1VOVF9URVNUTkVUID0gJ0RIN3Rtam9RNXpqcWNnZllKVTIySnFtWGhQNUVZMXRrYllwZ1ZXVVMyb05vJztcblxuLyoqXG4gKiBPbi1jaGFpbiBwcm9ncmFtIGlkIG9mIHRoZSBzUkZDLTM3IFRva2VuIEFDTCBwcm9ncmFtLiBUaGlzIHNpbmdsZSBwcm9ncmFtIGdhdGVzIGV2ZXJ5XG4gKiBhbGxvd2xpc3QvYmxvY2tsaXN0IChEZWZhdWx0QWNjb3VudFN0YXRlKSBUb2tlbi0yMDIyIG1pbnQsIHNvIHRoZSB2YWx1ZSBpcyBnZW5lcmljIGFuZCBuZXZlclxuICogdGllZCB0byBhIHNwZWNpZmljIGlzc3Vlci5cbiAqL1xuZXhwb3J0IGNvbnN0IFRPS0VOX0FDTF9QUk9HUkFNX0lEID0gJ1RBQ0xrVTZDaUNka1FOMk1qb3lEa1ZnMnlBSDl6a3hpSERzaXp0UTUyVFAnO1xuXG4vKipcbiAqIEluc3RydWN0aW9uIGRpc2NyaW1pbmF0b3IgKGEgc2luZ2xlIHU4IGJ5dGUpIGZvciB0aGUgVG9rZW4gQUNMIGBUaGF3UGVybWlzc2lvbmxlc3NJZGVtcG90ZW50YFxuICogaW5zdHJ1Y3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBUSEFXX1BFUk1JU1NJT05MRVNTX0lERU1QT1RFTlRfRElTQ1JJTUlOQVRPUiA9IDk7XG5cbi8qKiBQREEgc2VlZCBwcmVmaXggKHVuZGVyIHRoZSBUb2tlbiBBQ0wgcHJvZ3JhbSkgZm9yIGEgbWludCdzIE1pbnRDb25maWcgYWNjb3VudC4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfTUlOVF9DT05GSUdfU0VFRCA9ICdNSU5UX0NPTkZJRyc7XG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgVG9rZW4gQUNMIHByb2dyYW0pIGZvciBhIHRva2VuIGFjY291bnQncyB0aGF3IGZsYWcgYWNjb3VudC4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfRkxBR19BQ0NPVU5UX1NFRUQgPSAnRkxBR19BQ0NPVU5UJztcbi8qKiBQREEgc2VlZCBwcmVmaXggKHVuZGVyIHRoZSBnYXRpbmcgcHJvZ3JhbSkgZm9yIGEgbWludCdzIHRoYXcgRXh0cmFBY2NvdW50TWV0YUxpc3QgYWNjb3VudC4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfVEhBV19FWFRSQV9NRVRBU19TRUVEID0gJ3RoYXdfZXh0cmFfYWNjb3VudF9tZXRhcyc7XG5cbi8vIFNkayBpbnN0cnVjdGlvbnMsIG1haW5seSB0byBjaGVjayBkZWNvZGVkIHR5cGVzLlxuZXhwb3J0IGVudW0gVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bSB7XG4gIEFkdmFuY2VOb25jZUFjY291bnQgPSAnQWR2YW5jZU5vbmNlQWNjb3VudCcsXG4gIENyZWF0ZSA9ICdDcmVhdGUnLFxuICBJbml0aWFsaXplTm9uY2VBY2NvdW50ID0gJ0luaXRpYWxpemVOb25jZUFjY291bnQnLFxuICBTdGFraW5nSW5pdGlhbGl6ZSA9ICdJbml0aWFsaXplJyxcbiAgU3Rha2luZ0RlbGVnYXRlID0gJ0RlbGVnYXRlJyxcbiAgU3Rha2luZ0RlYWN0aXZhdGUgPSAnRGVhY3RpdmF0ZScsXG4gIFN0YWtpbmdXaXRoZHJhdyA9ICdXaXRoZHJhdycsXG4gIFRyYW5zZmVyID0gJ1RyYW5zZmVyJyxcbiAgVG9rZW5UcmFuc2ZlciA9ICdUb2tlblRyYW5zZmVyJyxcbiAgTWVtbyA9ICdNZW1vJyxcbiAgSW5pdGlhbGl6ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnSW5pdGlhbGl6ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBBbGxvY2F0ZSA9ICdBbGxvY2F0ZScsXG4gIEFzc2lnbiA9ICdBc3NpZ24nLFxuICBTcGxpdCA9ICdTcGxpdCcsXG4gIEF1dGhvcml6ZSA9ICdBdXRob3JpemUnLFxuICBTZXRDb21wdXRlVW5pdExpbWl0ID0gJ1NldENvbXB1dGVVbml0TGltaXQnLFxuICBTZXRQcmlvcml0eUZlZSA9ICdTZXRQcmlvcml0eUZlZScsXG4gIE1pbnRUbyA9ICdNaW50VG8nLFxuICBCdXJuID0gJ0J1cm4nLFxuICBEZXBvc2l0U29sID0gJ0RlcG9zaXRTb2wnLFxuICBXaXRoZHJhd1N0YWtlID0gJ1dpdGhkcmF3U3Rha2UnLFxuICBXaXRoZHJhd1NvbCA9ICdXaXRoZHJhd1NvbCcsXG4gIEFwcHJvdmUgPSAnQXBwcm92ZScsXG4gIEN1c3RvbUluc3RydWN0aW9uID0gJ0N1c3RvbUluc3RydWN0aW9uJyxcbiAgUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCA9ICdQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50JyxcbiAgLy8gQ29uZmlkZW50aWFsIFRyYW5zZmVyIGluc3RydWN0aW9uIHR5cGVzIChUb2tlbi0yMDIyIENUIGV4dGVuc2lvbiArIHprLWVsZ2FtYWwtcHJvb2YpXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBBcHBseVBlbmRpbmdCYWxhbmNlID0gJ0FwcGx5UGVuZGluZ0JhbGFuY2UnLFxuICBDb25maWRlbnRpYWxEZXBvc2l0ID0gJ0NvbmZpZGVudGlhbERlcG9zaXQnLFxuICBDb25maWRlbnRpYWxXaXRoZHJhdyA9ICdDb25maWRlbnRpYWxXaXRoZHJhdycsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbiAgVmVyaWZ5UHVia2V5VmFsaWRpdHkgPSAnVmVyaWZ5UHVia2V5VmFsaWRpdHknLFxuICBWZXJpZnlFcXVhbGl0eVByb29mID0gJ1ZlcmlmeUVxdWFsaXR5UHJvb2YnLFxuICBWZXJpZnlWYWxpZGl0eVByb29mID0gJ1ZlcmlmeVZhbGlkaXR5UHJvb2YnLFxuICBWZXJpZnlSYW5nZVByb29mID0gJ1ZlcmlmeVJhbmdlUHJvb2YnLFxufVxuXG4vLyBJbnRlcm5hbCBpbnN0cnVjdGlvbnMgdHlwZXNcbmV4cG9ydCBlbnVtIEluc3RydWN0aW9uQnVpbGRlclR5cGVzIHtcbiAgQ3JlYXRlTm9uY2VBY2NvdW50ID0gJ0NyZWF0ZU5vbmNlQWNjb3VudCcsXG4gIFN0YWtpbmdBY3RpdmF0ZSA9ICdBY3RpdmF0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ0RlYWN0aXZhdGUnLFxuICBTdGFraW5nV2l0aGRyYXcgPSAnV2l0aGRyYXcnLFxuICBUcmFuc2ZlciA9ICdUcmFuc2ZlcicsXG4gIE1lbW8gPSAnTWVtbycsXG4gIE5vbmNlQWR2YW5jZSA9ICdOb25jZUFkdmFuY2UnLFxuICBDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0NyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBSZWFsbG9jYXRlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50ID0gJ1JlYWxsb2NhdGVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBUb2tlblRyYW5zZmVyID0gJ1Rva2VuVHJhbnNmZXInLFxuICBTdGFraW5nQXV0aG9yaXplID0gJ0F1dGhvcml6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdEZWxlZ2F0ZScsXG4gIFNldENvbXB1dGVVbml0TGltaXQgPSAnU2V0Q29tcHV0ZVVuaXRMaW1pdCcsXG4gIFNldFByaW9yaXR5RmVlID0gJ1NldFByaW9yaXR5RmVlJyxcbiAgTWludFRvID0gJ01pbnRUbycsXG4gIEJ1cm4gPSAnQnVybicsXG4gIEN1c3RvbUluc3RydWN0aW9uID0gJ0N1c3RvbUluc3RydWN0aW9uJyxcbiAgVmVyc2lvbmVkQ3VzdG9tSW5zdHJ1Y3Rpb24gPSAnVmVyc2lvbmVkQ3VzdG9tSW5zdHJ1Y3Rpb24nLFxuICBBcHByb3ZlID0gJ0FwcHJvdmUnLFxuICBXaXRoZHJhd1N0YWtlID0gJ1dpdGhkcmF3U3Rha2UnLFxuICBQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50ID0gJ1Blcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQnLFxuICAvLyBDb25maWRlbnRpYWwgVHJhbnNmZXIgaW5zdHJ1Y3Rpb24gdHlwZXMgKFRva2VuLTIwMjIgQ1QgZXh0ZW5zaW9uICsgemstZWxnYW1hbC1wcm9vZilcbiAgQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50ID0gJ0NvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCcsXG4gIEFwcGx5UGVuZGluZ0JhbGFuY2UgPSAnQXBwbHlQZW5kaW5nQmFsYW5jZScsXG4gIENvbmZpZGVudGlhbERlcG9zaXQgPSAnQ29uZmlkZW50aWFsRGVwb3NpdCcsXG4gIENvbmZpZGVudGlhbFdpdGhkcmF3ID0gJ0NvbmZpZGVudGlhbFdpdGhkcmF3JyxcbiAgQ29uZmlkZW50aWFsVHJhbnNmZXIgPSAnQ29uZmlkZW50aWFsVHJhbnNmZXInLFxuICBWZXJpZnlQdWJrZXlWYWxpZGl0eSA9ICdWZXJpZnlQdWJrZXlWYWxpZGl0eScsXG4gIFZlcmlmeUVxdWFsaXR5UHJvb2YgPSAnVmVyaWZ5RXF1YWxpdHlQcm9vZicsXG4gIFZlcmlmeVZhbGlkaXR5UHJvb2YgPSAnVmVyaWZ5VmFsaWRpdHlQcm9vZicsXG4gIFZlcmlmeVJhbmdlUHJvb2YgPSAnVmVyaWZ5UmFuZ2VQcm9vZicsXG59XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9TWVNURU1fSU5TVFJVQ1RJT05fVFlQRVM6IFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc1tdID0gW1xuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFkdmFuY2VOb25jZUFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQ3JlYXRlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlN0YWtpbmdJbml0aWFsaXplLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlN0YWtpbmdEZWxlZ2F0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nRGVhY3RpdmF0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nV2l0aGRyYXcsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uVHJhbnNmZXIsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5NZW1vLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkNsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5SZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Ub2tlblRyYW5zZmVyLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFsbG9jYXRlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFzc2lnbixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TcGxpdCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BdXRob3JpemUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU2V0Q29tcHV0ZVVuaXRMaW1pdCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TZXRQcmlvcml0eUZlZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5NaW50VG8sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQnVybixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BcHByb3ZlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkRlcG9zaXRTb2wsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uV2l0aGRyYXdTdGFrZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5XaXRoZHJhd1NvbCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5DdXN0b21JbnN0cnVjdGlvbixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5QZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50LFxuXTtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgV2FsbGV0IEluaXQgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgd2FsbGV0SW5pdEluc3RydWN0aW9uSW5kZXhlcyA9IHtcbiAgQ3JlYXRlOiAwLFxuICBJbml0aWFsaXplTm9uY2VBY2NvdW50OiAxLFxuICBNZW1vOiAyLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBDcmVhdGU6IDAsXG4gIEluaXRpYWxpemU6IDEsXG4gIERlbGVnYXRlOiAyLFxuICBNZW1vOiAzLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgTWFyaW5hZGUgU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBtYXJpbmFkZVN0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIENyZWF0ZTogMCxcbiAgSW5pdGlhbGl6ZTogMSxcbiAgTWVtbzogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgRGVwb3NpdFNvbDogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0FjdGl2YXRlV2l0aEFUQUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50OiAwLFxuICBEZXBvc2l0U29sOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgSml0byBTdGFraW5nIEFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGppdG9TdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIEFwcHJvdmU6IDAsXG4gIENyZWF0ZTogMSxcbiAgV2l0aGRyYXdTdGFrZTogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgQXV0aG9yaXplIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdBdXRob3JpemVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBBdXRob3JpemU6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIERlbGVnYXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdEZWxlZ2F0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlbGVnYXRlOiAwLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBEZWFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgRGVhY3RpdmF0ZTogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIE1hcmluYWRlIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBtYXJpbmFkZVN0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgVHJhbnNmZXI6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBQYXJ0aWFsIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGVkICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ1BhcnRpYWxEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgVHJhbnNmZXI6IDAsXG4gIEFsbG9jYXRlOiAxLFxuICBBc3NpZ246IDIsXG4gIFNwbGl0OiAzLFxuICBEZWFjdGl2YXRlOiA0LFxuICBNZW1vOiA1LFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBXaXRoZHJhdyBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nV2l0aGRyYXdJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBXaXRoZHJhdzogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEFUQSBpbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGF0YUluaXRJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50OiAwLFxuICBNZW1vOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgQVRBIGluaXQgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgYXRhQ2xvc2VJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIENsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIHJlY292ZXIgbmVzdGVkIEFUQSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBhdGFSZWNvdmVyTmVzdGVkSW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBub25jZUFkdmFuY2VJbnN0cnVjdGlvbiA9ICdBZHZhbmNlTm9uY2VBY2NvdW50JztcbmV4cG9ydCBjb25zdCB2YWxpZEluc3RydWN0aW9uRGF0YSA9ICcwYTAwMDAwMDAxMDAwMDAwJztcbmV4cG9ydCBjb25zdCB2YWxpZEluc3RydWN0aW9uRGF0YTIgPSAnMGEwMDAwMDAwMDAwMDAwMCc7XG4iXX0=
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLDZDQUE2QyxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFFOUIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxPQUFPLENBQUM7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxPQUFTLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBRTlDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLDZDQUE2QyxDQUFDO0FBRXpGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLDZDQUE2QyxDQUFDO0FBRXpGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUFTO0lBQ25ELENBQUMsRUFBRSxtQkFBbUI7SUFDdEIsQ0FBQyxFQUFFLFVBQVU7SUFDYixDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLHNCQUFzQjtDQUMxQixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyw2Q0FBNkMsQ0FBQztBQUNyRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyw4Q0FBOEMsQ0FBQztB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ZSc7XG5cbmV4cG9ydCBjb25zdCBNRU1PX1BST0dSQU1fUEsgPSAnTWVtb1NxNGdxQUJBWEtiOTZxbkg4VHlzTmNXeE15V0NxWGdETEdtZmNIcic7XG5cbmV4cG9ydCBjb25zdCBTRUVEX0xFTkdUSCA9IDMyO1xuXG5leHBvcnQgY29uc3QgTUFYX01FTU9fTEVOR1RIID0gMTMwO1xuZXhwb3J0IGNvbnN0IFNUQUtFX0FDQ09VTlRfUkVOVF9FWEVNUFRfQU1PVU5UID0gMjI4Mjg4MDtcblxuLyoqXG4gKiBNYXhpbXVtIGNvbXB1dGUgdW5pdHMgYSBzaW5nbGUgdHJhbnNhY3Rpb24gY2FuIHJlcXVlc3QgdGhyb3VnaCB0aGUgY29tcHV0ZVxuICogYnVkZ2V0IHByb2dyYW0gKFNldENvbXB1dGVVbml0TGltaXQpLCBlbmZvcmNlZCBvbi1jaGFpbiBieSB0aGUgcnVudGltZS5cbiAqIFRoZSBwcmlvcml0eSBmZWUgaXMgY2hhcmdlZCBvbiB0aGUgcmVxdWVzdGVkIGxpbWl0IHJhdGhlciB0aGFuIHRoZSB1bml0c1xuICogYWN0dWFsbHkgY29uc3VtZWQsIHNvIGJ1aWxkZXJzIG11c3Qgc2V0IGFuIGludGVudC1zaXplZCBsaW1pdCBiZWxvdyB0aGlzIGNhcC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9DT01QVVRFX1VOSVRfTElNSVQgPSAxXzQwMF8wMDA7XG5cbmV4cG9ydCBjb25zdCBVTkFWQUlMQUJMRV9URVhUID0gJ1VOQVZBSUxBQkxFJztcblxuLyoqXG4gKiBTeXN2YXIgaW5zdHJ1Y3Rpb25zIGFjY291bnQgYWRkcmVzcyDigJQgdXNlZCBieSBUb2tlbi0yMDIyIGNvbmZpZGVudGlhbCB0cmFuc2ZlclxuICogaW5zdHJ1Y3Rpb25zIHRvIGxvY2F0ZSBpbmxpbmUgcHJvb2YgdmVyaWZpY2F0aW9uIGluc3RydWN0aW9ucyBpbiB0aGUgc2FtZSB0cmFuc2FjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IElOU1RSVUNUSU9OU19TWVNWQVJfQUREUkVTUyA9ICdTeXN2YXIxbnN0cnVjdGlvbnMxMTExMTExMTExMTExMTExMTExMTExMTExJztcblxuLyoqXG4gKiBDYW5vbmljYWwgb24tY2hhaW4gcHJvZ3JhbSBpZCBvZiB0aGUgemstZWxnYW1hbC1wcm9vZiBwcm9ncmFtLlxuICpcbiAqIFRoaXMgaXMgdGhlIHNhbWUgYWNyb3NzIG1haW5uZXQsIGRldm5ldCwgYW5kIHRlc3RuZXQg4oCUIGl0IGlzIGEgbmF0aXZlXG4gKiBidWlsdC1pbiBwcm9ncmFtLiBDYWxsZXJzIGNhbiBvdmVycmlkZSB2aWEgQ29uZmlkZW50aWFsVHJhbnNmZXJCdWlsZGVyXG4gKiAuemtQcm9vZlByb2dyYW1JZCgpIGlmIHRhcmdldGluZyBhIGN1c3RvbSBkZXBsb3ltZW50LlxuICpcbiAqIE5vdGU6IFRoZSBkZXByZWNhdGVkIHprLXRva2VuLXByb29mIHByb2dyYW0gaWQgaXNcbiAqIGBaa1Rva2VuUHJvb2YxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExYC5cbiAqL1xuZXhwb3J0IGNvbnN0IFpLX0VMR0FNQUxfUFJPT0ZfUFJPR1JBTV9JRCA9ICdaa0UxR2FtYTFQcm9vZjExMTExMTExMTExMTExMTExMTExMTExMTExMTExJztcblxuLyoqXG4gKiBUb2tlbi0yMDIyIGNvbmZpZGVudGlhbCB0cmFuc2ZlciBleHRlbnNpb24gZGlzY3JpbWluYXRvciAoYnl0ZSAwIG9mIGluc3RydWN0aW9uIGRhdGEpLlxuICovXG5leHBvcnQgY29uc3QgQ1RfRVhUX0RJU0NSSU1JTkFUT1IgPSAyNztcblxuLyoqXG4gKiBWYWxpZCBDVCBzdWItaW5zdHJ1Y3Rpb24gZGlzY3JpbWluYXRvcnMgKGJ5dGUgMSBhZnRlciBDVF9FWFRfRElTQ1JJTUlOQVRPUikuXG4gKiBVc2VkIGZvciB0cmFuc2FjdGlvbiB0eXBlIGRldGVjdGlvbiAoZ2V0VHJhbnNhY3Rpb25UeXBlIC8gZGVyaXZlVHJhbnNhY3Rpb25UeXBlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IENUX1NVQl9ESVNDUklNSU5BVE9SUyA9IG5ldyBTZXQ8bnVtYmVyPihbXG4gIDIsIC8vIENvbmZpZ3VyZUFjY291bnRcbiAgNSwgLy8gRGVwb3NpdFxuICA2LCAvLyBXaXRoZHJhd1xuICA3LCAvLyBUcmFuc2ZlclxuICA4LCAvLyBBcHBseVBlbmRpbmdCYWxhbmNlXG5dKTtcblxuLyoqXG4gKiBNYXhpbXVtIG92ZXItdGhlLXdpcmUgc2l6ZSBvZiBhIFNvbGFuYSB0cmFuc2FjdGlvbiAoaW4gYnl0ZXMpXG4gKlxuICogU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vYW56YS14eXovYWdhdmUvYmxvYi92Mi4xLjEzL3Nkay9wYWNrZXQvc3JjL2xpYi5ycyNMMjctTDI5XG4gKlxuICogQ2FsY3VsYXRpb246XG4gKiAtIElQdjYgbWluaW11bSBNVFU6IDEyODAgYnl0ZXNcbiAqIC0gSVB2NiBoZWFkZXI6IDQwIGJ5dGVzXG4gKiAtIEZyYWdtZW50L1VEUCBoZWFkZXI6IDggYnl0ZXNcbiAqIC0gUmVzdWx0OiAxMjgwIC0gNDAgLSA4ID0gMTIzMiBieXRlc1xuICpcbiAqIFRoaXMgbGltaXQgaXMgZGVzaWduZWQgdG8gYXZvaWQgcGFja2V0IGZyYWdtZW50YXRpb24gb24gdHlwaWNhbCBpbnRlcm5ldCBpbmZyYXN0cnVjdHVyZS5cbiAqIFRyYW5zYWN0aW9ucyBleGNlZWRpbmcgdGhpcyBsaW1pdCB3aWxsIGZhaWwgdG8gc2VyaWFsaXplIHdpdGggYSBSYW5nZUVycm9yIGR1cmluZ1xuICogdGhlIGVuY29kaW5nIG9mIHRoZSB0cmFuc2FjdGlvbiBtZXNzYWdlLlxuICpcbiAqIFJlZmVyZW5jZTogaHR0cHM6Ly9zb2xhbmEuY29tL2RvY3MvY29yZS90cmFuc2FjdGlvbnMjdHJhbnNhY3Rpb24tc2l6ZVxuICovXG5leHBvcnQgY29uc3QgU09MQU5BX1RSQU5TQUNUSU9OX01BWF9TSVpFID0gMTIzMjtcblxuZXhwb3J0IGNvbnN0IEpJVE9fU1RBS0VfUE9PTF9BRERSRVNTID0gJ0ppdG80QVB5ZjY0MkpQWlB4M2hHYzZXV0o4elBLdFJiUnM0UDgxNUF3YmInO1xuZXhwb3J0IGNvbnN0IEpJVE9TT0xfTUlOVF9BRERSRVNTID0gJ0oxdG9zbzF1Q2szUkxtam9yaFR0clZ3WTlISjdYOFY5eVlhYzZZN2tHQ1BuJztcbmV4cG9ydCBjb25zdCBKSVRPX1NUQUtFX1BPT0xfUkVTRVJWRV9BQ0NPVU5UID0gJ0JnS1VYZFMyOVljSENGclBtNU04b0xIaVR6WmFNRGpzZWJnZ2pvYVE2S0ZMJztcbmV4cG9ydCBjb25zdCBKSVRPX1NUQUtFX1BPT0xfUkVTRVJWRV9BQ0NPVU5UX1RFU1RORVQgPSAncnJXQlFxUnFCWFladzNDbVBDQ2NqRnhRMkRzNEpGSmQ3b1JRSjk5N2Roeic7XG5leHBvcnQgY29uc3QgSklUT19NQU5BR0VSX0ZFRV9BQ0NPVU5UID0gJ2ZlZWVGTExzYW02eFpKRmM2VVFGckhxa3ZWdDRqZm1WdmkyQlJMa1VaNGknO1xuZXhwb3J0IGNvbnN0IEpJVE9fTUFOQUdFUl9GRUVfQUNDT1VOVF9URVNUTkVUID0gJ0RIN3Rtam9RNXpqcWNnZllKVTIySnFtWGhQNUVZMXRrYllwZ1ZXVVMyb05vJztcblxuLyoqXG4gKiBPbi1jaGFpbiBwcm9ncmFtIGlkIG9mIHRoZSBzUkZDLTM3IFRva2VuIEFDTCBwcm9ncmFtLiBUaGlzIHNpbmdsZSBwcm9ncmFtIGdhdGVzIGV2ZXJ5XG4gKiBhbGxvd2xpc3QvYmxvY2tsaXN0IChEZWZhdWx0QWNjb3VudFN0YXRlKSBUb2tlbi0yMDIyIG1pbnQsIHNvIHRoZSB2YWx1ZSBpcyBnZW5lcmljIGFuZCBuZXZlclxuICogdGllZCB0byBhIHNwZWNpZmljIGlzc3Vlci5cbiAqL1xuZXhwb3J0IGNvbnN0IFRPS0VOX0FDTF9QUk9HUkFNX0lEID0gJ1RBQ0xrVTZDaUNka1FOMk1qb3lEa1ZnMnlBSDl6a3hpSERzaXp0UTUyVFAnO1xuXG4vKipcbiAqIEluc3RydWN0aW9uIGRpc2NyaW1pbmF0b3IgKGEgc2luZ2xlIHU4IGJ5dGUpIGZvciB0aGUgVG9rZW4gQUNMIGBUaGF3UGVybWlzc2lvbmxlc3NJZGVtcG90ZW50YFxuICogaW5zdHJ1Y3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBUSEFXX1BFUk1JU1NJT05MRVNTX0lERU1QT1RFTlRfRElTQ1JJTUlOQVRPUiA9IDk7XG5cbi8qKiBQREEgc2VlZCBwcmVmaXggKHVuZGVyIHRoZSBUb2tlbiBBQ0wgcHJvZ3JhbSkgZm9yIGEgbWludCdzIE1pbnRDb25maWcgYWNjb3VudC4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfTUlOVF9DT05GSUdfU0VFRCA9ICdNSU5UX0NPTkZJRyc7XG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgVG9rZW4gQUNMIHByb2dyYW0pIGZvciBhIHRva2VuIGFjY291bnQncyB0aGF3IGZsYWcgYWNjb3VudC4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfRkxBR19BQ0NPVU5UX1NFRUQgPSAnRkxBR19BQ0NPVU5UJztcbi8qKiBQREEgc2VlZCBwcmVmaXggKHVuZGVyIHRoZSBnYXRpbmcgcHJvZ3JhbSkgZm9yIGEgbWludCdzIHRoYXcgRXh0cmFBY2NvdW50TWV0YUxpc3QgYWNjb3VudC4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfVEhBV19FWFRSQV9NRVRBU19TRUVEID0gJ3RoYXdfZXh0cmFfYWNjb3VudF9tZXRhcyc7XG5cbi8vIFNkayBpbnN0cnVjdGlvbnMsIG1haW5seSB0byBjaGVjayBkZWNvZGVkIHR5cGVzLlxuZXhwb3J0IGVudW0gVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bSB7XG4gIEFkdmFuY2VOb25jZUFjY291bnQgPSAnQWR2YW5jZU5vbmNlQWNjb3VudCcsXG4gIENyZWF0ZSA9ICdDcmVhdGUnLFxuICBJbml0aWFsaXplTm9uY2VBY2NvdW50ID0gJ0luaXRpYWxpemVOb25jZUFjY291bnQnLFxuICBTdGFraW5nSW5pdGlhbGl6ZSA9ICdJbml0aWFsaXplJyxcbiAgU3Rha2luZ0RlbGVnYXRlID0gJ0RlbGVnYXRlJyxcbiAgU3Rha2luZ0RlYWN0aXZhdGUgPSAnRGVhY3RpdmF0ZScsXG4gIFN0YWtpbmdXaXRoZHJhdyA9ICdXaXRoZHJhdycsXG4gIFRyYW5zZmVyID0gJ1RyYW5zZmVyJyxcbiAgVG9rZW5UcmFuc2ZlciA9ICdUb2tlblRyYW5zZmVyJyxcbiAgTWVtbyA9ICdNZW1vJyxcbiAgSW5pdGlhbGl6ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnSW5pdGlhbGl6ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBBbGxvY2F0ZSA9ICdBbGxvY2F0ZScsXG4gIEFzc2lnbiA9ICdBc3NpZ24nLFxuICBTcGxpdCA9ICdTcGxpdCcsXG4gIEF1dGhvcml6ZSA9ICdBdXRob3JpemUnLFxuICBTZXRDb21wdXRlVW5pdExpbWl0ID0gJ1NldENvbXB1dGVVbml0TGltaXQnLFxuICBTZXRQcmlvcml0eUZlZSA9ICdTZXRQcmlvcml0eUZlZScsXG4gIE1pbnRUbyA9ICdNaW50VG8nLFxuICBCdXJuID0gJ0J1cm4nLFxuICBEZXBvc2l0U29sID0gJ0RlcG9zaXRTb2wnLFxuICBXaXRoZHJhd1N0YWtlID0gJ1dpdGhkcmF3U3Rha2UnLFxuICBXaXRoZHJhd1NvbCA9ICdXaXRoZHJhd1NvbCcsXG4gIEFwcHJvdmUgPSAnQXBwcm92ZScsXG4gIEN1c3RvbUluc3RydWN0aW9uID0gJ0N1c3RvbUluc3RydWN0aW9uJyxcbiAgUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCA9ICdQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50JyxcbiAgLy8gQ29uZmlkZW50aWFsIFRyYW5zZmVyIGluc3RydWN0aW9uIHR5cGVzIChUb2tlbi0yMDIyIENUIGV4dGVuc2lvbiArIHprLWVsZ2FtYWwtcHJvb2YpXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBBcHBseVBlbmRpbmdCYWxhbmNlID0gJ0FwcGx5UGVuZGluZ0JhbGFuY2UnLFxuICBDb25maWRlbnRpYWxEZXBvc2l0ID0gJ0NvbmZpZGVudGlhbERlcG9zaXQnLFxuICBDb25maWRlbnRpYWxXaXRoZHJhdyA9ICdDb25maWRlbnRpYWxXaXRoZHJhdycsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbiAgVmVyaWZ5UHVia2V5VmFsaWRpdHkgPSAnVmVyaWZ5UHVia2V5VmFsaWRpdHknLFxuICBWZXJpZnlFcXVhbGl0eVByb29mID0gJ1ZlcmlmeUVxdWFsaXR5UHJvb2YnLFxuICBWZXJpZnlWYWxpZGl0eVByb29mID0gJ1ZlcmlmeVZhbGlkaXR5UHJvb2YnLFxuICBWZXJpZnlSYW5nZVByb29mID0gJ1ZlcmlmeVJhbmdlUHJvb2YnLFxufVxuXG4vLyBJbnRlcm5hbCBpbnN0cnVjdGlvbnMgdHlwZXNcbmV4cG9ydCBlbnVtIEluc3RydWN0aW9uQnVpbGRlclR5cGVzIHtcbiAgQ3JlYXRlTm9uY2VBY2NvdW50ID0gJ0NyZWF0ZU5vbmNlQWNjb3VudCcsXG4gIFN0YWtpbmdBY3RpdmF0ZSA9ICdBY3RpdmF0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ0RlYWN0aXZhdGUnLFxuICBTdGFraW5nV2l0aGRyYXcgPSAnV2l0aGRyYXcnLFxuICBUcmFuc2ZlciA9ICdUcmFuc2ZlcicsXG4gIE1lbW8gPSAnTWVtbycsXG4gIE5vbmNlQWR2YW5jZSA9ICdOb25jZUFkdmFuY2UnLFxuICBDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0NyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBSZWFsbG9jYXRlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50ID0gJ1JlYWxsb2NhdGVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBUb2tlblRyYW5zZmVyID0gJ1Rva2VuVHJhbnNmZXInLFxuICBTdGFraW5nQXV0aG9yaXplID0gJ0F1dGhvcml6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdEZWxlZ2F0ZScsXG4gIFNldENvbXB1dGVVbml0TGltaXQgPSAnU2V0Q29tcHV0ZVVuaXRMaW1pdCcsXG4gIFNldFByaW9yaXR5RmVlID0gJ1NldFByaW9yaXR5RmVlJyxcbiAgTWludFRvID0gJ01pbnRUbycsXG4gIEJ1cm4gPSAnQnVybicsXG4gIEN1c3RvbUluc3RydWN0aW9uID0gJ0N1c3RvbUluc3RydWN0aW9uJyxcbiAgVmVyc2lvbmVkQ3VzdG9tSW5zdHJ1Y3Rpb24gPSAnVmVyc2lvbmVkQ3VzdG9tSW5zdHJ1Y3Rpb24nLFxuICBBcHByb3ZlID0gJ0FwcHJvdmUnLFxuICBXaXRoZHJhd1N0YWtlID0gJ1dpdGhkcmF3U3Rha2UnLFxuICBQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50ID0gJ1Blcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQnLFxuICAvLyBDb25maWRlbnRpYWwgVHJhbnNmZXIgaW5zdHJ1Y3Rpb24gdHlwZXMgKFRva2VuLTIwMjIgQ1QgZXh0ZW5zaW9uICsgemstZWxnYW1hbC1wcm9vZilcbiAgQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50ID0gJ0NvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCcsXG4gIEFwcGx5UGVuZGluZ0JhbGFuY2UgPSAnQXBwbHlQZW5kaW5nQmFsYW5jZScsXG4gIENvbmZpZGVudGlhbERlcG9zaXQgPSAnQ29uZmlkZW50aWFsRGVwb3NpdCcsXG4gIENvbmZpZGVudGlhbFdpdGhkcmF3ID0gJ0NvbmZpZGVudGlhbFdpdGhkcmF3JyxcbiAgQ29uZmlkZW50aWFsVHJhbnNmZXIgPSAnQ29uZmlkZW50aWFsVHJhbnNmZXInLFxuICBWZXJpZnlQdWJrZXlWYWxpZGl0eSA9ICdWZXJpZnlQdWJrZXlWYWxpZGl0eScsXG4gIFZlcmlmeUVxdWFsaXR5UHJvb2YgPSAnVmVyaWZ5RXF1YWxpdHlQcm9vZicsXG4gIFZlcmlmeVZhbGlkaXR5UHJvb2YgPSAnVmVyaWZ5VmFsaWRpdHlQcm9vZicsXG4gIFZlcmlmeVJhbmdlUHJvb2YgPSAnVmVyaWZ5UmFuZ2VQcm9vZicsXG59XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9TWVNURU1fSU5TVFJVQ1RJT05fVFlQRVM6IFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc1tdID0gW1xuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFkdmFuY2VOb25jZUFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQ3JlYXRlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlN0YWtpbmdJbml0aWFsaXplLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlN0YWtpbmdEZWxlZ2F0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nRGVhY3RpdmF0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nV2l0aGRyYXcsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uVHJhbnNmZXIsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5NZW1vLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkNsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5SZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Ub2tlblRyYW5zZmVyLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFsbG9jYXRlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFzc2lnbixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TcGxpdCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BdXRob3JpemUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU2V0Q29tcHV0ZVVuaXRMaW1pdCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TZXRQcmlvcml0eUZlZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5NaW50VG8sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQnVybixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BcHByb3ZlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkRlcG9zaXRTb2wsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uV2l0aGRyYXdTdGFrZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5XaXRoZHJhd1NvbCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5DdXN0b21JbnN0cnVjdGlvbixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5QZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50LFxuXTtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgV2FsbGV0IEluaXQgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgd2FsbGV0SW5pdEluc3RydWN0aW9uSW5kZXhlcyA9IHtcbiAgQ3JlYXRlOiAwLFxuICBJbml0aWFsaXplTm9uY2VBY2NvdW50OiAxLFxuICBNZW1vOiAyLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBDcmVhdGU6IDAsXG4gIEluaXRpYWxpemU6IDEsXG4gIERlbGVnYXRlOiAyLFxuICBNZW1vOiAzLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgTWFyaW5hZGUgU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBtYXJpbmFkZVN0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIENyZWF0ZTogMCxcbiAgSW5pdGlhbGl6ZTogMSxcbiAgTWVtbzogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgRGVwb3NpdFNvbDogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0FjdGl2YXRlV2l0aEFUQUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50OiAwLFxuICBEZXBvc2l0U29sOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgSml0byBTdGFraW5nIEFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGppdG9TdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIEFwcHJvdmU6IDAsXG4gIENyZWF0ZTogMSxcbiAgV2l0aGRyYXdTdGFrZTogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgQXV0aG9yaXplIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdBdXRob3JpemVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBBdXRob3JpemU6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIERlbGVnYXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdEZWxlZ2F0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlbGVnYXRlOiAwLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBEZWFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgRGVhY3RpdmF0ZTogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIE1hcmluYWRlIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBtYXJpbmFkZVN0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgVHJhbnNmZXI6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIE1hcmluYWRlIG5hdGl2ZS1zdGFraW5nIHVuc3Rha2UgaGFzIG5vIG9uLWNoYWluIHByb2dyYW0gaW5zdHJ1Y3Rpb246IGl0IGlzIGEgc2luZ2xlIFN5c3RlbVByb2dyYW1cbiAqIFRyYW5zZmVyIHRvIG9uZSBvZiBNYXJpbmFkZSdzIG9yZGVyIGFkZHJlc3NlcyBwbHVzIGEgUHJlcGFyZUZvclJldm9rZSBtZW1vLCBhY3RlZCBvbiBvZmYtY2hhaW4uXG4gKiBUaGUgZGVzdGluYXRpb24gYW5kIGFtb3VudCBhcmUgdGhlcmVmb3JlIHRoZSBvbmx5IHNlcnZlci1pbmRlcGVuZGVudCBzaWduYWwgdGhhdCBpdCBpcyBnZW51aW5lLlxuICovXG5leHBvcnQgY29uc3QgTUFSSU5BREVfT1JERVJfQUREUkVTU0VTOiByZWFkb25seSBzdHJpbmdbXSA9IFtcbiAgJ29wTlM4RU5wRU1XZFhjSlVnSkNzSlREcDdhclRYYXlvQkVlQlVnNlVlelAnLCAvLyBuYXRpdmVcbiAgJ29waU5TdkttMWFQa2J1U2puWmZZNXZ5SlVtYVZ4dVF5VEp0NmpuTlRXMUwnLCAvLyBzZWxlY3Rcbl07XG4vKiogTGFtcG9ydHMgQml0R28gc2VuZHMgcGVyIE1hcmluYWRlIHVuc3Rha2Ugb3JkZXIgKG1hcmluYWRlLnVuc3Rha2VUcmFuc2ZlckFtb3VudCBpbiBzdGFraW5nLXNlcnZpY2UpICovXG5leHBvcnQgY29uc3QgTUFSSU5BREVfVU5TVEFLRV9UUkFOU0ZFUl9MQU1QT1JUUyA9IEJpZ0ludCgyMzAwMDAwKTtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgUGFydGlhbCBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlZCAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdQYXJ0aWFsRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBBbGxvY2F0ZTogMSxcbiAgQXNzaWduOiAyLFxuICBTcGxpdDogMyxcbiAgRGVhY3RpdmF0ZTogNCxcbiAgTWVtbzogNSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgV2l0aGRyYXcgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ1dpdGhkcmF3SW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgV2l0aGRyYXc6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBBVEEgaW5pdCBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBhdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEFUQSBpbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGF0YUNsb3NlSW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSByZWNvdmVyIG5lc3RlZCBBVEEgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgYXRhUmVjb3Zlck5lc3RlZEluc3RydWN0aW9uSW5kZXhlcyA9IHtcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgbm9uY2VBZHZhbmNlSW5zdHJ1Y3Rpb24gPSAnQWR2YW5jZU5vbmNlQWNjb3VudCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEgPSAnMGEwMDAwMDAwMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEyID0gJzBhMDAwMDAwMDAwMDAwMDAnO1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainTransactionWasm.d.ts","sourceRoot":"","sources":["../../../src/lib/explainTransactionWasm.ts"],"names":[],"mappings":"AASA,OAAO,EAA0B,sBAAsB,IAAI,4BAA4B,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"explainTransactionWasm.d.ts","sourceRoot":"","sources":["../../../src/lib/explainTransactionWasm.ts"],"names":[],"mappings":"AASA,OAAO,EAA0B,sBAAsB,IAAI,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAIzG,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AA0ND;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,GAAG,4BAA4B,CAkJzG"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Transaction, parseTransaction } from '@bitgo/wasm-solana';
|
|
2
2
|
import { UNAVAILABLE_TEXT, ZK_ELGAMAL_PROOF_PROGRAM_ID, CT_EXT_DISCRIMINATOR, CT_SUB_DISCRIMINATORS, TOKEN_ACL_PROGRAM_ID, } from './constants';
|
|
3
3
|
import { findTokenName } from './instructionParamsFactory';
|
|
4
|
+
import { isMarinadeUnstakeTransfer, isPrepareForRevokeMemo } from './utils';
|
|
4
5
|
// =============================================================================
|
|
5
6
|
// Transaction type derivation (ported from @bitgo/wasm-solana explain.ts)
|
|
6
7
|
// =============================================================================
|
|
@@ -80,11 +81,29 @@ function isWasmConfidentialTransferInstruction(instr) {
|
|
|
80
81
|
function isWasmTokenAclThawInstruction(instr) {
|
|
81
82
|
return instr.type === 'Unknown' && instr.programId === TOKEN_ACL_PROGRAM_ID;
|
|
82
83
|
}
|
|
83
|
-
|
|
84
|
+
/**
|
|
85
|
+
* True only for a genuine Marinade unstake: exactly one Transfer to a Marinade order address for the
|
|
86
|
+
* pinned amount, one well-formed PrepareForRevoke memo, and only nonce-advance / compute-budget besides.
|
|
87
|
+
* Mirrors getMarinadeUnstakeTransfer in utils.ts; the memo alone is attacker-controlled.
|
|
88
|
+
*/
|
|
89
|
+
function isWasmMarinadeUnstake(instructions) {
|
|
90
|
+
const transfers = instructions.filter((i) => i.type === 'Transfer');
|
|
91
|
+
const memos = instructions.filter((i) => i.type === 'Memo');
|
|
92
|
+
const others = instructions.filter((i) => !BOILERPLATE_TYPES.has(i.type) && i.type !== 'Transfer');
|
|
93
|
+
if (transfers.length !== 1 || memos.length !== 1 || others.length > 0)
|
|
94
|
+
return false;
|
|
95
|
+
const transfer = transfers[0];
|
|
96
|
+
const memo = memos[0];
|
|
97
|
+
return (transfer.type === 'Transfer' &&
|
|
98
|
+
memo.type === 'Memo' &&
|
|
99
|
+
isPrepareForRevokeMemo(memo.memo) &&
|
|
100
|
+
isMarinadeUnstakeTransfer(transfer.toAddress, transfer.amount));
|
|
101
|
+
}
|
|
102
|
+
function deriveTransactionType(instructions, combined) {
|
|
84
103
|
if (combined)
|
|
85
104
|
return TransactionType[combined.kind];
|
|
86
|
-
// Marinade deactivate:
|
|
87
|
-
if (
|
|
105
|
+
// Marinade deactivate: validated by transfer destination/amount, never by the memo alone
|
|
106
|
+
if (isWasmMarinadeUnstake(instructions))
|
|
88
107
|
return TransactionType.StakingDeactivate;
|
|
89
108
|
// Jito pool operations
|
|
90
109
|
if (instructions.some((i) => i.type === 'StakePoolDepositSol'))
|
|
@@ -184,10 +203,9 @@ export function explainSolTransaction(params) {
|
|
|
184
203
|
}
|
|
185
204
|
// --- Detect combined patterns and derive type ---
|
|
186
205
|
const combined = detectCombinedPattern(parsed.instructionsData);
|
|
187
|
-
const txType = deriveTransactionType(parsed.instructionsData, combined
|
|
188
|
-
// Marinade deactivate: Transfer
|
|
189
|
-
|
|
190
|
-
const isMarinadeDeactivate = txType === TransactionType.StakingDeactivate && memo !== undefined && memo.includes('PrepareForRevoke');
|
|
206
|
+
const txType = deriveTransactionType(parsed.instructionsData, combined);
|
|
207
|
+
// Genuine Marinade deactivate: the Transfer is a contract interaction, not a real value transfer.
|
|
208
|
+
const isMarinadeDeactivate = isWasmMarinadeUnstake(parsed.instructionsData);
|
|
191
209
|
// --- Extract outputs and inputs ---
|
|
192
210
|
const outputs = [];
|
|
193
211
|
const inputs = [];
|
|
@@ -298,4 +316,4 @@ export function explainSolTransaction(params) {
|
|
|
298
316
|
...(stakingAuthorize ? { stakingAuthorize } : {}),
|
|
299
317
|
};
|
|
300
318
|
}
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblRyYW5zYWN0aW9uV2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZXhwbGFpblRyYW5zYWN0aW9uV2FzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFrRCxNQUFNLG9CQUFvQixDQUFDO0FBQ25ILE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQVMzRCxnRkFBZ0Y7QUFDaEYsMEVBQTBFO0FBQzFFLGdGQUFnRjtBQUVoRixJQUFLLGVBV0o7QUFYRCxXQUFLLGVBQWU7SUFDbEIsZ0NBQWEsQ0FBQTtJQUNiLHNEQUFtQyxDQUFBO0lBQ25DLDBEQUF1QyxDQUFBO0lBQ3ZDLHNEQUFtQyxDQUFBO0lBQ25DLHdEQUFxQyxDQUFBO0lBQ3JDLHNEQUFtQyxDQUFBO0lBQ25DLGdFQUE2QyxDQUFBO0lBQzdDLGdHQUE2RSxDQUFBO0lBQzdFLHdDQUFxQixDQUFBO0lBQ3JCLGdFQUE2QyxDQUFBO0FBQy9DLENBQUMsRUFYSSxlQUFlLEtBQWYsZUFBZSxRQVduQjtBQTJCRCxTQUFTLHFCQUFxQixDQUFDLFlBQWlDO0lBQzlELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWpDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLElBQUksSUFBSSxDQUFD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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUb2tlbkVuYWJsZW1lbnQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgcGFyc2VUcmFuc2FjdGlvbiwgdHlwZSBQYXJzZWRUcmFuc2FjdGlvbiwgdHlwZSBJbnN0cnVjdGlvblBhcmFtcyB9IGZyb20gJ0BiaXRnby93YXNtLXNvbGFuYSc7XG5pbXBvcnQge1xuICBVTkFWQUlMQUJMRV9URVhULFxuICBaS19FTEdBTUFMX1BST09GX1BST0dSQU1fSUQsXG4gIENUX0VYVF9ESVNDUklNSU5BVE9SLFxuICBDVF9TVUJfRElTQ1JJTUlOQVRPUlMsXG4gIFRPS0VOX0FDTF9QUk9HUkFNX0lELFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdGFraW5nQXV0aG9yaXplUGFyYW1zLCBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIFNvbExpYlRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IGZpbmRUb2tlbk5hbWUgfSBmcm9tICcuL2luc3RydWN0aW9uUGFyYW1zRmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFpblRyYW5zYWN0aW9uV2FzbU9wdGlvbnMge1xuICB0eEJhc2U2NDogc3RyaW5nO1xuICBmZWVJbmZvPzogeyBmZWU6IHN0cmluZyB9O1xuICB0b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50Pzogc3RyaW5nO1xuICBjb2luTmFtZTogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHJhbnNhY3Rpb24gdHlwZSBkZXJpdmF0aW9uIChwb3J0ZWQgZnJvbSBAYml0Z28vd2FzbS1zb2xhbmEgZXhwbGFpbi50cylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmVudW0gVHJhbnNhY3Rpb25UeXBlIHtcbiAgU2VuZCA9ICdTZW5kJyxcbiAgU3Rha2luZ0FjdGl2YXRlID0gJ1N0YWtpbmdBY3RpdmF0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ1N0YWtpbmdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1N0YWtpbmdXaXRoZHJhdycsXG4gIFN0YWtpbmdBdXRob3JpemUgPSAnU3Rha2luZ0F1dGhvcml6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdTdGFraW5nRGVsZWdhdGUnLFxuICBXYWxsZXRJbml0aWFsaXphdGlvbiA9ICdXYWxsZXRJbml0aWFsaXphdGlvbicsXG4gIEFzc29jaWF0ZWRUb2tlbkFjY291bnRJbml0aWFsaXphdGlvbiA9ICdBc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5pdGlhbGl6YXRpb24nLFxuICBDdXN0b21UeCA9ICdDdXN0b21UeCcsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbWJpbmVkIGluc3RydWN0aW9uIHBhdHRlcm4gZGV0ZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTb2xhbmEgbmF0aXZlIHN0YWtpbmcgcmVxdWlyZXMgMyBzZXBhcmF0ZSBpbnN0cnVjdGlvbnM6XG4vLyAgIENyZWF0ZUFjY291bnQgKGZ1bmQpICsgU3Rha2VJbml0aWFsaXplIChzZXQgYXV0aG9yaXRpZXMpICsgRGVsZWdhdGVTdGFrZSAocGljayB2YWxpZGF0b3IpXG4vLyBNYXJpbmFkZSBzdGFraW5nIHVzZXMgb25seSBDcmVhdGVBY2NvdW50ICsgU3Rha2VJbml0aWFsaXplIChubyBEZWxlZ2F0ZSkuXG4vLyBXYWxsZXQgaW5pdCB1c2VzIENyZWF0ZUFjY291bnQgKyBOb25jZUluaXRpYWxpemUuXG5cbmludGVyZmFjZSBDb21iaW5lZFN0YWtlQWN0aXZhdGUge1xuICBraW5kOiAnU3Rha2luZ0FjdGl2YXRlJztcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcbiAgc3Rha2luZ0FkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7XG59XG5cbmludGVyZmFjZSBDb21iaW5lZFdhbGxldEluaXQge1xuICBraW5kOiAnV2FsbGV0SW5pdGlhbGl6YXRpb24nO1xuICBmcm9tQWRkcmVzczogc3RyaW5nO1xuICBub25jZUFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7XG59XG5cbnR5cGUgQ29tYmluZWRQYXR0ZXJuID0gQ29tYmluZWRTdGFrZUFjdGl2YXRlIHwgQ29tYmluZWRXYWxsZXRJbml0O1xuXG5mdW5jdGlvbiBkZXRlY3RDb21iaW5lZFBhdHRlcm4oaW5zdHJ1Y3Rpb25zOiBJbnN0cnVjdGlvblBhcmFtc1tdKTogQ29tYmluZWRQYXR0ZXJuIHwgbnVsbCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdHJ1Y3Rpb25zLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIGNvbnN0IGN1cnIgPSBpbnN0cnVjdGlvbnNbaV07XG4gICAgY29uc3QgbmV4dCA9IGluc3RydWN0aW9uc1tpICsgMV07XG5cbiAgICBpZiAoY3Vyci50eXBlID09PSAnQ3JlYXRlQWNjb3VudCcgJiYgbmV4dC50eXBlID09PSAnU3Rha2VJbml0aWFsaXplJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2luZDogJ1N0YWtpbmdBY3RpdmF0ZScsXG4gICAgICAgIGZyb21BZGRyZXNzOiBjdXJyLmZyb21BZGRyZXNzLFxuICAgICAgICBzdGFraW5nQWRkcmVzczogY3Vyci5uZXdBZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IGN1cnIuYW1vdW50LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoY3Vyci50eXBlID09PSAnQ3JlYXRlQWNjb3VudCcgJiYgbmV4dC50eXBlID09PSAnTm9uY2VJbml0aWFsaXplJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2luZDogJ1dhbGxldEluaXRpYWxpemF0aW9uJyxcbiAgICAgICAgZnJvbUFkZHJlc3M6IGN1cnIuZnJvbUFkZHJlc3MsXG4gICAgICAgIG5vbmNlQWRkcmVzczogY3Vyci5uZXdBZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IGN1cnIuYW1vdW50LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYW5zYWN0aW9uIHR5cGUgZGVyaXZhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgQk9JTEVSUExBVEVfVFlQRVMgPSBuZXcgU2V0KFsnTm9uY2VBZHZhbmNlJywgJ01lbW8nLCAnU2V0Q29tcHV0ZVVuaXRMaW1pdCcsICdTZXRQcmlvcml0eUZlZSddKTtcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgYSBXQVNNLXBhcnNlZCBVbmtub3duIGluc3RydWN0aW9uIGlzIGEgY29uZmlkZW50aWFsIHRyYW5zZmVyIGluc3RydWN0aW9uXG4gKiAoVG9rZW4tMjAyMiBDVCBleHRlbnNpb24gb3IgemstZWxnYW1hbC1wcm9vZiBwcm9ncmFtKS5cbiAqXG4gKiBDVCBleHRlbnNpb246IGJ5dGUgMCA9IENUX0VYVF9ESVNDUklNSU5BVE9SLCBieXRlIDEg4oiIIENUX1NVQl9ESVNDUklNSU5BVE9SU1xuICogemstZWxnYW1hbC1wcm9vZjogYW55IGluc3RydWN0aW9uIGZyb20gdGhlIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbVxuICovXG5mdW5jdGlvbiBpc1dhc21Db25maWRlbnRpYWxUcmFuc2Zlckluc3RydWN0aW9uKGluc3RyOiBJbnN0cnVjdGlvblBhcmFtcyk6IGJvb2xlYW4ge1xuICBpZiAoaW5zdHIudHlwZSAhPT0gJ1Vua25vd24nKSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHByb2dyYW1JZCA9IGluc3RyLnByb2dyYW1JZDtcbiAgLy8gemstZWxnYW1hbC1wcm9vZiBwcm9ncmFtIGluc3RydWN0aW9ucyBhcmUgYWx3YXlzIENUIHByb29mIHZlcmlmaWNhdGlvbnNcbiAgaWYgKHByb2dyYW1JZCA9PT0gWktfRUxHQU1BTF9QUk9PRl9QUk9HUkFNX0lEKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gVG9rZW4tMjAyMiBDVCBleHRlbnNpb246IGJ5dGUgMCA9IENUX0VYVF9ESVNDUklNSU5BVE9SLCBieXRlIDEg4oiIIENUX1NVQl9ESVNDUklNSU5BVE9SU1xuICBjb25zdCBUT0tFTl8yMDIyX1BST0dSQU1fSUQgPSAnVG9rZW56UWRCTmJMcVA1VkVoZGtBUzZFUEZMQzFQSG5CcUNYRXBQeHVFYic7XG4gIGlmIChwcm9ncmFtSWQgPT09IFRPS0VOXzIwMjJfUFJPR1JBTV9JRCkge1xuICAgIGNvbnN0IGRhdGFCeXRlcyA9IEJ1ZmZlci5mcm9tKGluc3RyLmRhdGEsICdiYXNlNjQnKTtcbiAgICBpZiAoZGF0YUJ5dGVzLmxlbmd0aCA+PSAyKSB7XG4gICAgICByZXR1cm4gZGF0YUJ5dGVzWzBdID09PSBDVF9FWFRfRElTQ1JJTUlOQVRPUiAmJiBDVF9TVUJfRElTQ1JJTUlOQVRPUlMuaGFzKGRhdGFCeXRlc1sxXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgYSBXQVNNLXBhcnNlZCBVbmtub3duIGluc3RydWN0aW9uIGlzIGEgVG9rZW4gQUNMIHBlcm1pc3Npb25sZXNzXG4gKiB0aGF3IGluc3RydWN0aW9uIChzUkZDLTM3IFRva2VuIEFDTCBwcm9ncmFtKS5cbiAqXG4gKiBUaGUgd2FzbSBwYXJzZXIgZG9lcyBub3Qga25vdyB0aGUgVG9rZW4gQUNMIHByb2dyYW0sIHNvIFRoYXdQZXJtaXNzaW9ubGVzc0lkZW1wb3RlbnRcbiAqIGluc3RydWN0aW9ucyBwYXJzZSBhcyBVbmtub3duLiBNaXJyb3JzIHRoZSBKUy1zaWRlIGBnZXRJbnN0cnVjdGlvblR5cGVgIGNhc2UgZm9yXG4gKiBUT0tFTl9BQ0xfUFJPR1JBTV9JRCBpbiBsaWIvdXRpbHMudHMuXG4gKi9cbmZ1bmN0aW9uIGlzV2FzbVRva2VuQWNsVGhhd0luc3RydWN0aW9uKGluc3RyOiBJbnN0cnVjdGlvblBhcmFtcyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaW5zdHIudHlwZSA9PT0gJ1Vua25vd24nICYmIGluc3RyLnByb2dyYW1JZCA9PT0gVE9LRU5fQUNMX1BST0dSQU1fSUQ7XG59XG5cbmZ1bmN0aW9uIGRlcml2ZVRyYW5zYWN0aW9uVHlwZShcbiAgaW5zdHJ1Y3Rpb25zOiBJbnN0cnVjdGlvblBhcmFtc1tdLFxuICBjb21iaW5lZDogQ29tYmluZWRQYXR0ZXJuIHwgbnVsbCxcbiAgbWVtbzogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBUcmFuc2FjdGlvblR5cGUge1xuICBpZiAoY29tYmluZWQpIHJldHVybiBUcmFuc2FjdGlvblR5cGVbY29tYmluZWQua2luZF07XG5cbiAgLy8gTWFyaW5hZGUgZGVhY3RpdmF0ZTogVHJhbnNmZXIgKyBtZW1vIGNvbnRhaW5pbmcgXCJQcmVwYXJlRm9yUmV2b2tlXCJcbiAgaWYgKG1lbW8/LmluY2x1ZGVzKCdQcmVwYXJlRm9yUmV2b2tlJykpIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU7XG5cbiAgLy8gSml0byBwb29sIG9wZXJhdGlvbnNcbiAgaWYgKGluc3RydWN0aW9ucy5zb21lKChpKSA9PiBpLnR5cGUgPT09ICdTdGFrZVBvb2xEZXBvc2l0U29sJykpIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlO1xuICBpZiAoaW5zdHJ1Y3Rpb25zLnNvbWUoKGkpID0+IGkudHlwZSA9PT0gJ1N0YWtlUG9vbFdpdGhkcmF3U3Rha2UnKSkgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTtcblxuICAvLyBBVEEtb25seSB0cmFuc2FjdGlvbnMgKGlnbm9yaW5nIGJvaWxlcnBsYXRlIGFuZCBUb2tlbiBBQ0wgcGVybWlzc2lvbmxlc3MgdGhhdylcbiAgY29uc3QgbWVhbmluZ2Z1bCA9IGluc3RydWN0aW9ucy5maWx0ZXIoKGkpID0+ICFCT0lMRVJQTEFURV9UWVBFUy5oYXMoaS50eXBlKSAmJiAhaXNXYXNtVG9rZW5BY2xUaGF3SW5zdHJ1Y3Rpb24oaSkpO1xuICBpZiAobWVhbmluZ2Z1bC5sZW5ndGggPiAwICYmIG1lYW5pbmdmdWwuZXZlcnkoKGkpID0+IGkudHlwZSA9PT0gJ0NyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnKSkge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgLy8gRGlyZWN0IHN0YWtpbmcgaW5zdHJ1Y3Rpb24gbWFwcGluZ1xuICBjb25zdCBzdGFraW5nID0gaW5zdHJ1Y3Rpb25zLmZpbmQoKGkpID0+IGkudHlwZSBpbiBUcmFuc2FjdGlvblR5cGUpO1xuICBpZiAoc3Rha2luZykgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZVtzdGFraW5nLnR5cGUgYXMga2V5b2YgdHlwZW9mIFRyYW5zYWN0aW9uVHlwZV07XG5cbiAgLy8gVW5rbm93biBpbnN0cnVjdGlvbnMgaW5kaWNhdGUgYSBjdXN0b20vdW5yZWNvZ25pemVkIHRyYW5zYWN0aW9uXG4gIGlmIChpbnN0cnVjdGlvbnMuc29tZSgoaSkgPT4gaS50eXBlID09PSAnVW5rbm93bicgJiYgaXNXYXNtQ29uZmlkZW50aWFsVHJhbnNmZXJJbnN0cnVjdGlvbihpKSkpIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkNvbmZpZGVudGlhbFRyYW5zZmVyO1xuICB9XG4gIGlmIChpbnN0cnVjdGlvbnMuc29tZSgoaSkgPT4gaS50eXBlID09PSAnVW5rbm93bicgJiYgIWlzV2FzbVRva2VuQWNsVGhhd0luc3RydWN0aW9uKGkpKSlcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xuXG4gIC8vIFNlbmQgcmVxdWlyZXMgYW4gZXhwbGljaXQgVHJhbnNmZXIgb3IgVG9rZW5UcmFuc2ZlciBpbnN0cnVjdGlvbi5cbiAgLy8gRXZlcnl0aGluZyBlbHNlIGlzIGEgY3VzdG9tL3VucmVjb2duaXplZCB0cmFuc2FjdGlvbi5cbiAgaWYgKGluc3RydWN0aW9ucy5zb21lKChpKSA9PiBpLnR5cGUgPT09ICdUcmFuc2ZlcicgfHwgaS50eXBlID09PSAnVG9rZW5UcmFuc2ZlcicpKSByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG5cbiAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYW5zYWN0aW9uIElEIGV4dHJhY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJhc2U1OCBlbmNvZGluZyBvZiA2NCB6ZXJvIGJ5dGVzICh1bnNpZ25lZCB0cmFuc2FjdGlvbnMgaGF2ZSBhbGwtemVybyBzaWduYXR1cmVzKVxuY29uc3QgQUxMX1pFUk9TX0JBU0U1OCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJztcblxuZnVuY3Rpb24gZXh0cmFjdFRyYW5zYWN0aW9uSWQoc2lnbmF0dXJlczogc3RyaW5nW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBzaWcgPSBzaWduYXR1cmVzWzBdO1xuICBpZiAoIXNpZyB8fCBzaWcgPT09IEFMTF9aRVJPU19CQVNFNTgpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiBzaWc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdGFraW5nIGF1dGhvcml6ZSBtYXBwaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1hcCBXQVNNIFN0YWtpbmdBdXRob3JpemUgaW5zdHJ1Y3Rpb24gdG8gdGhlIGxlZ2FjeSBCaXRHb0pTIHNoYXBlLlxuICogQml0R29KUyB1c2VzIGRpZmZlcmVudCBmaWVsZCBuYW1lcyBmb3IgU3Rha2VyIHZzIFdpdGhkcmF3ZXIgYXV0aG9yaXR5IGNoYW5nZXMuXG4gKi9cbmZ1bmN0aW9uIG1hcFN0YWtpbmdBdXRob3JpemUoaW5zdHI6IHtcbiAgc3Rha2luZ0FkZHJlc3M6IHN0cmluZztcbiAgb2xkQXV0aG9yaXplQWRkcmVzczogc3RyaW5nO1xuICBuZXdBdXRob3JpemVBZGRyZXNzOiBzdHJpbmc7XG4gIGF1dGhvcml6ZVR5cGU6ICdTdGFrZXInIHwgJ1dpdGhkcmF3ZXInO1xuICBjdXN0b2RpYW5BZGRyZXNzPzogc3RyaW5nO1xufSk6IFN0YWtpbmdBdXRob3JpemVQYXJhbXMge1xuICBpZiAoaW5zdHIuYXV0aG9yaXplVHlwZSA9PT0gJ1dpdGhkcmF3ZXInKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YWtpbmdBZGRyZXNzOiBpbnN0ci5zdGFraW5nQWRkcmVzcyxcbiAgICAgIG9sZFdpdGhkcmF3QWRkcmVzczogaW5zdHIub2xkQXV0aG9yaXplQWRkcmVzcyxcbiAgICAgIG5ld1dpdGhkcmF3QWRkcmVzczogaW5zdHIubmV3QXV0aG9yaXplQWRkcmVzcyxcbiAgICAgIGN1c3RvZGlhbkFkZHJlc3M6IGluc3RyLmN1c3RvZGlhbkFkZHJlc3MsXG4gICAgfTtcbiAgfVxuICAvLyBTdGFrZXIgYXV0aG9yaXR5IGNoYW5nZVxuICByZXR1cm4ge1xuICAgIHN0YWtpbmdBZGRyZXNzOiBpbnN0ci5zdGFraW5nQWRkcmVzcyxcbiAgICBvbGRXaXRoZHJhd0FkZHJlc3M6ICcnLFxuICAgIG5ld1dpdGhkcmF3QWRkcmVzczogJycsXG4gICAgb2xkU3Rha2luZ0F1dGhvcml0eUFkZHJlc3M6IGluc3RyLm9sZEF1dGhvcml6ZUFkZHJlc3MsXG4gICAgbmV3U3Rha2luZ0F1dGhvcml0eUFkZHJlc3M6IGluc3RyLm5ld0F1dGhvcml6ZUFkZHJlc3MsXG4gIH07XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNYWluIGV4cGxhaW4gZnVuY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogU3RhbmRhbG9uZSBXQVNNLWJhc2VkIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uLlxuICpcbiAqIFBhcnNlcyB0aGUgdHJhbnNhY3Rpb24gdmlhIGBwYXJzZVRyYW5zYWN0aW9uKHR4KWAgZnJvbSBAYml0Z28vd2FzbS1zb2xhbmEsXG4gKiB0aGVuIGRlcml2ZXMgdGhlIHRyYW5zYWN0aW9uIHR5cGUsIGV4dHJhY3RzIG91dHB1dHMvaW5wdXRzLCBjb21wdXRlcyBmZWVzLFxuICogYW5kIG1hcHMgdG8gQml0R29KUyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGZvcm1hdC5cbiAqXG4gKiBUaGUgZXhwbGFpbiBsb2dpYyB3YXMgcG9ydGVkIGZyb20gd2FzbS1zb2xhbmEgcGVyIHRoZSBjb252ZW50aW9uIHRoYXRcbiAqIGBleHBsYWluVHJhbnNhY3Rpb25gIGJlbG9uZ3MgaW4gQml0R29KUywgbm90IGluIHdhc20tKiBwYWNrYWdlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGxhaW5Tb2xUcmFuc2FjdGlvbihwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbldhc21PcHRpb25zKTogU29sTGliVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIGNvbnN0IHR4Qnl0ZXMgPSBCdWZmZXIuZnJvbShwYXJhbXMudHhCYXNlNjQsICdiYXNlNjQnKTtcbiAgY29uc3QgdHggPSBUcmFuc2FjdGlvbi5mcm9tQnl0ZXModHhCeXRlcyk7XG4gIGNvbnN0IHBhcnNlZDogUGFyc2VkVHJhbnNhY3Rpb24gPSBwYXJzZVRyYW5zYWN0aW9uKHR4KTtcblxuICAvLyAtLS0gVHJhbnNhY3Rpb24gSUQgLS0tXG4gIGNvbnN0IGlkID0gZXh0cmFjdFRyYW5zYWN0aW9uSWQocGFyc2VkLnNpZ25hdHVyZXMpO1xuXG4gIC8vIC0tLSBGZWUgY2FsY3VsYXRpb24gLS0tXG4gIGNvbnN0IGxhbXBvcnRzUGVyU2lnbmF0dXJlID0gcGFyYW1zLmZlZUluZm8gPyBCaWdJbnQocGFyYW1zLmZlZUluZm8uZmVlKSA6IDBuO1xuICBsZXQgZmVlID0gQmlnSW50KHBhcnNlZC5udW1TaWduYXR1cmVzKSAqIGxhbXBvcnRzUGVyU2lnbmF0dXJlO1xuXG4gIC8vIEVhY2ggQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCBjcmVhdGVzIGEgbmV3IHRva2VuIGFjY291bnQgcmVxdWlyaW5nIGEgcmVudCBkZXBvc2l0LlxuICBjb25zdCBhdGFDb3VudCA9IHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhLmZpbHRlcigoaSkgPT4gaS50eXBlID09PSAnQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcpLmxlbmd0aDtcbiAgaWYgKGF0YUNvdW50ID4gMCAmJiBwYXJhbXMudG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudCkge1xuICAgIGZlZSArPSBCaWdJbnQoYXRhQ291bnQpICogQmlnSW50KHBhcmFtcy50b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50KTtcbiAgfVxuXG4gIC8vIC0tLSBFeHRyYWN0IG1lbW8gKG5lZWRlZCBiZWZvcmUgdHlwZSBkZXJpdmF0aW9uKSAtLS1cbiAgbGV0IG1lbW86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnTWVtbycpIHtcbiAgICAgIG1lbW8gPSBpbnN0ci5tZW1vO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLSBEZXRlY3QgY29tYmluZWQgcGF0dGVybnMgYW5kIGRlcml2ZSB0eXBlIC0tLVxuICBjb25zdCBjb21iaW5lZCA9IGRldGVjdENvbWJpbmVkUGF0dGVybihwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSk7XG4gIGNvbnN0IHR4VHlwZSA9IGRlcml2ZVRyYW5zYWN0aW9uVHlwZShwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSwgY29tYmluZWQsIG1lbW8pO1xuXG4gIC8vIE1hcmluYWRlIGRlYWN0aXZhdGU6IFRyYW5zZmVyICsgUHJlcGFyZUZvclJldm9rZSBtZW1vLlxuICAvLyBUaGUgVHJhbnNmZXIgaXMgYSBjb250cmFjdCBpbnRlcmFjdGlvbiwgbm90IHJlYWwgdmFsdWUgdHJhbnNmZXIg4oCUIHNraXAgZnJvbSBvdXRwdXRzLlxuICBjb25zdCBpc01hcmluYWRlRGVhY3RpdmF0ZSA9XG4gICAgdHhUeXBlID09PSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGUgJiYgbWVtbyAhPT0gdW5kZWZpbmVkICYmIG1lbW8uaW5jbHVkZXMoJ1ByZXBhcmVGb3JSZXZva2UnKTtcblxuICAvLyAtLS0gRXh0cmFjdCBvdXRwdXRzIGFuZCBpbnB1dHMgLS0tXG4gIGNvbnN0IG91dHB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IGJpZ2ludDsgdG9rZW5OYW1lPzogc3RyaW5nIH1bXSA9IFtdO1xuICBjb25zdCBpbnB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyB2YWx1ZTogYmlnaW50IH1bXSA9IFtdO1xuXG4gIGlmIChjb21iaW5lZD8ua2luZCA9PT0gJ1N0YWtpbmdBY3RpdmF0ZScpIHtcbiAgICBvdXRwdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5zdGFraW5nQWRkcmVzcywgYW1vdW50OiBjb21iaW5lZC5hbW91bnQgfSk7XG4gICAgaW5wdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5mcm9tQWRkcmVzcywgdmFsdWU6IGNvbWJpbmVkLmFtb3VudCB9KTtcbiAgfSBlbHNlIGlmIChjb21iaW5lZD8ua2luZCA9PT0gJ1dhbGxldEluaXRpYWxpemF0aW9uJykge1xuICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGNvbWJpbmVkLm5vbmNlQWRkcmVzcywgYW1vdW50OiBjb21iaW5lZC5hbW91bnQgfSk7XG4gICAgaW5wdXRzLnB1c2goeyBhZGRyZXNzOiBjb21iaW5lZC5mcm9tQWRkcmVzcywgdmFsdWU6IGNvbWJpbmVkLmFtb3VudCB9KTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKGNvbnN0IGluc3RyIG9mIHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBzd2l0Y2ggKGluc3RyLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnVHJhbnNmZXInOlxuICAgICAgICAgIGlmIChpc01hcmluYWRlRGVhY3RpdmF0ZSkgYnJlYWs7XG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIudG9BZGRyZXNzLCBhbW91bnQ6IGluc3RyLmFtb3VudCB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdUb2tlblRyYW5zZmVyJzpcbiAgICAgICAgICBvdXRwdXRzLnB1c2goeyBhZGRyZXNzOiBpbnN0ci50b0FkZHJlc3MsIGFtb3VudDogaW5zdHIuYW1vdW50LCB0b2tlbk5hbWU6IGluc3RyLnRva2VuQWRkcmVzcyB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdTdGFraW5nQWN0aXZhdGUnOlxuICAgICAgICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLnN0YWtpbmdBZGRyZXNzLCBhbW91bnQ6IGluc3RyLmFtb3VudCB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZyb21BZGRyZXNzLCB2YWx1ZTogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdTdGFraW5nV2l0aGRyYXcnOlxuICAgICAgICAgIC8vIFdpdGhkcmF3OiBTT0wgZmxvd3MgRlJPTSBzdGFraW5nIGFkZHJlc3MgVE8gdGhlIHJlY2lwaWVudCAoZnJvbUFkZHJlc3MpXG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuZnJvbUFkZHJlc3MsIGFtb3VudDogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuc3Rha2luZ0FkZHJlc3MsIHZhbHVlOiBpbnN0ci5hbW91bnQgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1N0YWtlUG9vbERlcG9zaXRTb2wnOlxuICAgICAgICAgIC8vIEppdG8gbGlxdWlkIHN0YWtpbmcgZGVwb3NpdFxuICAgICAgICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLnN0YWtlUG9vbCwgYW1vdW50OiBpbnN0ci5sYW1wb3J0cyB9KTtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLmZ1bmRpbmdBY2NvdW50LCB2YWx1ZTogaW5zdHIubGFtcG9ydHMgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tIE91dHB1dCBhbW91bnQgKG5hdGl2ZSBTT0wgb25seSwgbm90IHRva2VuIGFtb3VudHMpIC0tLVxuICBjb25zdCBvdXRwdXRBbW91bnQgPSBvdXRwdXRzLmZpbHRlcigobykgPT4gIW8udG9rZW5OYW1lKS5yZWR1Y2UoKHN1bSwgbykgPT4gc3VtICsgby5hbW91bnQsIDBuKTtcblxuICAvLyAtLS0gQVRBIG93bmVyIG1hcHBpbmcgYW5kIHRva2VuIGVuYWJsZW1lbnRzIC0tLVxuICBjb25zdCBhdGFPd25lck1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCB0b2tlbkVuYWJsZW1lbnRzOiBJVG9rZW5FbmFibGVtZW50W10gPSBbXTtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcpIHtcbiAgICAgIGF0YU93bmVyTWFwW2luc3RyLmF0YUFkZHJlc3NdID0gaW5zdHIub3duZXJBZGRyZXNzO1xuICAgICAgdG9rZW5FbmFibGVtZW50cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogaW5zdHIuYXRhQWRkcmVzcyxcbiAgICAgICAgdG9rZW5OYW1lOiBmaW5kVG9rZW5OYW1lKGluc3RyLm1pbnRBZGRyZXNzLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICB0b2tlbkFkZHJlc3M6IGluc3RyLm1pbnRBZGRyZXNzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tIFN0YWtpbmcgYXV0aG9yaXplIC0tLVxuICBsZXQgc3Rha2luZ0F1dGhvcml6ZTogU3Rha2luZ0F1dGhvcml6ZVBhcmFtcyB8IHVuZGVmaW5lZDtcbiAgZm9yIChjb25zdCBpbnN0ciBvZiBwYXJzZWQuaW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgIGlmIChpbnN0ci50eXBlID09PSAnU3Rha2luZ0F1dGhvcml6ZScpIHtcbiAgICAgIHN0YWtpbmdBdXRob3JpemUgPSBtYXBTdGFraW5nQXV0aG9yaXplKGluc3RyKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLSBSZXNvbHZlIHRva2VuIG5hbWVzIGFuZCBjb252ZXJ0IGJpZ2ludCB0byBzdHJpbmcgYXQgc2VyaWFsaXphdGlvbiBib3VuZGFyeSAtLS1cbiAgY29uc3QgcmVzb2x2ZWRPdXRwdXRzID0gb3V0cHV0cy5tYXAoKG8pID0+ICh7XG4gICAgYWRkcmVzczogby5hZGRyZXNzLFxuICAgIGFtb3VudDogU3RyaW5nKG8uYW1vdW50KSxcbiAgICAuLi4oby50b2tlbk5hbWUgPyB7IHRva2VuTmFtZTogZmluZFRva2VuTmFtZShvLnRva2VuTmFtZSwgdW5kZWZpbmVkLCB0cnVlKSB9IDoge30pLFxuICB9KSk7XG5cbiAgY29uc3QgcmVzb2x2ZWRJbnB1dHMgPSBpbnB1dHMubWFwKChpKSA9PiAoe1xuICAgIGFkZHJlc3M6IGkuYWRkcmVzcyxcbiAgICB2YWx1ZTogU3RyaW5nKGkudmFsdWUpLFxuICB9KSk7XG5cbiAgcmV0dXJuIHtcbiAgICBkaXNwbGF5T3JkZXI6IFtcbiAgICAgICdpZCcsXG4gICAgICAndHlwZScsXG4gICAgICAnYmxvY2toYXNoJyxcbiAgICAgICdkdXJhYmxlTm9uY2UnLFxuICAgICAgJ291dHB1dEFtb3VudCcsXG4gICAgICAnY2hhbmdlQW1vdW50JyxcbiAgICAgICdvdXRwdXRzJyxcbiAgICAgICdjaGFuZ2VPdXRwdXRzJyxcbiAgICAgICd0b2tlbkVuYWJsZW1lbnRzJyxcbiAgICAgICdmZWUnLFxuICAgICAgJ21lbW8nLFxuICAgIF0sXG4gICAgaWQ6IGlkID8/IFVOQVZBSUxBQkxFX1RFWFQsXG4gICAgLy8gV0FTTSByZXR1cm5zIFwiU3Rha2luZ0F1dGhvcml6ZVwiIGJ1dCBCaXRHb0pTIHVzZXMgXCJTdGFraW5nQXV0aG9yaXplUmF3XCJcbiAgICAvLyB3aGVuIGRlc2VyaWFsaXppbmcgZnJvbSBieXRlcyAodGhlIG5vbi1yYXcgdHlwZSBvbmx5IGV4aXN0cyBkdXJpbmcgYnVpbGRpbmcpLlxuICAgIHR5cGU6IHR4VHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBdXRob3JpemUgPyAnU3Rha2luZ0F1dGhvcml6ZVJhdycgOiB0eFR5cGUsXG4gICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgb3V0cHV0QW1vdW50OiBTdHJpbmcob3V0cHV0QW1vdW50KSxcbiAgICBvdXRwdXRzOiByZXNvbHZlZE91dHB1dHMsXG4gICAgaW5wdXRzOiByZXNvbHZlZElucHV0cyxcbiAgICBmZWVQYXllcjogcGFyc2VkLmZlZVBheWVyLFxuICAgIGZlZToge1xuICAgICAgZmVlOiBwYXJhbXMuZmVlSW5mbyA/IFN0cmluZyhmZWUpIDogJzAnLFxuICAgICAgZmVlUmF0ZTogcGFyYW1zLmZlZUluZm8gPyBOdW1iZXIocGFyYW1zLmZlZUluZm8uZmVlKSA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIG1lbW8sXG4gICAgYmxvY2toYXNoOiBwYXJzZWQubm9uY2UsXG4gICAgZHVyYWJsZU5vbmNlOiBwYXJzZWQuZHVyYWJsZU5vbmNlLFxuICAgIHRva2VuRW5hYmxlbWVudHMsXG4gICAgYXRhT3duZXJNYXAsXG4gICAgLi4uKHN0YWtpbmdBdXRob3JpemUgPyB7IHN0YWtpbmdBdXRob3JpemUgfSA6IHt9KSxcbiAgfTtcbn1cbiJdfQ==
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblRyYW5zYWN0aW9uV2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZXhwbGFpblRyYW5zYWN0aW9uV2FzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFrRCxNQUFNLG9CQUFvQixDQUFDO0FBQ25ILE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFTNUUsZ0ZBQWdGO0FBQ2hGLDBFQUEwRTtBQUMxRSxnRkFBZ0Y7QUFFaEYsSUFBSyxlQVdKO0FBWEQsV0FBSyxlQUFlO0lBQ2xCLGdDQUFhLENBQUE7SUFDYixzREFBbUMsQ0FBQTtJQUNuQywwREFBdUMsQ0FBQTtJQUN2QyxzREFBbUMsQ0FBQTtJQUNuQyx3REFBcUMsQ0FBQTtJQUNyQyxzREFBbUMsQ0FBQTtJQUNuQyxnRUFBNkMsQ0FBQTtJQUM3QyxnR0FBNkUsQ0FBQTtJQUM3RSx3Q0FBcUIsQ0FBQTtJQUNyQixnRUFBNkMsQ0FBQTtBQUMvQyxDQUFDLEVBWEksZUFBZSxLQUFmLGVBQWUsUUFXbkI7QUEyQkQsU0FBUyxxQkFBcUIsQ0FBQyxZQUFpQztJQUM5RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMs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U0FBUztZQUNULGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsS0FBSztZQUNMLE1BQU07U0FDUDtRQUNELEVBQUUsRUFBRSxFQUFFLElBQUksZ0JBQWdCO1FBQzFCLHlFQUF5RTtRQUN6RSxnRkFBZ0Y7UUFDaEYsSUFBSSxFQUFFLE1BQU0sS0FBSyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxNQUFNO1FBQ2xGLGFBQWEsRUFBRSxFQUFFO1FBQ2pCLFlBQVksRUFBRSxHQUFHO1FBQ2pCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtRQUN6QixHQUFHLEVBQUU7WUFDSCxHQUFHLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO1lBQ3ZDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNqRTtRQUNELElBQUk7UUFDSixTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFDdkIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1FBQ2pDLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNsRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUb2tlbkVuYWJsZW1lbnQgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgcGFyc2VUcmFuc2FjdGlvbiwgdHlwZSBQYXJzZWRUcmFuc2FjdGlvbiwgdHlwZSBJbnN0cnVjdGlvblBhcmFtcyB9IGZyb20gJ0BiaXRnby93YXNtLXNvbGFuYSc7XG5pbXBvcnQge1xuICBVTkFWQUlMQUJMRV9URVhULFxuICBaS19FTEdBTUFMX1BST09GX1BST0dSQU1fSUQsXG4gIENUX0VYVF9ESVNDUklNSU5BVE9SLFxuICBDVF9TVUJfRElTQ1JJTUlOQVRPUlMsXG4gIFRPS0VOX0FDTF9QUk9HUkFNX0lELFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdGFraW5nQXV0aG9yaXplUGFyYW1zLCBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIFNvbExpYlRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IGZpbmRUb2tlbk5hbWUgfSBmcm9tICcuL2luc3RydWN0aW9uUGFyYW1zRmFjdG9yeSc7XG5pbXBvcnQgeyBpc01hcmluYWRlVW5zdGFrZVRyYW5zZmVyLCBpc1ByZXBhcmVGb3JSZXZva2VNZW1vIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFpblRyYW5zYWN0aW9uV2FzbU9wdGlvbnMge1xuICB0eEJhc2U2NDogc3RyaW5nO1xuICBmZWVJbmZvPzogeyBmZWU6IHN0cmluZyB9O1xuICB0b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50Pzogc3RyaW5nO1xuICBjb2luTmFtZTogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHJhbnNhY3Rpb24gdHlwZSBkZXJpdmF0aW9uIChwb3J0ZWQgZnJvbSBAYml0Z28vd2FzbS1zb2xhbmEgZXhwbGFpbi50cylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmVudW0gVHJhbnNhY3Rpb25UeXBlIHtcbiAgU2VuZCA9ICdTZW5kJyxcbiAgU3Rha2luZ0FjdGl2YXRlID0gJ1N0YWtpbmdBY3RpdmF0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ1N0YWtpbmdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1N0YWtpbmdXaXRoZHJhdycsXG4gIFN0YWtpbmdBdXRob3JpemUgPSAnU3Rha2luZ0F1dGhvcml6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdTdGFraW5nRGVsZWdhdGUnLFxuICBXYWxsZXRJbml0aWFsaXphdGlvbiA9ICdXYWxsZXRJbml0aWFsaXphdGlvbicsXG4gIEFzc29jaWF0ZWRUb2tlbkFjY291bnRJbml0aWFsaXphdGlvbiA9ICdBc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5pdGlhbGl6YXRpb24nLFxuICBDdXN0b21UeCA9ICdDdXN0b21UeCcsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbWJpbmVkIGluc3RydWN0aW9uIHBhdHRlcm4gZGV0ZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTb2xhbmEgbmF0aXZlIHN0YWtpbmcgcmVxdWlyZXMgMyBzZXBhcmF0ZSBpbnN0cnVjdGlvbnM6XG4vLyAgIENyZWF0ZUFjY291bnQgKGZ1bmQpICsgU3Rha2VJbml0aWFsaXplIChzZXQgYXV0aG9yaXRpZXMpICsgRGVsZWdhdGVTdGFrZSAocGljayB2YWxpZGF0b3IpXG4vLyBNYXJpbmFkZSBzdGFraW5nIHVzZXMgb25seSBDcmVhdGVBY2NvdW50ICsgU3Rha2VJbml0aWFsaXplIChubyBEZWxlZ2F0ZSkuXG4vLyBXYWxsZXQgaW5pdCB1c2VzIENyZWF0ZUFjY291bnQgKyBOb25jZUluaXRpYWxpemUuXG5cbmludGVyZmFjZSBDb21iaW5lZFN0YWtlQWN0aXZhdGUge1xuICBraW5kOiAnU3Rha2luZ0FjdGl2YXRlJztcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcbiAgc3Rha2luZ0FkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7XG59XG5cbmludGVyZmFjZSBDb21iaW5lZFdhbGxldEluaXQge1xuICBraW5kOiAnV2FsbGV0SW5pdGlhbGl6YXRpb24nO1xuICBmcm9tQWRkcmVzczogc3RyaW5nO1xuICBub25jZUFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7XG59XG5cbnR5cGUgQ29tYmluZWRQYXR0ZXJuID0gQ29tYmluZWRTdGFrZUFjdGl2YXRlIHwgQ29tYmluZWRXYWxsZXRJbml0O1xuXG5mdW5jdGlvbiBkZXRlY3RDb21iaW5lZFBhdHRlcm4oaW5zdHJ1Y3Rpb25zOiBJbnN0cnVjdGlvblBhcmFtc1tdKTogQ29tYmluZWRQYXR0ZXJuIHwgbnVsbCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdHJ1Y3Rpb25zLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIGNvbnN0IGN1cnIgPSBpbnN0cnVjdGlvbnNbaV07XG4gICAgY29uc3QgbmV4dCA9IGluc3RydWN0aW9uc1tpICsgMV07XG5cbiAgICBpZiAoY3Vyci50eXBlID09PSAnQ3JlYXRlQWNjb3VudCcgJiYgbmV4dC50eXBlID09PSAnU3Rha2VJbml0aWFsaXplJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2luZDogJ1N0YWtpbmdBY3RpdmF0ZScsXG4gICAgICAgIGZyb21BZGRyZXNzOiBjdXJyLmZyb21BZGRyZXNzLFxuICAgICAgICBzdGFraW5nQWRkcmVzczogY3Vyci5uZXdBZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IGN1cnIuYW1vdW50LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoY3Vyci50eXBlID09PSAnQ3JlYXRlQWNjb3VudCcgJiYgbmV4dC50eXBlID09PSAnTm9uY2VJbml0aWFsaXplJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2luZDogJ1dhbGxldEluaXRpYWxpemF0aW9uJyxcbiAgICAgICAgZnJvbUFkZHJlc3M6IGN1cnIuZnJvbUFkZHJlc3MsXG4gICAgICAgIG5vbmNlQWRkcmVzczogY3Vyci5uZXdBZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IGN1cnIuYW1vdW50LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYW5zYWN0aW9uIHR5cGUgZGVyaXZhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgQk9JTEVSUExBVEVfVFlQRVMgPSBuZXcgU2V0KFsnTm9uY2VBZHZhbmNlJywgJ01lbW8nLCAnU2V0Q29tcHV0ZVVuaXRMaW1pdCcsICdTZXRQcmlvcml0eUZlZSddKTtcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgYSBXQVNNLXBhcnNlZCBVbmtub3duIGluc3RydWN0aW9uIGlzIGEgY29uZmlkZW50aWFsIHRyYW5zZmVyIGluc3RydWN0aW9uXG4gKiAoVG9rZW4tMjAyMiBDVCBleHRlbnNpb24gb3IgemstZWxnYW1hbC1wcm9vZiBwcm9ncmFtKS5cbiAqXG4gKiBDVCBleHRlbnNpb246IGJ5dGUgMCA9IENUX0VYVF9ESVNDUklNSU5BVE9SLCBieXRlIDEg4oiIIENUX1NVQl9ESVNDUklNSU5BVE9SU1xuICogemstZWxnYW1hbC1wcm9vZjogYW55IGluc3RydWN0aW9uIGZyb20gdGhlIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbVxuICovXG5mdW5jdGlvbiBpc1dhc21Db25maWRlbnRpYWxUcmFuc2Zlckluc3RydWN0aW9uKGluc3RyOiBJbnN0cnVjdGlvblBhcmFtcyk6IGJvb2xlYW4ge1xuICBpZiAoaW5zdHIudHlwZSAhPT0gJ1Vua25vd24nKSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHByb2dyYW1JZCA9IGluc3RyLnByb2dyYW1JZDtcbiAgLy8gemstZWxnYW1hbC1wcm9vZiBwcm9ncmFtIGluc3RydWN0aW9ucyBhcmUgYWx3YXlzIENUIHByb29mIHZlcmlmaWNhdGlvbnNcbiAgaWYgKHByb2dyYW1JZCA9PT0gWktfRUxHQU1BTF9QUk9PRl9QUk9HUkFNX0lEKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gVG9rZW4tMjAyMiBDVCBleHRlbnNpb246IGJ5dGUgMCA9IENUX0VYVF9ESVNDUklNSU5BVE9SLCBieXRlIDEg4oiIIENUX1NVQl9ESVNDUklNSU5BVE9SU1xuICBjb25zdCBUT0tFTl8yMDIyX1BST0dSQU1fSUQgPSAnVG9rZW56UWRCTmJMcVA1VkVoZGtBUzZFUEZMQzFQSG5CcUNYRXBQeHVFYic7XG4gIGlmIChwcm9ncmFtSWQgPT09IFRPS0VOXzIwMjJfUFJPR1JBTV9JRCkge1xuICAgIGNvbnN0IGRhdGFCeXRlcyA9IEJ1ZmZlci5mcm9tKGluc3RyLmRhdGEsICdiYXNlNjQnKTtcbiAgICBpZiAoZGF0YUJ5dGVzLmxlbmd0aCA+PSAyKSB7XG4gICAgICByZXR1cm4gZGF0YUJ5dGVzWzBdID09PSBDVF9FWFRfRElTQ1JJTUlOQVRPUiAmJiBDVF9TVUJfRElTQ1JJTUlOQVRPUlMuaGFzKGRhdGFCeXRlc1sxXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgYSBXQVNNLXBhcnNlZCBVbmtub3duIGluc3RydWN0aW9uIGlzIGEgVG9rZW4gQUNMIHBlcm1pc3Npb25sZXNzXG4gKiB0aGF3IGluc3RydWN0aW9uIChzUkZDLTM3IFRva2VuIEFDTCBwcm9ncmFtKS5cbiAqXG4gKiBUaGUgd2FzbSBwYXJzZXIgZG9lcyBub3Qga25vdyB0aGUgVG9rZW4gQUNMIHByb2dyYW0sIHNvIFRoYXdQZXJtaXNzaW9ubGVzc0lkZW1wb3RlbnRcbiAqIGluc3RydWN0aW9ucyBwYXJzZSBhcyBVbmtub3duLiBNaXJyb3JzIHRoZSBKUy1zaWRlIGBnZXRJbnN0cnVjdGlvblR5cGVgIGNhc2UgZm9yXG4gKiBUT0tFTl9BQ0xfUFJPR1JBTV9JRCBpbiBsaWIvdXRpbHMudHMuXG4gKi9cbmZ1bmN0aW9uIGlzV2FzbVRva2VuQWNsVGhhd0luc3RydWN0aW9uKGluc3RyOiBJbnN0cnVjdGlvblBhcmFtcyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaW5zdHIudHlwZSA9PT0gJ1Vua25vd24nICYmIGluc3RyLnByb2dyYW1JZCA9PT0gVE9LRU5fQUNMX1BST0dSQU1fSUQ7XG59XG5cbi8qKlxuICogVHJ1ZSBvbmx5IGZvciBhIGdlbnVpbmUgTWFyaW5hZGUgdW5zdGFrZTogZXhhY3RseSBvbmUgVHJhbnNmZXIgdG8gYSBNYXJpbmFkZSBvcmRlciBhZGRyZXNzIGZvciB0aGVcbiAqIHBpbm5lZCBhbW91bnQsIG9uZSB3ZWxsLWZvcm1lZCBQcmVwYXJlRm9yUmV2b2tlIG1lbW8sIGFuZCBvbmx5IG5vbmNlLWFkdmFuY2UgLyBjb21wdXRlLWJ1ZGdldCBiZXNpZGVzLlxuICogTWlycm9ycyBnZXRNYXJpbmFkZVVuc3Rha2VUcmFuc2ZlciBpbiB1dGlscy50czsgdGhlIG1lbW8gYWxvbmUgaXMgYXR0YWNrZXItY29udHJvbGxlZC5cbiAqL1xuZnVuY3Rpb24gaXNXYXNtTWFyaW5hZGVVbnN0YWtlKGluc3RydWN0aW9uczogSW5zdHJ1Y3Rpb25QYXJhbXNbXSk6IGJvb2xlYW4ge1xuICBjb25zdCB0cmFuc2ZlcnMgPSBpbnN0cnVjdGlvbnMuZmlsdGVyKChpKSA9PiBpLnR5cGUgPT09ICdUcmFuc2ZlcicpO1xuICBjb25zdCBtZW1vcyA9IGluc3RydWN0aW9ucy5maWx0ZXIoKGkpID0+IGkudHlwZSA9PT0gJ01lbW8nKTtcbiAgY29uc3Qgb3RoZXJzID0gaW5zdHJ1Y3Rpb25zLmZpbHRlcigoaSkgPT4gIUJPSUxFUlBMQVRFX1RZUEVTLmhhcyhpLnR5cGUpICYmIGkudHlwZSAhPT0gJ1RyYW5zZmVyJyk7XG4gIGlmICh0cmFuc2ZlcnMubGVuZ3RoICE9PSAxIHx8IG1lbW9zLmxlbmd0aCAhPT0gMSB8fCBvdGhlcnMubGVuZ3RoID4gMCkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCB0cmFuc2ZlciA9IHRyYW5zZmVyc1swXTtcbiAgY29uc3QgbWVtbyA9IG1lbW9zWzBdO1xuICByZXR1cm4gKFxuICAgIHRyYW5zZmVyLnR5cGUgPT09ICdUcmFuc2ZlcicgJiZcbiAgICBtZW1vLnR5cGUgPT09ICdNZW1vJyAmJlxuICAgIGlzUHJlcGFyZUZvclJldm9rZU1lbW8obWVtby5tZW1vKSAmJlxuICAgIGlzTWFyaW5hZGVVbnN0YWtlVHJhbnNmZXIodHJhbnNmZXIudG9BZGRyZXNzLCB0cmFuc2Zlci5hbW91bnQpXG4gICk7XG59XG5cbmZ1bmN0aW9uIGRlcml2ZVRyYW5zYWN0aW9uVHlwZShpbnN0cnVjdGlvbnM6IEluc3RydWN0aW9uUGFyYW1zW10sIGNvbWJpbmVkOiBDb21iaW5lZFBhdHRlcm4gfCBudWxsKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgaWYgKGNvbWJpbmVkKSByZXR1cm4gVHJhbnNhY3Rpb25UeXBlW2NvbWJpbmVkLmtpbmRdO1xuXG4gIC8vIE1hcmluYWRlIGRlYWN0aXZhdGU6IHZhbGlkYXRlZCBieSB0cmFuc2ZlciBkZXN0aW5hdGlvbi9hbW91bnQsIG5ldmVyIGJ5IHRoZSBtZW1vIGFsb25lXG4gIGlmIChpc1dhc21NYXJpbmFkZVVuc3Rha2UoaW5zdHJ1Y3Rpb25zKSkgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTtcblxuICAvLyBKaXRvIHBvb2wgb3BlcmF0aW9uc1xuICBpZiAoaW5zdHJ1Y3Rpb25zLnNvbWUoKGkpID0+IGkudHlwZSA9PT0gJ1N0YWtlUG9vbERlcG9zaXRTb2wnKSkgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU7XG4gIGlmIChpbnN0cnVjdGlvbnMuc29tZSgoaSkgPT4gaS50eXBlID09PSAnU3Rha2VQb29sV2l0aGRyYXdTdGFrZScpKSByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlO1xuXG4gIC8vIEFUQS1vbmx5IHRyYW5zYWN0aW9ucyAoaWdub3JpbmcgYm9pbGVycGxhdGUgYW5kIFRva2VuIEFDTCBwZXJtaXNzaW9ubGVzcyB0aGF3KVxuICBjb25zdCBtZWFuaW5nZnVsID0gaW5zdHJ1Y3Rpb25zLmZpbHRlcigoaSkgPT4gIUJPSUxFUlBMQVRFX1RZUEVTLmhhcyhpLnR5cGUpICYmICFpc1dhc21Ub2tlbkFjbFRoYXdJbnN0cnVjdGlvbihpKSk7XG4gIGlmIChtZWFuaW5nZnVsLmxlbmd0aCA+IDAgJiYgbWVhbmluZ2Z1bC5ldmVyeSgoaSkgPT4gaS50eXBlID09PSAnQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcpKSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5Bc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvLyBEaXJlY3Qgc3Rha2luZyBpbnN0cnVjdGlvbiBtYXBwaW5nXG4gIGNvbnN0IHN0YWtpbmcgPSBpbnN0cnVjdGlvbnMuZmluZCgoaSkgPT4gaS50eXBlIGluIFRyYW5zYWN0aW9uVHlwZSk7XG4gIGlmIChzdGFraW5nKSByZXR1cm4gVHJhbnNhY3Rpb25UeXBlW3N0YWtpbmcudHlwZSBhcyBrZXlvZiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlXTtcblxuICAvLyBVbmtub3duIGluc3RydWN0aW9ucyBpbmRpY2F0ZSBhIGN1c3RvbS91bnJlY29nbml6ZWQgdHJhbnNhY3Rpb25cbiAgaWYgKGluc3RydWN0aW9ucy5zb21lKChpKSA9PiBpLnR5cGUgPT09ICdVbmtub3duJyAmJiBpc1dhc21Db25maWRlbnRpYWxUcmFuc2Zlckluc3RydWN0aW9uKGkpKSkge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ29uZmlkZW50aWFsVHJhbnNmZXI7XG4gIH1cbiAgaWYgKGluc3RydWN0aW9ucy5zb21lKChpKSA9PiBpLnR5cGUgPT09ICdVbmtub3duJyAmJiAhaXNXYXNtVG9rZW5BY2xUaGF3SW5zdHJ1Y3Rpb24oaSkpKVxuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHg7XG5cbiAgLy8gU2VuZCByZXF1aXJlcyBhbiBleHBsaWNpdCBUcmFuc2ZlciBvciBUb2tlblRyYW5zZmVyIGluc3RydWN0aW9uLlxuICAvLyBFdmVyeXRoaW5nIGVsc2UgaXMgYSBjdXN0b20vdW5yZWNvZ25pemVkIHRyYW5zYWN0aW9uLlxuICBpZiAoaW5zdHJ1Y3Rpb25zLnNvbWUoKGkpID0+IGkudHlwZSA9PT0gJ1RyYW5zZmVyJyB8fCBpLnR5cGUgPT09ICdUb2tlblRyYW5zZmVyJykpIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcblxuICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHJhbnNhY3Rpb24gSUQgZXh0cmFjdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmFzZTU4IGVuY29kaW5nIG9mIDY0IHplcm8gYnl0ZXMgKHVuc2lnbmVkIHRyYW5zYWN0aW9ucyBoYXZlIGFsbC16ZXJvIHNpZ25hdHVyZXMpXG5jb25zdCBBTExfWkVST1NfQkFTRTU4ID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnO1xuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNhY3Rpb25JZChzaWduYXR1cmVzOiBzdHJpbmdbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHNpZyA9IHNpZ25hdHVyZXNbMF07XG4gIGlmICghc2lnIHx8IHNpZyA9PT0gQUxMX1pFUk9TX0JBU0U1OCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgcmV0dXJuIHNpZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFN0YWtpbmcgYXV0aG9yaXplIG1hcHBpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogTWFwIFdBU00gU3Rha2luZ0F1dGhvcml6ZSBpbnN0cnVjdGlvbiB0byB0aGUgbGVnYWN5IEJpdEdvSlMgc2hhcGUuXG4gKiBCaXRHb0pTIHVzZXMgZGlmZmVyZW50IGZpZWxkIG5hbWVzIGZvciBTdGFrZXIgdnMgV2l0aGRyYXdlciBhdXRob3JpdHkgY2hhbmdlcy5cbiAqL1xuZnVuY3Rpb24gbWFwU3Rha2luZ0F1dGhvcml6ZShpbnN0cjoge1xuICBzdGFraW5nQWRkcmVzczogc3RyaW5nO1xuICBvbGRBdXRob3JpemVBZGRyZXNzOiBzdHJpbmc7XG4gIG5ld0F1dGhvcml6ZUFkZHJlc3M6IHN0cmluZztcbiAgYXV0aG9yaXplVHlwZTogJ1N0YWtlcicgfCAnV2l0aGRyYXdlcic7XG4gIGN1c3RvZGlhbkFkZHJlc3M/OiBzdHJpbmc7XG59KTogU3Rha2luZ0F1dGhvcml6ZVBhcmFtcyB7XG4gIGlmIChpbnN0ci5hdXRob3JpemVUeXBlID09PSAnV2l0aGRyYXdlcicpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3Rha2luZ0FkZHJlc3M6IGluc3RyLnN0YWtpbmdBZGRyZXNzLFxuICAgICAgb2xkV2l0aGRyYXdBZGRyZXNzOiBpbnN0ci5vbGRBdXRob3JpemVBZGRyZXNzLFxuICAgICAgbmV3V2l0aGRyYXdBZGRyZXNzOiBpbnN0ci5uZXdBdXRob3JpemVBZGRyZXNzLFxuICAgICAgY3VzdG9kaWFuQWRkcmVzczogaW5zdHIuY3VzdG9kaWFuQWRkcmVzcyxcbiAgICB9O1xuICB9XG4gIC8vIFN0YWtlciBhdXRob3JpdHkgY2hhbmdlXG4gIHJldHVybiB7XG4gICAgc3Rha2luZ0FkZHJlc3M6IGluc3RyLnN0YWtpbmdBZGRyZXNzLFxuICAgIG9sZFdpdGhkcmF3QWRkcmVzczogJycsXG4gICAgbmV3V2l0aGRyYXdBZGRyZXNzOiAnJyxcbiAgICBvbGRTdGFraW5nQXV0aG9yaXR5QWRkcmVzczogaW5zdHIub2xkQXV0aG9yaXplQWRkcmVzcyxcbiAgICBuZXdTdGFraW5nQXV0aG9yaXR5QWRkcmVzczogaW5zdHIubmV3QXV0aG9yaXplQWRkcmVzcyxcbiAgfTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1haW4gZXhwbGFpbiBmdW5jdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBTdGFuZGFsb25lIFdBU00tYmFzZWQgdHJhbnNhY3Rpb24gZXhwbGFuYXRpb24uXG4gKlxuICogUGFyc2VzIHRoZSB0cmFuc2FjdGlvbiB2aWEgYHBhcnNlVHJhbnNhY3Rpb24odHgpYCBmcm9tIEBiaXRnby93YXNtLXNvbGFuYSxcbiAqIHRoZW4gZGVyaXZlcyB0aGUgdHJhbnNhY3Rpb24gdHlwZSwgZXh0cmFjdHMgb3V0cHV0cy9pbnB1dHMsIGNvbXB1dGVzIGZlZXMsXG4gKiBhbmQgbWFwcyB0byBCaXRHb0pTIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZm9ybWF0LlxuICpcbiAqIFRoZSBleHBsYWluIGxvZ2ljIHdhcyBwb3J0ZWQgZnJvbSB3YXNtLXNvbGFuYSBwZXIgdGhlIGNvbnZlbnRpb24gdGhhdFxuICogYGV4cGxhaW5UcmFuc2FjdGlvbmAgYmVsb25ncyBpbiBCaXRHb0pTLCBub3QgaW4gd2FzbS0qIHBhY2thZ2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwbGFpblNvbFRyYW5zYWN0aW9uKHBhcmFtczogRXhwbGFpblRyYW5zYWN0aW9uV2FzbU9wdGlvbnMpOiBTb2xMaWJUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgY29uc3QgdHhCeXRlcyA9IEJ1ZmZlci5mcm9tKHBhcmFtcy50eEJhc2U2NCwgJ2Jhc2U2NCcpO1xuICBjb25zdCB0eCA9IFRyYW5zYWN0aW9uLmZyb21CeXRlcyh0eEJ5dGVzKTtcbiAgY29uc3QgcGFyc2VkOiBQYXJzZWRUcmFuc2FjdGlvbiA9IHBhcnNlVHJhbnNhY3Rpb24odHgpO1xuXG4gIC8vIC0tLSBUcmFuc2FjdGlvbiBJRCAtLS1cbiAgY29uc3QgaWQgPSBleHRyYWN0VHJhbnNhY3Rpb25JZChwYXJzZWQuc2lnbmF0dXJlcyk7XG5cbiAgLy8gLS0tIEZlZSBjYWxjdWxhdGlvbiAtLS1cbiAgY29uc3QgbGFtcG9ydHNQZXJTaWduYXR1cmUgPSBwYXJhbXMuZmVlSW5mbyA/IEJpZ0ludChwYXJhbXMuZmVlSW5mby5mZWUpIDogMG47XG4gIGxldCBmZWUgPSBCaWdJbnQocGFyc2VkLm51bVNpZ25hdHVyZXMpICogbGFtcG9ydHNQZXJTaWduYXR1cmU7XG5cbiAgLy8gRWFjaCBDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50IGNyZWF0ZXMgYSBuZXcgdG9rZW4gYWNjb3VudCByZXF1aXJpbmcgYSByZW50IGRlcG9zaXQuXG4gIGNvbnN0IGF0YUNvdW50ID0gcGFyc2VkLmluc3RydWN0aW9uc0RhdGEuZmlsdGVyKChpKSA9PiBpLnR5cGUgPT09ICdDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JykubGVuZ3RoO1xuICBpZiAoYXRhQ291bnQgPiAwICYmIHBhcmFtcy50b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50KSB7XG4gICAgZmVlICs9IEJpZ0ludChhdGFDb3VudCkgKiBCaWdJbnQocGFyYW1zLnRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQpO1xuICB9XG5cbiAgLy8gLS0tIEV4dHJhY3QgbWVtbyAobmVlZGVkIGJlZm9yZSB0eXBlIGRlcml2YXRpb24pIC0tLVxuICBsZXQgbWVtbzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IGluc3RyIG9mIHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgaWYgKGluc3RyLnR5cGUgPT09ICdNZW1vJykge1xuICAgICAgbWVtbyA9IGluc3RyLm1lbW87XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tIERldGVjdCBjb21iaW5lZCBwYXR0ZXJucyBhbmQgZGVyaXZlIHR5cGUgLS0tXG4gIGNvbnN0IGNvbWJpbmVkID0gZGV0ZWN0Q29tYmluZWRQYXR0ZXJuKHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhKTtcbiAgY29uc3QgdHhUeXBlID0gZGVyaXZlVHJhbnNhY3Rpb25UeXBlKHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhLCBjb21iaW5lZCk7XG5cbiAgLy8gR2VudWluZSBNYXJpbmFkZSBkZWFjdGl2YXRlOiB0aGUgVHJhbnNmZXIgaXMgYSBjb250cmFjdCBpbnRlcmFjdGlvbiwgbm90IGEgcmVhbCB2YWx1ZSB0cmFuc2Zlci5cbiAgY29uc3QgaXNNYXJpbmFkZURlYWN0aXZhdGUgPSBpc1dhc21NYXJpbmFkZVVuc3Rha2UocGFyc2VkLmluc3RydWN0aW9uc0RhdGEpO1xuXG4gIC8vIC0tLSBFeHRyYWN0IG91dHB1dHMgYW5kIGlucHV0cyAtLS1cbiAgY29uc3Qgb3V0cHV0czogeyBhZGRyZXNzOiBzdHJpbmc7IGFtb3VudDogYmlnaW50OyB0b2tlbk5hbWU/OiBzdHJpbmcgfVtdID0gW107XG4gIGNvbnN0IGlucHV0czogeyBhZGRyZXNzOiBzdHJpbmc7IHZhbHVlOiBiaWdpbnQgfVtdID0gW107XG5cbiAgaWYgKGNvbWJpbmVkPy5raW5kID09PSAnU3Rha2luZ0FjdGl2YXRlJykge1xuICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGNvbWJpbmVkLnN0YWtpbmdBZGRyZXNzLCBhbW91bnQ6IGNvbWJpbmVkLmFtb3VudCB9KTtcbiAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGNvbWJpbmVkLmZyb21BZGRyZXNzLCB2YWx1ZTogY29tYmluZWQuYW1vdW50IH0pO1xuICB9IGVsc2UgaWYgKGNvbWJpbmVkPy5raW5kID09PSAnV2FsbGV0SW5pdGlhbGl6YXRpb24nKSB7XG4gICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogY29tYmluZWQubm9uY2VBZGRyZXNzLCBhbW91bnQ6IGNvbWJpbmVkLmFtb3VudCB9KTtcbiAgICBpbnB1dHMucHVzaCh7IGFkZHJlc3M6IGNvbWJpbmVkLmZyb21BZGRyZXNzLCB2YWx1ZTogY29tYmluZWQuYW1vdW50IH0pO1xuICB9IGVsc2Uge1xuICAgIGZvciAoY29uc3QgaW5zdHIgb2YgcGFyc2VkLmluc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIHN3aXRjaCAoaW5zdHIudHlwZSkge1xuICAgICAgICBjYXNlICdUcmFuc2Zlcic6XG4gICAgICAgICAgaWYgKGlzTWFyaW5hZGVEZWFjdGl2YXRlKSBicmVhaztcbiAgICAgICAgICBvdXRwdXRzLnB1c2goeyBhZGRyZXNzOiBpbnN0ci50b0FkZHJlc3MsIGFtb3VudDogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuZnJvbUFkZHJlc3MsIHZhbHVlOiBpbnN0ci5hbW91bnQgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1Rva2VuVHJhbnNmZXInOlxuICAgICAgICAgIG91dHB1dHMucHVzaCh7IGFkZHJlc3M6IGluc3RyLnRvQWRkcmVzcywgYW1vdW50OiBpbnN0ci5hbW91bnQsIHRva2VuTmFtZTogaW5zdHIudG9rZW5BZGRyZXNzIH0pO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuZnJvbUFkZHJlc3MsIHZhbHVlOiBpbnN0ci5hbW91bnQgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1N0YWtpbmdBY3RpdmF0ZSc6XG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuc3Rha2luZ0FkZHJlc3MsIGFtb3VudDogaW5zdHIuYW1vdW50IH0pO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuZnJvbUFkZHJlc3MsIHZhbHVlOiBpbnN0ci5hbW91bnQgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1N0YWtpbmdXaXRoZHJhdyc6XG4gICAgICAgICAgLy8gV2l0aGRyYXc6IFNPTCBmbG93cyBGUk9NIHN0YWtpbmcgYWRkcmVzcyBUTyB0aGUgcmVjaXBpZW50IChmcm9tQWRkcmVzcylcbiAgICAgICAgICBvdXRwdXRzLnB1c2goeyBhZGRyZXNzOiBpbnN0ci5mcm9tQWRkcmVzcywgYW1vdW50OiBpbnN0ci5hbW91bnQgfSk7XG4gICAgICAgICAgaW5wdXRzLnB1c2goeyBhZGRyZXNzOiBpbnN0ci5zdGFraW5nQWRkcmVzcywgdmFsdWU6IGluc3RyLmFtb3VudCB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnU3Rha2VQb29sRGVwb3NpdFNvbCc6XG4gICAgICAgICAgLy8gSml0byBsaXF1aWQgc3Rha2luZyBkZXBvc2l0XG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuc3Rha2VQb29sLCBhbW91bnQ6IGluc3RyLmxhbXBvcnRzIH0pO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHsgYWRkcmVzczogaW5zdHIuZnVuZGluZ0FjY291bnQsIHZhbHVlOiBpbnN0ci5sYW1wb3J0cyB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0gT3V0cHV0IGFtb3VudCAobmF0aXZlIFNPTCBvbmx5LCBub3QgdG9rZW4gYW1vdW50cykgLS0tXG4gIGNvbnN0IG91dHB1dEFtb3VudCA9IG91dHB1dHMuZmlsdGVyKChvKSA9PiAhby50b2tlbk5hbWUpLnJlZHVjZSgoc3VtLCBvKSA9PiBzdW0gKyBvLmFtb3VudCwgMG4pO1xuXG4gIC8vIC0tLSBBVEEgb3duZXIgbWFwcGluZyBhbmQgdG9rZW4gZW5hYmxlbWVudHMgLS0tXG4gIGNvbnN0IGF0YU93bmVyTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIGNvbnN0IHRva2VuRW5hYmxlbWVudHM6IElUb2tlbkVuYWJsZW1lbnRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGluc3RyIG9mIHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgaWYgKGluc3RyLnR5cGUgPT09ICdDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50Jykge1xuICAgICAgYXRhT3duZXJNYXBbaW5zdHIuYXRhQWRkcmVzc10gPSBpbnN0ci5vd25lckFkZHJlc3M7XG4gICAgICB0b2tlbkVuYWJsZW1lbnRzLnB1c2goe1xuICAgICAgICBhZGRyZXNzOiBpbnN0ci5hdGFBZGRyZXNzLFxuICAgICAgICB0b2tlbk5hbWU6IGZpbmRUb2tlbk5hbWUoaW5zdHIubWludEFkZHJlc3MsIHVuZGVmaW5lZCwgdHJ1ZSksXG4gICAgICAgIHRva2VuQWRkcmVzczogaW5zdHIubWludEFkZHJlc3MsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0gU3Rha2luZyBhdXRob3JpemUgLS0tXG4gIGxldCBzdGFraW5nQXV0aG9yaXplOiBTdGFraW5nQXV0aG9yaXplUGFyYW1zIHwgdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IGluc3RyIG9mIHBhcnNlZC5pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgaWYgKGluc3RyLnR5cGUgPT09ICdTdGFraW5nQXV0aG9yaXplJykge1xuICAgICAgc3Rha2luZ0F1dGhvcml6ZSA9IG1hcFN0YWtpbmdBdXRob3JpemUoaW5zdHIpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tIFJlc29sdmUgdG9rZW4gbmFtZXMgYW5kIGNvbnZlcnQgYmlnaW50IHRvIHN0cmluZyBhdCBzZXJpYWxpemF0aW9uIGJvdW5kYXJ5IC0tLVxuICBjb25zdCByZXNvbHZlZE91dHB1dHMgPSBvdXRwdXRzLm1hcCgobykgPT4gKHtcbiAgICBhZGRyZXNzOiBvLmFkZHJlc3MsXG4gICAgYW1vdW50OiBTdHJpbmcoby5hbW91bnQpLFxuICAgIC4uLihvLnRva2VuTmFtZSA/IHsgdG9rZW5OYW1lOiBmaW5kVG9rZW5OYW1lKG8udG9rZW5OYW1lLCB1bmRlZmluZWQsIHRydWUpIH0gOiB7fSksXG4gIH0pKTtcblxuICBjb25zdCByZXNvbHZlZElucHV0cyA9IGlucHV0cy5tYXAoKGkpID0+ICh7XG4gICAgYWRkcmVzczogaS5hZGRyZXNzLFxuICAgIHZhbHVlOiBTdHJpbmcoaS52YWx1ZSksXG4gIH0pKTtcblxuICByZXR1cm4ge1xuICAgIGRpc3BsYXlPcmRlcjogW1xuICAgICAgJ2lkJyxcbiAgICAgICd0eXBlJyxcbiAgICAgICdibG9ja2hhc2gnLFxuICAgICAgJ2R1cmFibGVOb25jZScsXG4gICAgICAnb3V0cHV0QW1vdW50JyxcbiAgICAgICdjaGFuZ2VBbW91bnQnLFxuICAgICAgJ291dHB1dHMnLFxuICAgICAgJ2NoYW5nZU91dHB1dHMnLFxuICAgICAgJ3Rva2VuRW5hYmxlbWVudHMnLFxuICAgICAgJ2ZlZScsXG4gICAgICAnbWVtbycsXG4gICAgXSxcbiAgICBpZDogaWQgPz8gVU5BVkFJTEFCTEVfVEVYVCxcbiAgICAvLyBXQVNNIHJldHVybnMgXCJTdGFraW5nQXV0aG9yaXplXCIgYnV0IEJpdEdvSlMgdXNlcyBcIlN0YWtpbmdBdXRob3JpemVSYXdcIlxuICAgIC8vIHdoZW4gZGVzZXJpYWxpemluZyBmcm9tIGJ5dGVzICh0aGUgbm9uLXJhdyB0eXBlIG9ubHkgZXhpc3RzIGR1cmluZyBidWlsZGluZykuXG4gICAgdHlwZTogdHhUeXBlID09PSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0F1dGhvcml6ZSA/ICdTdGFraW5nQXV0aG9yaXplUmF3JyA6IHR4VHlwZSxcbiAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICBvdXRwdXRBbW91bnQ6IFN0cmluZyhvdXRwdXRBbW91bnQpLFxuICAgIG91dHB1dHM6IHJlc29sdmVkT3V0cHV0cyxcbiAgICBpbnB1dHM6IHJlc29sdmVkSW5wdXRzLFxuICAgIGZlZVBheWVyOiBwYXJzZWQuZmVlUGF5ZXIsXG4gICAgZmVlOiB7XG4gICAgICBmZWU6IHBhcmFtcy5mZWVJbmZvID8gU3RyaW5nKGZlZSkgOiAnMCcsXG4gICAgICBmZWVSYXRlOiBwYXJhbXMuZmVlSW5mbyA/IE51bWJlcihwYXJhbXMuZmVlSW5mby5mZWUpIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICAgbWVtbyxcbiAgICBibG9ja2hhc2g6IHBhcnNlZC5ub25jZSxcbiAgICBkdXJhYmxlTm9uY2U6IHBhcnNlZC5kdXJhYmxlTm9uY2UsXG4gICAgdG9rZW5FbmFibGVtZW50cyxcbiAgICBhdGFPd25lck1hcCxcbiAgICAuLi4oc3Rha2luZ0F1dGhvcml6ZSA/IHsgc3Rha2luZ0F1dGhvcml6ZSB9IDoge30pLFxuICB9O1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructionParamsFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/instructionParamsFactory.ts"],"names":[],"mappings":"AAaA,OAAO,EAYL,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAgB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIrE,OAAO,EAKL,gBAAgB,EAChB,iBAAiB,EAiBlB,MAAM,SAAS,CAAC;AAKjB;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,eAAe,EACrB,YAAY,EAAE,sBAAsB,EAAE,EACtC,QAAQ,CAAC,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,EACzC,yBAAyB,CAAC,EAAE,OAAO,GAClC,iBAAiB,EAAE,CA6BrB;
|
|
1
|
+
{"version":3,"file":"instructionParamsFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/instructionParamsFactory.ts"],"names":[],"mappings":"AAaA,OAAO,EAYL,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAgB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIrE,OAAO,EAKL,gBAAgB,EAChB,iBAAiB,EAiBlB,MAAM,SAAS,CAAC;AAKjB;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,eAAe,EACrB,YAAY,EAAE,sBAAsB,EAAE,EACtC,QAAQ,CAAC,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,EACzC,yBAAyB,CAAC,EAAE,OAAO,GAClC,iBAAiB,EAAE,CA6BrB;AA85CD,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,EACzC,yBAAyB,CAAC,EAAE,OAAO,GAClC,MAAM,CAgCR;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,GACxC,gBAAgB,EAAE,GAAG,SAAS,CAehC"}
|