@bitgo-beta/sdk-coin-vet 1.0.1-beta.426 → 1.0.1-beta.428
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/src/lib/constants.d.ts +2 -0
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +4 -2
- package/dist/src/lib/index.d.ts +2 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +6 -2
- package/dist/src/lib/transaction/delegateClauseTransaction.d.ts +27 -0
- package/dist/src/lib/transaction/delegateClauseTransaction.d.ts.map +1 -0
- package/dist/src/lib/transaction/delegateClauseTransaction.js +156 -0
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +2 -1
- package/dist/src/lib/transactionBuilder/delegateTxnBuilder.d.ts +66 -0
- package/dist/src/lib/transactionBuilder/delegateTxnBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder/delegateTxnBuilder.js +120 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +3 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +10 -1
- package/dist/src/lib/utils.d.ts +10 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +24 -1
- package/dist/test/resources/vet.d.ts +2 -0
- package/dist/test/resources/vet.d.ts.map +1 -1
- package/dist/test/resources/vet.js +5 -3
- package/dist/test/transactionBuilder/delegateClauseTxnBuilder.d.ts +2 -0
- package/dist/test/transactionBuilder/delegateClauseTxnBuilder.d.ts.map +1 -0
- package/dist/test/transactionBuilder/delegateClauseTxnBuilder.js +173 -0
- package/dist/test/transactionBuilder/stakeClauseTransactionBuilder.js +7 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.VALID_NFT_CONTRACT_DATA = exports.SERIALIZED_SIGNED_FLUSH_TOKEN_TX = exports.SERIALIZED_SIGNED_ADDRESS_INIT_TX = exports.SALT = void 0;
|
|
3
|
+
exports.FEE_ADDRESS = exports.BASE_ADDRESS = exports.CREATE_FORWARDER_METHOD = exports.FORWARDER_IMPLEMENTATION_ADDRESS = exports.FORWARDER_FACTORY_ADDRESS = exports.feePayer = exports.nftRecipients2 = exports.nftRecipients = exports.recipients = exports.invalidRecipients = exports.blockIds = exports.completeSignedSerializedHex3 = exports.senderSignedSerializedHex3 = exports.completeSignedSerializedHex2 = exports.completeSignedSerializedHex = exports.senderSignedSerializedTxHex2 = exports.senderSignedSerializedTxHex = exports.feePayerSig3 = exports.senderSig3 = exports.feePayerSig2 = exports.senderSig2 = exports.feePayerSig = exports.senderSig = exports.addresses = exports.TRANSFER_CLAUSE = exports.INVALID_TRANSACTION = exports.FLUSH_TOKEN_SIGNABLE_PAYLOAD = exports.FLUSH_TOKEN_DATA = exports.FLUSH_TOKEN_TRANSACTION = exports.FORWARDER_ADDRESS_NEW = exports.FORWARDER_ADDRESS = exports.ADDRESS_INITIALIZATION_SIGNABLE_PAYLOAD = exports.ADDRESS_INITIALIZATION_DATA = exports.ADDRESS_INITIALIZATION_TRANSACTION = exports.UNSIGNED_TRANSACTION_4 = exports.UNSIGNED_TRANSACTION_3 = exports.UNSIGNED_TRANSACTION_2 = exports.UNSIGNED_TRANSACTION = exports.VALID_NFT_SIGNABLE_PAYLOAD = exports.VALID_TOKEN_SIGNABLE_PAYLOAD = exports.STAKING_CONTRACT_ADDRESS = exports.STAKING_AUTORENEW = exports.STAKING_LEVEL_ID = exports.DELEGATION_TRANSACTION = exports.STAKE_CLAUSE_TRANSACTION = exports.STAKING_TRANSACTION = exports.SPONSORED_NFT_TRANSACTION = exports.SPONSORED_TOKEN_TRANSACTION = exports.SPONSORED_TRANSACTION = exports.AMOUNT = void 0;
|
|
4
|
+
exports.VALID_NFT_CONTRACT_DATA = exports.SERIALIZED_SIGNED_FLUSH_TOKEN_TX = exports.SERIALIZED_SIGNED_ADDRESS_INIT_TX = exports.SALT = exports.NFT_CONTRACT_ADDRESS = exports.TOKEN_ADDRESS = void 0;
|
|
5
5
|
exports.AMOUNT = 100000000000000000; // 0.1 VET in base units
|
|
6
6
|
exports.SPONSORED_TRANSACTION = '0xf8bc2788014e9cad44bade0940e0df94e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec88016345785d8a0000808180825208808302d6b5c101b882ee76129c1259eb0c8a2b3b3e5f2b089cd11068da1c0db32a9e22228db83dd4be5c721858bc813514141fbd5cf641d0972ce47ceb9be61133fa2ebf0ea37c1f290011fdce201f56d639d827035a5ed8bcef42a42f6eb562bc76a6d95c7736cf8cf340122d1e2fb034668dc491d47b7d3bb10724ba2338a6e79df87bce9617fdce9c00';
|
|
7
7
|
exports.SPONSORED_TOKEN_TRANSACTION = '0xf8fb278801543ac0a0b3aaf940f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a0000818082c93e808307e669c101b8825dc39997717119cec9e65bfc927d1ad6ef31956e4747f95cea49f76f9e66164a737a155a6694f86287bcec043a83c7f9a3169fd3bb57ce617ab3fd4c59da437701277f6455fc041e672082bff003e75520c3167ad61edd98fba7e0ed87eb5323fc47feb3f51bfe2faa31c2174a2f7bb548e9727d7628f15137b4007a26651413fd00';
|
|
8
8
|
exports.SPONSORED_NFT_TRANSACTION = '0xf9011a2788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101b882212d212effea03773f4228cd049efe42c3efe54f18378def52f0ad349637248d67d0eec6fd9bc7ddc5ab4d98f22c4fc8de485e2403f90a68b2613e214245c0a401758c9d00ada40ebc36890bbf8cf1c84070e0950dcbb6cad94a4c9a4c0ffe16c7486c5b674207c4d916f7ed7cb501c73daaafc49cfe7685cf1e0f8054a7fa460300';
|
|
9
9
|
exports.STAKING_TRANSACTION = '0xf901032788015d55fcf2457e7c40f866f864941856c533ac2d94340aaa8544d35a5c1d4a21dee7880de0b6b3a7640000b844d8da3bbf0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000181808265848083094c53c101b882efcb9ea88e908d1a142db96c1b44dd056ea194f1ad45670c100a8c52348cc7b20387741260ebe7fe9b7594f96693c88662fa60edba5992332728222b0bdd8a30008535368bd901319eb4513d16bebc428dc8454d32a19eeb76372849a6134ebbba79f1eeceea1f6546574b945c05489222cb451f5b0e2901b0c687b750e833aeb800';
|
|
10
|
+
exports.STAKE_CLAUSE_TRANSACTION = '0xf8e3278801618b7b1354c4ca40f845f843941ec1d168574603ec35b9d229843b7c2b44bcb770880de0b6b3a7640000a4604f2177000000000000000000000000000000000000000000000000000000000000000881808305fd5a808307b278c101b882b380970580d957b8e7989aa9aa9281e57245fa3835cb2aaae6475b4062bb4f1c2dd2ca694df6503d5dfd654579130b3484bee75420247cf8f6b6b4b76b7939f101db6e6cef5a27375274741f3c0aba4be13a9e086337c3290866afe049efcdaa2d3227c9e12b52627c4d71f5b667821f9d33adcc4c97fdc28b93c34013d32e242300';
|
|
11
|
+
exports.DELEGATION_TRANSACTION = '0xf8fb278801618aa3e0a55fc940f85ef85c947240e3bc0d26431512d5b67dbd26d199205bffe880b8443207555d00000000000000000000000000000000000000000000000000000000000187690000000000000000000000000000000000000000000000000000000000000001818082e43a808306af07c101b882fb8030f6e2ef6563ff3b0e7e2a2292c1db5fc41c7ab9f598bad370c5cfd3dc32286ae8d709e941c0312c8cd33a3505156b44d1639c73980ffa66bc72f37820f2001c0e6b6e76a6a4d806c377a0a279053eb6ea4356bd235f4396585bb071d70f992c639d45c53431a3c1493a52a136203905e42c671dd384ee5f5ead0a70cb607001';
|
|
10
12
|
exports.STAKING_LEVEL_ID = 8;
|
|
11
13
|
exports.STAKING_AUTORENEW = true;
|
|
12
14
|
exports.STAKING_CONTRACT_ADDRESS = '0x1ec1d168574603ec35b9d229843b7c2b44bcb770';
|
|
@@ -120,4 +122,4 @@ exports.SALT = '0x1';
|
|
|
120
122
|
exports.SERIALIZED_SIGNED_ADDRESS_INIT_TX = '0xf8d927880152c906531784bd40f87ef87c9465343e18c376d2fc8c3cf10cd146d63e2e0dc9ef80b86413b2f75c00000000000000000000000055b00b5c807d5696197b48d4affa40bb876df2400000000000000000000000007c87b9ffc6fd6c167c0e4fa9418720f3d659358e00000000000000000000000000000000000000000000000000000000000000048180830249f08082faf8c0b84196577046ecbba640d8f5914a7b4cb99f9ab479359bcda5368cc9afdfb55994a0469af071cdeb4cac92caaf0be7fedf492d2215f83baa00d4abac31cf48eeddd900';
|
|
121
123
|
exports.SERIALIZED_SIGNED_FLUSH_TOKEN_TX = '0xf89827880152cf455536ebc740f83df83b94604a42898388080d56bc85f815965d1f64beb1a680a43ef133670000000000000000000000000000000000000000000000000000456e657267798180830249f08082faf9c0b841b5225a0d5c63fd4ceee2fefe94759d20e37c29ebcd15fc03eb699d4af5bb210c258583f9e8e26e872751e255c2f0fe9d44d52ce65b6b76040476e285074a4b5901';
|
|
122
124
|
exports.VALID_NFT_CONTRACT_DATA = '0x23b872dd0000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec00000000000000000000000000000000000000000000000000000000000004d2';
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9yZXNvdXJjZXMvdmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFYSxRQUFBLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLHdCQUF3QjtBQUVyRCxRQUFBLHFCQUFxQixHQUNoQyxnWUFBZ1ksQ0FBQztBQUV0WCxRQUFBLDJCQUEyQixHQUN0Qyw4ZkFBOGYsQ0FBQztBQUVwZixRQUFBLHlCQUF5QixHQUNwQyw4akJBQThqQixDQUFDO0FBRXBqQixRQUFBLG1CQUFtQixHQUM5QixnaEJBQWdoQixDQUFDO0FBRXRnQixRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUNyQixRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN6QixRQUFBLHdCQUF3QixHQUFHLDRDQUE0QyxDQUFDO0FBRXhFLFFBQUEsNEJBQTRCLEdBQ3ZDLGtQQUFrUCxDQUFDO0FBRXhPLFFBQUEsMEJBQTBCLEdBQ3JDLGtUQUFrVCxDQUFDO0FBRXhTLFFBQUEsb0JBQW9CLEdBQy9CLDhHQUE4RyxDQUFDO0FBRXBHLFFBQUEsc0JBQXNCLEdBQ2pDLG9IQUFvSCxDQUFDO0FBRTFHLFFBQUEsc0JBQXNCLEdBQ2pDLG9QQUFvUCxDQUFDO0FBRXZQLDBCQUEwQjtBQUNiLFFBQUEsc0JBQXNCLEdBQ2pDLG9UQUFvVCxDQUFDO0FBRTFTLFFBQUEsa0NBQWtDLEdBQzdDLGtUQUFrVCxDQUFDO0FBRXhTLFFBQUEsMkJBQTJCLEdBQ3RDLDRNQUE0TSxDQUFDO0FBRWxNLFFBQUEsdUNBQXVDLEdBQ2xELGdUQUFnVCxDQUFDO0FBRXRTLFFBQUEsaUJBQWlCLEdBQUcsNENBQTRDLENBQUM7QUFFakUsUUFBQSxxQkFBcUIsR0FBRyw0Q0FBNEMsQ0FBQztBQUVyRSxRQUFBLHVCQUF1QixHQUNsQyxnTEFBZ0wsQ0FBQztBQUV0SyxRQUFBLGdCQUFnQixHQUFHLDRFQUE0RSxDQUFDO0FBRWhHLFFBQUEs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QkFBdUIsR0FBRyxZQUFZLENBQUM7QUFFdkMsUUFBQSxZQUFZLEdBQUcsNENBQTRDLENBQUM7QUFFNUQsUUFBQSxXQUFXLEdBQUcsNENBQTRDLENBQUM7QUFFM0QsUUFBQSxhQUFhLEdBQUcsNENBQTRDLENBQUM7QUFFN0QsUUFBQSxvQkFBb0IsR0FBRyw0Q0FBNEMsQ0FBQztBQUVwRSxRQUFBLElBQUksR0FBRyxLQUFLLENBQUM7QUFFYixRQUFBLGlDQUFpQyxHQUM1QywwYkFBMGIsQ0FBQztBQUVoYixRQUFBLGdDQUFnQyxHQUMzQyx3VEFBd1QsQ0FBQztBQUU5UyxRQUFBLHVCQUF1QixHQUNsQyw0TUFBNE0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFNT1VOVCA9IDEwMDAwMDAwMDAwMDAwMDAwMDsgLy8gMC4xIFZFVCBpbiBiYXNlIHVuaXRzXG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfVFJBTlNBQ1RJT04gPVxuICAnMHhmOGJjMjc4ODAxNGU5Y2FkNDRiYWRlMDk0MGUwZGY5NGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgzMDJkNmI1YzEwMWI4ODJlZTc2MTI5YzEyNTllYjBjOGEyYjNiM2U1ZjJiMDg5Y2QxMTA2OGRhMWMwZGIzMmE5ZTIyMjI4ZGI4M2RkNGJlNWM3MjE4NThiYzgxMzUxNDE0MWZiZDVjZjY0MWQwOTcyY2U0N2NlYjliZTYxMTMzZmEyZWJmMGVhMzdjMWYyOTAwMTFmZGNlMjAxZjU2ZDYzOWQ4MjcwMzVhNWVkOGJjZWY0MmE0MmY2ZWI1NjJiYzc2YTZkOTVjNzczNmNmOGNmMzQwMTIyZDFlMmZiMDM0NjY4ZGM0OTFkNDdiN2QzYmIxMDcyNGJhMjMzOGE2ZTc5ZGY4N2JjZTk2MTdmZGNlOWMwMCc7XG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfVE9LRU5fVFJBTlNBQ1RJT04gPVxuICAnMHhmOGZiMjc4ODAxNTQzYWMwYTBiM2FhZjk0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MmM5M2U4MDgzMDdlNjY5YzEwMWI4ODI1ZGMzOTk5NzcxNzExOWNlYzllNjViZmM5MjdkMWFkNmVmMzE5NTZlNDc0N2Y5NWNlYTQ5Zjc2ZjllNjYxNjRhNzM3YTE1NWE2Njk0Zjg2Mjg3YmNlYzA0M2E4M2M3ZjlhMzE2OWZkM2JiNTdjZTYxN2FiM2ZkNGM1OWRhNDM3NzAxMjc3ZjY0NTVmYzA0MWU2NzIwODJiZmYwMDNlNzU1MjBjMzE2N2FkNjFlZGQ5OGZiYTdlMGVkODdlYjUzMjNmYzQ3ZmViM2Y1MWJmZTJmYWEzMWMyMTc0YTJmN2JiNTQ4ZTk3MjdkNzYyOGYxNTEzN2I0MDA3YTI2NjUxNDEzZmQwMCc7XG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfTkZUX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjkwMTFhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjIxMmQyMTJlZmZlYTAzNzczZjQyMjhjZDA0OWVmZTQyYzNlZmU1NGYxODM3OGRlZjUyZjBhZDM0OTYzNzI0OGQ2N2QwZWVjNmZkOWJjN2RkYzVhYjRkOThmMjJjNGZjOGRlNDg1ZTI0MDNmOTBhNjhiMjYxM2UyMTQyNDVjMGE0MDE3NThjOWQwMGFkYTQwZWJjMzY4OTBiYmY4Y2YxYzg0MDcwZTA5NTBkY2JiNmNhZDk0YTRjOWE0YzBmZmUxNmM3NDg2YzViNjc0MjA3YzRkOTE2ZjdlZDdjYjUwMWM3M2RhYWFmYzQ5Y2ZlNzY4NWNmMWUwZjgwNTRhN2ZhNDYwMzAwJztcblxuZXhwb3J0IGNvbnN0IFNUQUtJTkdfVFJBTlNBQ1RJT04gPVxuICAnMHhmOTAxMDMyNzg4MDE1ZDU1ZmNmMjQ1N2U3YzQwZjg2NmY4NjQ5NDE4NTZjNTMzYWMyZDk0MzQwYWFhODU0NGQzNWE1YzFkNGEyMWRlZTc4ODBkZTBiNmIzYTc2NDAwMDBiODQ0ZDhkYTNiYmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjY1ODQ4MDgzMDk0YzUzYzEwMWI4ODJlZmNiOWVhODhlOTA4ZDFhMTQyZGI5NmMxYjQ0ZGQwNTZlYTE5NGYxYWQ0NTY3MGMxMDBhOGM1MjM0OGNjN2IyMDM4Nzc0MTI2MGViZTdmZTliNzU5NGY5NjY5M2M4ODY2MmZhNjBlZGJhNTk5MjMzMjcyODIyMmIwYmRkOGEzMDAwODUzNTM2OGJkOTAxMzE5ZWI0NTEzZDE2YmViYzQyOGRjODQ1NGQzMmExOWVlYjc2MzcyODQ5YTYxMzRlYmJiYTc5ZjFlZWNlZWExZjY1NDY1NzRiOTQ1YzA1NDg5MjIyY2I0NTFmNWIwZTI5MDFiMGM2ODdiNzUwZTgzM2FlYjgwMCc7XG5cbmV4cG9ydCBjb25zdCBTVEFLSU5HX0xFVkVMX0lEID0gODtcbmV4cG9ydCBjb25zdCBTVEFLSU5HX0FVVE9SRU5FVyA9IHRydWU7XG5leHBvcnQgY29uc3QgU1RBS0lOR19DT05UUkFDVF9BRERSRVNTID0gJzB4MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MCc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9UT0tFTl9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJ2Y4NzYyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg1ZWY4NWM5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MGI4NDRhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYzNDU3ODVkOGEwMDAwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9ORlRfU0lHTkFCTEVfUEFZTE9BRCA9XG4gICdmODk2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IFVOU0lHTkVEX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjQyNzg4MDE1MzZjZTllOWZiMDYzODQwZGRkYzk0YzUyNTg0ZDFjNTZlN2JkZGNiNmY2NWQ1MGZmMDBmNzFlMGVmODk3YTg1ZThkNGE1MTAwMDgwODE4MDgyNTIwODgwODMwNjFjNzBjMCc7XG5cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl8yID1cbiAgJzB4ZjcyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZTBkZjk0ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzg4MDE2MzQ1Nzg1ZDhhMDAwMDgwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl8zID1cbiAgJzB4Zjg3NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODVlZjg1Yzk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjM0NTc4NWQ4YTAwMDA4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuLy91bnNpZ25lZCBuZnQgdHJhbnNhY3Rpb25cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl80ID1cbiAgJzB4Zjg5NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MDgwYjg2NDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4NzIzODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBBRERSRVNTX0lOSVRJQUxJWkFUSU9OX1RSQU5TQUNUSU9OID1cbiAgJzB4Zjg5NTI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0NjUzNDNlMThjMzc2ZDJmYzhjM2NmMTBjZDE0NmQ2M2UyZTBkYzllZjgwYjg2NDEzYjJmNzVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTViMDBiNWM4MDdkNTY5NjE5N2I0OGQ0YWZmYTQwYmI4NzZkZjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODE4MDgyNTIwODgwODJmYWY4YzAnO1xuXG5leHBvcnQgY29uc3QgQUREUkVTU19JTklUSUFMSVpBVElPTl9EQVRBID1cbiAgJzB4MTNiMmY3NWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnO1xuXG5leHBvcnQgY29uc3QgQUREUkVTU19JTklUSUFMSVpBVElPTl9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJ2Y4OTUyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDY1MzQzZTE4YzM3NmQyZmM4YzNjZjEwY2QxNDZkNjNlMmUwZGM5ZWY4MGI4NjQxM2IyZjc1YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1YjAwYjVjODA3ZDU2OTYxOTdiNDhkNGFmZmE0MGJiODc2ZGYyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Yzg3YjlmZmM2ZmQ2YzE2N2MwZTRmYTk0MTg3MjBmM2Q2NTkzNThlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjUyMDg4MDgyZmFmOGMwJztcblxuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9BRERSRVNTID0gJzB4MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMCc7XG5cbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfQUREUkVTU19ORVcgPSAnMHg2MDRhNDI4OTgzODgwODBkNTZiYzg1ZjgxNTk2NWQxZjY0YmViMWE2JztcblxuZXhwb3J0IGNvbnN0IEZMVVNIX1RPS0VOX1RSQU5TQUNUSU9OID1cbiAgJzB4Zjg1NDI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODNkZjgzYjk0MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMDgwYTQzZWYxMzM2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MTgwODI1MjA4ODA4MmZhZjhjMCc7XG5cbmV4cG9ydCBjb25zdCBGTFVTSF9UT0tFTl9EQVRBID0gJzB4M2VmMTMzNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5JztcblxuZXhwb3J0IGNvbnN0IEZMVVNIX1RPS0VOX1NJR05BQkxFX1BBWUxPQUQgPVxuICAnZjg1NDI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODNkZjgzYjk0MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMDgwYTQzZWYxMzM2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MTgwODI1MjA4ODA4MmZhZjhjMCc7XG5cbmV4cG9ydCBjb25zdCBJTlZBTElEX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjhiYzI3ODgwMTRlYTA2MGI1YjU5OTdlNDBlMGRmOTRlNWY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgzMGJmODRmYzEwMWI4ODI0MThlMjEyYTQwYjI5ZGE2ODVhNzMxMjgyOWU4ZDFkMzcwOGI2NTRmNGRkYjQzODhhN2E4MGY1YWYzZTU0MjNiNDU1NDUxOTAxZDliODM3ZmUxODUwMWU2ZWE1ZWM3ZDNkMjcxMWYwMDA3M2Q1NTNhYWJlNDBlMDI2MGVjOGE2ZjAwZGE1NTdkMGExYWY2NmI4MmI0NTczMjRiYzZmYzg2YzdmMDM2MmU3NmMxNWI2NDQzMmU2NmI2ZmE2MmZjYTM4YzdkMjA4YTYwNGQxYTdlYzUzNTZjOTVmZWM3YmM2ZjMzMmQxNjcxOGE5MWE1M2UwZTk5ZTNhODFhZTMyMDVhYjQwMCc7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0ZFUl9DTEFVU0UgPSBbXG4gIHtcbiAgICB0bzogJzB4ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYycsXG4gICAgdmFsdWU6IDEwMDAwMDAwMDAwMDAsXG4gICAgZGF0YTogJzB4JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzZXMgPSB7XG4gIHZhbGlkQWRkcmVzc2VzOiBbXG4gICAgJzB4N2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZCcsXG4gICAgJzB4ZTU5RjFjZWE0ZTBGRWY1MTFlM2QwZjRFRWM0NEFEZjE5QzRjYmVFQycsXG4gICAgJzB4N2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZScsXG4gICAgJzB4YzA3MTZmMzg2YTBhNzgzNjE5NjJkMWY2NGNlMjI1NmEyYzg3MWJiNScsXG4gIF0sXG4gIGludmFsaWRBZGRyZXNzZXM6IFtcbiAgICAncmFuZG9tU3RyaW5nJyxcbiAgICAnMHhjNDE3M2E4MDQ0MDZhMzY1ZTY5ZGZiMjk3ZGRmZ3NkY3ZmJyxcbiAgICAnNW5lN3BoQTQ4SnJ2cG4zOUF0dXBCOFprQ0NBeThnTFRmcEdpaFpQdURxZW4nLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZyA9XG4gICcwNjIwODBjYzc3ZGI5ZDVjZTVkYjg0ZjFjZmI1N2M5OTA2YzliZmRjZTc4ZTRkNTM3NTdiYmQzZDUzNmM3MzFlMWU1ZTQwNmE0ZTc4M2E0ZjYzNDQ2YWEyOGQyMWRjMjc3OTZhYWU5MGZhYzc5MTUxYzNkMGIzYmE2OGNkZTM2ODAxJztcblxuZXhwb3J0IGNvbnN0IGZlZVBheWVyU2lnID1cbiAgJzQ3YWU3OWUyM2VmZmQyMzMyMDYxODBlY2UzYWIzZDZkNDk2MzEwYzAzYzU1YmQwNTY2YTU0YmI3ZDQyMDk1Yzk3YTkwY2E5ZmY0Y2ZiOTRlYzU3OWE3ZWM3Zjc5ZGU0ODE0ZGZjODE2ZDBhMTMwMTg5YzA3Yjc0Njk0NTQ4MmZiMDAnO1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyU2lnMiA9XG4gICc5ZDA1ZTkwYTAwYzUzOGFmZDY4NjUyZjYzYTRlMjE0ODFkMWQwODJmZGJkNGEzMDBiMDRiNTYxZGM3NjE4NWFkMjkyYmI0OGQ3MDg0NmJkMGZiOGI1MjY3ODJiOWQyZjk0MGRiY2VlM2JjNTU0YmZiN2I1M2UzNjJiYmNiMzlkNzAxJztcblxuZXhwb3J0IGNvbnN0IGZlZVBheWVyU2lnMiA9XG4gICc0NWQ4YWVjNGQyZWQ1Zjc0Yjc4ODY5NWNlYjc2ZDE4ZGQzNTk3NTAzYmMwNDY2ZDY2NzQ5M2IyYWZmMmMyYjA5NWQzNTI3ODhhMzQ1YjJlM2I0OWU5YWQxOWJjMjhiMGJkZWU0NWQwY2NlOTg2OTYyZTYxYjBmZWJlNjBhMjU5MzAxJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZzMgPVxuICAnMjEyZDIxMmVmZmVhMDM3NzNmNDIyOGNkMDQ5ZWZlNDJjM2VmZTU0ZjE4Mzc4ZGVmNTJmMGFkMzQ5NjM3MjQ4ZDY3ZDBlZWM2ZmQ5YmM3ZGRjNWFiNGQ5OGYyMmM0ZmM4ZGU0ODVlMjQwM2Y5MGE2OGIyNjEzZTIxNDI0NWMwYTQwMSc7XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllclNpZzMgPVxuICAnNzU4YzlkMDBhZGE0MGViYzM2ODkwYmJmOGNmMWM4NDA3MGUwOTUwZGNiYjZjYWQ5NGE0YzlhNGMwZmZlMTZjNzQ4NmM1YjY3NDIwN2M0ZDkxNmY3ZWQ3Y2I1MDFjNzNkYWFhZmM0OWNmZTc2ODVjZjFlMGY4MDU0YTdmYTQ2MDMwMCc7XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWduZWRTZXJpYWxpemVkVHhIZXggPVxuICAnMHhmNzI3ODgwMTRlYWQxNDBlNzdiYmMxNDBlMGRmOTRlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjODgwMTYzNDU3ODVkOGEwMDAwODA4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZ25lZFNlcmlhbGl6ZWRUeEhleDIgPVxuICAnMHhmODc2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgY29tcGxldGVTaWduZWRTZXJpYWxpemVkSGV4ID1cbiAgJzB4ZjhiYjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBlMGRmOTRlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjODgwMTYzNDU3ODVkOGEwMDAwODA4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjA2MjA4MGNjNzdkYjlkNWNlNWRiODRmMWNmYjU3Yzk5MDZjOWJmZGNlNzhlNGQ1Mzc1N2JiZDNkNTM2YzczMWUxZTVlNDA2YTRlNzgzYTRmNjM0NDZhYTI4ZDIxZGMyNzc5NmFhZTkwZmFjNzkxNTFjM2QwYjNiYTY4Y2RlMzY4MDE0N2FlNzllMjNlZmZkMjMzMjA2MTgwZWNlM2FiM2Q2ZDQ5NjMxMGMwM2M1NWJkMDU2NmE1NGJiN2Q0MjA5NWM5N2E5MGNhOWZmNGNmYjk0ZWM1NzlhN2VjN2Y3OWRlNDgxNGRmYzgxNmQwYTEzMDE4OWMwN2I3NDY5NDU0ODJmYjAwJztcblxuZXhwb3J0IGNvbnN0IGNvbXBsZXRlU2lnbmVkU2VyaWFsaXplZEhleDIgPVxuICAnMHhmOGZhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MjUyMDg4MDgyZmFmOGMxMDFiODgyOWQwNWU5MGEwMGM1MzhhZmQ2ODY1MmY2M2E0ZTIxNDgxZDFkMDgyZmRiZDRhMzAwYjA0YjU2MWRjNzYxODVhZDI5MmJiNDhkNzA4NDZiZDBmYjhiNTI2NzgyYjlkMmY5NDBkYmNlZTNiYzU1NGJmYjdiNTNlMzYyYmJjYjM5ZDcwMTQ1ZDhhZWM0ZDJlZDVmNzRiNzg4Njk1Y2ViNzZkMThkZDM1OTc1MDNiYzA0NjZkNjY3NDkzYjJhZmYyYzJiMDk1ZDM1Mjc4OGEzNDViMmUzYjQ5ZTlhZDE5YmMyOGIwYmRlZTQ1ZDBjY2U5ODY5NjJlNjFiMGZlYmU2MGEyNTkzMDEnO1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyU2lnbmVkU2VyaWFsaXplZEhleDMgPVxuICAnMHhmODk2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IGNvbXBsZXRlU2lnbmVkU2VyaWFsaXplZEhleDMgPVxuICAnMHhmOTAxMWEyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzA4MGI4NjQyM2I4NzJkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwNzE2ZjM4NmEwYTc4MzYxOTYyZDFmNjRjZTIyNTZhMmM4NzFiYjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Y2EwMGUzYmM4YTgzNjAyNmMyOTE3YzZjN2M2ZDA0OWU1MjA5OWRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODcyMzgxODA4MjUyMDg4MDgyZmFmOGMxMDFiODgyMjEyZDIxMmVmZmVhMDM3NzNmNDIyOGNkMDQ5ZWZlNDJjM2VmZTU0ZjE4Mzc4ZGVmNTJmMGFkMzQ5NjM3MjQ4ZDY3ZDBlZWM2ZmQ5YmM3ZGRjNWFiNGQ5OGYyMmM0ZmM4ZGU0ODVlMjQwM2Y5MGE2OGIyNjEzZTIxNDI0NWMwYTQwMTc1OGM5ZDAwYWRhNDBlYmMzNjg5MGJiZjhjZjFjODQwNzBlMDk1MGRjYmI2Y2FkOTRhNGM5YTRjMGZmZTE2Yzc0ODZjNWI2NzQyMDdjNGQ5MTZmN2VkN2NiNTAxYzczZGFhYWZjNDljZmU3Njg1Y2YxZTBmODA1NGE3ZmE0NjAzMDAnO1xuXG5leHBvcnQgY29uc3QgYmxvY2tJZHM6IHsgdmFsaWRCbG9ja0lkczogc3RyaW5nW107IGludmFsaWRCbG9ja0lkczogc3RyaW5nW10gfSA9IHtcbiAgdmFsaWRCbG9ja0lkczogW1xuICAgICcweDAxNGYxMmVkOTRjNGI0NzcwZjdmOWE3M2UyYWE0MWE5ZGZiYWMwMmE0OWYzNmVjMDVhY2ZkYmE4YzcyNDRmZjAnLFxuICAgICcweDAxNGYxMzBkMDBhMmZlMDZkNDcxYTM1ZTdmMmNkMThkMjViZGVmZTUzNzBjMDdhMmFkNjhjMGFlMzg1MmFkODYnLFxuICBdLFxuICBpbnZhbGlkQmxvY2tJZHM6IFtcbiAgICAncmFuZG9tU3RyaW5nJyxcbiAgICAnMHhjNDE3M2E4MDQ0MDZhMzY1ZTY5ZGZiMjk3ZGRmZ3NkY3ZmJyxcbiAgICAnNW5lN3BoQTQ4SnJ2cG4zOUF0dXBCOFprQ0NBeThnTFRmcEdpaFpQdURxZW4nLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IGludmFsaWRSZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy5pbnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiAnLTkxOTE5MScsXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiAnaW52YWxpZEFtb3VudCcsXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiBBTU9VTlQudG9TdHJpbmcoKSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCByZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1sxXS50b0xvd2VyQ2FzZSgpLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgbmZ0UmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhbW91bnQ6ICcxJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBuZnRSZWNpcGllbnRzMjogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0udG9Mb3dlckNhc2UoKSxcbiAgICBhbW91bnQ6ICcxJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllciA9IHtcbiAgYWRkcmVzczogJzB4ZGM5ZmVmMGI4NGEwY2NmM2YxYmQ0Yjg0ZTQxNzQzZTNlMDUxYTA4MycsXG59O1xuXG4vLyBVc2UgdGhlIGhhcmRjb2RlZCB2YWx1ZXMgZnJvbSB0aGUgVmV0VGVzdG5ldCBjbGFzcyBpbiBuZXR3b3Jrcy50c1xuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MgPSAnMHg2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmJztcblxuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9JTVBMRU1FTlRBVElPTl9BRERSRVNTID0gJzB4NjJkZTM0Yzg3Zjg0N2QzODVhZjA3ZjZjMjVkYmQ5N2IxZmZmZWZjMCc7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfRk9SV0FSREVSX01FVEhPRCA9ICcweDEzYjJmNzVjJztcblxuZXhwb3J0IGNvbnN0IEJBU0VfQUREUkVTUyA9ICcweDU1YjAwYjVjODA3ZDU2OTYxOTdiNDhkNGFmZmE0MGJiODc2ZGYyNDAnO1xuXG5leHBvcnQgY29uc3QgRkVFX0FERFJFU1MgPSAnMHg3Yzg3YjlmZmM2ZmQ2YzE2N2MwZTRmYTk0MTg3MjBmM2Q2NTkzNThlJztcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0FERFJFU1MgPSAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5JztcblxuZXhwb3J0IGNvbnN0IE5GVF9DT05UUkFDVF9BRERSRVNTID0gJzB4MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MCc7XG5cbmV4cG9ydCBjb25zdCBTQUxUID0gJzB4MSc7XG5cbmV4cG9ydCBjb25zdCBTRVJJQUxJWkVEX1NJR05FRF9BRERSRVNTX0lOSVRfVFggPVxuICAnMHhmOGQ5Mjc4ODAxNTJjOTA2NTMxNzg0YmQ0MGY4N2VmODdjOTQ2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmODBiODY0MTNiMmY3NWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4MTgwODMwMjQ5ZjA4MDgyZmFmOGMwYjg0MTk2NTc3MDQ2ZWNiYmE2NDBkOGY1OTE0YTdiNGNiOTlmOWFiNDc5MzU5YmNkYTUzNjhjYzlhZmRmYjU1OTk0YTA0NjlhZjA3MWNkZWI0Y2FjOTJjYWFmMGJlN2ZlZGY0OTJkMjIxNWY4M2JhYTAwZDRhYmFjMzFjZjQ4ZWVkZGQ5MDAnO1xuXG5leHBvcnQgY29uc3QgU0VSSUFMSVpFRF9TSUdORURfRkxVU0hfVE9LRU5fVFggPVxuICAnMHhmODk4Mjc4ODAxNTJjZjQ1NTUzNmViYzc0MGY4M2RmODNiOTQ2MDRhNDI4OTgzODgwODBkNTZiYzg1ZjgxNTk2NWQxZjY0YmViMWE2ODBhNDNlZjEzMzY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgxODA4MzAyNDlmMDgwODJmYWY5YzBiODQxYjUyMjVhMGQ1YzYzZmQ0Y2VlZTJmZWZlOTQ3NTlkMjBlMzdjMjllYmNkMTVmYzAzZWI2OTlkNGFmNWJiMjEwYzI1ODU4M2Y5ZThlMjZlODcyNzUxZTI1NWMyZjBmZTlkNDRkNTJjZTY1YjZiNzYwNDA0NzZlMjg1MDc0YTRiNTkwMSc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9ORlRfQ09OVFJBQ1RfREFUQSA9XG4gICcweDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNGQyJztcbiJdfQ==
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9yZXNvdXJjZXMvdmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFYSxRQUFBLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLHdCQUF3QjtBQUVyRCxRQUFBLHFCQUFxQixHQUNoQyxnWUFBZ1ksQ0FBQztBQUV0WCxRQUFBLDJCQUEyQixHQUN0Qyw4ZkFBOGYsQ0FBQztBQUVwZixRQUFBLHlCQUF5QixHQUNwQyw4akJBQThqQixDQUFDO0FBRXBqQixRQUFBLG1CQUFtQixHQUM5QixnaEJBQWdoQixDQUFDO0FBRXRnQixRQUFBLHdCQUF3QixHQUNuQyw4Y0FBOGMsQ0FBQztBQUVwYyxRQUFBLHNCQUFzQixHQUNqQyw4ZkFBOGYsQ0FBQztBQUVwZixRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUNyQixRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN6QixRQUFBLHdCQUF3QixHQUFHLDRDQUE0QyxDQUFDO0FBRXhFLFFBQUEsNEJBQTRCLEdBQ3ZDLGtQQUFrUCxDQUFDO0FBRXhPLFFBQUEsMEJBQTBCLEdBQ3JDLGtUQUFrVCxDQUFDO0FBRXhTLFFBQUEsb0JBQW9CLEdBQy9CLDhHQUE4RyxDQUFDO0FBRXBHLFFBQUEsc0JBQXNCLEdBQ2pDLG9IQUFvSCxDQUFDO0FBRTFHLFFBQUEsc0JBQXNCLEdBQ2pDLG9QQUFvUCxDQUFDO0FBRXZQLDBCQUEwQjtBQUNiLFFBQUEsc0JBQXNCLEdBQ2pDLG9UQUFvVCxDQUFDO0FBRTFTLFFBQUEsa0NBQWtDLEdBQzdDLGtUQUFrVCxDQUFDO0FBRXhTLFFBQUEsMkJBQTJCLEdBQ3RDLDRNQUE0TSxDQUFDO0FBRWxNLFFBQUEsdUNBQXVDLEdBQ2xELGdUQUFnVCxDQUFDO0FBRXRTLFFBQUEsaUJBQWlCLEdBQUcsNENBQTRDLENBQUM7QUFFakUsUUFBQSxxQkFBcUIsR0FBRyw0Q0FBNEMsQ0FBQztBQUVyRSxRQUFB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LHlCQUF5QixHQUFHLDRDQUE0QyxDQUFDO0FBRXpFLFFBQUEsZ0NBQWdDLEdBQUcsNENBQTRDLENBQUM7QUFFaEYsUUFBQSx1QkFBdUIsR0FBRyxZQUFZLENBQUM7QUFFdkMsUUFBQSxZQUFZLEdBQUcsNENBQTRDLENBQUM7QUFFNUQsUUFBQSxXQUFXLEdBQUcsNENBQTRDLENBQUM7QUFFM0QsUUFBQSxhQUFhLEdBQUcsNENBQTRDLENBQUM7QUFFN0QsUUFBQSxvQkFBb0IsR0FBRyw0Q0FBNEMsQ0FBQztBQUVwRSxRQUFBLElBQUksR0FBRyxLQUFLLENBQUM7QUFFYixRQUFBLGlDQUFpQyxHQUM1QywwYkFBMGIsQ0FBQztBQUVoYixRQUFBLGdDQUFnQyxHQUMzQyx3VEFBd1QsQ0FBQztBQUU5UyxRQUFBLHVCQUF1QixHQUNsQyw0TUFBNE0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFNT1VOVCA9IDEwMDAwMDAwMDAwMDAwMDAwMDsgLy8gMC4xIFZFVCBpbiBiYXNlIHVuaXRzXG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfVFJBTlNBQ1RJT04gPVxuICAnMHhmOGJjMjc4ODAxNGU5Y2FkNDRiYWRlMDk0MGUwZGY5NGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgzMDJkNmI1YzEwMWI4ODJlZTc2MTI5YzEyNTllYjBjOGEyYjNiM2U1ZjJiMDg5Y2QxMTA2OGRhMWMwZGIzMmE5ZTIyMjI4ZGI4M2RkNGJlNWM3MjE4NThiYzgxMzUxNDE0MWZiZDVjZjY0MWQwOTcyY2U0N2NlYjliZTYxMTMzZmEyZWJmMGVhMzdjMWYyOTAwMTFmZGNlMjAxZjU2ZDYzOWQ4MjcwMzVhNWVkOGJjZWY0MmE0MmY2ZWI1NjJiYzc2YTZkOTVjNzczNmNmOGNmMzQwMTIyZDFlMmZiMDM0NjY4ZGM0OTFkNDdiN2QzYmIxMDcyNGJhMjMzOGE2ZTc5ZGY4N2JjZTk2MTdmZGNlOWMwMCc7XG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfVE9LRU5fVFJBTlNBQ1RJT04gPVxuICAnMHhmOGZiMjc4ODAxNTQzYWMwYTBiM2FhZjk0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MmM5M2U4MDgzMDdlNjY5YzEwMWI4ODI1ZGMzOTk5NzcxNzExOWNlYzllNjViZmM5MjdkMWFkNmVmMzE5NTZlNDc0N2Y5NWNlYTQ5Zjc2ZjllNjYxNjRhNzM3YTE1NWE2Njk0Zjg2Mjg3YmNlYzA0M2E4M2M3ZjlhMzE2OWZkM2JiNTdjZTYxN2FiM2ZkNGM1OWRhNDM3NzAxMjc3ZjY0NTVmYzA0MWU2NzIwODJiZmYwMDNlNzU1MjBjMzE2N2FkNjFlZGQ5OGZiYTdlMGVkODdlYjUzMjNmYzQ3ZmViM2Y1MWJmZTJmYWEzMWMyMTc0YTJmN2JiNTQ4ZTk3MjdkNzYyOGYxNTEzN2I0MDA3YTI2NjUxNDEzZmQwMCc7XG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfTkZUX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjkwMTFhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjIxMmQyMTJlZmZlYTAzNzczZjQyMjhjZDA0OWVmZTQyYzNlZmU1NGYxODM3OGRlZjUyZjBhZDM0OTYzNzI0OGQ2N2QwZWVjNmZkOWJjN2RkYzVhYjRkOThmMjJjNGZjOGRlNDg1ZTI0MDNmOTBhNjhiMjYxM2UyMTQyNDVjMGE0MDE3NThjOWQwMGFkYTQwZWJjMzY4OTBiYmY4Y2YxYzg0MDcwZTA5NTBkY2JiNmNhZDk0YTRjOWE0YzBmZmUxNmM3NDg2YzViNjc0MjA3YzRkOTE2ZjdlZDdjYjUwMWM3M2RhYWFmYzQ5Y2ZlNzY4NWNmMWUwZjgwNTRhN2ZhNDYwMzAwJztcblxuZXhwb3J0IGNvbnN0IFNUQUtJTkdfVFJBTlNBQ1RJT04gPVxuICAnMHhmOTAxMDMyNzg4MDE1ZDU1ZmNmMjQ1N2U3YzQwZjg2NmY4NjQ5NDE4NTZjNTMzYWMyZDk0MzQwYWFhODU0NGQzNWE1YzFkNGEyMWRlZTc4ODBkZTBiNmIzYTc2NDAwMDBiODQ0ZDhkYTNiYmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjY1ODQ4MDgzMDk0YzUzYzEwMWI4ODJlZmNiOWVhODhlOTA4ZDFhMTQyZGI5NmMxYjQ0ZGQwNTZlYTE5NGYxYWQ0NTY3MGMxMDBhOGM1MjM0OGNjN2IyMDM4Nzc0MTI2MGViZTdmZTliNzU5NGY5NjY5M2M4ODY2MmZhNjBlZGJhNTk5MjMzMjcyODIyMmIwYmRkOGEzMDAwODUzNTM2OGJkOTAxMzE5ZWI0NTEzZDE2YmViYzQyOGRjODQ1NGQzMmExOWVlYjc2MzcyODQ5YTYxMzRlYmJiYTc5ZjFlZWNlZWExZjY1NDY1NzRiOTQ1YzA1NDg5MjIyY2I0NTFmNWIwZTI5MDFiMGM2ODdiNzUwZTgzM2FlYjgwMCc7XG5cbmV4cG9ydCBjb25zdCBTVEFLRV9DTEFVU0VfVFJBTlNBQ1RJT04gPVxuICAnMHhmOGUzMjc4ODAxNjE4YjdiMTM1NGM0Y2E0MGY4NDVmODQzOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODgwZGUwYjZiM2E3NjQwMDAwYTQ2MDRmMjE3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4MTgwODMwNWZkNWE4MDgzMDdiMjc4YzEwMWI4ODJiMzgwOTcwNTgwZDk1N2I4ZTc5ODlhYTlhYTkyODFlNTcyNDVmYTM4MzVjYjJhYWFlNjQ3NWI0MDYyYmI0ZjFjMmRkMmNhNjk0ZGY2NTAzZDVkZmQ2NTQ1NzkxMzBiMzQ4NGJlZTc1NDIwMjQ3Y2Y4ZjZiNmI0Yjc2Yjc5MzlmMTAxZGI2ZTZjZWY1YTI3Mzc1Mjc0NzQxZjNjMGFiYTRiZTEzYTllMDg2MzM3YzMyOTA4NjZhZmUwNDllZmNkYWEyZDMyMjdjOWUxMmI1MjYyN2M0ZDcxZjViNjY3ODIxZjlkMzNhZGNjNGM5N2ZkYzI4YjkzYzM0MDEzZDMyZTI0MjMwMCc7XG5cbmV4cG9ydCBjb25zdCBERUxFR0FUSU9OX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjhmYjI3ODgwMTYxOGFhM2UwYTU1ZmM5NDBmODVlZjg1Yzk0NzI0MGUzYmMwZDI2NDMxNTEyZDViNjdkYmQyNmQxOTkyMDViZmZlODgwYjg0NDMyMDc1NTVkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODc2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4MTgwODJlNDNhODA4MzA2YWYwN2MxMDFiODgyZmI4MDMwZjZlMmVmNjU2M2ZmM2IwZTdlMmEyMjkyYzFkYjVmYzQxYzdhYjlmNTk4YmFkMzcwYzVjZmQzZGMzMjI4NmFlOGQ3MDllOTQxYzAzMTJjOGNkMzNhMzUwNTE1NmI0NGQxNjM5YzczOTgwZmZhNjZiYzcyZjM3ODIwZjIwMDFjMGU2YjZlNzZhNmE0ZDgwNmMzNzdhMGEyNzkwNTNlYjZlYTQzNTZiZDIzNWY0Mzk2NTg1YmIwNzFkNzBmOTkyYzYzOWQ0NWM1MzQzMWEzYzE0OTNhNTJhMTM2MjAzOTA1ZTQyYzY3MWRkMzg0ZWU1ZjVlYWQwYTcwY2I2MDcwMDEnO1xuXG5leHBvcnQgY29uc3QgU1RBS0lOR19MRVZFTF9JRCA9IDg7XG5leHBvcnQgY29uc3QgU1RBS0lOR19BVVRPUkVORVcgPSB0cnVlO1xuZXhwb3J0IGNvbnN0IFNUQUtJTkdfQ09OVFJBQ1RfQUREUkVTUyA9ICcweDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzAnO1xuXG5leHBvcnQgY29uc3QgVkFMSURfVE9LRU5fU0lHTkFCTEVfUEFZTE9BRCA9XG4gICdmODc2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgVkFMSURfTkZUX1NJR05BQkxFX1BBWUxPQUQgPVxuICAnZjg5NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MDgwYjg2NDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzA3MTZmMzg2YTBhNzgzNjE5NjJkMWY2NGNlMjI1NmEyYzg3MWJiNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4NzIzODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTiA9XG4gICcweGY0Mjc4ODAxNTM2Y2U5ZTlmYjA2Mzg0MGRkZGM5NGM1MjU4NGQxYzU2ZTdiZGRjYjZmNjVkNTBmZjAwZjcxZTBlZjg5N2E4NWU4ZDRhNTEwMDA4MDgxODA4MjUyMDg4MDgzMDYxYzcwYzAnO1xuXG5leHBvcnQgY29uc3QgVU5TSUdORURfVFJBTlNBQ1RJT05fMiA9XG4gICcweGY3Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGUwZGY5NGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgVU5TSUdORURfVFJBTlNBQ1RJT05fMyA9XG4gICcweGY4NzYyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg1ZWY4NWM5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MGI4NDRhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYzNDU3ODVkOGEwMDAwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbi8vdW5zaWduZWQgbmZ0IHRyYW5zYWN0aW9uXG5leHBvcnQgY29uc3QgVU5TSUdORURfVFJBTlNBQ1RJT05fNCA9XG4gICcweGY4OTYyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzA4MGI4NjQyM2I4NzJkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODcyMzgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgQUREUkVTU19JTklUSUFMSVpBVElPTl9UUkFOU0FDVElPTiA9XG4gICcweGY4OTUyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDY1MzQzZTE4YzM3NmQyZmM4YzNjZjEwY2QxNDZkNjNlMmUwZGM5ZWY4MGI4NjQxM2IyZjc1YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1YjAwYjVjODA3ZDU2OTYxOTdiNDhkNGFmZmE0MGJiODc2ZGYyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Yzg3YjlmZmM2ZmQ2YzE2N2MwZTRmYTk0MTg3MjBmM2Q2NTkzNThlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjUyMDg4MDgyZmFmOGMwJztcblxuZXhwb3J0IGNvbnN0IEFERFJFU1NfSU5JVElBTElaQVRJT05fREFUQSA9XG4gICcweDEzYjJmNzVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTViMDBiNWM4MDdkNTY5NjE5N2I0OGQ0YWZmYTQwYmI4NzZkZjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxJztcblxuZXhwb3J0IGNvbnN0IEFERFJFU1NfSU5JVElBTElaQVRJT05fU0lHTkFCTEVfUEFZTE9BRCA9XG4gICdmODk1Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQ2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmODBiODY0MTNiMmY3NWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4MTgwODI1MjA4ODA4MmZhZjhjMCc7XG5cbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfQUREUkVTUyA9ICcweDA0M2ZkZTJmYTBlY2U3N2MyNDYxYTk1NzFmM2IxYjFjNmZhY2ExMjAnO1xuXG5leHBvcnQgY29uc3QgRk9SV0FSREVSX0FERFJFU1NfTkVXID0gJzB4NjA0YTQyODk4Mzg4MDgwZDU2YmM4NWY4MTU5NjVkMWY2NGJlYjFhNic7XG5cbmV4cG9ydCBjb25zdCBGTFVTSF9UT0tFTl9UUkFOU0FDVElPTiA9XG4gICcweGY4NTQyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjgzZGY4M2I5NDA0M2ZkZTJmYTBlY2U3N2MyNDYxYTk1NzFmM2IxYjFjNmZhY2ExMjA4MGE0M2VmMTMzNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODE4MDgyNTIwODgwODJmYWY4YzAnO1xuXG5leHBvcnQgY29uc3QgRkxVU0hfVE9LRU5fREFUQSA9ICcweDNlZjEzMzY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OSc7XG5cbmV4cG9ydCBjb25zdCBGTFVTSF9UT0tFTl9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJ2Y4NTQyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjgzZGY4M2I5NDA0M2ZkZTJmYTBlY2U3N2MyNDYxYTk1NzFmM2IxYjFjNmZhY2ExMjA4MGE0M2VmMTMzNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODE4MDgyNTIwODgwODJmYWY4YzAnO1xuXG5leHBvcnQgY29uc3QgSU5WQUxJRF9UUkFOU0FDVElPTiA9XG4gICcweGY4YmMyNzg4MDE0ZWEwNjBiNWI1OTk3ZTQwZTBkZjk0ZTVmNGVlYzQ0YWRmMTljNGNiZWVjODgwMTYzNDU3ODVkOGEwMDAwODA4MTgwODI1MjA4ODA4MzBiZjg0ZmMxMDFiODgyNDE4ZTIxMmE0MGIyOWRhNjg1YTczMTI4MjllOGQxZDM3MDhiNjU0ZjRkZGI0Mzg4YTdhODBmNWFmM2U1NDIzYjQ1NTQ1MTkwMWQ5YjgzN2ZlMTg1MDFlNmVhNWVjN2QzZDI3MTFmMDAwNzNkNTUzYWFiZTQwZTAyNjBlYzhhNmYwMGRhNTU3ZDBhMWFmNjZiODJiNDU3MzI0YmM2ZmM4NmM3ZjAzNjJlNzZjMTViNjQ0MzJlNjZiNmZhNjJmY2EzOGM3ZDIwOGE2MDRkMWE3ZWM1MzU2Yzk1ZmVjN2JjNmYzMzJkMTY3MThhOTFhNTNlMGU5OWUzYTgxYWUzMjA1YWI0MDAnO1xuXG5leHBvcnQgY29uc3QgVFJBTlNGRVJfQ0xBVVNFID0gW1xuICB7XG4gICAgdG86ICcweGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMnLFxuICAgIHZhbHVlOiAxMDAwMDAwMDAwMDAwLFxuICAgIGRhdGE6ICcweCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgYWRkcmVzc2VzID0ge1xuICB2YWxpZEFkZHJlc3NlczogW1xuICAgICcweDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQnLFxuICAgICcweGU1OUYxY2VhNGUwRkVmNTExZTNkMGY0RUVjNDRBRGYxOUM0Y2JlRUMnLFxuICAgICcweDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUnLFxuICAgICcweGMwNzE2ZjM4NmEwYTc4MzYxOTYyZDFmNjRjZTIyNTZhMmM4NzFiYjUnLFxuICBdLFxuICBpbnZhbGlkQWRkcmVzc2VzOiBbXG4gICAgJ3JhbmRvbVN0cmluZycsXG4gICAgJzB4YzQxNzNhODA0NDA2YTM2NWU2OWRmYjI5N2RkZmdzZGN2ZicsXG4gICAgJzVuZTdwaEE0OEpydnBuMzlBdHVwQjhaa0NDQXk4Z0xUZnBHaWhaUHVEcWVuJyxcbiAgXSxcbn07XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWcgPVxuICAnMDYyMDgwY2M3N2RiOWQ1Y2U1ZGI4NGYxY2ZiNTdjOTkwNmM5YmZkY2U3OGU0ZDUzNzU3YmJkM2Q1MzZjNzMxZTFlNWU0MDZhNGU3ODNhNGY2MzQ0NmFhMjhkMjFkYzI3Nzk2YWFlOTBmYWM3OTE1MWMzZDBiM2JhNjhjZGUzNjgwMSc7XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllclNpZyA9XG4gICc0N2FlNzllMjNlZmZkMjMzMjA2MTgwZWNlM2FiM2Q2ZDQ5NjMxMGMwM2M1NWJkMDU2NmE1NGJiN2Q0MjA5NWM5N2E5MGNhOWZmNGNmYjk0ZWM1NzlhN2VjN2Y3OWRlNDgxNGRmYzgxNmQwYTEzMDE4OWMwN2I3NDY5NDU0ODJmYjAwJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZzIgPVxuICAnOWQwNWU5MGEwMGM1MzhhZmQ2ODY1MmY2M2E0ZTIxNDgxZDFkMDgyZmRiZDRhMzAwYjA0YjU2MWRjNzYxODVhZDI5MmJiNDhkNzA4NDZiZDBmYjhiNTI2NzgyYjlkMmY5NDBkYmNlZTNiYzU1NGJmYjdiNTNlMzYyYmJjYjM5ZDcwMSc7XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllclNpZzIgPVxuICAnNDVkOGFlYzRkMmVkNWY3NGI3ODg2OTVjZWI3NmQxOGRkMzU5NzUwM2JjMDQ2NmQ2Njc0OTNiMmFmZjJjMmIwOTVkMzUyNzg4YTM0NWIyZTNiNDllOWFkMTliYzI4YjBiZGVlNDVkMGNjZTk4Njk2MmU2MWIwZmViZTYwYTI1OTMwMSc7XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWczID1cbiAgJzIxMmQyMTJlZmZlYTAzNzczZjQyMjhjZDA0OWVmZTQyYzNlZmU1NGYxODM3OGRlZjUyZjBhZDM0OTYzNzI0OGQ2N2QwZWVjNmZkOWJjN2RkYzVhYjRkOThmMjJjNGZjOGRlNDg1ZTI0MDNmOTBhNjhiMjYxM2UyMTQyNDVjMGE0MDEnO1xuXG5leHBvcnQgY29uc3QgZmVlUGF5ZXJTaWczID1cbiAgJzc1OGM5ZDAwYWRhNDBlYmMzNjg5MGJiZjhjZjFjODQwNzBlMDk1MGRjYmI2Y2FkOTRhNGM5YTRjMGZmZTE2Yzc0ODZjNWI2NzQyMDdjNGQ5MTZmN2VkN2NiNTAxYzczZGFhYWZjNDljZmU3Njg1Y2YxZTBmODA1NGE3ZmE0NjAzMDAnO1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyU2lnbmVkU2VyaWFsaXplZFR4SGV4ID1cbiAgJzB4ZjcyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZTBkZjk0ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzg4MDE2MzQ1Nzg1ZDhhMDAwMDgwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWduZWRTZXJpYWxpemVkVHhIZXgyID1cbiAgJzB4Zjg3NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODVlZjg1Yzk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjM0NTc4NWQ4YTAwMDA4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IGNvbXBsZXRlU2lnbmVkU2VyaWFsaXplZEhleCA9XG4gICcweGY4YmIyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZTBkZjk0ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzg4MDE2MzQ1Nzg1ZDhhMDAwMDgwODE4MDgyNTIwODgwODJmYWY4YzEwMWI4ODIwNjIwODBjYzc3ZGI5ZDVjZTVkYjg0ZjFjZmI1N2M5OTA2YzliZmRjZTc4ZTRkNTM3NTdiYmQzZDUzNmM3MzFlMWU1ZTQwNmE0ZTc4M2E0ZjYzNDQ2YWEyOGQyMWRjMjc3OTZhYWU5MGZhYzc5MTUxYzNkMGIzYmE2OGNkZTM2ODAxNDdhZTc5ZTIzZWZmZDIzMzIwNjE4MGVjZTNhYjNkNmQ0OTYzMTBjMDNjNTViZDA1NjZhNTRiYjdkNDIwOTVjOTdhOTBjYTlmZjRjZmI5NGVjNTc5YTdlYzdmNzlkZTQ4MTRkZmM4MTZkMGExMzAxODljMDdiNzQ2OTQ1NDgyZmIwMCc7XG5cbmV4cG9ydCBjb25zdCBjb21wbGV0ZVNpZ25lZFNlcmlhbGl6ZWRIZXgyID1cbiAgJzB4ZjhmYTI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODVlZjg1Yzk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjM0NTc4NWQ4YTAwMDA4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjlkMDVlOTBhMDBjNTM4YWZkNjg2NTJmNjNhNGUyMTQ4MWQxZDA4MmZkYmQ0YTMwMGIwNGI1NjFkYzc2MTg1YWQyOTJiYjQ4ZDcwODQ2YmQwZmI4YjUyNjc4MmI5ZDJmOTQwZGJjZWUzYmM1NTRiZmI3YjUzZTM2MmJiY2IzOWQ3MDE0NWQ4YWVjNGQyZWQ1Zjc0Yjc4ODY5NWNlYjc2ZDE4ZGQzNTk3NTAzYmMwNDY2ZDY2NzQ5M2IyYWZmMmMyYjA5NWQzNTI3ODhhMzQ1YjJlM2I0OWU5YWQxOWJjMjhiMGJkZWU0NWQwY2NlOTg2OTYyZTYxYjBmZWJlNjBhMjU5MzAxJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZ25lZFNlcmlhbGl6ZWRIZXgzID1cbiAgJzB4Zjg5NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MDgwYjg2NDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzA3MTZmMzg2YTBhNzgzNjE5NjJkMWY2NGNlMjI1NmEyYzg3MWJiNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4NzIzODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBjb21wbGV0ZVNpZ25lZFNlcmlhbGl6ZWRIZXgzID1cbiAgJzB4ZjkwMTFhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjIxMmQyMTJlZmZlYTAzNzczZjQyMjhjZDA0OWVmZTQyYzNlZmU1NGYxODM3OGRlZjUyZjBhZDM0OTYzNzI0OGQ2N2QwZWVjNmZkOWJjN2RkYzVhYjRkOThmMjJjNGZjOGRlNDg1ZTI0MDNmOTBhNjhiMjYxM2UyMTQyNDVjMGE0MDE3NThjOWQwMGFkYTQwZWJjMzY4OTBiYmY4Y2YxYzg0MDcwZTA5NTBkY2JiNmNhZDk0YTRjOWE0YzBmZmUxNmM3NDg2YzViNjc0MjA3YzRkOTE2ZjdlZDdjYjUwMWM3M2RhYWFmYzQ5Y2ZlNzY4NWNmMWUwZjgwNTRhN2ZhNDYwMzAwJztcblxuZXhwb3J0IGNvbnN0IGJsb2NrSWRzOiB7IHZhbGlkQmxvY2tJZHM6IHN0cmluZ1tdOyBpbnZhbGlkQmxvY2tJZHM6IHN0cmluZ1tdIH0gPSB7XG4gIHZhbGlkQmxvY2tJZHM6IFtcbiAgICAnMHgwMTRmMTJlZDk0YzRiNDc3MGY3ZjlhNzNlMmFhNDFhOWRmYmFjMDJhNDlmMzZlYzA1YWNmZGJhOGM3MjQ0ZmYwJyxcbiAgICAnMHgwMTRmMTMwZDAwYTJmZTA2ZDQ3MWEzNWU3ZjJjZDE4ZDI1YmRlZmU1MzcwYzA3YTJhZDY4YzBhZTM4NTJhZDg2JyxcbiAgXSxcbiAgaW52YWxpZEJsb2NrSWRzOiBbXG4gICAgJ3JhbmRvbVN0cmluZycsXG4gICAgJzB4YzQxNzNhODA0NDA2YTM2NWU2OWRmYjI5N2RkZmdzZGN2ZicsXG4gICAgJzVuZTdwaEE0OEpydnBuMzlBdHVwQjhaa0NDQXk4Z0xUZnBHaWhaUHVEcWVuJyxcbiAgXSxcbn07XG5cbmV4cG9ydCBjb25zdCBpbnZhbGlkUmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMuaW52YWxpZEFkZHJlc3Nlc1swXSxcbiAgICBhbW91bnQ6IEFNT1VOVC50b1N0cmluZygpLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogJy05MTkxOTEnLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogJ2ludmFsaWRBbW91bnQnLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgcmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhbW91bnQ6IEFNT1VOVC50b1N0cmluZygpLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IG5mdFJlY2lwaWVudHM6IFJlY2lwaWVudFtdID0gW1xuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzFdLnRvTG93ZXJDYXNlKCksXG4gICAgYW1vdW50OiAnMScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgbmZ0UmVjaXBpZW50czI6IFJlY2lwaWVudFtdID0gW1xuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLnRvTG93ZXJDYXNlKCksXG4gICAgYW1vdW50OiAnMScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZmVlUGF5ZXIgPSB7XG4gIGFkZHJlc3M6ICcweGRjOWZlZjBiODRhMGNjZjNmMWJkNGI4NGU0MTc0M2UzZTA1MWEwODMnLFxufTtcblxuLy8gVXNlIHRoZSBoYXJkY29kZWQgdmFsdWVzIGZyb20gdGhlIFZldFRlc3RuZXQgY2xhc3MgaW4gbmV0d29ya3MudHNcbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfRkFDVE9SWV9BRERSRVNTID0gJzB4NjUzNDNlMThjMzc2ZDJmYzhjM2NmMTBjZDE0NmQ2M2UyZTBkYzllZic7XG5cbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfSU1QTEVNRU5UQVRJT05fQUREUkVTUyA9ICcweDYyZGUzNGM4N2Y4NDdkMzg1YWYwN2Y2YzI1ZGJkOTdiMWZmZmVmYzAnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZPUldBUkRFUl9NRVRIT0QgPSAnMHgxM2IyZjc1Yyc7XG5cbmV4cG9ydCBjb25zdCBCQVNFX0FERFJFU1MgPSAnMHg1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwJztcblxuZXhwb3J0IGNvbnN0IEZFRV9BRERSRVNTID0gJzB4N2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZSc7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9BRERSRVNTID0gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OSc7XG5cbmV4cG9ydCBjb25zdCBORlRfQ09OVFJBQ1RfQUREUkVTUyA9ICcweDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzAnO1xuXG5leHBvcnQgY29uc3QgU0FMVCA9ICcweDEnO1xuXG5leHBvcnQgY29uc3QgU0VSSUFMSVpFRF9TSUdORURfQUREUkVTU19JTklUX1RYID1cbiAgJzB4ZjhkOTI3ODgwMTUyYzkwNjUzMTc4NGJkNDBmODdlZjg3Yzk0NjUzNDNlMThjMzc2ZDJmYzhjM2NmMTBjZDE0NmQ2M2UyZTBkYzllZjgwYjg2NDEzYjJmNzVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTViMDBiNWM4MDdkNTY5NjE5N2I0OGQ0YWZmYTQwYmI4NzZkZjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0ODE4MDgzMDI0OWYwODA4MmZhZjhjMGI4NDE5NjU3NzA0NmVjYmJhNjQwZDhmNTkxNGE3YjRjYjk5ZjlhYjQ3OTM1OWJjZGE1MzY4Y2M5YWZkZmI1NTk5NGEwNDY5YWYwNzFjZGViNGNhYzkyY2FhZjBiZTdmZWRmNDkyZDIyMTVmODNiYWEwMGQ0YWJhYzMxY2Y0OGVlZGRkOTAwJztcblxuZXhwb3J0IGNvbnN0IFNFUklBTElaRURfU0lHTkVEX0ZMVVNIX1RPS0VOX1RYID1cbiAgJzB4Zjg5ODI3ODgwMTUyY2Y0NTU1MzZlYmM3NDBmODNkZjgzYjk0NjA0YTQyODk4Mzg4MDgwZDU2YmM4NWY4MTU5NjVkMWY2NGJlYjFhNjgwYTQzZWYxMzM2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MTgwODMwMjQ5ZjA4MDgyZmFmOWMwYjg0MWI1MjI1YTBkNWM2M2ZkNGNlZWUyZmVmZTk0NzU5ZDIwZTM3YzI5ZWJjZDE1ZmMwM2ViNjk5ZDRhZjViYjIxMGMyNTg1ODNmOWU4ZTI2ZTg3Mjc1MWUyNTVjMmYwZmU5ZDQ0ZDUyY2U2NWI2Yjc2MDQwNDc2ZTI4NTA3NGE0YjU5MDEnO1xuXG5leHBvcnQgY29uc3QgVkFMSURfTkZUX0NPTlRSQUNUX0RBVEEgPVxuICAnMHgyM2I4NzJkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRkMic7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegateClauseTxnBuilder.d.ts","sourceRoot":"","sources":["../../../test/transactionBuilder/delegateClauseTxnBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
40
|
+
const lib_1 = require("../../src/lib");
|
|
41
|
+
const should_1 = __importDefault(require("should"));
|
|
42
|
+
const constants_1 = require("../../src/lib/constants");
|
|
43
|
+
const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
44
|
+
const testData = __importStar(require("../resources/vet"));
|
|
45
|
+
describe('VET Delegation Transaction', function () {
|
|
46
|
+
const factory = new lib_1.TransactionBuilderFactory(statics_1.coins.get('tvet'));
|
|
47
|
+
const tokenId = 100201; // Test level ID
|
|
48
|
+
const delegateForever = true; // Test delegateForever flag
|
|
49
|
+
// Helper function to create a basic transaction builder with common properties
|
|
50
|
+
const createBasicTxBuilder = () => {
|
|
51
|
+
const txBuilder = factory.getStakingDelegateBuilder();
|
|
52
|
+
txBuilder.sender('0x9378c12BD7502A11F770a5C1F223c959B2805dA9');
|
|
53
|
+
txBuilder.chainTag(0x27); // Testnet chain tag
|
|
54
|
+
txBuilder.blockRef('0x0000000000000000');
|
|
55
|
+
txBuilder.expiration(64);
|
|
56
|
+
txBuilder.gas(100000);
|
|
57
|
+
txBuilder.gasPriceCoef(0);
|
|
58
|
+
txBuilder.nonce('12345');
|
|
59
|
+
return txBuilder;
|
|
60
|
+
};
|
|
61
|
+
it('should build a delegate transaction', async function () {
|
|
62
|
+
const txBuilder = factory.getStakingDelegateBuilder();
|
|
63
|
+
txBuilder.stakingContractAddress(constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET);
|
|
64
|
+
txBuilder.tokenId(tokenId);
|
|
65
|
+
txBuilder.sender('0x9378c12BD7502A11F770a5C1F223c959B2805dA9');
|
|
66
|
+
txBuilder.chainTag(0x27); // Testnet chain tag
|
|
67
|
+
txBuilder.blockRef('0x0000000000000000');
|
|
68
|
+
txBuilder.expiration(64);
|
|
69
|
+
txBuilder.gas(100000);
|
|
70
|
+
txBuilder.gasPriceCoef(0);
|
|
71
|
+
txBuilder.nonce('12345');
|
|
72
|
+
const tx = await txBuilder.build();
|
|
73
|
+
should_1.default.exist(tx);
|
|
74
|
+
tx.should.be.instanceof(lib_1.Transaction);
|
|
75
|
+
tx.should.be.instanceof(lib_1.DelegateClauseTransaction);
|
|
76
|
+
const delegationTx = tx;
|
|
77
|
+
delegationTx.stakingContractAddress.should.equal(constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET);
|
|
78
|
+
delegationTx.tokenId.should.equal(tokenId);
|
|
79
|
+
delegationTx.delegateForever.should.equal(delegateForever);
|
|
80
|
+
// Verify clauses
|
|
81
|
+
delegationTx.clauses.length.should.equal(1);
|
|
82
|
+
should_1.default.exist(delegationTx.clauses[0].to);
|
|
83
|
+
delegationTx.clauses[0].to?.should.equal(constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET);
|
|
84
|
+
// Verify transaction data is correctly encoded using ethereumABI
|
|
85
|
+
should_1.default.exist(delegationTx.clauses[0].data);
|
|
86
|
+
const txData = delegationTx.clauses[0].data;
|
|
87
|
+
txData.should.startWith(constants_1.DELEGATE_CLAUSE_METHOD_ID);
|
|
88
|
+
// Verify the encoded data matches what we expect from ethereumABI
|
|
89
|
+
const methodName = 'delegate';
|
|
90
|
+
const types = ['uint256', 'bool'];
|
|
91
|
+
const params = [tokenId, delegateForever];
|
|
92
|
+
const method = ethereumjs_abi_1.default.methodID(methodName, types);
|
|
93
|
+
const args = ethereumjs_abi_1.default.rawEncode(types, params);
|
|
94
|
+
const expectedData = '0x' + Buffer.concat([method, args]).toString('hex');
|
|
95
|
+
txData.should.equal(expectedData);
|
|
96
|
+
// Verify recipients
|
|
97
|
+
delegationTx.recipients.length.should.equal(1);
|
|
98
|
+
delegationTx.recipients[0].address.should.equal(constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET);
|
|
99
|
+
});
|
|
100
|
+
describe('Failure scenarios', function () {
|
|
101
|
+
it('should throw error when stakingContractAddress is missing', async function () {
|
|
102
|
+
const txBuilder = createBasicTxBuilder();
|
|
103
|
+
txBuilder.tokenId(tokenId);
|
|
104
|
+
await txBuilder.build().should.be.rejectedWith('Staking contract address is required');
|
|
105
|
+
});
|
|
106
|
+
it('should throw error when tokenId is missing', async function () {
|
|
107
|
+
const txBuilder = createBasicTxBuilder();
|
|
108
|
+
txBuilder.stakingContractAddress(constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET);
|
|
109
|
+
await txBuilder.build().should.be.rejectedWith('Token ID is required');
|
|
110
|
+
});
|
|
111
|
+
it('should throw error when stakingContractAddress is invalid', async function () {
|
|
112
|
+
const txBuilder = createBasicTxBuilder();
|
|
113
|
+
// Invalid address (wrong format)
|
|
114
|
+
(0, should_1.default)(() => {
|
|
115
|
+
txBuilder.stakingContractAddress('invalid-address');
|
|
116
|
+
}).throw(/Invalid address/);
|
|
117
|
+
});
|
|
118
|
+
it('should build transaction with undefined sender but include it in inputs', async function () {
|
|
119
|
+
const txBuilder = factory.getStakingDelegateBuilder();
|
|
120
|
+
txBuilder.stakingContractAddress(constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET);
|
|
121
|
+
txBuilder.tokenId(tokenId);
|
|
122
|
+
txBuilder.chainTag(0x27);
|
|
123
|
+
txBuilder.blockRef('0x0000000000000000');
|
|
124
|
+
txBuilder.expiration(64);
|
|
125
|
+
txBuilder.gas(100000);
|
|
126
|
+
txBuilder.gasPriceCoef(0);
|
|
127
|
+
txBuilder.nonce('12345');
|
|
128
|
+
// Not setting sender
|
|
129
|
+
const tx = await txBuilder.build();
|
|
130
|
+
tx.should.be.instanceof(lib_1.DelegateClauseTransaction);
|
|
131
|
+
const delegationTx = tx;
|
|
132
|
+
// Verify the transaction has inputs but with undefined address
|
|
133
|
+
delegationTx.inputs.length.should.equal(1);
|
|
134
|
+
should_1.default.not.exist(delegationTx.inputs[0].address);
|
|
135
|
+
// Verify the transaction has the correct output
|
|
136
|
+
delegationTx.outputs.length.should.equal(1);
|
|
137
|
+
delegationTx.outputs[0].address.should.equal(constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET);
|
|
138
|
+
});
|
|
139
|
+
it('should use network default chainTag when not explicitly set', async function () {
|
|
140
|
+
const txBuilder = factory.getStakingDelegateBuilder();
|
|
141
|
+
txBuilder.stakingContractAddress(constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET);
|
|
142
|
+
txBuilder.tokenId(tokenId);
|
|
143
|
+
// Not setting chainTag
|
|
144
|
+
txBuilder.blockRef('0x0000000000000000');
|
|
145
|
+
txBuilder.expiration(64);
|
|
146
|
+
txBuilder.gas(100000);
|
|
147
|
+
txBuilder.gasPriceCoef(0);
|
|
148
|
+
txBuilder.nonce('12345');
|
|
149
|
+
txBuilder.sender('0x9378c12BD7502A11F770a5C1F223c959B2805dA9');
|
|
150
|
+
const tx = await txBuilder.build();
|
|
151
|
+
tx.should.be.instanceof(lib_1.DelegateClauseTransaction);
|
|
152
|
+
const delegationTx = tx;
|
|
153
|
+
// Verify the chainTag is set to the testnet default (39)
|
|
154
|
+
delegationTx.chainTag.should.equal(39);
|
|
155
|
+
});
|
|
156
|
+
it('should build a signed tx and validate its toJson', async function () {
|
|
157
|
+
const txBuilder = factory.from(testData.DELEGATION_TRANSACTION);
|
|
158
|
+
const tx = txBuilder.transaction;
|
|
159
|
+
const toJson = tx.toJson();
|
|
160
|
+
toJson.id.should.equal('0x4d41f712736a528e85cf8cefaee61f7842a6ddd5f20977b8d97182391dee6f42');
|
|
161
|
+
toJson.stakingContractAddress?.should.equal('0x7240e3bc0d26431512d5b67dbd26d199205bffe8');
|
|
162
|
+
toJson.nonce.should.equal('438023');
|
|
163
|
+
toJson.gas.should.equal(58426);
|
|
164
|
+
toJson.gasPriceCoef.should.equal(128);
|
|
165
|
+
toJson.expiration.should.equal(64);
|
|
166
|
+
toJson.chainTag.should.equal(39);
|
|
167
|
+
// in delegate txn, nftTokenId indicates the tokenId
|
|
168
|
+
toJson.nftTokenId?.should.equal(tokenId);
|
|
169
|
+
toJson.autorenew?.should.equal(true);
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGVDbGF1c2VUeG5CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC90cmFuc2FjdGlvbkJ1aWxkZXIvZGVsZWdhdGVDbGF1c2VUeG5CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQTRDO0FBQzVDLHVDQUFrRztBQUNsRyxvREFBNEI7QUFDNUIsdURBQXlHO0FBQ3pHLG9FQUF5QztBQUN6QywyREFBNkM7QUFFN0MsUUFBUSxDQUFDLDRCQUE0QixFQUFFO0lBQ3JDLE1BQU0sT0FBTyxHQUFHLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLGdCQUFnQjtJQUN4QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsQ0FBQyw0QkFBNEI7SUFFMUQsK0VBQStFO0lBQy9FLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RELFNBQVMsQ0FBQyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUMvRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CO1FBQzlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN6QyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMs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LENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztZQUM3RixNQUFNLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQzFGLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakMsb0RBQW9EO1lBQ3BELE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIFRyYW5zYWN0aW9uLCBEZWxlZ2F0ZUNsYXVzZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vc3JjL2xpYic7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBERUxFR0FURV9DTEFVU0VfTUVUSE9EX0lELCBTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1NfVEVTVE5FVCB9IGZyb20gJy4uLy4uL3NyYy9saWIvY29uc3RhbnRzJztcbmltcG9ydCBFdGhlcmV1bUFiaSBmcm9tICdldGhlcmV1bWpzLWFiaSc7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi9yZXNvdXJjZXMvdmV0JztcblxuZGVzY3JpYmUoJ1ZFVCBEZWxlZ2F0aW9uIFRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KCd0dmV0JykpO1xuICBjb25zdCB0b2tlbklkID0gMTAwMjAxOyAvLyBUZXN0IGxldmVsIElEXG4gIGNvbnN0IGRlbGVnYXRlRm9yZXZlciA9IHRydWU7IC8vIFRlc3QgZGVsZWdhdGVGb3JldmVyIGZsYWdcblxuICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEgYmFzaWMgdHJhbnNhY3Rpb24gYnVpbGRlciB3aXRoIGNvbW1vbiBwcm9wZXJ0aWVzXG4gIGNvbnN0IGNyZWF0ZUJhc2ljVHhCdWlsZGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0U3Rha2luZ0RlbGVnYXRlQnVpbGRlcigpO1xuICAgIHR4QnVpbGRlci5zZW5kZXIoJzB4OTM3OGMxMkJENzUwMkExMUY3NzBhNUMxRjIyM2M5NTlCMjgwNWRBOScpO1xuICAgIHR4QnVpbGRlci5jaGFpblRhZygweDI3KTsgLy8gVGVzdG5ldCBjaGFpbiB0YWdcbiAgICB0eEJ1aWxkZXIuYmxvY2tSZWYoJzB4MDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKDY0KTtcbiAgICB0eEJ1aWxkZXIuZ2FzKDEwMDAwMCk7XG4gICAgdHhCdWlsZGVyLmdhc1ByaWNlQ29lZigwKTtcbiAgICB0eEJ1aWxkZXIubm9uY2UoJzEyMzQ1Jyk7XG4gICAgcmV0dXJuIHR4QnVpbGRlcjtcbiAgfTtcblxuICBpdCgnc2hvdWxkIGJ1aWxkIGEgZGVsZWdhdGUgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRTdGFraW5nRGVsZWdhdGVCdWlsZGVyKCk7XG4gICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3MoU1RBUkdBVEVfREVMRUdBVElPTl9BRERSRVNTX1RFU1RORVQpO1xuICAgIHR4QnVpbGRlci50b2tlbklkKHRva2VuSWQpO1xuICAgIHR4QnVpbGRlci5zZW5kZXIoJzB4OTM3OGMxMkJENzUwMkExMUY3NzBhNUMxRjIyM2M5NTlCMjgwNWRBOScpO1xuICAgIHR4QnVpbGRlci5jaGFpblRhZygweDI3KTsgLy8gVGVzdG5ldCBjaGFpbiB0YWdcbiAgICB0eEJ1aWxkZXIuYmxvY2tSZWYoJzB4MDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKDY0KTtcbiAgICB0eEJ1aWxkZXIuZ2FzKDEwMDAwMCk7XG4gICAgdHhCdWlsZGVyLmdhc1ByaWNlQ29lZigwKTtcbiAgICB0eEJ1aWxkZXIubm9uY2UoJzEyMzQ1Jyk7XG5cbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIHNob3VsZC5leGlzdCh0eCk7XG4gICAgdHguc2hvdWxkLmJlLmluc3RhbmNlb2YoVHJhbnNhY3Rpb24pO1xuICAgIHR4LnNob3VsZC5iZS5pbnN0YW5jZW9mKERlbGVnYXRlQ2xhdXNlVHJhbnNhY3Rpb24pO1xuXG4gICAgY29uc3QgZGVsZWdhdGlvblR4ID0gdHggYXMgRGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbjtcbiAgICBkZWxlZ2F0aW9uVHguc3Rha2luZ0NvbnRyYWN0QWRkcmVzcy5zaG91bGQuZXF1YWwoU1RBUkdBVEVfREVMRUdBVElPTl9BRERSRVNTX1RFU1RORVQpO1xuICAgIGRlbGVnYXRpb25UeC50b2tlbklkLnNob3VsZC5lcXVhbCh0b2tlbklkKTtcbiAgICBkZWxlZ2F0aW9uVHguZGVsZWdhdGVGb3JldmVyLnNob3VsZC5lcXVhbChkZWxlZ2F0ZUZvcmV2ZXIpO1xuXG4gICAgLy8gVmVyaWZ5IGNsYXVzZXNcbiAgICBkZWxlZ2F0aW9uVHguY2xhdXNlcy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHNob3VsZC5leGlzdChkZWxlZ2F0aW9uVHguY2xhdXNlc1swXS50byk7XG4gICAgZGVsZWdhdGlvblR4LmNsYXVzZXNbMF0udG8/LnNob3VsZC5lcXVhbChTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1NfVEVTVE5FVCk7XG5cbiAgICAvLyBWZXJpZnkgdHJhbnNhY3Rpb24gZGF0YSBpcyBjb3JyZWN0bHkgZW5jb2RlZCB1c2luZyBldGhlcmV1bUFCSVxuICAgIHNob3VsZC5leGlzdChkZWxlZ2F0aW9uVHguY2xhdXNlc1swXS5kYXRhKTtcbiAgICBjb25zdCB0eERhdGEgPSBkZWxlZ2F0aW9uVHguY2xhdXNlc1swXS5kYXRhO1xuICAgIHR4RGF0YS5zaG91bGQuc3RhcnRXaXRoKERFTEVHQVRFX0NMQVVTRV9NRVRIT0RfSUQpO1xuXG4gICAgLy8gVmVyaWZ5IHRoZSBlbmNvZGVkIGRhdGEgbWF0Y2hlcyB3aGF0IHdlIGV4cGVjdCBmcm9tIGV0aGVyZXVtQUJJXG4gICAgY29uc3QgbWV0aG9kTmFtZSA9ICdkZWxlZ2F0ZSc7XG4gICAgY29uc3QgdHlwZXMgPSBbJ3VpbnQyNTYnLCAnYm9vbCddO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0b2tlbklkLCBkZWxlZ2F0ZUZvcmV2ZXJdO1xuXG4gICAgY29uc3QgbWV0aG9kID0gRXRoZXJldW1BYmkubWV0aG9kSUQobWV0aG9kTmFtZSwgdHlwZXMpO1xuICAgIGNvbnN0IGFyZ3MgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUodHlwZXMsIHBhcmFtcyk7XG4gICAgY29uc3QgZXhwZWN0ZWREYXRhID0gJzB4JyArIEJ1ZmZlci5jb25jYXQoW21ldGhvZCwgYXJnc10pLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIHR4RGF0YS5zaG91bGQuZXF1YWwoZXhwZWN0ZWREYXRhKTtcblxuICAgIC8vIFZlcmlmeSByZWNpcGllbnRzXG4gICAgZGVsZWdhdGlvblR4LnJlY2lwaWVudHMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICBkZWxlZ2F0aW9uVHgucmVjaXBpZW50c1swXS5hZGRyZXNzLnNob3VsZC5lcXVhbChTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1NfVEVTVE5FVCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdGYWlsdXJlIHNjZW5hcmlvcycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyBpcyBtaXNzaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gY3JlYXRlQmFzaWNUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci50b2tlbklkKHRva2VuSWQpO1xuXG4gICAgICBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdTdGFraW5nIGNvbnRyYWN0IGFkZHJlc3MgaXMgcmVxdWlyZWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igd2hlbiB0b2tlbklkIGlzIG1pc3NpbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBjcmVhdGVCYXNpY1R4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3MoU1RBUkdBVEVfREVMRUdBVElPTl9BRERSRVNTX1RFU1RORVQpO1xuXG4gICAgICBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdUb2tlbiBJRCBpcyByZXF1aXJlZCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIHN0YWtpbmdDb250cmFjdEFkZHJlc3MgaXMgaW52YWxpZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGNyZWF0ZUJhc2ljVHhCdWlsZGVyKCk7XG5cbiAgICAgIC8vIEludmFsaWQgYWRkcmVzcyAod3JvbmcgZm9ybWF0KVxuICAgICAgc2hvdWxkKCgpID0+IHtcbiAgICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3MoJ2ludmFsaWQtYWRkcmVzcycpO1xuICAgICAgfSkudGhyb3coL0ludmFsaWQgYWRkcmVzcy8pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCB0cmFuc2FjdGlvbiB3aXRoIHVuZGVmaW5lZCBzZW5kZXIgYnV0IGluY2x1ZGUgaXQgaW4gaW5wdXRzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRTdGFraW5nRGVsZWdhdGVCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyhTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1NfVEVTVE5FVCk7XG4gICAgICB0eEJ1aWxkZXIudG9rZW5JZCh0b2tlbklkKTtcbiAgICAgIHR4QnVpbGRlci5jaGFpblRhZygweDI3KTtcbiAgICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbig2NCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzKDEwMDAwMCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzUHJpY2VDb2VmKDApO1xuICAgICAgdHhCdWlsZGVyLm5vbmNlKCcxMjM0NScpO1xuICAgICAgLy8gTm90IHNldHRpbmcgc2VuZGVyXG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICB0eC5zaG91bGQuYmUuaW5zdGFuY2VvZihEZWxlZ2F0ZUNsYXVzZVRyYW5zYWN0aW9uKTtcblxuICAgICAgY29uc3QgZGVsZWdhdGlvblR4ID0gdHggYXMgRGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbjtcbiAgICAgIC8vIFZlcmlmeSB0aGUgdHJhbnNhY3Rpb24gaGFzIGlucHV0cyBidXQgd2l0aCB1bmRlZmluZWQgYWRkcmVzc1xuICAgICAgZGVsZWdhdGlvblR4LmlucHV0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChkZWxlZ2F0aW9uVHguaW5wdXRzWzBdLmFkZHJlc3MpO1xuXG4gICAgICAvLyBWZXJpZnkgdGhlIHRyYW5zYWN0aW9uIGhhcyB0aGUgY29ycmVjdCBvdXRwdXRcbiAgICAgIGRlbGVnYXRpb25UeC5vdXRwdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICBkZWxlZ2F0aW9uVHgub3V0cHV0c1swXS5hZGRyZXNzLnNob3VsZC5lcXVhbChTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1NfVEVTVE5FVCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHVzZSBuZXR3b3JrIGRlZmF1bHQgY2hhaW5UYWcgd2hlbiBub3QgZXhwbGljaXRseSBzZXQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldFN0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKFNUQVJHQVRFX0RFTEVHQVRJT05fQUREUkVTU19URVNUTkVUKTtcbiAgICAgIHR4QnVpbGRlci50b2tlbklkKHRva2VuSWQpO1xuICAgICAgLy8gTm90IHNldHRpbmcgY2hhaW5UYWdcbiAgICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbig2NCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzKDEwMDAwMCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzUHJpY2VDb2VmKDApO1xuICAgICAgdHhCdWlsZGVyLm5vbmNlKCcxMjM0NScpO1xuICAgICAgdHhCdWlsZGVyLnNlbmRlcignMHg5Mzc4YzEyQkQ3NTAyQTExRjc3MGE1QzFGMjIzYzk1OUIyODA1ZEE5Jyk7XG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICB0eC5zaG91bGQuYmUuaW5zdGFuY2VvZihEZWxlZ2F0ZUNsYXVzZVRyYW5zYWN0aW9uKTtcblxuICAgICAgY29uc3QgZGVsZWdhdGlvblR4ID0gdHggYXMgRGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbjtcbiAgICAgIC8vIFZlcmlmeSB0aGUgY2hhaW5UYWcgaXMgc2V0IHRvIHRoZSB0ZXN0bmV0IGRlZmF1bHQgKDM5KVxuICAgICAgZGVsZWdhdGlvblR4LmNoYWluVGFnLnNob3VsZC5lcXVhbCgzOSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkIGEgc2lnbmVkIHR4IGFuZCB2YWxpZGF0ZSBpdHMgdG9Kc29uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5mcm9tKHRlc3REYXRhLkRFTEVHQVRJT05fVFJBTlNBQ1RJT04pO1xuICAgICAgY29uc3QgdHggPSB0eEJ1aWxkZXIudHJhbnNhY3Rpb24gYXMgRGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IHRvSnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgdG9Kc29uLmlkLnNob3VsZC5lcXVhbCgnMHg0ZDQxZjcxMjczNmE1MjhlODVjZjhjZWZhZWU2MWY3ODQyYTZkZGQ1ZjIwOTc3YjhkOTcxODIzOTFkZWU2ZjQyJyk7XG4gICAgICB0b0pzb24uc3Rha2luZ0NvbnRyYWN0QWRkcmVzcz8uc2hvdWxkLmVxdWFsKCcweDcyNDBlM2JjMGQyNjQzMTUxMmQ1YjY3ZGJkMjZkMTk5MjA1YmZmZTgnKTtcbiAgICAgIHRvSnNvbi5ub25jZS5zaG91bGQuZXF1YWwoJzQzODAyMycpO1xuICAgICAgdG9Kc29uLmdhcy5zaG91bGQuZXF1YWwoNTg0MjYpO1xuICAgICAgdG9Kc29uLmdhc1ByaWNlQ29lZi5zaG91bGQuZXF1YWwoMTI4KTtcbiAgICAgIHRvSnNvbi5leHBpcmF0aW9uLnNob3VsZC5lcXVhbCg2NCk7XG4gICAgICB0b0pzb24uY2hhaW5UYWcuc2hvdWxkLmVxdWFsKDM5KTtcbiAgICAgIC8vIGluIGRlbGVnYXRlIHR4biwgbmZ0VG9rZW5JZCBpbmRpY2F0ZXMgdGhlIHRva2VuSWRcbiAgICAgIHRvSnNvbi5uZnRUb2tlbklkPy5zaG91bGQuZXF1YWwodG9rZW5JZCk7XG4gICAgICB0b0pzb24uYXV0b3JlbmV3Py5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -229,19 +229,20 @@ describe('VET Staking Transaction', function () {
|
|
|
229
229
|
stakingTx.recipients[0].amount.should.equal(largeAmount);
|
|
230
230
|
});
|
|
231
231
|
it('should build a signed tx and validate its toJson', async function () {
|
|
232
|
-
const txBuilder = factory.from(testData.
|
|
232
|
+
const txBuilder = factory.from(testData.STAKE_CLAUSE_TRANSACTION);
|
|
233
233
|
const tx = txBuilder.transaction;
|
|
234
234
|
const toJson = tx.toJson();
|
|
235
|
-
toJson.id.should.equal('
|
|
236
|
-
toJson.stakingContractAddress?.should.equal('
|
|
235
|
+
toJson.id.should.equal('0x2f96e4c16d70bd3e2dabec29a07eb3d6066691ba5b812d6e897676f6ebc0a798');
|
|
236
|
+
toJson.stakingContractAddress?.should.equal('0x1ec1d168574603ec35b9d229843b7c2b44bcb770');
|
|
237
237
|
toJson.amountToStake?.should.equal('0xde0b6b3a7640000');
|
|
238
|
-
toJson.nonce.should.equal('
|
|
239
|
-
toJson.gas.should.equal(
|
|
238
|
+
toJson.nonce.should.equal('504440');
|
|
239
|
+
toJson.gas.should.equal(392538);
|
|
240
240
|
toJson.gasPriceCoef.should.equal(128);
|
|
241
241
|
toJson.expiration.should.equal(64);
|
|
242
242
|
toJson.chainTag.should.equal(39);
|
|
243
|
+
// in stake txn, nftTokenId indicates the levelId
|
|
243
244
|
toJson.nftTokenId?.should.equal(8);
|
|
244
245
|
});
|
|
245
246
|
});
|
|
246
247
|
});
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2VDbGF1c2VUcmFuc2FjdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3RyYW5zYWN0aW9uQnVpbGRlci9zdGFrZUNsYXVzZVRyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUE0QztBQUM1Qyx1Q0FBK0Y7QUFDL0Ysb0RBQTRCO0FBQzVCLHVEQUErRjtBQUMvRixvRUFBeUM7QUFDekMsMkRBQTZDO0FBRTdDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtJQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRSxNQUFNLHNCQUFzQixHQUFHLHdDQUE0QixDQUFDO0lBQzVELE1BQU0sYUFBYSxHQUFHLHFCQUFxQixDQUFDLENBQUMsZUFBZTtJQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7SUFFbkMsK0VBQStFO0lBQy9FLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RELFNBQVMsQ0FBQyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUMvRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CO1FBQzlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN6QyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsS0FBSyxDQUFDLE9B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QyxFQUFFLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBUcmFuc2FjdGlvbiwgU3Rha2VDbGF1c2VUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3NyYy9saWInO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgU1RBS0VfQ0xBVVNFX01FVEhPRF9JRCwgU1RBUkdBVEVfTkZUX0FERFJFU1NfVEVTVE5FVCB9IGZyb20gJy4uLy4uL3NyYy9saWIvY29uc3RhbnRzJztcbmltcG9ydCBFdGhlcmV1bUFiaSBmcm9tICdldGhlcmV1bWpzLWFiaSc7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi9yZXNvdXJjZXMvdmV0JztcblxuZGVzY3JpYmUoJ1ZFVCBTdGFraW5nIFRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KCd0dmV0JykpO1xuICBjb25zdCBzdGFraW5nQ29udHJhY3RBZGRyZXNzID0gU1RBUkdBVEVfTkZUX0FERFJFU1NfVEVTVE5FVDtcbiAgY29uc3QgYW1vdW50VG9TdGFrZSA9ICcxMDAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gMSBWRVQgaW4gd2VpXG4gIGNvbnN0IGxldmVsSWQgPSA4OyAvLyBUZXN0IGxldmVsIElEXG5cbiAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGJhc2ljIHRyYW5zYWN0aW9uIGJ1aWxkZXIgd2l0aCBjb21tb24gcHJvcGVydGllc1xuICBjb25zdCBjcmVhdGVCYXNpY1R4QnVpbGRlciA9ICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIoKTtcbiAgICB0eEJ1aWxkZXIuc2VuZGVyKCcweDkzNzhjMTJCRDc1MDJBMTFGNzcwYTVDMUYyMjNjOTU5QjI4MDVkQTknKTtcbiAgICB0eEJ1aWxkZXIuY2hhaW5UYWcoMHgyNyk7IC8vIFRlc3RuZXQgY2hhaW4gdGFnXG4gICAgdHhCdWlsZGVyLmJsb2NrUmVmKCcweDAwMDAwMDAwMDAwMDAwMDAnKTtcbiAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbig2NCk7XG4gICAgdHhCdWlsZGVyLmdhcygxMDAwMDApO1xuICAgIHR4QnVpbGRlci5nYXNQcmljZUNvZWYoMCk7XG4gICAgdHhCdWlsZGVyLm5vbmNlKCcxMjM0NScpO1xuICAgIHJldHVybiB0eEJ1aWxkZXI7XG4gIH07XG5cbiAgaXQoJ3Nob3VsZCBidWlsZCBhIHN0YWtpbmcgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKCk7XG4gICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3Moc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgdHhCdWlsZGVyLmFtb3VudFRvU3Rha2UoYW1vdW50VG9TdGFrZSk7XG4gICAgdHhCdWlsZGVyLmxldmVsSWQobGV2ZWxJZCk7XG4gICAgdHhCdWlsZGVyLnNlbmRlcignMHg5Mzc4YzEyQkQ3NTAyQTExRjc3MGE1QzFGMjIzYzk1OUIyODA1ZEE5Jyk7XG4gICAgdHhCdWlsZGVyLmNoYWluVGFnKDB4MjcpOyAvLyBUZXN0bmV0IGNoYWluIHRhZ1xuICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgdHhCdWlsZGVyLmV4cGlyYXRpb24oNjQpO1xuICAgIHR4QnVpbGRlci5nYXMoMTAwMDAwKTtcbiAgICB0eEJ1aWxkZXIuZ2FzUHJpY2VDb2VmKDApO1xuICAgIHR4QnVpbGRlci5ub25jZSgnMTIzNDUnKTtcblxuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgc2hvdWxkLmV4aXN0KHR4KTtcbiAgICB0eC5zaG91bGQuYmUuaW5zdGFuY2VvZihUcmFuc2FjdGlvbik7XG4gICAgdHguc2hvdWxkLmJlLmluc3RhbmNlb2YoU3Rha2VDbGF1c2VUcmFuc2FjdGlvbik7XG5cbiAgICBjb25zdCBzdGFraW5nVHggPSB0eCBhcyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uO1xuICAgIHN0YWtpbmdUeC5zdGFraW5nQ29udHJhY3RBZGRyZXNzLnNob3VsZC5lcXVhbChzdGFraW5nQ29udHJhY3RBZGRyZXNzKTtcbiAgICBzdGFraW5nVHguYW1vdW50VG9TdGFrZS5zaG91bGQuZXF1YWwoYW1vdW50VG9TdGFrZSk7XG4gICAgc3Rha2luZ1R4LmxldmVsSWQuc2hvdWxkLmVxdWFsKGxldmVsSWQpO1xuXG4gICAgLy8gVmVyaWZ5IGNsYXVzZXNcbiAgICBzdGFraW5nVHguY2xhdXNlcy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHNob3VsZC5leGlzdChzdGFraW5nVHguY2xhdXNlc1swXS50byk7XG4gICAgc3Rha2luZ1R4LmNsYXVzZXNbMF0udG8/LnNob3VsZC5lcXVhbChzdGFraW5nQ29udHJhY3RBZGRyZXNzKTtcbiAgICBzdGFraW5nVHguY2xhdXNlc1swXS52YWx1ZS5zaG91bGQuZXF1YWwoYW1vdW50VG9TdGFrZSk7XG5cbiAgICAvLyBWZXJpZnkgdHJhbnNhY3Rpb24gZGF0YSBpcyBjb3JyZWN0bHkgZW5jb2RlZCB1c2luZyBldGhlcmV1bUFCSVxuICAgIHNob3VsZC5leGlzdChzdGFraW5nVHguY2xhdXNlc1swXS5kYXRhKTtcbiAgICBjb25zdCB0eERhdGEgPSBzdGFraW5nVHguY2xhdXNlc1swXS5kYXRhO1xuICAgIHR4RGF0YS5zaG91bGQuc3RhcnRXaXRoKFNUQUtFX0NMQVVTRV9NRVRIT0RfSUQpO1xuXG4gICAgLy8gVmVyaWZ5IHRoZSBlbmNvZGVkIGRhdGEgbWF0Y2hlcyB3aGF0IHdlIGV4cGVjdCBmcm9tIGV0aGVyZXVtQUJJXG4gICAgY29uc3QgbWV0aG9kTmFtZSA9ICdzdGFrZSc7XG4gICAgY29uc3QgdHlwZXMgPSBbJ3VpbnQ4J107XG4gICAgY29uc3QgcGFyYW1zID0gW2xldmVsSWRdO1xuXG4gICAgY29uc3QgbWV0aG9kID0gRXRoZXJldW1BYmkubWV0aG9kSUQobWV0aG9kTmFtZSwgdHlwZXMpO1xuICAgIGNvbnN0IGFyZ3MgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUodHlwZXMsIHBhcmFtcyk7XG4gICAgY29uc3QgZXhwZWN0ZWREYXRhID0gJzB4JyArIEJ1ZmZlci5jb25jYXQoW21ldGhvZCwgYXJnc10pLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIHR4RGF0YS5zaG91bGQuZXF1YWwoZXhwZWN0ZWREYXRhKTtcblxuICAgIC8vIFZlcmlmeSByZWNpcGllbnRzXG4gICAgc3Rha2luZ1R4LnJlY2lwaWVudHMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICBzdGFraW5nVHgucmVjaXBpZW50c1swXS5hZGRyZXNzLnNob3VsZC5lcXVhbChzdGFraW5nQ29udHJhY3RBZGRyZXNzKTtcbiAgICBzdGFraW5nVHgucmVjaXBpZW50c1swXS5hbW91bnQuc2hvdWxkLmVxdWFsKGFtb3VudFRvU3Rha2UpO1xuICB9KTtcblxuICBkZXNjcmliZSgnRmFpbHVyZSBzY2VuYXJpb3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIHN0YWtpbmdDb250cmFjdEFkZHJlc3MgaXMgbWlzc2luZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGNyZWF0ZUJhc2ljVHhCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIuYW1vdW50VG9TdGFrZShhbW91bnRUb1N0YWtlKTtcbiAgICAgIHR4QnVpbGRlci5sZXZlbElkKGxldmVsSWQpO1xuXG4gICAgICBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdTdGFraW5nIGNvbnRyYWN0IGFkZHJlc3MgaXMgcmVxdWlyZWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igd2hlbiBsZXZlbElkIGlzIG1pc3NpbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBjcmVhdGVCYXNpY1R4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3Moc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgICB0eEJ1aWxkZXIuYW1vdW50VG9TdGFrZShhbW91bnRUb1N0YWtlKTtcblxuICAgICAgYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnTGV2ZWwgSUQgaXMgcmVxdWlyZWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igd2hlbiBhbW91bnRUb1N0YWtlIGlzIG1pc3NpbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBjcmVhdGVCYXNpY1R4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3Moc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgICB0eEJ1aWxkZXIubGV2ZWxJZChsZXZlbElkKTtcblxuICAgICAgYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnQW1vdW50IHRvIHN0YWtlIGlzIHJlcXVpcmVkJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyBpcyBpbnZhbGlkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gY3JlYXRlQmFzaWNUeEJ1aWxkZXIoKTtcblxuICAgICAgLy8gSW52YWxpZCBhZGRyZXNzICh3cm9uZyBmb3JtYXQpXG4gICAgICBzaG91bGQoKCkgPT4ge1xuICAgICAgICB0eEJ1aWxkZXIuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcygnaW52YWxpZC1hZGRyZXNzJyk7XG4gICAgICB9KS50aHJvdygvSW52YWxpZCBhZGRyZXNzLyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gYW1vdW50VG9TdGFrZSBpcyBub3QgYSB2YWxpZCBudW1iZXIgc3RyaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gY3JlYXRlQmFzaWNUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmxldmVsSWQobGV2ZWxJZCk7XG5cbiAgICAgIC8vIEludmFsaWQgYW1vdW50IChub3QgYSBudW1iZXIpXG4gICAgICB0eEJ1aWxkZXIuYW1vdW50VG9TdGFrZSgnbm90LWEtbnVtYmVyJyk7XG5cbiAgICAgIC8vIFNob3VsZCBmYWlsIHdoZW4gYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uIGR1ZSB0byBpbnZhbGlkIGFtb3VudFxuICAgICAgYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFsbG93IHplcm8gYW1vdW50VG9TdGFrZSBidXQgZW5jb2RlIGl0IHByb3Blcmx5JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gY3JlYXRlQmFzaWNUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmxldmVsSWQobGV2ZWxJZCk7XG4gICAgICB0eEJ1aWxkZXIuYW1vdW50VG9TdGFrZSgnMCcpO1xuXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgdHguc2hvdWxkLmJlLmluc3RhbmNlb2YoU3Rha2VDbGF1c2VUcmFuc2FjdGlvbik7XG5cbiAgICAgIGNvbnN0IHN0YWtpbmdUeCA9IHR4IGFzIFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb247XG4gICAgICAvLyBWZXJpZnkgdGhlIGFtb3VudCBpcyBjb3JyZWN0bHkgc2V0IHRvIHplcm9cbiAgICAgIHN0YWtpbmdUeC5hbW91bnRUb1N0YWtlLnNob3VsZC5lcXVhbCgnMCcpO1xuXG4gICAgICAvLyBWZXJpZnkgdGhlIHRyYW5zYWN0aW9uIGRhdGEgaXMgY29ycmVjdGx5IGVuY29kZWQgd2l0aCBsZXZlbElkIGZvciBzdGFrZVxuICAgICAgLy8gRXhwZWN0ZWQgZGF0YSBmb3Igc3Rha2UoOCkgd2hlcmUgOCBpcyBsZXZlbElkXG4gICAgICBjb25zdCBleHBlY3RlZERhdGEgPSAnMHg2MDRmMjE3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgnO1xuICAgICAgc3Rha2luZ1R4LmNsYXVzZXNbMF0uZGF0YS5zaG91bGQuZXF1YWwoZXhwZWN0ZWREYXRhKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgdHJhbnNhY3Rpb24gd2l0aCB1bmRlZmluZWQgc2VuZGVyIGJ1dCBpbmNsdWRlIGl0IGluIGlucHV0cycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3Moc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgICB0eEJ1aWxkZXIuYW1vdW50VG9TdGFrZShhbW91bnRUb1N0YWtlKTtcbiAgICAgIHR4QnVpbGRlci5sZXZlbElkKGxldmVsSWQpO1xuICAgICAgdHhCdWlsZGVyLmNoYWluVGFnKDB4MjcpO1xuICAgICAgdHhCdWlsZGVyLmJsb2NrUmVmKCcweDAwMDAwMDAwMDAwMDAwMDAnKTtcbiAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKDY0KTtcbiAgICAgIHR4QnVpbGRlci5nYXMoMTAwMDAwKTtcbiAgICAgIHR4QnVpbGRlci5nYXNQcmljZUNvZWYoMCk7XG4gICAgICB0eEJ1aWxkZXIubm9uY2UoJzEyMzQ1Jyk7XG4gICAgICAvLyBOb3Qgc2V0dGluZyBzZW5kZXJcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIHR4LnNob3VsZC5iZS5pbnN0YW5jZW9mKFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb24pO1xuXG4gICAgICBjb25zdCBzdGFraW5nVHggPSB0eCBhcyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uO1xuICAgICAgLy8gVmVyaWZ5IHRoZSB0cmFuc2FjdGlvbiBoYXMgaW5wdXRzIGJ1dCB3aXRoIHVuZGVmaW5lZCBhZGRyZXNzXG4gICAgICBzdGFraW5nVHguaW5wdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICBzaG91bGQubm90LmV4aXN0KHN0YWtpbmdUeC5pbnB1dHNbMF0uYWRkcmVzcyk7XG5cbiAgICAgIC8vIFZlcmlmeSB0aGUgdHJhbnNhY3Rpb24gaGFzIHRoZSBjb3JyZWN0IG91dHB1dFxuICAgICAgc3Rha2luZ1R4Lm91dHB1dHMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICAgIHN0YWtpbmdUeC5vdXRwdXRzWzBdLmFkZHJlc3Muc2hvdWxkLmVxdWFsKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgICAgc3Rha2luZ1R4Lm91dHB1dHNbMF0udmFsdWUuc2hvdWxkLmVxdWFsKGFtb3VudFRvU3Rha2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB1c2UgbmV0d29yayBkZWZhdWx0IGNoYWluVGFnIHdoZW4gbm90IGV4cGxpY2l0bHkgc2V0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyhzdGFraW5nQ29udHJhY3RBZGRyZXNzKTtcbiAgICAgIHR4QnVpbGRlci5hbW91bnRUb1N0YWtlKGFtb3VudFRvU3Rha2UpO1xuICAgICAgdHhCdWlsZGVyLmxldmVsSWQobGV2ZWxJZCk7XG4gICAgICAvLyBOb3Qgc2V0dGluZyBjaGFpblRhZ1xuICAgICAgdHhCdWlsZGVyLmJsb2NrUmVmKCcweDAwMDAwMDAwMDAwMDAwMDAnKTtcbiAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKDY0KTtcbiAgICAgIHR4QnVpbGRlci5nYXMoMTAwMDAwKTtcbiAgICAgIHR4QnVpbGRlci5nYXNQcmljZUNvZWYoMCk7XG4gICAgICB0eEJ1aWxkZXIubm9uY2UoJzEyMzQ1Jyk7XG4gICAgICB0eEJ1aWxkZXIuc2VuZGVyKCcweDkzNzhjMTJCRDc1MDJBMTFGNzcwYTVDMUYyMjNjOTU5QjI4MDVkQTknKTtcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIHR4LnNob3VsZC5iZS5pbnN0YW5jZW9mKFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb24pO1xuXG4gICAgICBjb25zdCBzdGFraW5nVHggPSB0eCBhcyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uO1xuICAgICAgLy8gVmVyaWZ5IHRoZSBjaGFpblRhZyBpcyBzZXQgdG8gdGhlIHRlc3RuZXQgZGVmYXVsdCAoMzkpXG4gICAgICBzdGFraW5nVHguY2hhaW5UYWcuc2hvdWxkLmVxdWFsKDM5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmVyaWZ5IEFCSSBlbmNvZGluZyBtYXRjaGVzIGV4cGVjdGVkIG91dHB1dCBmb3IgZGlmZmVyZW50IGFtb3VudHMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBjcmVhdGVCYXNpY1R4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3Moc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgICB0eEJ1aWxkZXIubGV2ZWxJZChsZXZlbElkKTtcblxuICAgICAgLy8gVGVzdCB3aXRoIGEgZGlmZmVyZW50IGFtb3VudFxuICAgICAgY29uc3QgZGlmZmVyZW50QW1vdW50ID0gJzUwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIDAuNSBWRVRcbiAgICAgIHR4QnVpbGRlci5hbW91bnRUb1N0YWtlKGRpZmZlcmVudEFtb3VudCk7XG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCBzdGFraW5nVHggPSB0eCBhcyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uO1xuXG4gICAgICAvLyBNYW51YWxseSBlbmNvZGUgdGhlIGV4cGVjdGVkIGRhdGEgZm9yIHN0YWtlIG1ldGhvZFxuICAgICAgY29uc3QgbWV0aG9kTmFtZSA9ICdzdGFrZSc7XG4gICAgICBjb25zdCB0eXBlcyA9IFsndWludDgnXTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IFtsZXZlbElkXTtcblxuICAgICAgY29uc3QgbWV0aG9kID0gRXRoZXJldW1BYmkubWV0aG9kSUQobWV0aG9kTmFtZSwgdHlwZXMpO1xuICAgICAgY29uc3QgYXJncyA9IEV0aGVyZXVtQWJpLnJhd0VuY29kZSh0eXBlcywgcGFyYW1zKTtcbiAgICAgIGNvbnN0IGV4cGVjdGVkRGF0YSA9ICcweCcgKyBCdWZmZXIuY29uY2F0KFttZXRob2QsIGFyZ3NdKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgICAgIC8vIFZlcmlmeSB0aGUgdHJhbnNhY3Rpb24gZGF0YSBtYXRjaGVzIG91ciBtYW51YWwgZW5jb2RpbmdcbiAgICAgIHN0YWtpbmdUeC5jbGF1c2VzWzBdLmRhdGEuc2hvdWxkLmVxdWFsKGV4cGVjdGVkRGF0YSk7XG4gICAgICBzdGFraW5nVHguY2xhdXNlc1swXS5kYXRhLnNob3VsZC5zdGFydFdpdGgoU1RBS0VfQ0xBVVNFX01FVEhPRF9JRCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBleHRyZW1lbHkgbGFyZ2Ugc3Rha2UgYW1vdW50cyBjb3JyZWN0bHknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBjcmVhdGVCYXNpY1R4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3Moc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgICB0eEJ1aWxkZXIubGV2ZWxJZChsZXZlbElkKTtcblxuICAgICAgLy8gVGVzdCB3aXRoIGEgdmVyeSBsYXJnZSBhbW91bnQgKG5lYXIgdWludDI1NiBtYXgpXG4gICAgICBjb25zdCBsYXJnZUFtb3VudCA9ICcxMTU3OTIwODkyMzczMTYxOTU0MjM1NzA5ODUwMDg2ODc5MDc4NTMyNjk5ODQ2NjU2NDA1NjQwMzk0NTc1ODQwMDc5MTMxMjk2Mzk5MzUnOyAvLyAyXjI1NiAtIDFcbiAgICAgIHR4QnVpbGRlci5hbW91bnRUb1N0YWtlKGxhcmdlQW1vdW50KTtcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHN0YWtpbmdUeCA9IHR4IGFzIFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb247XG5cbiAgICAgIC8vIFZlcmlmeSB0aGUgYW1vdW50IGlzIHN0b3JlZCBjb3JyZWN0bHlcbiAgICAgIHN0YWtpbmdUeC5hbW91bnRUb1N0YWtlLnNob3VsZC5lcXVhbChsYXJnZUFtb3VudCk7XG5cbiAgICAgIC8vIFRoZSBkYXRhIHNob3VsZCBzdGlsbCBiZSBwcm9wZXJseSBlbmNvZGVkXG4gICAgICBzdGFraW5nVHguY2xhdXNlc1swXS5kYXRhLnNob3VsZC5zdGFydFdpdGgoU1RBS0VfQ0xBVVNFX01FVEhPRF9JRCk7XG5cbiAgICAgIC8vIFZlcmlmeSByZWNpcGllbnRzXG4gICAgICBzdGFraW5nVHgucmVjaXBpZW50c1swXS5hbW91bnQuc2hvdWxkLmVxdWFsKGxhcmdlQW1vdW50KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYSBzaWduZWQgdHggYW5kIHZhbGlkYXRlIGl0cyB0b0pzb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmZyb20odGVzdERhdGEuU1RBS0lOR19UUkFOU0FDVElPTik7XG4gICAgICBjb25zdCB0eCA9IHR4QnVpbGRlci50cmFuc2FjdGlvbiBhcyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uO1xuICAgICAgY29uc3QgdG9Kc29uID0gdHgudG9Kc29uKCk7XG4gICAgICB0b0pzb24uaWQuc2hvdWxkLmVxdWFsKCcweDk5MzI1YjM5Y2QwNGJkMTgyMWY2ZjZhZjdiNjc5YzI0N2U2NDI1YTRlYjk1ZWI0MjlmYThkZmY0NzcyOThkMGUnKTtcbiAgICAgIHRvSnNvbi5zdGFraW5nQ29udHJhY3RBZGRyZXNzPy5zaG91bGQuZXF1YWwoJzB4MTg1NmM1MzNhYzJkOTQzNDBhYWE4NTQ0ZDM1YTVjMWQ0YTIxZGVlNycpO1xuICAgICAgdG9Kc29uLmFtb3VudFRvU3Rha2U/LnNob3VsZC5lcXVhbCgnMHhkZTBiNmIzYTc2NDAwMDAnKTtcbiAgICAgIHRvSnNvbi5ub25jZS5zaG91bGQuZXF1YWwoJzYwOTM2MycpO1xuICAgICAgdG9Kc29uLmdhcy5zaG91bGQuZXF1YWwoMjU5ODgpO1xuICAgICAgdG9Kc29uLmdhc1ByaWNlQ29lZi5zaG91bGQuZXF1YWwoMTI4KTtcbiAgICAgIHRvSnNvbi5leHBpcmF0aW9uLnNob3VsZC5lcXVhbCg2NCk7XG4gICAgICB0b0pzb24uY2hhaW5UYWcuc2hvdWxkLmVxdWFsKDM5KTtcbiAgICAgIHRvSnNvbi5uZnRUb2tlbklkPy5zaG91bGQuZXF1YWwoOCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2VDbGF1c2VUcmFuc2FjdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3RyYW5zYWN0aW9uQnVpbGRlci9zdGFrZUNsYXVzZVRyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUE0QztBQUM1Qyx1Q0FBK0Y7QUFDL0Ysb0RBQTRCO0FBQzVCLHVEQUErRjtBQUMvRixvRUFBeUM7QUFDekMsMkRBQTZDO0FBRTdDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtJQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRSxNQUFNLHNCQUFzQixHQUFHLHdDQUE0QixDQUFDO0lBQzVELE1BQU0sYUFBYSxHQUFHLHFCQUFxQixDQUFDLENBQUMsZUFBZTtJQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7SUFFbkMsK0VBQStFO0lBQy9FLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RELFNBQVMsQ0FBQyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUMvRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CO1FBQzlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN6QyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsS0FBSyxDQUFDLE9B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QyxFQUFFLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakMsaURBQWlEO1lBQ2pELE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgVHJhbnNhY3Rpb24sIFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9zcmMvbGliJztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFNUQUtFX0NMQVVTRV9NRVRIT0RfSUQsIFNUQVJHQVRFX05GVF9BRERSRVNTX1RFU1RORVQgfSBmcm9tICcuLi8uLi9zcmMvbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vcmVzb3VyY2VzL3ZldCc7XG5cbmRlc2NyaWJlKCdWRVQgU3Rha2luZyBUcmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndHZldCcpKTtcbiAgY29uc3Qgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9IFNUQVJHQVRFX05GVF9BRERSRVNTX1RFU1RORVQ7XG4gIGNvbnN0IGFtb3VudFRvU3Rha2UgPSAnMTAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIDEgVkVUIGluIHdlaVxuICBjb25zdCBsZXZlbElkID0gODsgLy8gVGVzdCBsZXZlbCBJRFxuXG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgYSBiYXNpYyB0cmFuc2FjdGlvbiBidWlsZGVyIHdpdGggY29tbW9uIHByb3BlcnRpZXNcbiAgY29uc3QgY3JlYXRlQmFzaWNUeEJ1aWxkZXIgPSAoKSA9PiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKCk7XG4gICAgdHhCdWlsZGVyLnNlbmRlcignMHg5Mzc4YzEyQkQ3NTAyQTExRjc3MGE1QzFGMjIzYzk1OUIyODA1ZEE5Jyk7XG4gICAgdHhCdWlsZGVyLmNoYWluVGFnKDB4MjcpOyAvLyBUZXN0bmV0IGNoYWluIHRhZ1xuICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgdHhCdWlsZGVyLmV4cGlyYXRpb24oNjQpO1xuICAgIHR4QnVpbGRlci5nYXMoMTAwMDAwKTtcbiAgICB0eEJ1aWxkZXIuZ2FzUHJpY2VDb2VmKDApO1xuICAgIHR4QnVpbGRlci5ub25jZSgnMTIzNDUnKTtcbiAgICByZXR1cm4gdHhCdWlsZGVyO1xuICB9O1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgYSBzdGFraW5nIHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcigpO1xuICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgIHR4QnVpbGRlci5hbW91bnRUb1N0YWtlKGFtb3VudFRvU3Rha2UpO1xuICAgIHR4QnVpbGRlci5sZXZlbElkKGxldmVsSWQpO1xuICAgIHR4QnVpbGRlci5zZW5kZXIoJzB4OTM3OGMxMkJENzUwMkExMUY3NzBhNUMxRjIyM2M5NTlCMjgwNWRBOScpO1xuICAgIHR4QnVpbGRlci5jaGFpblRhZygweDI3KTsgLy8gVGVzdG5ldCBjaGFpbiB0YWdcbiAgICB0eEJ1aWxkZXIuYmxvY2tSZWYoJzB4MDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKDY0KTtcbiAgICB0eEJ1aWxkZXIuZ2FzKDEwMDAwMCk7XG4gICAgdHhCdWlsZGVyLmdhc1ByaWNlQ29lZigwKTtcbiAgICB0eEJ1aWxkZXIubm9uY2UoJzEyMzQ1Jyk7XG5cbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIHNob3VsZC5leGlzdCh0eCk7XG4gICAgdHguc2hvdWxkLmJlLmluc3RhbmNlb2YoVHJhbnNhY3Rpb24pO1xuICAgIHR4LnNob3VsZC5iZS5pbnN0YW5jZW9mKFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb24pO1xuXG4gICAgY29uc3Qgc3Rha2luZ1R4ID0gdHggYXMgU3Rha2VDbGF1c2VUcmFuc2FjdGlvbjtcbiAgICBzdGFraW5nVHguc3Rha2luZ0NvbnRyYWN0QWRkcmVzcy5zaG91bGQuZXF1YWwoc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgc3Rha2luZ1R4LmFtb3VudFRvU3Rha2Uuc2hvdWxkLmVxdWFsKGFtb3VudFRvU3Rha2UpO1xuICAgIHN0YWtpbmdUeC5sZXZlbElkLnNob3VsZC5lcXVhbChsZXZlbElkKTtcblxuICAgIC8vIFZlcmlmeSBjbGF1c2VzXG4gICAgc3Rha2luZ1R4LmNsYXVzZXMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICBzaG91bGQuZXhpc3Qoc3Rha2luZ1R4LmNsYXVzZXNbMF0udG8pO1xuICAgIHN0YWtpbmdUeC5jbGF1c2VzWzBdLnRvPy5zaG91bGQuZXF1YWwoc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgc3Rha2luZ1R4LmNsYXVzZXNbMF0udmFsdWUuc2hvdWxkLmVxdWFsKGFtb3VudFRvU3Rha2UpO1xuXG4gICAgLy8gVmVyaWZ5IHRyYW5zYWN0aW9uIGRhdGEgaXMgY29ycmVjdGx5IGVuY29kZWQgdXNpbmcgZXRoZXJldW1BQklcbiAgICBzaG91bGQuZXhpc3Qoc3Rha2luZ1R4LmNsYXVzZXNbMF0uZGF0YSk7XG4gICAgY29uc3QgdHhEYXRhID0gc3Rha2luZ1R4LmNsYXVzZXNbMF0uZGF0YTtcbiAgICB0eERhdGEuc2hvdWxkLnN0YXJ0V2l0aChTVEFLRV9DTEFVU0VfTUVUSE9EX0lEKTtcblxuICAgIC8vIFZlcmlmeSB0aGUgZW5jb2RlZCBkYXRhIG1hdGNoZXMgd2hhdCB3ZSBleHBlY3QgZnJvbSBldGhlcmV1bUFCSVxuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAnc3Rha2UnO1xuICAgIGNvbnN0IHR5cGVzID0gWyd1aW50OCddO1xuICAgIGNvbnN0IHBhcmFtcyA9IFtsZXZlbElkXTtcblxuICAgIGNvbnN0IG1ldGhvZCA9IEV0aGVyZXVtQWJpLm1ldGhvZElEKG1ldGhvZE5hbWUsIHR5cGVzKTtcbiAgICBjb25zdCBhcmdzID0gRXRoZXJldW1BYmkucmF3RW5jb2RlKHR5cGVzLCBwYXJhbXMpO1xuICAgIGNvbnN0IGV4cGVjdGVkRGF0YSA9ICcweCcgKyBCdWZmZXIuY29uY2F0KFttZXRob2QsIGFyZ3NdKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgICB0eERhdGEuc2hvdWxkLmVxdWFsKGV4cGVjdGVkRGF0YSk7XG5cbiAgICAvLyBWZXJpZnkgcmVjaXBpZW50c1xuICAgIHN0YWtpbmdUeC5yZWNpcGllbnRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgc3Rha2luZ1R4LnJlY2lwaWVudHNbMF0uYWRkcmVzcy5zaG91bGQuZXF1YWwoc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgc3Rha2luZ1R4LnJlY2lwaWVudHNbMF0uYW1vdW50LnNob3VsZC5lcXVhbChhbW91bnRUb1N0YWtlKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0ZhaWx1cmUgc2NlbmFyaW9zJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3Igd2hlbiBzdGFraW5nQ29udHJhY3RBZGRyZXNzIGlzIG1pc3NpbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBjcmVhdGVCYXNpY1R4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLmFtb3VudFRvU3Rha2UoYW1vdW50VG9TdGFrZSk7XG4gICAgICB0eEJ1aWxkZXIubGV2ZWxJZChsZXZlbElkKTtcblxuICAgICAgYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnU3Rha2luZyBjb250cmFjdCBhZGRyZXNzIGlzIHJlcXVpcmVkJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gbGV2ZWxJZCBpcyBtaXNzaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gY3JlYXRlQmFzaWNUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmFtb3VudFRvU3Rha2UoYW1vdW50VG9TdGFrZSk7XG5cbiAgICAgIGF3YWl0IHR4QnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0xldmVsIElEIGlzIHJlcXVpcmVkJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gYW1vdW50VG9TdGFrZSBpcyBtaXNzaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gY3JlYXRlQmFzaWNUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmxldmVsSWQobGV2ZWxJZCk7XG5cbiAgICAgIGF3YWl0IHR4QnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0Ftb3VudCB0byBzdGFrZSBpcyByZXF1aXJlZCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIHN0YWtpbmdDb250cmFjdEFkZHJlc3MgaXMgaW52YWxpZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGNyZWF0ZUJhc2ljVHhCdWlsZGVyKCk7XG5cbiAgICAgIC8vIEludmFsaWQgYWRkcmVzcyAod3JvbmcgZm9ybWF0KVxuICAgICAgc2hvdWxkKCgpID0+IHtcbiAgICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3MoJ2ludmFsaWQtYWRkcmVzcycpO1xuICAgICAgfSkudGhyb3coL0ludmFsaWQgYWRkcmVzcy8pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIGFtb3VudFRvU3Rha2UgaXMgbm90IGEgdmFsaWQgbnVtYmVyIHN0cmluZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGNyZWF0ZUJhc2ljVHhCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyhzdGFraW5nQ29udHJhY3RBZGRyZXNzKTtcbiAgICAgIHR4QnVpbGRlci5sZXZlbElkKGxldmVsSWQpO1xuXG4gICAgICAvLyBJbnZhbGlkIGFtb3VudCAobm90IGEgbnVtYmVyKVxuICAgICAgdHhCdWlsZGVyLmFtb3VudFRvU3Rha2UoJ25vdC1hLW51bWJlcicpO1xuXG4gICAgICAvLyBTaG91bGQgZmFpbCB3aGVuIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbiBkdWUgdG8gaW52YWxpZCBhbW91bnRcbiAgICAgIGF3YWl0IHR4QnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB6ZXJvIGFtb3VudFRvU3Rha2UgYnV0IGVuY29kZSBpdCBwcm9wZXJseScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGNyZWF0ZUJhc2ljVHhCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIuc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyhzdGFraW5nQ29udHJhY3RBZGRyZXNzKTtcbiAgICAgIHR4QnVpbGRlci5sZXZlbElkKGxldmVsSWQpO1xuICAgICAgdHhCdWlsZGVyLmFtb3VudFRvU3Rha2UoJzAnKTtcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIHR4LnNob3VsZC5iZS5pbnN0YW5jZW9mKFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb24pO1xuXG4gICAgICBjb25zdCBzdGFraW5nVHggPSB0eCBhcyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uO1xuICAgICAgLy8gVmVyaWZ5IHRoZSBhbW91bnQgaXMgY29ycmVjdGx5IHNldCB0byB6ZXJvXG4gICAgICBzdGFraW5nVHguYW1vdW50VG9TdGFrZS5zaG91bGQuZXF1YWwoJzAnKTtcblxuICAgICAgLy8gVmVyaWZ5IHRoZSB0cmFuc2FjdGlvbiBkYXRhIGlzIGNvcnJlY3RseSBlbmNvZGVkIHdpdGggbGV2ZWxJZCBmb3Igc3Rha2VcbiAgICAgIC8vIEV4cGVjdGVkIGRhdGEgZm9yIHN0YWtlKDgpIHdoZXJlIDggaXMgbGV2ZWxJZFxuICAgICAgY29uc3QgZXhwZWN0ZWREYXRhID0gJzB4NjA0ZjIxNzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4JztcbiAgICAgIHN0YWtpbmdUeC5jbGF1c2VzWzBdLmRhdGEuc2hvdWxkLmVxdWFsKGV4cGVjdGVkRGF0YSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkIHRyYW5zYWN0aW9uIHdpdGggdW5kZWZpbmVkIHNlbmRlciBidXQgaW5jbHVkZSBpdCBpbiBpbnB1dHMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmFtb3VudFRvU3Rha2UoYW1vdW50VG9TdGFrZSk7XG4gICAgICB0eEJ1aWxkZXIubGV2ZWxJZChsZXZlbElkKTtcbiAgICAgIHR4QnVpbGRlci5jaGFpblRhZygweDI3KTtcbiAgICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbig2NCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzKDEwMDAwMCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzUHJpY2VDb2VmKDApO1xuICAgICAgdHhCdWlsZGVyLm5vbmNlKCcxMjM0NScpO1xuICAgICAgLy8gTm90IHNldHRpbmcgc2VuZGVyXG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICB0eC5zaG91bGQuYmUuaW5zdGFuY2VvZihTdGFrZUNsYXVzZVRyYW5zYWN0aW9uKTtcblxuICAgICAgY29uc3Qgc3Rha2luZ1R4ID0gdHggYXMgU3Rha2VDbGF1c2VUcmFuc2FjdGlvbjtcbiAgICAgIC8vIFZlcmlmeSB0aGUgdHJhbnNhY3Rpb24gaGFzIGlucHV0cyBidXQgd2l0aCB1bmRlZmluZWQgYWRkcmVzc1xuICAgICAgc3Rha2luZ1R4LmlucHV0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChzdGFraW5nVHguaW5wdXRzWzBdLmFkZHJlc3MpO1xuXG4gICAgICAvLyBWZXJpZnkgdGhlIHRyYW5zYWN0aW9uIGhhcyB0aGUgY29ycmVjdCBvdXRwdXRcbiAgICAgIHN0YWtpbmdUeC5vdXRwdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICBzdGFraW5nVHgub3V0cHV0c1swXS5hZGRyZXNzLnNob3VsZC5lcXVhbChzdGFraW5nQ29udHJhY3RBZGRyZXNzKTtcbiAgICAgIHN0YWtpbmdUeC5vdXRwdXRzWzBdLnZhbHVlLnNob3VsZC5lcXVhbChhbW91bnRUb1N0YWtlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdXNlIG5ldHdvcmsgZGVmYXVsdCBjaGFpblRhZyB3aGVuIG5vdCBleHBsaWNpdGx5IHNldCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnN0YWtpbmdDb250cmFjdEFkZHJlc3Moc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyk7XG4gICAgICB0eEJ1aWxkZXIuYW1vdW50VG9TdGFrZShhbW91bnRUb1N0YWtlKTtcbiAgICAgIHR4QnVpbGRlci5sZXZlbElkKGxldmVsSWQpO1xuICAgICAgLy8gTm90IHNldHRpbmcgY2hhaW5UYWdcbiAgICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbig2NCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzKDEwMDAwMCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzUHJpY2VDb2VmKDApO1xuICAgICAgdHhCdWlsZGVyLm5vbmNlKCcxMjM0NScpO1xuICAgICAgdHhCdWlsZGVyLnNlbmRlcignMHg5Mzc4YzEyQkQ3NTAyQTExRjc3MGE1QzFGMjIzYzk1OUIyODA1ZEE5Jyk7XG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICB0eC5zaG91bGQuYmUuaW5zdGFuY2VvZihTdGFrZUNsYXVzZVRyYW5zYWN0aW9uKTtcblxuICAgICAgY29uc3Qgc3Rha2luZ1R4ID0gdHggYXMgU3Rha2VDbGF1c2VUcmFuc2FjdGlvbjtcbiAgICAgIC8vIFZlcmlmeSB0aGUgY2hhaW5UYWcgaXMgc2V0IHRvIHRoZSB0ZXN0bmV0IGRlZmF1bHQgKDM5KVxuICAgICAgc3Rha2luZ1R4LmNoYWluVGFnLnNob3VsZC5lcXVhbCgzOSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZlcmlmeSBBQkkgZW5jb2RpbmcgbWF0Y2hlcyBleHBlY3RlZCBvdXRwdXQgZm9yIGRpZmZlcmVudCBhbW91bnRzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gY3JlYXRlQmFzaWNUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmxldmVsSWQobGV2ZWxJZCk7XG5cbiAgICAgIC8vIFRlc3Qgd2l0aCBhIGRpZmZlcmVudCBhbW91bnRcbiAgICAgIGNvbnN0IGRpZmZlcmVudEFtb3VudCA9ICc1MDAwMDAwMDAwMDAwMDAwMDAnOyAvLyAwLjUgVkVUXG4gICAgICB0eEJ1aWxkZXIuYW1vdW50VG9TdGFrZShkaWZmZXJlbnRBbW91bnQpO1xuXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3Qgc3Rha2luZ1R4ID0gdHggYXMgU3Rha2VDbGF1c2VUcmFuc2FjdGlvbjtcblxuICAgICAgLy8gTWFudWFsbHkgZW5jb2RlIHRoZSBleHBlY3RlZCBkYXRhIGZvciBzdGFrZSBtZXRob2RcbiAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAnc3Rha2UnO1xuICAgICAgY29uc3QgdHlwZXMgPSBbJ3VpbnQ4J107XG4gICAgICBjb25zdCBwYXJhbXMgPSBbbGV2ZWxJZF07XG5cbiAgICAgIGNvbnN0IG1ldGhvZCA9IEV0aGVyZXVtQWJpLm1ldGhvZElEKG1ldGhvZE5hbWUsIHR5cGVzKTtcbiAgICAgIGNvbnN0IGFyZ3MgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUodHlwZXMsIHBhcmFtcyk7XG4gICAgICBjb25zdCBleHBlY3RlZERhdGEgPSAnMHgnICsgQnVmZmVyLmNvbmNhdChbbWV0aG9kLCBhcmdzXSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgICAvLyBWZXJpZnkgdGhlIHRyYW5zYWN0aW9uIGRhdGEgbWF0Y2hlcyBvdXIgbWFudWFsIGVuY29kaW5nXG4gICAgICBzdGFraW5nVHguY2xhdXNlc1swXS5kYXRhLnNob3VsZC5lcXVhbChleHBlY3RlZERhdGEpO1xuICAgICAgc3Rha2luZ1R4LmNsYXVzZXNbMF0uZGF0YS5zaG91bGQuc3RhcnRXaXRoKFNUQUtFX0NMQVVTRV9NRVRIT0RfSUQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgZXh0cmVtZWx5IGxhcmdlIHN0YWtlIGFtb3VudHMgY29ycmVjdGx5JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gY3JlYXRlQmFzaWNUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zdGFraW5nQ29udHJhY3RBZGRyZXNzKHN0YWtpbmdDb250cmFjdEFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmxldmVsSWQobGV2ZWxJZCk7XG5cbiAgICAgIC8vIFRlc3Qgd2l0aCBhIHZlcnkgbGFyZ2UgYW1vdW50IChuZWFyIHVpbnQyNTYgbWF4KVxuICAgICAgY29uc3QgbGFyZ2VBbW91bnQgPSAnMTE1NzkyMDg5MjM3MzE2MTk1NDIzNTcwOTg1MDA4Njg3OTA3ODUzMjY5OTg0NjY1NjQwNTY0MDM5NDU3NTg0MDA3OTEzMTI5NjM5OTM1JzsgLy8gMl4yNTYgLSAxXG4gICAgICB0eEJ1aWxkZXIuYW1vdW50VG9TdGFrZShsYXJnZUFtb3VudCk7XG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCBzdGFraW5nVHggPSB0eCBhcyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uO1xuXG4gICAgICAvLyBWZXJpZnkgdGhlIGFtb3VudCBpcyBzdG9yZWQgY29ycmVjdGx5XG4gICAgICBzdGFraW5nVHguYW1vdW50VG9TdGFrZS5zaG91bGQuZXF1YWwobGFyZ2VBbW91bnQpO1xuXG4gICAgICAvLyBUaGUgZGF0YSBzaG91bGQgc3RpbGwgYmUgcHJvcGVybHkgZW5jb2RlZFxuICAgICAgc3Rha2luZ1R4LmNsYXVzZXNbMF0uZGF0YS5zaG91bGQuc3RhcnRXaXRoKFNUQUtFX0NMQVVTRV9NRVRIT0RfSUQpO1xuXG4gICAgICAvLyBWZXJpZnkgcmVjaXBpZW50c1xuICAgICAgc3Rha2luZ1R4LnJlY2lwaWVudHNbMF0uYW1vdW50LnNob3VsZC5lcXVhbChsYXJnZUFtb3VudCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkIGEgc2lnbmVkIHR4IGFuZCB2YWxpZGF0ZSBpdHMgdG9Kc29uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5mcm9tKHRlc3REYXRhLlNUQUtFX0NMQVVTRV9UUkFOU0FDVElPTik7XG4gICAgICBjb25zdCB0eCA9IHR4QnVpbGRlci50cmFuc2FjdGlvbiBhcyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uO1xuICAgICAgY29uc3QgdG9Kc29uID0gdHgudG9Kc29uKCk7XG4gICAgICB0b0pzb24uaWQuc2hvdWxkLmVxdWFsKCcweDJmOTZlNGMxNmQ3MGJkM2UyZGFiZWMyOWEwN2ViM2Q2MDY2NjkxYmE1YjgxMmQ2ZTg5NzY3NmY2ZWJjMGE3OTgnKTtcbiAgICAgIHRvSnNvbi5zdGFraW5nQ29udHJhY3RBZGRyZXNzPy5zaG91bGQuZXF1YWwoJzB4MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MCcpO1xuICAgICAgdG9Kc29uLmFtb3VudFRvU3Rha2U/LnNob3VsZC5lcXVhbCgnMHhkZTBiNmIzYTc2NDAwMDAnKTtcbiAgICAgIHRvSnNvbi5ub25jZS5zaG91bGQuZXF1YWwoJzUwNDQ0MCcpO1xuICAgICAgdG9Kc29uLmdhcy5zaG91bGQuZXF1YWwoMzkyNTM4KTtcbiAgICAgIHRvSnNvbi5nYXNQcmljZUNvZWYuc2hvdWxkLmVxdWFsKDEyOCk7XG4gICAgICB0b0pzb24uZXhwaXJhdGlvbi5zaG91bGQuZXF1YWwoNjQpO1xuICAgICAgdG9Kc29uLmNoYWluVGFnLnNob3VsZC5lcXVhbCgzOSk7XG4gICAgICAvLyBpbiBzdGFrZSB0eG4sIG5mdFRva2VuSWQgaW5kaWNhdGVzIHRoZSBsZXZlbElkXG4gICAgICB0b0pzb24ubmZ0VG9rZW5JZD8uc2hvdWxkLmVxdWFsKDgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|